]> git.mxchange.org Git - friendica.git/commitdiff
Dreamhost's unreliable process model is really getting irritating
authorFriendika <info@friendika.com>
Tue, 13 Sep 2011 02:42:10 +0000 (19:42 -0700)
committerFriendika <info@friendika.com>
Tue, 13 Sep 2011 02:42:10 +0000 (19:42 -0700)
boot.php
mod/item.php
mod/network.php

index 47af7ae44deff0864dcc2d21b06c2fffcd443dc4..19c8a86c6f5f87661906463e1462c96039afe9ff 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -7,7 +7,7 @@ require_once('include/text.php');
 require_once("include/pgettext.php");
 
 
-define ( 'FRIENDIKA_VERSION',      '2.2.1100' );
+define ( 'FRIENDIKA_VERSION',      '2.2.1101' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.21'    );
 define ( 'DB_UPDATE_VERSION',      1087      );
 
index e6ce1ea6f8627de4b5b4678214a61d3ce4de832b..025a12a323bce58d507241a4892accd960e3bf43 100644 (file)
@@ -83,7 +83,7 @@ function item_post(&$a) {
                if(($r === false) || (! count($r))) {
                        notice( t('Unable to locate original post.') . EOL);
                        if(x($_POST,'return')) 
-                               goaway($a->get_baseurl() . "/" . $_POST['return'] );
+                               goaway($a->get_baseurl() . "/" . $return_path );
                        killme();
                }
                $parent_item = $r[0];
@@ -112,7 +112,7 @@ function item_post(&$a) {
        if(! can_write_wall($a,$profile_uid)) {
                notice( t('Permission denied.') . EOL) ;
                if(x($_POST,'return')) 
-                       goaway($a->get_baseurl() . "/" . $_POST['return'] );
+                       goaway($a->get_baseurl() . "/" . $return_path );
                killme();
        }
 
@@ -198,7 +198,7 @@ function item_post(&$a) {
                if(! strlen($body)) {
                        info( t('Empty post discarded.') . EOL );
                        if(x($_POST,'return')) 
-                               goaway($a->get_baseurl() . "/" . $_POST['return'] );
+                               goaway($a->get_baseurl() . "/" . $return_path );
                        killme();
                }
        }
@@ -550,9 +550,9 @@ function item_post(&$a) {
                );
 
                proc_run('php', "include/notifier.php", 'edit_post', "$post_id");
-               if((x($_POST,'return')) && strlen($_POST['return'])) {
-                       logger('return: ' . $_POST['return']);
-                       goaway($a->get_baseurl() . "/" . $_POST['return'] );
+               if((x($_POST,'return')) && strlen($return_path)) {
+                       logger('return: ' . $return_path);
+                       goaway($a->get_baseurl() . "/" . $return_path );
                }
                killme();
        }
@@ -799,11 +799,10 @@ function item_post(&$a) {
        else {
                logger('mod_item: unable to retrieve post that was just stored.');
                notify( t('System error. Post not saved.'));
-               goaway($a->get_baseurl() . "/" . $_POST['return'] );
+               goaway($a->get_baseurl() . "/" . $return_path );
                // NOTREACHED
        }
 
-       proc_run('php', "include/notifier.php", $notify_type, "$post_id");
 
        $datarray['id']    = $post_id;
        $datarray['plink'] = $a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $post_id;
@@ -835,6 +834,17 @@ function item_post(&$a) {
                }
        }
 
+       // This is a real juggling act on shared hosting services which kill your processes
+       // e.g. dreamhost. We used to start delivery to our native delivery agents in the background
+       // and then run our plugin delivery from the foreground. We're now doing plugin delivery first,
+       // because as soon as you start loading up a bunch of remote delivey processes, *this* page is
+       // likely to get killed off. If you end up looking at an /item URL and a blank page,
+       // it's very likely the delivery got killed before all your friends could be notified.
+       // Currently the only realistic fixes are to use a reliable server - which precludes shared hosting,
+       // or cut back on plugins which do remote deliveries.  
+
+       proc_run('php', "include/notifier.php", $notify_type, "$post_id");
+
        logger('post_complete');
 
        // figure out how to return, depending on from whence we came
index 6684889e3da9db13d6eabd59c20e8caba787bd67..072b20b921835cec923525e5bb3f20cd1fdfdf79 100644 (file)
@@ -313,6 +313,23 @@ function network_content(&$a, $update = 0) {
                // Normal conversation view
                // Show conversation by activity date
                
+/* created date order
+$r = q("SELECT `item`.`id` AS `item_id`, `contact`.`uid` AS `contact_uid`
+FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+AND `item`.`parent` = `item`.`id`
+$sql_extra
+ORDER BY `item`.`created` DESC LIMIT %d ,%d ",
+intval(local_user()),
+intval($a->pager['start']),
+intval($a->pager['itemspage'])
+);
+*/
+
+
+
+
                
                // First fetch a known number of parent items
 
@@ -344,6 +361,24 @@ function network_content(&$a, $update = 0) {
                                $parents_arr[] = $rr['item_id'];
                        $parents_str = implode(', ', $parents_arr);
 
+/* created order
+$r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
+`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`writable`,
+`contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
+`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
+FROM `item`, (SELECT `p`.`id`,`p`.`created` FROM `item` AS `p` WHERE `p`.`parent`=`p`.`id`) as `parentitem`, `contact`
+WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+AND `contact`.`id` = `item`.`contact-id`
+AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+AND `item`.`parent` = `parentitem`.`id` AND `item`.`parent` IN ( %s )
+$sql_extra
+ORDER BY `parentitem`.`created` DESC, `item`.`gravity` ASC, `item`.`created` ASC ",
+intval(local_user()),
+dbesc($parents_str)
+*/
+
+
+
                        $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, 
                                `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`writable`,
                                `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
@@ -364,6 +399,9 @@ function network_content(&$a, $update = 0) {
                                intval(local_user()),
                                dbesc($parents_str)
                        );
+
+
+
                }
        }