return [];
}
- $str_blocked = DI::pConfig()->get(local_user(), 'system', 'blocked');
+ $str_blocked = str_replace(["\n", "\r"], ",", DI::pConfig()->get(local_user(), 'system', 'blocked'));
if (empty($str_blocked)) {
return [];
}
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
+use Friendica\Database\DBStructure;
use Friendica\DI;
use Friendica\Model\Post\Category;
use Friendica\Protocol\Activity;
const PRIVATE = 1;
const UNLISTED = 2;
+ const TABLES = ['item', 'user-item', 'item-content', 'post-delivery-data', 'diaspora-interaction'];
+
private static $legacy_mode = null;
+ private static function getItemFields()
+ {
+ $definition = DBStructure::definition('', false);
+
+ $postfields = [];
+ foreach (self::TABLES as $table) {
+ $postfields[$table] = array_keys($definition[$table]['fields']);
+ }
+
+ return $postfields;
+ }
+
public static function isLegacyMode()
{
if (is_null(self::$legacy_mode)) {
public static function insert($item, $notify = false, $dontcache = false)
{
+ $structure = self::getItemFields();
+
$orig_item = $item;
$priority = PRIORITY_HIGH;
Tag::storeFromBody($item['uri-id'], $body);
}
+ // Remove all fields that aren't part of the item table
+ foreach ($item as $field => $value) {
+ if (!in_array($field, $structure['item'])) {
+ unset($item[$field]);
+ }
+ }
+
$ret = DBA::insert('item', $item);
// When the item was successfully stored we fetch the ID of the item.
// It is not named like a spool file, so we don't care.
if (substr($file, 0, 5) != "item-") {
+ Logger::notice('Spool file does does not start with "item-"', ['file' => $file]);
continue;
}
// We don't care about directories either
if (filetype($fullfile) != "file") {
+ Logger::notice('Spool file is no file', ['file' => $file]);
continue;
}
// We can't read or write the file? So we don't care about it.
if (!is_writable($fullfile) || !is_readable($fullfile)) {
+ Logger::notice('Spool file has insufficent permissions', ['file' => $file, 'writable' => is_writable($fullfile), 'readable' => is_readable($fullfile)]);
continue;
}
// If it isn't an array then it is no spool file
if (!is_array($arr)) {
+ Logger::notice('Spool file is no array', ['file' => $file]);
continue;
}
// Skip if it doesn't seem to be an item array
if (!isset($arr['uid']) && !isset($arr['uri']) && !isset($arr['network'])) {
+ Logger::notice('Spool file does not contain the needed fields', ['file' => $file]);
continue;
}
$result = Item::insert($arr);
- Logger::log("Spool file ".$file." stored: ".$result, Logger::DEBUG);
+ Logger::notice('Spool file is stored', ['file' => $file, 'result' => $result]);
unlink($fullfile);
}
closedir($dh);