]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - scripts/fixup_conversations.php
Update libomb, fix some omb handling stuff, improve error handling.
[quix0rs-gnu-social.git] / scripts / fixup_conversations.php
index d4a47cfeeff03b481ac36f1d6a732c14d4f08e60..0be0b4bac583df8f06d2ceadd0a6f2f947316fc6 100755 (executable)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-# Abort if called from a web server
-if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
-    print "This script must be run from the command line\n";
-    exit();
-}
-
 define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
-define('LACONICA', true);
 
-require_once(INSTALLDIR . '/lib/common.php');
+require_once INSTALLDIR.'/scripts/commandline.inc';
 
 common_log(LOG_INFO, 'Fixing up conversations.');
 
-$notice = new Notice();
-$notice->whereAdd('conversation is null');
-$notice->orderBy('id');
-
-$cnt = $notice->find();
-
-print "Found $cnt notices.\n";
+$nid = new Notice();
+$nid->query('select id, reply_to from notice where conversation is null');
 
-while ($notice->fetch()) {
+while ($nid->fetch()) {
 
-    print "$notice->id =>";
-
-    $orig = clone($notice);
-
-    if (empty($notice->reply_to)) {
-        $notice->conversation = $notice->id;
+    $cid = null;
+    
+    $notice = new Notice();
+    
+    if (empty($nid->reply_to)) {
+        $cid = $nid->id;
     } else {
         $reply = Notice::staticGet('id', $notice->reply_to);
 
@@ -59,6 +47,9 @@ while ($notice->fetch()) {
         } else {
             $notice->conversation = $reply->conversation;
         }
+       
+       unset($reply);
+       $reply = null;
     }
 
     print "$notice->conversation";
@@ -70,10 +61,10 @@ while ($notice->fetch()) {
         continue;
     }
 
+    $notice = null;
+    $orig = null;
+    unset($notice);
+    unset($orig);
+    
     print ".\n";
 }
-
-ini_set("max_execution_time", "0");
-ini_set("max_input_time", "0");
-set_time_limit(0);
-mb_internal_encoding('UTF-8');