]> git.mxchange.org Git - friendica.git/blobdiff - include/spool_post.php
Merge pull request #3323 from Alkarex/ostatus-only_full_group_by
[friendica.git] / include / spool_post.php
index 78384c23af5e8cf26f4ab68a5cd90788c3c2f63a..f64b39e4b687bda0e0b42434ed88c2872367c463 100644 (file)
@@ -6,42 +6,48 @@
 
 use \Friendica\Core\Config;
 
-require_once("boot.php");
 require_once("include/items.php");
 
 function spool_post_run($argv, $argc) {
-       global $a, $db;
-
-       if (is_null($a)) {
-               $a = new App;
-       }
-
-       if (is_null($db)) {
-               @include(".htconfig.php");
-               require_once("include/dba.php");
-               $db = new dba($db_host, $db_user, $db_pass, $db_data);
-               unset($db_host, $db_user, $db_pass, $db_data);
-       }
-
-       Config::load();
+       global $a;
 
        $path = get_spoolpath();
 
-       if (is_writable($path)){
+       if (($path != '') AND is_writable($path)){
                if ($dh = opendir($path)) {
                        while (($file = readdir($dh)) !== false) {
+
+                               // It is not named like a spool file, so we don't care.
+                               if (substr($file, 0, 5) != "item-") {
+                                       continue;
+                               }
+
                                $fullfile = $path."/".$file;
+
+                               // We don't care about directories either
                                if (filetype($fullfile) != "file") {
                                        continue;
                                }
+
+                               // We can't read or write the file? So we don't care about it.
+                               if (!is_writable($fullfile) OR !is_readable($fullfile)) {
+                                       continue;
+                               }
+
                                $arr = json_decode(file_get_contents($fullfile), true);
+
+                               // If it isn't an array then it is no spool file
                                if (!is_array($arr)) {
                                        continue;
                                }
-                               $result = item_store($arr);
-                               if ($result == 0) {
+
+                               // Skip if it doesn't seem to be an item array
+                               if (!isset($arr['uid']) AND !isset($arr['uri']) AND !isset($arr['network'])) {
                                        continue;
                                }
+
+                               $result = item_store($arr);
+
                                logger("Spool file ".$file." stored: ".$result, LOGGER_DEBUG);
                                unlink($fullfile);
                        }
@@ -49,9 +55,4 @@ function spool_post_run($argv, $argc) {
                }
        }
 }
-
-if (array_search(__file__, get_included_files()) === 0) {
-       spool_post_run($_SERVER["argv"], $_SERVER["argc"]);
-       killme();
-}
 ?>