Log function

implement log() function.
This commit is contained in:
Adam Magness 2018-10-29 17:20:46 -04:00
parent d6d593d724
commit 14fde5dc9b
122 changed files with 1280 additions and 1161 deletions

View file

@ -1101,10 +1101,10 @@ class App
$processlist = DBA::processlist();
if ($processlist['list'] != '') {
logger('Processcheck: Processes: ' . $processlist['amount'] . ' - Processlist: ' . $processlist['list'], LOGGER_DEBUG);
Core\Logger::log('Processcheck: Processes: ' . $processlist['amount'] . ' - Processlist: ' . $processlist['list'], LOGGER_DEBUG);
if ($processlist['amount'] > $max_processes) {
logger('Processcheck: Maximum number of processes for ' . $process . ' tasks (' . $max_processes . ') reached.', LOGGER_DEBUG);
Core\Logger::log('Processcheck: Maximum number of processes for ' . $process . ' tasks (' . $max_processes . ') reached.', LOGGER_DEBUG);
return true;
}
}
@ -1150,7 +1150,7 @@ class App
$reached = ($free < $min_memory);
if ($reached) {
logger('Minimal memory reached: ' . $free . '/' . $meminfo['MemTotal'] . ' - limit ' . $min_memory, LOGGER_DEBUG);
Core\Logger::log('Minimal memory reached: ' . $free . '/' . $meminfo['MemTotal'] . ' - limit ' . $min_memory, LOGGER_DEBUG);
}
return $reached;
@ -1180,7 +1180,7 @@ class App
$load = Core\System::currentLoad();
if ($load) {
if (intval($load) > $maxsysload) {
logger('system: load ' . $load . ' for ' . $process . ' tasks (' . $maxsysload . ') too high.');
Core\Logger::log('system: load ' . $load . ' for ' . $process . ' tasks (' . $maxsysload . ') too high.');
return true;
}
}
@ -1222,7 +1222,7 @@ class App
$resource = proc_open($cmdline . ' &', [], $foo, $this->getBasePath());
}
if (!is_resource($resource)) {
logger('We got no resource for command ' . $cmdline, LOGGER_DEBUG);
Core\Logger::log('We got no resource for command ' . $cmdline, LOGGER_DEBUG);
return;
}
proc_close($resource);
@ -1253,27 +1253,27 @@ class App
public static function isDirectoryUsable($directory, $check_writable = true)
{
if ($directory == '') {
logger('Directory is empty. This shouldn\'t happen.', LOGGER_DEBUG);
Core\Logger::log('Directory is empty. This shouldn\'t happen.', LOGGER_DEBUG);
return false;
}
if (!file_exists($directory)) {
logger('Path "' . $directory . '" does not exist for user ' . self::getSystemUser(), LOGGER_DEBUG);
Core\Logger::log('Path "' . $directory . '" does not exist for user ' . self::getSystemUser(), LOGGER_DEBUG);
return false;
}
if (is_file($directory)) {
logger('Path "' . $directory . '" is a file for user ' . self::getSystemUser(), LOGGER_DEBUG);
Core\Logger::log('Path "' . $directory . '" is a file for user ' . self::getSystemUser(), LOGGER_DEBUG);
return false;
}
if (!is_dir($directory)) {
logger('Path "' . $directory . '" is not a directory for user ' . self::getSystemUser(), LOGGER_DEBUG);
Core\Logger::log('Path "' . $directory . '" is not a directory for user ' . self::getSystemUser(), LOGGER_DEBUG);
return false;
}
if ($check_writable && !is_writable($directory)) {
logger('Path "' . $directory . '" is not writable for user ' . self::getSystemUser(), LOGGER_DEBUG);
Core\Logger::log('Path "' . $directory . '" is not writable for user ' . self::getSystemUser(), LOGGER_DEBUG);
return false;
}
@ -1646,7 +1646,7 @@ class App
} else {
// Someone came with an invalid parameter, maybe as a DDoS attempt
// We simply stop processing here
logger("Invalid ZRL parameter " . $_GET['zrl'], LOGGER_DEBUG);
Core\Logger::log("Invalid ZRL parameter " . $_GET['zrl'], LOGGER_DEBUG);
Core\System::httpExit(403, ['title' => '403 Forbidden']);
}
}
@ -1785,11 +1785,11 @@ class App
}
if (!empty($_SERVER['QUERY_STRING']) && ($_SERVER['QUERY_STRING'] === 'q=internal_error.html') && isset($dreamhost_error_hack)) {
logger('index.php: dreamhost_error_hack invoked. Original URI =' . $_SERVER['REQUEST_URI']);
Core\Logger::log('index.php: dreamhost_error_hack invoked. Original URI =' . $_SERVER['REQUEST_URI']);
$this->internalRedirect($_SERVER['REQUEST_URI']);
}
logger('index.php: page not found: ' . $_SERVER['REQUEST_URI'] . ' ADDRESS: ' . $_SERVER['REMOTE_ADDR'] . ' QUERY: ' . $_SERVER['QUERY_STRING'], LOGGER_DEBUG);
Core\Logger::log('index.php: page not found: ' . $_SERVER['REQUEST_URI'] . ' ADDRESS: ' . $_SERVER['REMOTE_ADDR'] . ' QUERY: ' . $_SERVER['QUERY_STRING'], LOGGER_DEBUG);
header($_SERVER["SERVER_PROTOCOL"] . ' 404 ' . Core\L10n::t('Not Found'));
$tpl = get_markup_template("404.tpl");

View file

@ -3,6 +3,7 @@
namespace Friendica;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\System;
/**
@ -136,8 +137,8 @@ abstract class BaseModule extends BaseObject
{
if (!self::checkFormSecurityToken($typename, $formname)) {
$a = get_app();
logger('checkFormSecurityToken failed: user ' . $a->user['guid'] . ' - form element ' . $typename);
logger('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), LOGGER_DATA);
Logger::log('checkFormSecurityToken failed: user ' . $a->user['guid'] . ' - form element ' . $typename);
Logger::log('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), LOGGER_DATA);
notice(self::getFormSecurityStandardErrorMessage());
$a->internalRedirect($err_redirect);
}
@ -147,8 +148,8 @@ abstract class BaseModule extends BaseObject
{
if (!self::checkFormSecurityToken($typename, $formname)) {
$a = get_app();
logger('checkFormSecurityToken failed: user ' . $a->user['guid'] . ' - form element ' . $typename);
logger('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), LOGGER_DATA);
Logger::log('checkFormSecurityToken failed: user ' . $a->user['guid'] . ' - form element ' . $typename);
Logger::log('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), LOGGER_DATA);
header('HTTP/1.1 403 Forbidden');
killme();
}

View file

@ -15,6 +15,7 @@ use Friendica\Core\Addon;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Model\Contact;
@ -379,7 +380,7 @@ class BBCode extends BaseObject
$c = preg_match_all('/\[img.*?\](.*?)\[\/img\]/ism', $s, $matches, PREG_SET_ORDER);
if ($c) {
foreach ($matches as $mtch) {
logger('scale_external_image: ' . $mtch[1]);
Logger::log('scale_external_image: ' . $mtch[1]);
$hostname = str_replace('www.', '', substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3));
if (stristr($mtch[1], $hostname)) {
@ -414,7 +415,7 @@ class BBCode extends BaseObject
$Image->scaleDown(640);
$new_width = $Image->getWidth();
$new_height = $Image->getHeight();
logger('scale_external_images: ' . $orig_width . '->' . $new_width . 'w ' . $orig_height . '->' . $new_height . 'h' . ' match: ' . $mtch[0], LOGGER_DEBUG);
Logger::log('scale_external_images: ' . $orig_width . '->' . $new_width . 'w ' . $orig_height . '->' . $new_height . 'h' . ' match: ' . $mtch[0], LOGGER_DEBUG);
$s = str_replace(
$mtch[0],
'[img=' . $new_width . 'x' . $new_height. ']' . $scaled . '[/img]'
@ -423,7 +424,7 @@ class BBCode extends BaseObject
: ''),
$s
);
logger('scale_external_images: new string: ' . $s, LOGGER_DEBUG);
Logger::log('scale_external_images: new string: ' . $s, LOGGER_DEBUG);
}
}
}
@ -451,7 +452,7 @@ class BBCode extends BaseObject
// than the maximum, then don't waste time looking for the images
if ($maxlen && (strlen($body) > $maxlen)) {
logger('the total body length exceeds the limit', LOGGER_DEBUG);
Logger::log('the total body length exceeds the limit', LOGGER_DEBUG);
$orig_body = $body;
$new_body = '';
@ -471,7 +472,7 @@ class BBCode extends BaseObject
if (($textlen + $img_start) > $maxlen) {
if ($textlen < $maxlen) {
logger('the limit happens before an embedded image', LOGGER_DEBUG);
Logger::log('the limit happens before an embedded image', LOGGER_DEBUG);
$new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen);
$textlen = $maxlen;
}
@ -485,7 +486,7 @@ class BBCode extends BaseObject
if (($textlen + $img_end) > $maxlen) {
if ($textlen < $maxlen) {
logger('the limit happens before the end of a non-embedded image', LOGGER_DEBUG);
Logger::log('the limit happens before the end of a non-embedded image', LOGGER_DEBUG);
$new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen);
$textlen = $maxlen;
}
@ -508,11 +509,11 @@ class BBCode extends BaseObject
if (($textlen + strlen($orig_body)) > $maxlen) {
if ($textlen < $maxlen) {
logger('the limit happens after the end of the last image', LOGGER_DEBUG);
Logger::log('the limit happens after the end of the last image', LOGGER_DEBUG);
$new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen);
}
} else {
logger('the text size with embedded images extracted did not violate the limit', LOGGER_DEBUG);
Logger::log('the text size with embedded images extracted did not violate the limit', LOGGER_DEBUG);
$new_body = $new_body . $orig_body;
}

View file

@ -6,6 +6,7 @@ namespace Friendica\Core;
use Friendica\App;
use Friendica\BaseObject;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
/**
@ -75,7 +76,7 @@ class Addon extends BaseObject
*/
public static function uninstall($addon)
{
logger("Addons: uninstalling " . $addon);
Logger::log("Addons: uninstalling " . $addon);
DBA::delete('addon', ['name' => $addon]);
@include_once('addon/' . $addon . '/' . $addon . '.php');
@ -100,7 +101,7 @@ class Addon extends BaseObject
if (!file_exists('addon/' . $addon . '/' . $addon . '.php')) {
return false;
}
logger("Addons: installing " . $addon);
Logger::log("Addons: installing " . $addon);
$t = @filemtime('addon/' . $addon . '/' . $addon . '.php');
@include_once('addon/' . $addon . '/' . $addon . '.php');
if (function_exists($addon . '_install')) {
@ -125,7 +126,7 @@ class Addon extends BaseObject
}
return true;
} else {
logger("Addons: FAILED installing " . $addon);
Logger::log("Addons: FAILED installing " . $addon);
return false;
}
}
@ -155,7 +156,7 @@ class Addon extends BaseObject
$t = @filemtime($fname);
foreach ($installed as $i) {
if (($i['name'] == $addon) && ($i['timestamp'] != $t)) {
logger('Reloading addon: ' . $i['name']);
Logger::log('Reloading addon: ' . $i['name']);
@include_once($fname);
if (function_exists($addon . '_uninstall')) {

View file

@ -9,6 +9,7 @@ use Friendica\BaseObject;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Database\DBA;
use Friendica\Util\DateTimeFormat;
@ -153,10 +154,10 @@ class Authentication extends BaseObject
}
if ($login_initial) {
logger('auth_identities: ' . print_r($a->identities, true), LOGGER_DEBUG);
Logger::log('auth_identities: ' . print_r($a->identities, true), LOGGER_DEBUG);
}
if ($login_refresh) {
logger('auth_identities refresh: ' . print_r($a->identities, true), LOGGER_DEBUG);
Logger::log('auth_identities refresh: ' . print_r($a->identities, true), LOGGER_DEBUG);
}
$contact = DBA::selectFirst('contact', [], ['uid' => $_SESSION['uid'], 'self' => true]);
@ -184,7 +185,7 @@ class Authentication extends BaseObject
* The week ensures that sessions will expire after some inactivity.
*/
if (!empty($_SESSION['remember'])) {
logger('Injecting cookie for remembered user ' . $a->user['nickname']);
Logger::log('Injecting cookie for remembered user ' . $a->user['nickname']);
self::setCookie(604800, $user_record);
unset($_SESSION['remember']);
}

View file

@ -3,6 +3,7 @@
namespace Friendica\Core\Cache;
use Friendica\Core\Cache;
use Friendica\Core\Logger;
use Exception;
use Friendica\Network\HTTPException\InternalServerErrorException;
@ -64,7 +65,7 @@ class MemcachedCacheDriver extends AbstractCacheDriver implements IMemoryCacheDr
if ($this->memcached->getResultCode() == Memcached::RES_SUCCESS) {
return $this->filterArrayKeysByPrefix($keys, $prefix);
} else {
logger('Memcached \'getAllKeys\' failed with ' . $this->memcached->getResultMessage(), LOGGER_ALL);
Logger::log('Memcached \'getAllKeys\' failed with ' . $this->memcached->getResultMessage(), LOGGER_ALL);
return [];
}
}
@ -83,7 +84,7 @@ class MemcachedCacheDriver extends AbstractCacheDriver implements IMemoryCacheDr
if ($this->memcached->getResultCode() === Memcached::RES_SUCCESS) {
$return = $value;
} else {
logger('Memcached \'get\' failed with ' . $this->memcached->getResultMessage(), LOGGER_ALL);
Logger::log('Memcached \'get\' failed with ' . $this->memcached->getResultMessage(), LOGGER_ALL);
}
return $return;

View file

@ -6,6 +6,7 @@ namespace Friendica\Core;
use Friendica\BaseObject;
use Friendica\Database\DBA;
use Friendica\Core\Logger;
use Friendica\Core\System;
require_once 'boot.php';
@ -271,7 +272,7 @@ class L10n extends BaseObject
public static function tt($singular, $plural, $count)
{
if (!is_numeric($count)) {
logger('Non numeric count called by ' . System::callstack(20));
Logger::log('Non numeric count called by ' . System::callstack(20));
}
if (!self::$lang) {

View file

@ -7,6 +7,7 @@ namespace Friendica\Core;
* @brief Functions for preventing parallel execution of functions
*/
use Friendica\Core\Logger;
use Friendica\Core\Cache\CacheDriverFactory;
use Friendica\Core\Cache\IMemoryCacheDriver;
@ -83,7 +84,7 @@ class Lock
}
return;
} catch (\Exception $exception) {
logger('Using Cache driver for locking failed: ' . $exception->getMessage());
Logger::log('Using Cache driver for locking failed: ' . $exception->getMessage());
}
}

View file

@ -24,7 +24,7 @@ class Logger
* @param string $msg
* @param int $level
*/
public static function logger($msg, $level = LOGGER_INFO)
public static function log($msg, $level = LOGGER_INFO)
{
$a = get_app();
global $LOGGER_LEVELS;
@ -81,7 +81,7 @@ class Logger
/**
* @brief An alternative logger for development.
* Works largely as logger() but allows developers
* Works largely as log() but allows developers
* to isolate particular elements they are targetting
* personally without background noise
*
@ -97,7 +97,7 @@ class Logger
* @param string $msg
* @param int $level
*/
public static function dlogger($msg, $level = LOGGER_INFO)
public static function devLog($msg, $level = LOGGER_INFO)
{
$a = get_app();

View file

@ -9,6 +9,7 @@ namespace Friendica\Core;
use Friendica\BaseObject;
use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\HTML;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
@ -358,7 +359,7 @@ class NotificationsManager extends BaseObject
break;
}
/// @todo Check if this part here is used at all
logger('Complete data: ' . json_encode($it) . ' - ' . System::callstack(20), LOGGER_DEBUG);
Logger::log('Complete data: ' . json_encode($it) . ' - ' . System::callstack(20), LOGGER_DEBUG);
$xmlhead = "<" . "?xml version='1.0' encoding='UTF-8' ?" . ">";
$obj = XML::parseString($xmlhead . $it['object']);

View file

@ -4,6 +4,7 @@ namespace Friendica\Core\Session;
use Friendica\BaseObject;
use Friendica\Core\Cache;
use Friendica\Core\Logger;
use Friendica\Core\Session;
use SessionHandlerInterface;
@ -33,7 +34,7 @@ class CacheSessionHandler extends BaseObject implements SessionHandlerInterface
Session::$exists = true;
return $data;
}
logger("no data for session $session_id", LOGGER_TRACE);
Logger::log("no data for session $session_id", LOGGER_TRACE);
return '';
}

View file

@ -3,6 +3,7 @@
namespace Friendica\Core\Session;
use Friendica\BaseObject;
use Friendica\Core\Logger;
use Friendica\Core\Session;
use Friendica\Database\DBA;
use SessionHandlerInterface;
@ -34,7 +35,7 @@ class DatabaseSessionHandler extends BaseObject implements SessionHandlerInterfa
Session::$exists = true;
return $session['data'];
}
logger("no data for session $session_id", LOGGER_TRACE);
Logger::log("no data for session $session_id", LOGGER_TRACE);
return '';
}

View file

@ -5,6 +5,7 @@
namespace Friendica\Core;
use Friendica\BaseObject;
use Friendica\Core\Logger;
use Friendica\Network\HTTPException\InternalServerErrorException;
use Friendica\Util\XML;
@ -100,7 +101,7 @@ class System extends BaseObject
}
if ($st) {
logger('xml_status returning non_zero: ' . $st . " message=" . $message);
Logger::log('xml_status returning non_zero: ' . $st . " message=" . $message);
}
header("Content-type: text/xml");
@ -134,7 +135,7 @@ class System extends BaseObject
$err = 'OK';
}
logger('http_status_exit ' . $val);
Logger::log('http_status_exit ' . $val);
header($_SERVER["SERVER_PROTOCOL"] . ' ' . $val . ' ' . $err);
if (isset($description["title"])) {

View file

@ -6,6 +6,7 @@
namespace Friendica\Core;
use Friendica\Core\Logger;
use Friendica\Core\System;
require_once 'boot.php';
@ -106,7 +107,7 @@ class Theme
// install and uninstall theme
public static function uninstall($theme)
{
logger("Addons: uninstalling theme " . $theme);
Logger::log("Addons: uninstalling theme " . $theme);
include_once "view/theme/$theme/theme.php";
if (function_exists("{$theme}_uninstall")) {
@ -123,7 +124,7 @@ class Theme
return false;
}
logger("Addons: installing theme $theme");
Logger::log("Addons: installing theme $theme");
include_once "view/theme/$theme/theme.php";
@ -132,7 +133,7 @@ class Theme
$func();
return true;
} else {
logger("Addons: FAILED installing theme $theme");
Logger::log("Addons: FAILED installing theme $theme");
return false;
}
}

View file

@ -5,6 +5,7 @@
namespace Friendica\Core;
use Friendica\App;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Model\Photo;
@ -37,7 +38,7 @@ class UserImport
private static function checkCols($table, &$arr)
{
$query = sprintf("SHOW COLUMNS IN `%s`", DBA::escape($table));
logger("uimport: $query", LOGGER_DEBUG);
Logger::log("uimport: $query", LOGGER_DEBUG);
$r = q($query);
$tcols = [];
// get a plain array of column names
@ -68,7 +69,7 @@ class UserImport
$cols = implode("`,`", array_map(['Friendica\Database\DBA', 'escape'], array_keys($arr)));
$vals = implode("','", array_map(['Friendica\Database\DBA', 'escape'], array_values($arr)));
$query = "INSERT INTO `$table` (`$cols`) VALUES ('$vals')";
logger("uimport: $query", LOGGER_TRACE);
Logger::log("uimport: $query", LOGGER_TRACE);
if (self::IMPORT_DEBUG) {
return true;
@ -85,7 +86,7 @@ class UserImport
*/
public static function importAccount(App $a, $file)
{
logger("Start user import from " . $file['tmp_name']);
Logger::log("Start user import from " . $file['tmp_name']);
/*
STEPS
1. checks
@ -143,7 +144,7 @@ class UserImport
// import user
$r = self::dbImportAssoc('user', $account['user']);
if ($r === false) {
logger("uimport:insert user : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
Logger::log("uimport:insert user : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
notice(L10n::t("User creation error"));
return;
}
@ -161,7 +162,7 @@ class UserImport
$profile['uid'] = $newuid;
$r = self::dbImportAssoc('profile', $profile);
if ($r === false) {
logger("uimport:insert profile " . $profile['profile-name'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
Logger::log("uimport:insert profile " . $profile['profile-name'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
info(L10n::t("User profile creation error"));
DBA::delete('user', ['uid' => $newuid]);
return;
@ -199,7 +200,7 @@ class UserImport
$contact['uid'] = $newuid;
$r = self::dbImportAssoc('contact', $contact);
if ($r === false) {
logger("uimport:insert contact " . $contact['nick'] . "," . $contact['network'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
Logger::log("uimport:insert contact " . $contact['nick'] . "," . $contact['network'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
$errorcount++;
} else {
$contact['newid'] = self::lastInsertId();
@ -213,7 +214,7 @@ class UserImport
$group['uid'] = $newuid;
$r = self::dbImportAssoc('group', $group);
if ($r === false) {
logger("uimport:insert group " . $group['name'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
Logger::log("uimport:insert group " . $group['name'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
} else {
$group['newid'] = self::lastInsertId();
}
@ -238,7 +239,7 @@ class UserImport
if ($import == 2) {
$r = self::dbImportAssoc('group_member', $group_member);
if ($r === false) {
logger("uimport:insert group member " . $group_member['id'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
Logger::log("uimport:insert group member " . $group_member['id'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
}
}
}
@ -256,7 +257,7 @@ class UserImport
);
if ($r === false) {
logger("uimport:insert photo " . $photo['resource-id'] . "," . $photo['scale'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
Logger::log("uimport:insert photo " . $photo['resource-id'] . "," . $photo['scale'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
}
}
@ -264,7 +265,7 @@ class UserImport
$pconfig['uid'] = $newuid;
$r = self::dbImportAssoc('pconfig', $pconfig);
if ($r === false) {
logger("uimport:insert pconfig " . $pconfig['id'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
Logger::log("uimport:insert pconfig " . $pconfig['id'] . " : ERROR : " . DBA::errorMessage(), LOGGER_INFO);
}
}

View file

@ -5,6 +5,7 @@
namespace Friendica\Core;
use Friendica\BaseObject;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Model\Process;
use Friendica\Util\DateTimeFormat;
@ -42,7 +43,7 @@ class Worker
// At first check the maximum load. We shouldn't continue with a high load
if ($a->isMaxLoadReached()) {
logger('Pre check: maximum load reached, quitting.', LOGGER_DEBUG);
Logger::log('Pre check: maximum load reached, quitting.', LOGGER_DEBUG);
return;
}
@ -58,25 +59,25 @@ class Worker
// Count active workers and compare them with a maximum value that depends on the load
if (self::tooMuchWorkers()) {
logger('Pre check: Active worker limit reached, quitting.', LOGGER_DEBUG);
Logger::log('Pre check: Active worker limit reached, quitting.', LOGGER_DEBUG);
return;
}
// Do we have too few memory?
if ($a->isMinMemoryReached()) {
logger('Pre check: Memory limit reached, quitting.', LOGGER_DEBUG);
Logger::log('Pre check: Memory limit reached, quitting.', LOGGER_DEBUG);
return;
}
// Possibly there are too much database connections
if (self::maxConnectionsReached()) {
logger('Pre check: maximum connections reached, quitting.', LOGGER_DEBUG);
Logger::log('Pre check: maximum connections reached, quitting.', LOGGER_DEBUG);
return;
}
// Possibly there are too much database processes that block the system
if ($a->isMaxProcessesReached()) {
logger('Pre check: maximum processes reached, quitting.', LOGGER_DEBUG);
Logger::log('Pre check: maximum processes reached, quitting.', LOGGER_DEBUG);
return;
}
@ -99,7 +100,7 @@ class Worker
// The work will be done
if (!self::execute($entry)) {
logger('Process execution failed, quitting.', LOGGER_DEBUG);
Logger::log('Process execution failed, quitting.', LOGGER_DEBUG);
return;
}
@ -117,14 +118,14 @@ class Worker
$stamp = (float)microtime(true);
// Count active workers and compare them with a maximum value that depends on the load
if (self::tooMuchWorkers()) {
logger('Active worker limit reached, quitting.', LOGGER_DEBUG);
Logger::log('Active worker limit reached, quitting.', LOGGER_DEBUG);
Lock::release('worker');
return;
}
// Check free memory
if ($a->isMinMemoryReached()) {
logger('Memory limit reached, quitting.', LOGGER_DEBUG);
Logger::log('Memory limit reached, quitting.', LOGGER_DEBUG);
Lock::release('worker');
return;
}
@ -134,7 +135,7 @@ class Worker
// Quit the worker once every 5 minutes
if (time() > ($starttime + 300)) {
logger('Process lifetime reached, quitting.', LOGGER_DEBUG);
Logger::log('Process lifetime reached, quitting.', LOGGER_DEBUG);
return;
}
}
@ -143,7 +144,7 @@ class Worker
if (Config::get('system', 'worker_daemon_mode', false)) {
self::IPCSetJobState(false);
}
logger("Couldn't select a workerqueue entry, quitting process " . getmypid() . ".", LOGGER_DEBUG);
Logger::log("Couldn't select a workerqueue entry, quitting process " . getmypid() . ".", LOGGER_DEBUG);
}
/**
@ -213,19 +214,19 @@ class Worker
// Quit when in maintenance
if (Config::get('system', 'maintenance', false, true)) {
logger("Maintenance mode - quit process ".$mypid, LOGGER_DEBUG);
Logger::log("Maintenance mode - quit process ".$mypid, LOGGER_DEBUG);
return false;
}
// Constantly check the number of parallel database processes
if ($a->isMaxProcessesReached()) {
logger("Max processes reached for process ".$mypid, LOGGER_DEBUG);
Logger::log("Max processes reached for process ".$mypid, LOGGER_DEBUG);
return false;
}
// Constantly check the number of available database connections to let the frontend be accessible at any time
if (self::maxConnectionsReached()) {
logger("Max connection reached for process ".$mypid, LOGGER_DEBUG);
Logger::log("Max connection reached for process ".$mypid, LOGGER_DEBUG);
return false;
}
@ -270,7 +271,7 @@ class Worker
}
if (!validate_include($include)) {
logger("Include file ".$argv[0]." is not valid!");
Logger::log("Include file ".$argv[0]." is not valid!");
DBA::delete('workerqueue', ['id' => $queue["id"]]);
return true;
}
@ -302,7 +303,7 @@ class Worker
}
self::$db_duration = (microtime(true) - $stamp);
} else {
logger("Function ".$funcname." does not exist");
Logger::log("Function ".$funcname." does not exist");
DBA::delete('workerqueue', ['id' => $queue["id"]]);
}
@ -328,7 +329,7 @@ class Worker
$new_process_id = System::processID("wrk");
logger("Process ".$mypid." - Prio ".$queue["priority"]." - ID ".$queue["id"].": ".$funcname." ".$queue["parameter"]." - Process PID: ".$new_process_id);
Logger::log("Process ".$mypid." - Prio ".$queue["priority"]." - ID ".$queue["id"].": ".$funcname." ".$queue["parameter"]." - Process PID: ".$new_process_id);
$stamp = (float)microtime(true);
@ -378,7 +379,7 @@ class Worker
* The execution time is the productive time.
* By changing parameters like the maximum number of workers we can check the effectivness.
*/
logger(
Logger::log(
'DB: '.number_format(self::$db_duration, 2).
' - Lock: '.number_format(self::$lock_duration, 2).
' - Rest: '.number_format($up_duration - self::$db_duration - self::$lock_duration, 2).
@ -389,16 +390,16 @@ class Worker
self::$lock_duration = 0;
if ($duration > 3600) {
logger("Prio ".$queue["priority"].": ".$queue["parameter"]." - longer than 1 hour (".round($duration/60, 3).")", LOGGER_DEBUG);
Logger::log("Prio ".$queue["priority"].": ".$queue["parameter"]." - longer than 1 hour (".round($duration/60, 3).")", LOGGER_DEBUG);
} elseif ($duration > 600) {
logger("Prio ".$queue["priority"].": ".$queue["parameter"]." - longer than 10 minutes (".round($duration/60, 3).")", LOGGER_DEBUG);
Logger::log("Prio ".$queue["priority"].": ".$queue["parameter"]." - longer than 10 minutes (".round($duration/60, 3).")", LOGGER_DEBUG);
} elseif ($duration > 300) {
logger("Prio ".$queue["priority"].": ".$queue["parameter"]." - longer than 5 minutes (".round($duration/60, 3).")", LOGGER_DEBUG);
Logger::log("Prio ".$queue["priority"].": ".$queue["parameter"]." - longer than 5 minutes (".round($duration/60, 3).")", LOGGER_DEBUG);
} elseif ($duration > 120) {
logger("Prio ".$queue["priority"].": ".$queue["parameter"]." - longer than 2 minutes (".round($duration/60, 3).")", LOGGER_DEBUG);
Logger::log("Prio ".$queue["priority"].": ".$queue["parameter"]." - longer than 2 minutes (".round($duration/60, 3).")", LOGGER_DEBUG);
}
logger("Process ".$mypid." - Prio ".$queue["priority"]." - ID ".$queue["id"].": ".$funcname." - done in ".$duration." seconds. Process PID: ".$new_process_id);
Logger::log("Process ".$mypid." - Prio ".$queue["priority"]." - ID ".$queue["id"].": ".$funcname." - done in ".$duration." seconds. Process PID: ".$new_process_id);
// Write down the performance values into the log
if (Config::get("system", "profiler")) {
@ -453,7 +454,7 @@ class Worker
}
}
logger(
Logger::log(
"ID ".$queue["id"].": ".$funcname.": ".sprintf(
"DB: %s/%s, Cache: %s/%s, Net: %s, I/O: %s, Other: %s, Total: %s".$o,
number_format($a->performance["database"] - $a->performance["database_write"], 2),
@ -474,7 +475,7 @@ class Worker
$cooldown = Config::get("system", "worker_cooldown", 0);
if ($cooldown > 0) {
logger("Process ".$mypid." - Prio ".$queue["priority"]." - ID ".$queue["id"].": ".$funcname." - in cooldown for ".$cooldown." seconds");
Logger::log("Process ".$mypid." - Prio ".$queue["priority"]." - ID ".$queue["id"].": ".$funcname." - in cooldown for ".$cooldown." seconds");
sleep($cooldown);
}
}
@ -518,12 +519,12 @@ class Worker
$used = DBA::numRows($r);
DBA::close($r);
logger("Connection usage (user values): ".$used."/".$max, LOGGER_DEBUG);
Logger::log("Connection usage (user values): ".$used."/".$max, LOGGER_DEBUG);
$level = ($used / $max) * 100;
if ($level >= $maxlevel) {
logger("Maximum level (".$maxlevel."%) of user connections reached: ".$used."/".$max);
Logger::log("Maximum level (".$maxlevel."%) of user connections reached: ".$used."/".$max);
return true;
}
}
@ -546,14 +547,14 @@ class Worker
if ($used == 0) {
return false;
}
logger("Connection usage (system values): ".$used."/".$max, LOGGER_DEBUG);
Logger::log("Connection usage (system values): ".$used."/".$max, LOGGER_DEBUG);
$level = $used / $max * 100;
if ($level < $maxlevel) {
return false;
}
logger("Maximum level (".$level."%) of system connections reached: ".$used."/".$max);
Logger::log("Maximum level (".$level."%) of system connections reached: ".$used."/".$max);
return true;
}
@ -594,7 +595,7 @@ class Worker
// How long is the process already running?
$duration = (time() - strtotime($entry["executed"])) / 60;
if ($duration > $max_duration) {
logger("Worker process ".$entry["pid"]." (".substr(json_encode($argv), 0, 50).") took more than ".$max_duration." minutes. It will be killed now.");
Logger::log("Worker process ".$entry["pid"]." (".substr(json_encode($argv), 0, 50).") took more than ".$max_duration." minutes. It will be killed now.");
posix_kill($entry["pid"], SIGTERM);
// We killed the stale process.
@ -614,7 +615,7 @@ class Worker
['id' => $entry["id"]]
);
} else {
logger("Worker process ".$entry["pid"]." (".substr(json_encode($argv), 0, 50).") now runs for ".round($duration)." of ".$max_duration." allowed minutes. That's okay.", LOGGER_DEBUG);
Logger::log("Worker process ".$entry["pid"]." (".substr(json_encode($argv), 0, 50).") now runs for ".round($duration)." of ".$max_duration." allowed minutes. That's okay.", LOGGER_DEBUG);
}
}
}
@ -697,16 +698,16 @@ class Worker
$high_running = self::processWithPriorityActive($top_priority);
if (!$high_running && ($top_priority > PRIORITY_UNDEFINED) && ($top_priority < PRIORITY_NEGLIGIBLE)) {
logger("There are jobs with priority ".$top_priority." waiting but none is executed. Open a fastlane.", LOGGER_DEBUG);
Logger::log("There are jobs with priority ".$top_priority." waiting but none is executed. Open a fastlane.", LOGGER_DEBUG);
$queues = $active + 1;
}
}
logger("Load: " . $load ."/" . $maxsysload . " - processes: " . $deferred . "/" . $active . "/" . $entries . $processlist . " - maximum: " . $queues . "/" . $maxqueues, LOGGER_DEBUG);
Logger::log("Load: " . $load ."/" . $maxsysload . " - processes: " . $deferred . "/" . $active . "/" . $entries . $processlist . " - maximum: " . $queues . "/" . $maxqueues, LOGGER_DEBUG);
// Are there fewer workers running as possible? Then fork a new one.
if (!Config::get("system", "worker_dont_fork", false) && ($queues > ($active + 1)) && ($entries > 1)) {
logger("Active workers: ".$active."/".$queues." Fork a new worker.", LOGGER_DEBUG);
Logger::log("Active workers: ".$active."/".$queues." Fork a new worker.", LOGGER_DEBUG);
if (Config::get('system', 'worker_daemon_mode', false)) {
self::IPCSetJobState(true);
} else {
@ -779,11 +780,11 @@ class Worker
++$high;
}
}
logger("Highest priority: ".$highest_priority." Total processes: ".count($priorities)." Count high priority processes: ".$high, LOGGER_DEBUG);
Logger::log("Highest priority: ".$highest_priority." Total processes: ".count($priorities)." Count high priority processes: ".$high, LOGGER_DEBUG);
$passing_slow = (($high/count($priorities)) > (2/3));
if ($passing_slow) {
logger("Passing slower processes than priority ".$highest_priority, LOGGER_DEBUG);
Logger::log("Passing slower processes than priority ".$highest_priority, LOGGER_DEBUG);
}
return $passing_slow;
}
@ -816,7 +817,7 @@ class Worker
$slope = $queue_length / pow($lower_job_limit, $exponent);
$limit = min($queue_length, ceil($slope * pow($jobs, $exponent)));
logger('Deferred: ' . $deferred . ' - Total: ' . $jobs . ' - Maximum: ' . $queue_length . ' - jobs per queue: ' . $limit, LOGGER_DEBUG);
Logger::log('Deferred: ' . $deferred . ' - Total: ' . $jobs . ' - Maximum: ' . $queue_length . ' - jobs per queue: ' . $limit, LOGGER_DEBUG);
$ids = [];
if (self::passingSlow($highest_priority)) {
// Are there waiting processes with a higher priority than the currently highest?
@ -975,7 +976,7 @@ class Worker
self::runCron();
logger('Call worker', LOGGER_DEBUG);
Logger::log('Call worker', LOGGER_DEBUG);
self::spawnWorker();
return;
}
@ -1014,7 +1015,7 @@ class Worker
*/
private static function runCron()
{
logger('Add cron entries', LOGGER_DEBUG);
Logger::log('Add cron entries', LOGGER_DEBUG);
// Check for spooled items
self::add(PRIORITY_HIGH, "SpoolPost");
@ -1152,7 +1153,7 @@ class Worker
$id = $queue['id'];
if ($retrial > 14) {
logger('Id ' . $id . ' had been tried 14 times. We stop now.', LOGGER_DEBUG);
Logger::log('Id ' . $id . ' had been tried 14 times. We stop now.', LOGGER_DEBUG);
return;
}
@ -1160,7 +1161,7 @@ class Worker
$delay = (($retrial + 3) ** 4) + (rand(1, 30) * ($retrial + 1));
$next = DateTimeFormat::utc('now + ' . $delay . ' seconds');
logger('Defer execution ' . $retrial . ' of id ' . $id . ' to ' . $next, LOGGER_DEBUG);
Logger::log('Defer execution ' . $retrial . ' of id ' . $id . ' to ' . $next, LOGGER_DEBUG);
$fields = ['retrial' => $retrial + 1, 'next_try' => $next, 'executed' => DBA::NULL_DATETIME, 'pid' => 0];
DBA::update('workerqueue', $fields, ['id' => $id]);

View file

@ -6,6 +6,7 @@ namespace Friendica\Database;
// Please use App->getConfigVariable() instead.
//use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Util\DateTimeFormat;
use mysqli;
@ -412,7 +413,7 @@ class DBA
if ((substr_count($sql, '?') != count($args)) && (count($args) > 0)) {
// Question: Should we continue or stop the query here?
logger('Parameter mismatch. Query "'.$sql.'" - Parameters '.print_r($args, true), LOGGER_DEBUG);
Logger::log('Parameter mismatch. Query "'.$sql.'" - Parameters '.print_r($args, true), LOGGER_DEBUG);
}
$sql = self::cleanQuery($sql);
@ -552,7 +553,7 @@ class DBA
$error = self::$error;
$errorno = self::$errorno;
logger('DB Error '.self::$errorno.': '.self::$error."\n".
Logger::log('DB Error '.self::$errorno.': '.self::$error."\n".
System::callstack(8)."\n".self::replaceParameters($sql, $args));
// On a lost connection we try to reconnect - but only once.
@ -560,14 +561,14 @@ class DBA
if (self::$in_retrial || !self::reconnect()) {
// It doesn't make sense to continue when the database connection was lost
if (self::$in_retrial) {
logger('Giving up retrial because of database error '.$errorno.': '.$error);
Logger::log('Giving up retrial because of database error '.$errorno.': '.$error);
} else {
logger("Couldn't reconnect after database error ".$errorno.': '.$error);
Logger::log("Couldn't reconnect after database error ".$errorno.': '.$error);
}
exit(1);
} else {
// We try it again
logger('Reconnected after database error '.$errorno.': '.$error);
Logger::log('Reconnected after database error '.$errorno.': '.$error);
self::$in_retrial = true;
$ret = self::p($sql, $args);
self::$in_retrial = false;
@ -636,13 +637,13 @@ class DBA
$error = self::$error;
$errorno = self::$errorno;
logger('DB Error '.self::$errorno.': '.self::$error."\n".
Logger::log('DB Error '.self::$errorno.': '.self::$error."\n".
System::callstack(8)."\n".self::replaceParameters($sql, $params));
// On a lost connection we simply quit.
// A reconnect like in self::p could be dangerous with modifications
if ($errorno == 2006) {
logger('Giving up because of database error '.$errorno.': '.$error);
Logger::log('Giving up because of database error '.$errorno.': '.$error);
exit(1);
}
@ -835,7 +836,7 @@ class DBA
public static function insert($table, $param, $on_duplicate_update = false) {
if (empty($table) || empty($param)) {
logger('Table and fields have to be set');
Logger::log('Table and fields have to be set');
return false;
}
@ -1051,7 +1052,7 @@ class DBA
public static function delete($table, array $conditions, array $options = [], $in_process = false, array &$callstack = [])
{
if (empty($table) || empty($conditions)) {
logger('Table and conditions have to be set');
Logger::log('Table and conditions have to be set');
return false;
}
@ -1142,7 +1143,7 @@ class DBA
if ((count($command['conditions']) > 1) || is_int($first_key)) {
$sql = "DELETE FROM `" . $command['table'] . "`" . $condition_string;
logger(self::replaceParameters($sql, $conditions), LOGGER_DATA);
Logger::log(self::replaceParameters($sql, $conditions), LOGGER_DATA);
if (!self::e($sql, $conditions)) {
if ($do_transaction) {
@ -1172,7 +1173,7 @@ class DBA
$sql = "DELETE FROM `" . $table . "` WHERE `" . $field . "` IN (" .
substr(str_repeat("?, ", count($field_values)), 0, -2) . ");";
logger(self::replaceParameters($sql, $field_values), LOGGER_DATA);
Logger::log(self::replaceParameters($sql, $field_values), LOGGER_DATA);
if (!self::e($sql, $field_values)) {
if ($do_transaction) {
@ -1223,7 +1224,7 @@ class DBA
public static function update($table, $fields, $condition, $old_fields = []) {
if (empty($table) || empty($fields) || empty($condition)) {
logger('Table, fields and condition have to be set');
Logger::log('Table, fields and condition have to be set');
return false;
}

View file

@ -8,6 +8,7 @@ use Exception;
use Friendica\Core\Config;
use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Util\DateTimeFormat;
require_once 'boot.php';
@ -69,7 +70,7 @@ class DBStructure
// No valid result?
if (!DBA::isResult($adminlist)) {
logger(sprintf('Cannot notify administrators about update_id=%d, error_message=%s', $update_id, $error_message), LOGGER_INFO);
Logger::log(sprintf('Cannot notify administrators about update_id=%d, error_message=%s', $update_id, $error_message), LOGGER_INFO);
// Don't continue
return;
@ -100,7 +101,7 @@ class DBStructure
}
//try the logger
logger("CRITICAL: Database structure update failed: ".$error_message);
Logger::log("CRITICAL: Database structure update failed: ".$error_message);
}
@ -221,7 +222,7 @@ class DBStructure
$errors = '';
logger('updating structure', LOGGER_DEBUG);
Logger::log('updating structure', LOGGER_DEBUG);
// Get the current structure
$database = [];
@ -234,7 +235,7 @@ class DBStructure
foreach ($tables AS $table) {
$table = current($table);
logger(sprintf('updating structure for table %s ...', $table), LOGGER_DEBUG);
Logger::log(sprintf('updating structure for table %s ...', $table), LOGGER_DEBUG);
$database[$table] = self::tableStructure($table);
}
}

View file

@ -5,6 +5,7 @@
namespace Friendica\Database;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Model\Contact;
use Friendica\Model\Item;
@ -52,7 +53,7 @@ class PostUpdate
return true;
}
logger("Start", LOGGER_DEBUG);
Logger::log("Start", LOGGER_DEBUG);
$end_id = Config::get("system", "post_update_1194_end");
if (!$end_id) {
@ -63,7 +64,7 @@ class PostUpdate
}
}
logger("End ID: ".$end_id, LOGGER_DEBUG);
Logger::log("End ID: ".$end_id, LOGGER_DEBUG);
$start_id = Config::get("system", "post_update_1194_start");
@ -82,14 +83,14 @@ class PostUpdate
DBA::escape(Protocol::DFRN), DBA::escape(Protocol::DIASPORA), DBA::escape(Protocol::OSTATUS));
if (!$r) {
Config::set("system", "post_update_version", 1194);
logger("Update is done", LOGGER_DEBUG);
Logger::log("Update is done", LOGGER_DEBUG);
return true;
} else {
Config::set("system", "post_update_1194_start", $r[0]["id"]);
$start_id = Config::get("system", "post_update_1194_start");
}
logger("Start ID: ".$start_id, LOGGER_DEBUG);
Logger::log("Start ID: ".$start_id, LOGGER_DEBUG);
$r = q($query1.$query2.$query3." ORDER BY `item`.`id` LIMIT 1000,1",
intval($start_id), intval($end_id),
@ -99,13 +100,13 @@ class PostUpdate
} else {
$pos_id = $end_id;
}
logger("Progress: Start: ".$start_id." position: ".$pos_id." end: ".$end_id, LOGGER_DEBUG);
Logger::log("Progress: Start: ".$start_id." position: ".$pos_id." end: ".$end_id, LOGGER_DEBUG);
q("UPDATE `item` ".$query2." SET `item`.`global` = 1 ".$query3,
intval($start_id), intval($pos_id),
DBA::escape(Protocol::DFRN), DBA::escape(Protocol::DIASPORA), DBA::escape(Protocol::OSTATUS));
logger("Done", LOGGER_DEBUG);
Logger::log("Done", LOGGER_DEBUG);
}
/**
@ -122,7 +123,7 @@ class PostUpdate
return true;
}
logger("Start", LOGGER_DEBUG);
Logger::log("Start", LOGGER_DEBUG);
$r = q("SELECT `contact`.`id`, `contact`.`last-item`,
(SELECT MAX(`changed`) FROM `item` USE INDEX (`uid_wall_changed`) WHERE `wall` AND `uid` = `user`.`uid`) AS `lastitem_date`
FROM `user`
@ -138,7 +139,7 @@ class PostUpdate
}
Config::set("system", "post_update_version", 1206);
logger("Done", LOGGER_DEBUG);
Logger::log("Done", LOGGER_DEBUG);
return true;
}
@ -156,7 +157,7 @@ class PostUpdate
$id = Config::get("system", "post_update_version_1279_id", 0);
logger("Start from item " . $id, LOGGER_DEBUG);
Logger::log("Start from item " . $id, LOGGER_DEBUG);
$fields = array_merge(Item::MIXED_CONTENT_FIELDLIST, ['network', 'author-id', 'owner-id', 'tag', 'file',
'author-name', 'author-avatar', 'author-link', 'owner-name', 'owner-avatar', 'owner-link', 'id',
@ -170,7 +171,7 @@ class PostUpdate
$items = Item::select($fields, $condition, $params);
if (DBA::errorNo() != 0) {
logger('Database error ' . DBA::errorNo() . ':' . DBA::errorMessage());
Logger::log('Database error ' . DBA::errorNo() . ':' . DBA::errorMessage());
return false;
}
@ -225,7 +226,7 @@ class PostUpdate
Config::set("system", "post_update_version_1279_id", $id);
logger("Processed rows: " . $rows . " - last processed item: " . $id, LOGGER_DEBUG);
Logger::log("Processed rows: " . $rows . " - last processed item: " . $id, LOGGER_DEBUG);
if ($start_id == $id) {
// Set all deprecated fields to "null" if they contain an empty string
@ -237,13 +238,13 @@ class PostUpdate
foreach ($nullfields as $field) {
$fields = [$field => null];
$condition = [$field => ''];
logger("Setting '" . $field . "' to null if empty.", LOGGER_DEBUG);
Logger::log("Setting '" . $field . "' to null if empty.", LOGGER_DEBUG);
// Important: This has to be a "DBA::update", not a "Item::update"
DBA::update('item', $fields, $condition);
}
Config::set("system", "post_update_version", 1279);
logger("Done", LOGGER_DEBUG);
Logger::log("Done", LOGGER_DEBUG);
return true;
}
@ -306,7 +307,7 @@ class PostUpdate
$id = Config::get("system", "post_update_version_1281_id", 0);
logger("Start from item " . $id, LOGGER_DEBUG);
Logger::log("Start from item " . $id, LOGGER_DEBUG);
$fields = ['id', 'guid', 'uri', 'uri-id', 'parent-uri', 'parent-uri-id', 'thr-parent', 'thr-parent-id'];
@ -317,7 +318,7 @@ class PostUpdate
$items = DBA::select('item', $fields, $condition, $params);
if (DBA::errorNo() != 0) {
logger('Database error ' . DBA::errorNo() . ':' . DBA::errorMessage());
Logger::log('Database error ' . DBA::errorNo() . ':' . DBA::errorMessage());
return false;
}
@ -358,17 +359,17 @@ class PostUpdate
Config::set("system", "post_update_version_1281_id", $id);
logger("Processed rows: " . $rows . " - last processed item: " . $id, LOGGER_DEBUG);
Logger::log("Processed rows: " . $rows . " - last processed item: " . $id, LOGGER_DEBUG);
if ($start_id == $id) {
logger("Updating item-uri in item-activity", LOGGER_DEBUG);
Logger::log("Updating item-uri in item-activity", LOGGER_DEBUG);
DBA::e("UPDATE `item-activity` INNER JOIN `item-uri` ON `item-uri`.`uri` = `item-activity`.`uri` SET `item-activity`.`uri-id` = `item-uri`.`id` WHERE `item-activity`.`uri-id` IS NULL");
logger("Updating item-uri in item-content", LOGGER_DEBUG);
Logger::log("Updating item-uri in item-content", LOGGER_DEBUG);
DBA::e("UPDATE `item-content` INNER JOIN `item-uri` ON `item-uri`.`uri` = `item-content`.`uri` SET `item-content`.`uri-id` = `item-uri`.`id` WHERE `item-content`.`uri-id` IS NULL");
Config::set("system", "post_update_version", 1281);
logger("Done", LOGGER_DEBUG);
Logger::log("Done", LOGGER_DEBUG);
return true;
}

View file

@ -7,6 +7,7 @@
namespace Friendica\Model;
use Friendica\BaseObject;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Protocol\ActivityPub;
use Friendica\Util\Network;
@ -192,7 +193,7 @@ class APContact extends BaseObject
// Update the gcontact table
DBA::update('gcontact', $contact_fields, ['nurl' => normalise_link($url)]);
logger('Updated profile for ' . $url, LOGGER_DEBUG);
Logger::log('Updated profile for ' . $url, LOGGER_DEBUG);
return $apcontact;
}

View file

@ -9,6 +9,7 @@ use Friendica\Content\Pager;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Core\Worker;
@ -586,7 +587,7 @@ class Contact extends BaseObject
return;
}
} elseif (!isset($contact['url'])) {
logger('Empty contact: ' . json_encode($contact) . ' - ' . System::callstack(20), LOGGER_DEBUG);
Logger::log('Empty contact: ' . json_encode($contact) . ' - ' . System::callstack(20), LOGGER_DEBUG);
}
// Contact already archived or "self" contact? => nothing to do
@ -1027,7 +1028,7 @@ class Contact extends BaseObject
*/
public static function getIdForURL($url, $uid = 0, $no_update = false, $default = [], $in_loop = false)
{
logger("Get contact data for url " . $url . " and user " . $uid . " - " . System::callstack(), LOGGER_DEBUG);
Logger::log("Get contact data for url " . $url . " and user " . $uid . " - " . System::callstack(), LOGGER_DEBUG);
$contact_id = 0;
@ -1618,7 +1619,7 @@ class Contact extends BaseObject
}
if (($network != '') && ($ret['network'] != $network)) {
logger('Expected network ' . $network . ' does not match actual network ' . $ret['network']);
Logger::log('Expected network ' . $network . ' does not match actual network ' . $ret['network']);
return $result;
}
@ -1770,10 +1771,10 @@ class Contact extends BaseObject
}
} elseif ($contact['network'] == Protocol::DIASPORA) {
$ret = Diaspora::sendShare($a->user, $contact);
logger('share returns: ' . $ret);
Logger::log('share returns: ' . $ret);
} elseif ($contact['network'] == Protocol::ACTIVITYPUB) {
$ret = ActivityPub\Transmitter::sendActivity('Follow', $contact['url'], $uid);
logger('Follow returns: ' . $ret);
Logger::log('Follow returns: ' . $ret);
}
}
@ -1855,7 +1856,7 @@ class Contact extends BaseObject
// send email notification to owner?
} else {
if (DBA::exists('contact', ['nurl' => normalise_link($url), 'uid' => $importer['uid'], 'pending' => true])) {
logger('ignoring duplicated connection request from pending contact ' . $url);
Logger::log('ignoring duplicated connection request from pending contact ' . $url);
return;
}
// create contact record
@ -1961,7 +1962,7 @@ class Contact extends BaseObject
$r = q("SELECT * FROM `contact` WHERE `bd` != '' AND `bd` > '0001-01-01' AND SUBSTRING(`bd`, 1, 4) != `bdyear` ");
if (DBA::isResult($r)) {
foreach ($r as $rr) {
logger('update_contact_birthday: ' . $rr['bd']);
Logger::log('update_contact_birthday: ' . $rr['bd']);
$nextbd = DateTimeFormat::utcNow('Y') . substr($rr['bd'], 4);

View file

@ -5,6 +5,7 @@
namespace Friendica\Model;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Util\DateTimeFormat;
@ -82,12 +83,12 @@ class Conversation
unset($conversation['source']);
}
if (!DBA::update('conversation', $conversation, ['item-uri' => $conversation['item-uri']], $old_conv)) {
logger('Conversation: update for ' . $conversation['item-uri'] . ' from ' . $old_conv['protocol'] . ' to ' . $conversation['protocol'] . ' failed',
Logger::log('Conversation: update for ' . $conversation['item-uri'] . ' from ' . $old_conv['protocol'] . ' to ' . $conversation['protocol'] . ' failed',
LOGGER_DEBUG);
}
} else {
if (!DBA::insert('conversation', $conversation, true)) {
logger('Conversation: insert for ' . $conversation['item-uri'] . ' (protocol ' . $conversation['protocol'] . ') failed',
Logger::log('Conversation: insert for ' . $conversation['item-uri'] . ' (protocol ' . $conversation['protocol'] . ') failed',
LOGGER_DEBUG);
}
}

View file

@ -9,6 +9,7 @@ use Friendica\BaseObject;
use Friendica\Content\Text\BBCode;
use Friendica\Core\Addon;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Database\DBA;
@ -224,7 +225,7 @@ class Event extends BaseObject
}
DBA::delete('event', ['id' => $event_id]);
logger("Deleted event ".$event_id, LOGGER_DEBUG);
Logger::log("Deleted event ".$event_id, LOGGER_DEBUG);
}
/**

View file

@ -8,6 +8,7 @@ namespace Friendica\Model;
use Exception;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Core\Worker;
@ -256,7 +257,7 @@ class GContact
intval($cid)
);
// logger("countCommonFriends: $uid $cid {$r[0]['total']}");
// Logger::log("countCommonFriends: $uid $cid {$r[0]['total']}");
if (DBA::isResult($r)) {
return $r[0]['total'];
}
@ -588,7 +589,7 @@ class GContact
}
if ($new_url != $url) {
logger("Cleaned contact url ".$url." to ".$new_url." - Called by: ".System::callstack(), LOGGER_DEBUG);
Logger::log("Cleaned contact url ".$url." to ".$new_url." - Called by: ".System::callstack(), LOGGER_DEBUG);
}
return $new_url;
@ -605,7 +606,7 @@ class GContact
if (($contact["network"] == Protocol::OSTATUS) && PortableContact::alternateOStatusUrl($contact["url"])) {
$data = Probe::uri($contact["url"]);
if ($contact["network"] == Protocol::OSTATUS) {
logger("Fix primary url from ".$contact["url"]." to ".$data["url"]." - Called by: ".System::callstack(), LOGGER_DEBUG);
Logger::log("Fix primary url from ".$contact["url"]." to ".$data["url"]." - Called by: ".System::callstack(), LOGGER_DEBUG);
$contact["url"] = $data["url"];
$contact["addr"] = $data["addr"];
$contact["alias"] = $data["alias"];
@ -629,12 +630,12 @@ class GContact
$last_contact_str = '';
if (empty($contact["network"])) {
logger("Empty network for contact url ".$contact["url"]." - Called by: ".System::callstack(), LOGGER_DEBUG);
Logger::log("Empty network for contact url ".$contact["url"]." - Called by: ".System::callstack(), LOGGER_DEBUG);
return false;
}
if (in_array($contact["network"], [Protocol::PHANTOM])) {
logger("Invalid network for contact url ".$contact["url"]." - Called by: ".System::callstack(), LOGGER_DEBUG);
Logger::log("Invalid network for contact url ".$contact["url"]." - Called by: ".System::callstack(), LOGGER_DEBUG);
return false;
}
@ -702,7 +703,7 @@ class GContact
DBA::unlock();
if ($doprobing) {
logger("Last Contact: ". $last_contact_str." - Last Failure: ".$last_failure_str." - Checking: ".$contact["url"], LOGGER_DEBUG);
Logger::log("Last Contact: ". $last_contact_str." - Last Failure: ".$last_failure_str." - Checking: ".$contact["url"], LOGGER_DEBUG);
Worker::add(PRIORITY_LOW, 'GProbe', $contact["url"]);
}
@ -807,19 +808,19 @@ class GContact
if ((($contact["generation"] > 0) && ($contact["generation"] <= $public_contact[0]["generation"])) || ($public_contact[0]["generation"] == 0)) {
foreach ($fields as $field => $data) {
if ($contact[$field] != $public_contact[0][$field]) {
logger("Difference for contact ".$contact["url"]." in field '".$field."'. New value: '".$contact[$field]."', old value '".$public_contact[0][$field]."'", LOGGER_DEBUG);
Logger::log("Difference for contact ".$contact["url"]." in field '".$field."'. New value: '".$contact[$field]."', old value '".$public_contact[0][$field]."'", LOGGER_DEBUG);
$update = true;
}
}
if ($contact["generation"] < $public_contact[0]["generation"]) {
logger("Difference for contact ".$contact["url"]." in field 'generation'. new value: '".$contact["generation"]."', old value '".$public_contact[0]["generation"]."'", LOGGER_DEBUG);
Logger::log("Difference for contact ".$contact["url"]." in field 'generation'. new value: '".$contact["generation"]."', old value '".$public_contact[0]["generation"]."'", LOGGER_DEBUG);
$update = true;
}
}
if ($update) {
logger("Update gcontact for ".$contact["url"], LOGGER_DEBUG);
Logger::log("Update gcontact for ".$contact["url"], LOGGER_DEBUG);
$condition = ['`nurl` = ? AND (`generation` = 0 OR `generation` >= ?)',
normalise_link($contact["url"]), $contact["generation"]];
$contact["updated"] = DateTimeFormat::utc($contact["updated"]);
@ -843,7 +844,7 @@ class GContact
// The quality of the gcontact table is mostly lower than the public contact
$public_contact = DBA::selectFirst('contact', ['id'], ['nurl' => normalise_link($contact["url"]), 'uid' => 0]);
if (DBA::isResult($public_contact)) {
logger("Update public contact ".$public_contact["id"], LOGGER_DEBUG);
Logger::log("Update public contact ".$public_contact["id"], LOGGER_DEBUG);
Contact::updateAvatar($contact["photo"], 0, $public_contact["id"]);
@ -885,7 +886,7 @@ class GContact
$data = Probe::uri($url);
if (in_array($data["network"], [Protocol::PHANTOM])) {
logger("Invalid network for contact url ".$data["url"]." - Called by: ".System::callstack(), LOGGER_DEBUG);
Logger::log("Invalid network for contact url ".$data["url"]." - Called by: ".System::callstack(), LOGGER_DEBUG);
return;
}
@ -916,7 +917,7 @@ class GContact
);
if (!DBA::isResult($r)) {
logger('Cannot find user with uid=' . $uid, LOGGER_INFO);
Logger::log('Cannot find user with uid=' . $uid, LOGGER_INFO);
return false;
}
@ -953,7 +954,7 @@ class GContact
*/
public static function fetchGsUsers($server)
{
logger("Fetching users from GNU Social server ".$server, LOGGER_DEBUG);
Logger::log("Fetching users from GNU Social server ".$server, LOGGER_DEBUG);
$url = $server."/main/statistics";

View file

@ -7,6 +7,7 @@ namespace Friendica\Model;
use Friendica\BaseModule;
use Friendica\BaseObject;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Util\Security;
@ -325,7 +326,7 @@ class Group extends BaseObject
'selected' => $gid == $group['id'] ? 'true' : ''
];
}
logger('groups: ' . print_r($display_groups, true));
Logger::log('groups: ' . print_r($display_groups, true));
if ($label == '') {
$label = L10n::t('Default privacy group for new contacts');

View file

@ -11,6 +11,7 @@ use Friendica\Content\Text\BBCode;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Lock;
use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\Protocol;
use Friendica\Core\System;
@ -960,7 +961,7 @@ class Item extends BaseObject
} elseif ($item['uid'] == $uid) {
self::deleteById($item['id'], PRIORITY_HIGH);
} else {
logger('Wrong ownership. Not deleting item ' . $item['id']);
Logger::log('Wrong ownership. Not deleting item ' . $item['id']);
}
}
DBA::close($items);
@ -983,12 +984,12 @@ class Item extends BaseObject
'icid', 'iaid', 'psid'];
$item = self::selectFirst($fields, ['id' => $item_id]);
if (!DBA::isResult($item)) {
logger('Item with ID ' . $item_id . " hasn't been found.", LOGGER_DEBUG);
Logger::log('Item with ID ' . $item_id . " hasn't been found.", LOGGER_DEBUG);
return false;
}
if ($item['deleted']) {
logger('Item with ID ' . $item_id . ' has already been deleted.', LOGGER_DEBUG);
Logger::log('Item with ID ' . $item_id . ' has already been deleted.', LOGGER_DEBUG);
return false;
}
@ -1089,7 +1090,7 @@ class Item extends BaseObject
}
}
logger('Item with ID ' . $item_id . " has been deleted.", LOGGER_DEBUG);
Logger::log('Item with ID ' . $item_id . " has been deleted.", LOGGER_DEBUG);
return true;
}
@ -1192,7 +1193,7 @@ class Item extends BaseObject
if (!empty($contact_id)) {
return $contact_id;
}
logger('Missing contact-id. Called by: '.System::callstack(), LOGGER_DEBUG);
Logger::log('Missing contact-id. Called by: '.System::callstack(), LOGGER_DEBUG);
/*
* First we are looking for a suitable contact that matches with the author of the post
* This is done only for comments
@ -1213,7 +1214,7 @@ class Item extends BaseObject
$contact_id = $self["id"];
}
}
logger("Contact-id was missing for post ".$item['guid']." from user id ".$item['uid']." - now set to ".$contact_id, LOGGER_DEBUG);
Logger::log("Contact-id was missing for post ".$item['guid']." from user id ".$item['uid']." - now set to ".$contact_id, LOGGER_DEBUG);
return $contact_id;
}
@ -1298,7 +1299,7 @@ class Item extends BaseObject
$item['gravity'] = GRAVITY_COMMENT;
} else {
$item['gravity'] = GRAVITY_UNKNOWN; // Should not happen
logger('Unknown gravity for verb: ' . $item['verb'], LOGGER_DEBUG);
Logger::log('Unknown gravity for verb: ' . $item['verb'], LOGGER_DEBUG);
}
$uid = intval($item['uid']);
@ -1315,7 +1316,7 @@ class Item extends BaseObject
$expire_date = time() - ($expire_interval * 86400);
$created_date = strtotime($item['created']);
if ($created_date < $expire_date) {
logger('item-store: item created ('.date('c', $created_date).') before expiration time ('.date('c', $expire_date).'). ignored. ' . print_r($item,true), LOGGER_DEBUG);
Logger::log('item-store: item created ('.date('c', $created_date).') before expiration time ('.date('c', $expire_date).'). ignored. ' . print_r($item,true), LOGGER_DEBUG);
return 0;
}
}
@ -1333,7 +1334,7 @@ class Item extends BaseObject
if (DBA::isResult($existing)) {
// We only log the entries with a different user id than 0. Otherwise we would have too many false positives
if ($uid != 0) {
logger("Item with uri ".$item['uri']." already existed for user ".$uid." with id ".$existing["id"]." target network ".$existing["network"]." - new network: ".$item['network']);
Logger::log("Item with uri ".$item['uri']." already existed for user ".$uid." with id ".$existing["id"]." target network ".$existing["network"]." - new network: ".$item['network']);
}
return $existing["id"];
@ -1384,7 +1385,7 @@ class Item extends BaseObject
// When there is no content then we don't post it
if ($item['body'].$item['title'] == '') {
logger('No body, no title.');
Logger::log('No body, no title.');
return 0;
}
@ -1411,7 +1412,7 @@ class Item extends BaseObject
$item['author-id'] = defaults($item, 'author-id', Contact::getIdForURL($item["author-link"], 0, false, $default));
if (Contact::isBlocked($item["author-id"])) {
logger('Contact '.$item["author-id"].' is blocked, item '.$item["uri"].' will not be stored');
Logger::log('Contact '.$item["author-id"].' is blocked, item '.$item["uri"].' will not be stored');
return 0;
}
@ -1421,22 +1422,22 @@ class Item extends BaseObject
$item['owner-id'] = defaults($item, 'owner-id', Contact::getIdForURL($item["owner-link"], 0, false, $default));
if (Contact::isBlocked($item["owner-id"])) {
logger('Contact '.$item["owner-id"].' is blocked, item '.$item["uri"].' will not be stored');
Logger::log('Contact '.$item["owner-id"].' is blocked, item '.$item["uri"].' will not be stored');
return 0;
}
if ($item['network'] == Protocol::PHANTOM) {
logger('Missing network. Called by: '.System::callstack(), LOGGER_DEBUG);
Logger::log('Missing network. Called by: '.System::callstack(), LOGGER_DEBUG);
$item['network'] = Protocol::DFRN;
logger("Set network to " . $item["network"] . " for " . $item["uri"], LOGGER_DEBUG);
Logger::log("Set network to " . $item["network"] . " for " . $item["uri"], LOGGER_DEBUG);
}
// Checking if there is already an item with the same guid
logger('Checking for an item for user '.$item['uid'].' on network '.$item['network'].' with the guid '.$item['guid'], LOGGER_DEBUG);
Logger::log('Checking for an item for user '.$item['uid'].' on network '.$item['network'].' with the guid '.$item['guid'], LOGGER_DEBUG);
$condition = ['guid' => $item['guid'], 'network' => $item['network'], 'uid' => $item['uid']];
if (self::exists($condition)) {
logger('found item with guid '.$item['guid'].' for user '.$item['uid'].' on network '.$item['network'], LOGGER_DEBUG);
Logger::log('found item with guid '.$item['guid'].' for user '.$item['uid'].' on network '.$item['network'], LOGGER_DEBUG);
return 0;
}
@ -1517,15 +1518,15 @@ class Item extends BaseObject
}
// If its a post from myself then tag the thread as "mention"
logger("Checking if parent ".$parent_id." has to be tagged as mention for user ".$item['uid'], LOGGER_DEBUG);
Logger::log("Checking if parent ".$parent_id." has to be tagged as mention for user ".$item['uid'], LOGGER_DEBUG);
$user = DBA::selectFirst('user', ['nickname'], ['uid' => $item['uid']]);
if (DBA::isResult($user)) {
$self = normalise_link(System::baseUrl() . '/profile/' . $user['nickname']);
$self_id = Contact::getIdForURL($self, 0, true);
logger("'myself' is ".$self_id." for parent ".$parent_id." checking against ".$item['author-id']." and ".$item['owner-id'], LOGGER_DEBUG);
Logger::log("'myself' is ".$self_id." for parent ".$parent_id." checking against ".$item['author-id']." and ".$item['owner-id'], LOGGER_DEBUG);
if (($item['author-id'] == $self_id) || ($item['owner-id'] == $self_id)) {
DBA::update('thread', ['mention' => true], ['iid' => $parent_id]);
logger("tagged thread ".$parent_id." as mention for user ".$self, LOGGER_DEBUG);
Logger::log("tagged thread ".$parent_id." as mention for user ".$self, LOGGER_DEBUG);
}
}
} else {
@ -1534,12 +1535,12 @@ class Item extends BaseObject
* we don't have or can't see the original post.
*/
if ($force_parent) {
logger('$force_parent=true, reply converted to top-level post.');
Logger::log('$force_parent=true, reply converted to top-level post.');
$parent_id = 0;
$item['parent-uri'] = $item['uri'];
$item['gravity'] = GRAVITY_PARENT;
} else {
logger('item parent '.$item['parent-uri'].' for '.$item['uid'].' was not found - ignoring item');
Logger::log('item parent '.$item['parent-uri'].' for '.$item['uid'].' was not found - ignoring item');
return 0;
}
@ -1553,7 +1554,7 @@ class Item extends BaseObject
$condition = ["`uri` = ? AND `network` IN (?, ?) AND `uid` = ?",
$item['uri'], $item['network'], Protocol::DFRN, $item['uid']];
if (self::exists($condition)) {
logger('duplicated item with the same uri found. '.print_r($item,true));
Logger::log('duplicated item with the same uri found. '.print_r($item,true));
return 0;
}
@ -1561,7 +1562,7 @@ class Item extends BaseObject
if (in_array($item['network'], [Protocol::DFRN, Protocol::DIASPORA])) {
$condition = ['guid' => $item['guid'], 'uid' => $item['uid']];
if (self::exists($condition)) {
logger('duplicated item with the same guid found. '.print_r($item,true));
Logger::log('duplicated item with the same guid found. '.print_r($item,true));
return 0;
}
} else {
@ -1569,7 +1570,7 @@ class Item extends BaseObject
$condition = ["`body` = ? AND `network` = ? AND `created` = ? AND `contact-id` = ? AND `uid` = ?",
$item['body'], $item['network'], $item['created'], $item['contact-id'], $item['uid']];
if (self::exists($condition)) {
logger('duplicated item with the same body found. '.print_r($item,true));
Logger::log('duplicated item with the same body found. '.print_r($item,true));
return 0;
}
}
@ -1616,7 +1617,7 @@ class Item extends BaseObject
unset($item['api_source']);
if (x($item, 'cancel')) {
logger('post cancelled by addon.');
Logger::log('post cancelled by addon.');
return 0;
}
@ -1627,12 +1628,12 @@ class Item extends BaseObject
*/
if ($item["uid"] == 0) {
if (self::exists(['uri' => trim($item['uri']), 'uid' => 0])) {
logger('Global item already stored. URI: '.$item['uri'].' on network '.$item['network'], LOGGER_DEBUG);
Logger::log('Global item already stored. URI: '.$item['uri'].' on network '.$item['network'], LOGGER_DEBUG);
return 0;
}
}
logger('' . print_r($item,true), LOGGER_DATA);
Logger::log('' . print_r($item,true), LOGGER_DATA);
if (array_key_exists('tag', $item)) {
$tags = $item['tag'];
@ -1700,14 +1701,14 @@ class Item extends BaseObject
$item = array_merge($item, $delivery_data);
file_put_contents($spool, json_encode($item));
logger("Item wasn't stored - Item was spooled into file ".$file, LOGGER_DEBUG);
Logger::log("Item wasn't stored - Item was spooled into file ".$file, LOGGER_DEBUG);
}
return 0;
}
if ($current_post == 0) {
// This is one of these error messages that never should occur.
logger("couldn't find created item - we better quit now.");
Logger::log("couldn't find created item - we better quit now.");
DBA::rollback();
return 0;
}
@ -1718,7 +1719,7 @@ class Item extends BaseObject
if ($entries > 1) {
// There are duplicates. We delete our just created entry.
logger('Duplicated post occurred. uri = ' . $item['uri'] . ' uid = ' . $item['uid']);
Logger::log('Duplicated post occurred. uri = ' . $item['uri'] . ' uid = ' . $item['uid']);
// Yes, we could do a rollback here - but we are having many users with MyISAM.
DBA::delete('item', ['id' => $current_post]);
@ -1726,12 +1727,12 @@ class Item extends BaseObject
return 0;
} elseif ($entries == 0) {
// This really should never happen since we quit earlier if there were problems.
logger("Something is terribly wrong. We haven't found our created entry.");
Logger::log("Something is terribly wrong. We haven't found our created entry.");
DBA::rollback();
return 0;
}
logger('created item '.$current_post);
Logger::log('created item '.$current_post);
self::updateContact($item);
if (!$parent_id || ($item['parent-uri'] === $item['uri'])) {
@ -1759,7 +1760,7 @@ class Item extends BaseObject
*/
if (base64_encode(base64_decode(base64_decode($dsprsig->signature))) == base64_decode($dsprsig->signature)) {
$dsprsig->signature = base64_decode($dsprsig->signature);
logger("Repaired double encoded signature from handle ".$dsprsig->signer, LOGGER_DEBUG);
Logger::log("Repaired double encoded signature from handle ".$dsprsig->signer, LOGGER_DEBUG);
}
if (!empty($dsprsig->signed_text) && empty($dsprsig->signature) && empty($dsprsig->signer)) {
@ -1790,7 +1791,7 @@ class Item extends BaseObject
Addon::callHooks('post_remote_end', $posted_item);
}
} else {
logger('new item not found in DB, id ' . $current_post);
Logger::log('new item not found in DB, id ' . $current_post);
}
}
@ -1895,20 +1896,20 @@ class Item extends BaseObject
// To avoid timing problems, we are using locks.
$locked = Lock::acquire('item_insert_activity');
if (!$locked) {
logger("Couldn't acquire lock for URI " . $item['uri'] . " - proceeding anyway.");
Logger::log("Couldn't acquire lock for URI " . $item['uri'] . " - proceeding anyway.");
}
// Do we already have this content?
$item_activity = DBA::selectFirst('item-activity', ['id'], ['uri-id' => $item['uri-id']]);
if (DBA::isResult($item_activity)) {
$item['iaid'] = $item_activity['id'];
logger('Fetched activity for URI ' . $item['uri'] . ' (' . $item['iaid'] . ')');
Logger::log('Fetched activity for URI ' . $item['uri'] . ' (' . $item['iaid'] . ')');
} elseif (DBA::insert('item-activity', $fields)) {
$item['iaid'] = DBA::lastInsertId();
logger('Inserted activity for URI ' . $item['uri'] . ' (' . $item['iaid'] . ')');
Logger::log('Inserted activity for URI ' . $item['uri'] . ' (' . $item['iaid'] . ')');
} else {
// This shouldn't happen.
logger('Could not insert activity for URI ' . $item['uri'] . ' - should not happen');
Logger::log('Could not insert activity for URI ' . $item['uri'] . ' - should not happen');
Lock::release('item_insert_activity');
return false;
}
@ -1937,20 +1938,20 @@ class Item extends BaseObject
// To avoid timing problems, we are using locks.
$locked = Lock::acquire('item_insert_content');
if (!$locked) {
logger("Couldn't acquire lock for URI " . $item['uri'] . " - proceeding anyway.");
Logger::log("Couldn't acquire lock for URI " . $item['uri'] . " - proceeding anyway.");
}
// Do we already have this content?
$item_content = DBA::selectFirst('item-content', ['id'], ['uri-id' => $item['uri-id']]);
if (DBA::isResult($item_content)) {
$item['icid'] = $item_content['id'];
logger('Fetched content for URI ' . $item['uri'] . ' (' . $item['icid'] . ')');
Logger::log('Fetched content for URI ' . $item['uri'] . ' (' . $item['icid'] . ')');
} elseif (DBA::insert('item-content', $fields)) {
$item['icid'] = DBA::lastInsertId();
logger('Inserted content for URI ' . $item['uri'] . ' (' . $item['icid'] . ')');
Logger::log('Inserted content for URI ' . $item['uri'] . ' (' . $item['icid'] . ')');
} else {
// This shouldn't happen.
logger('Could not insert content for URI ' . $item['uri'] . ' - should not happen');
Logger::log('Could not insert content for URI ' . $item['uri'] . ' - should not happen');
}
if ($locked) {
Lock::release('item_insert_content');
@ -1976,7 +1977,7 @@ class Item extends BaseObject
$fields = ['activity' => $activity_index];
logger('Update activity for ' . json_encode($condition));
Logger::log('Update activity for ' . json_encode($condition));
DBA::update('item-activity', $fields, $condition, true);
@ -2005,7 +2006,7 @@ class Item extends BaseObject
$fields = $condition;
}
logger('Update content for ' . json_encode($condition));
Logger::log('Update content for ' . json_encode($condition));
DBA::update('item-content', $fields, $condition, true);
}
@ -2144,9 +2145,9 @@ class Item extends BaseObject
$distributed = self::insert($item, false, $notify, true);
if (!$distributed) {
logger("Distributed public item " . $itemid . " for user " . $uid . " wasn't stored", LOGGER_DEBUG);
Logger::log("Distributed public item " . $itemid . " for user " . $uid . " wasn't stored", LOGGER_DEBUG);
} else {
logger("Distributed public item " . $itemid . " for user " . $uid . " with id " . $distributed, LOGGER_DEBUG);
Logger::log("Distributed public item " . $itemid . " for user " . $uid . " with id " . $distributed, LOGGER_DEBUG);
}
}
@ -2209,7 +2210,7 @@ class Item extends BaseObject
$public_shadow = self::insert($item, false, false, true);
logger("Stored public shadow for thread ".$itemid." under id ".$public_shadow, LOGGER_DEBUG);
Logger::log("Stored public shadow for thread ".$itemid." under id ".$public_shadow, LOGGER_DEBUG);
}
}
@ -2266,7 +2267,7 @@ class Item extends BaseObject
$public_shadow = self::insert($item, false, false, true);
logger("Stored public shadow for comment ".$item['uri']." under id ".$public_shadow, LOGGER_DEBUG);
Logger::log("Stored public shadow for comment ".$item['uri']." under id ".$public_shadow, LOGGER_DEBUG);
// If this was a comment to a Diaspora post we don't get our comment back.
// This means that we have to distribute the comment by ourselves.
@ -2543,7 +2544,7 @@ class Item extends BaseObject
foreach ($matches as $mtch) {
if (link_compare($link, $mtch[1]) || link_compare($dlink, $mtch[1])) {
$mention = true;
logger('mention found: ' . $mtch[2]);
Logger::log('mention found: ' . $mtch[2]);
}
}
}
@ -2553,7 +2554,7 @@ class Item extends BaseObject
!$item['wall'] && !$item['origin'] && ($item['id'] == $item['parent'])) {
// mmh.. no mention.. community page or private group... no wall.. no origin.. top-post (not a comment)
// delete it!
logger("no-mention top-level post to community or private group. delete.");
Logger::log("no-mention top-level post to community or private group. delete.");
DBA::delete('item', ['id' => $item_id]);
return true;
}
@ -2612,29 +2613,29 @@ class Item extends BaseObject
// Prevent the forwarding of posts that are forwarded
if (!empty($datarray["extid"]) && ($datarray["extid"] == Protocol::DFRN)) {
logger('Already forwarded', LOGGER_DEBUG);
Logger::log('Already forwarded', LOGGER_DEBUG);
return false;
}
// Prevent to forward already forwarded posts
if ($datarray["app"] == $a->getHostName()) {
logger('Already forwarded (second test)', LOGGER_DEBUG);
Logger::log('Already forwarded (second test)', LOGGER_DEBUG);
return false;
}
// Only forward posts
if ($datarray["verb"] != ACTIVITY_POST) {
logger('No post', LOGGER_DEBUG);
Logger::log('No post', LOGGER_DEBUG);
return false;
}
if (($contact['network'] != Protocol::FEED) && $datarray['private']) {
logger('Not public', LOGGER_DEBUG);
Logger::log('Not public', LOGGER_DEBUG);
return false;
}
$datarray2 = $datarray;
logger('remote-self start - Contact '.$contact['url'].' - '.$contact['remote_self'].' Item '.print_r($datarray, true), LOGGER_DEBUG);
Logger::log('remote-self start - Contact '.$contact['url'].' - '.$contact['remote_self'].' Item '.print_r($datarray, true), LOGGER_DEBUG);
if ($contact['remote_self'] == 2) {
$self = DBA::selectFirst('contact', ['id', 'name', 'url', 'thumb'],
['uid' => $contact['uid'], 'self' => true]);
@ -2674,7 +2675,7 @@ class Item extends BaseObject
if ($contact['network'] != Protocol::FEED) {
// Store the original post
$result = self::insert($datarray2, false, false);
logger('remote-self post original item - Contact '.$contact['url'].' return '.$result.' Item '.print_r($datarray2, true), LOGGER_DEBUG);
Logger::log('remote-self post original item - Contact '.$contact['url'].' return '.$result.' Item '.print_r($datarray2, true), LOGGER_DEBUG);
} else {
$datarray["app"] = "Feed";
$result = true;
@ -2704,7 +2705,7 @@ class Item extends BaseObject
return $s;
}
logger('check for photos', LOGGER_DEBUG);
Logger::log('check for photos', LOGGER_DEBUG);
$site = substr(System::baseUrl(), strpos(System::baseUrl(), '://'));
$orig_body = $s;
@ -2718,7 +2719,7 @@ class Item extends BaseObject
$img_st_close++; // make it point to AFTER the closing bracket
$image = substr($orig_body, $img_start + $img_st_close, $img_len);
logger('found photo ' . $image, LOGGER_DEBUG);
Logger::log('found photo ' . $image, LOGGER_DEBUG);
if (stristr($image, $site . '/photo/')) {
// Only embed locally hosted photos
@ -2760,7 +2761,7 @@ class Item extends BaseObject
// If a custom width and height were specified, apply before embedding
if (preg_match("/\[img\=([0-9]*)x([0-9]*)\]/is", substr($orig_body, $img_start, $img_st_close), $match)) {
logger('scaling photo', LOGGER_DEBUG);
Logger::log('scaling photo', LOGGER_DEBUG);
$width = intval($match[1]);
$height = intval($match[2]);
@ -2773,9 +2774,9 @@ class Item extends BaseObject
}
}
logger('replacing photo', LOGGER_DEBUG);
Logger::log('replacing photo', LOGGER_DEBUG);
$image = 'data:' . $type . ';base64,' . base64_encode($data);
logger('replaced: ' . $image, LOGGER_DATA);
Logger::log('replaced: ' . $image, LOGGER_DATA);
}
}
}
@ -2938,7 +2939,7 @@ class Item extends BaseObject
++$expired;
}
DBA::close($items);
logger('User ' . $uid . ": expired $expired items; expire items: $expire_items, expire notes: $expire_notes, expire starred: $expire_starred, expire photos: $expire_photos");
Logger::log('User ' . $uid . ": expired $expired items; expire items: $expire_items, expire notes: $expire_notes, expire starred: $expire_starred, expire photos: $expire_photos");
}
public static function firstPostDate($uid, $wall = false)
@ -2994,18 +2995,18 @@ class Item extends BaseObject
$activity = ACTIVITY_ATTENDMAYBE;
break;
default:
logger('like: unknown verb ' . $verb . ' for item ' . $item_id);
Logger::log('like: unknown verb ' . $verb . ' for item ' . $item_id);
return false;
}
// Enable activity toggling instead of on/off
$event_verb_flag = $activity === ACTIVITY_ATTEND || $activity === ACTIVITY_ATTENDNO || $activity === ACTIVITY_ATTENDMAYBE;
logger('like: verb ' . $verb . ' item ' . $item_id);
Logger::log('like: verb ' . $verb . ' item ' . $item_id);
$item = self::selectFirst(self::ITEM_FIELDLIST, ['`id` = ? OR `uri` = ?', $item_id, $item_id]);
if (!DBA::isResult($item)) {
logger('like: unknown item ' . $item_id);
Logger::log('like: unknown item ' . $item_id);
return false;
}
@ -3017,14 +3018,14 @@ class Item extends BaseObject
}
if (!Security::canWriteToUserWall($uid)) {
logger('like: unable to write on wall ' . $uid);
Logger::log('like: unable to write on wall ' . $uid);
return false;
}
// Retrieves the local post owner
$owner_self_contact = DBA::selectFirst('contact', [], ['uid' => $uid, 'self' => true]);
if (!DBA::isResult($owner_self_contact)) {
logger('like: unknown owner ' . $uid);
Logger::log('like: unknown owner ' . $uid);
return false;
}
@ -3033,7 +3034,7 @@ class Item extends BaseObject
$author_contact = DBA::selectFirst('contact', ['url'], ['id' => $author_id]);
if (!DBA::isResult($author_contact)) {
logger('like: unknown author ' . $author_id);
Logger::log('like: unknown author ' . $author_id);
return false;
}
@ -3045,7 +3046,7 @@ class Item extends BaseObject
$item_contact_id = Contact::getIdForURL($author_contact['url'], $uid, true);
$item_contact = DBA::selectFirst('contact', [], ['id' => $item_contact_id]);
if (!DBA::isResult($item_contact)) {
logger('like: unknown item contact ' . $item_contact_id);
Logger::log('like: unknown item contact ' . $item_contact_id);
return false;
}
}
@ -3147,7 +3148,7 @@ class Item extends BaseObject
if (!$onlyshadow) {
$result = DBA::insert('thread', $item);
logger("Add thread for item ".$itemid." - ".print_r($result, true), LOGGER_DEBUG);
Logger::log("Add thread for item ".$itemid." - ".print_r($result, true), LOGGER_DEBUG);
}
}
@ -3179,26 +3180,26 @@ class Item extends BaseObject
$result = DBA::update('thread', $fields, ['iid' => $itemid]);
logger("Update thread for item ".$itemid." - guid ".$item["guid"]." - ".(int)$result, LOGGER_DEBUG);
Logger::log("Update thread for item ".$itemid." - guid ".$item["guid"]." - ".(int)$result, LOGGER_DEBUG);
}
private static function deleteThread($itemid, $itemuri = "")
{
$item = DBA::selectFirst('thread', ['uid'], ['iid' => $itemid]);
if (!DBA::isResult($item)) {
logger('No thread found for id '.$itemid, LOGGER_DEBUG);
Logger::log('No thread found for id '.$itemid, LOGGER_DEBUG);
return;
}
$result = DBA::delete('thread', ['iid' => $itemid], ['cascade' => false]);
logger("deleteThread: Deleted thread for item ".$itemid." - ".print_r($result, true), LOGGER_DEBUG);
Logger::log("deleteThread: Deleted thread for item ".$itemid." - ".print_r($result, true), LOGGER_DEBUG);
if ($itemuri != "") {
$condition = ["`uri` = ? AND NOT `deleted` AND NOT (`uid` IN (?, 0))", $itemuri, $item["uid"]];
if (!self::exists($condition)) {
DBA::delete('item', ['uri' => $itemuri, 'uid' => 0]);
logger("deleteThread: Deleted shadow for item ".$itemuri, LOGGER_DEBUG);
Logger::log("deleteThread: Deleted shadow for item ".$itemuri, LOGGER_DEBUG);
}
}
}

View file

@ -6,6 +6,7 @@
namespace Friendica\Model;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
@ -87,7 +88,7 @@ class Mail
}
if (!$convid) {
logger('send message: conversation not found.');
Logger::log('send message: conversation not found.');
return -4;
}
@ -200,7 +201,7 @@ class Mail
}
if (!$convid) {
logger('send message: conversation not found.');
Logger::log('send message: conversation not found.');
return -4;
}

View file

@ -12,6 +12,7 @@ use Friendica\Core\Addon;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\Protocol;
use Friendica\Core\System;
@ -106,7 +107,7 @@ class Profile
$user = DBA::selectFirst('user', ['uid'], ['nickname' => $nickname, 'account_removed' => false]);
if (!DBA::isResult($user) && empty($profiledata)) {
logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
Logger::log('profile error: ' . $a->query_string, LOGGER_DEBUG);
notice(L10n::t('Requested account is not available.') . EOL);
$a->error = 404;
return;
@ -124,7 +125,7 @@ class Profile
$pdata = self::getByNickname($nickname, $user['uid'], $profile);
if (empty($pdata) && empty($profiledata)) {
logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
Logger::log('profile error: ' . $a->query_string, LOGGER_DEBUG);
notice(L10n::t('Requested profile is not available.') . EOL);
$a->error = 404;
return;
@ -1020,27 +1021,27 @@ class Profile
// Try to find the public contact entry of the visitor.
$cid = Contact::getIdForURL($my_url);
if (!$cid) {
logger('No contact record found for ' . $my_url, LOGGER_DEBUG);
Logger::log('No contact record found for ' . $my_url, LOGGER_DEBUG);
return;
}
$contact = DBA::selectFirst('contact',['id', 'url'], ['id' => $cid]);
if (DBA::isResult($contact) && remote_user() && remote_user() == $contact['id']) {
logger('The visitor ' . $my_url . ' is already authenticated', LOGGER_DEBUG);
Logger::log('The visitor ' . $my_url . ' is already authenticated', LOGGER_DEBUG);
return;
}
// Avoid endless loops
$cachekey = 'zrlInit:' . $my_url;
if (Cache::get($cachekey)) {
logger('URL ' . $my_url . ' already tried to authenticate.', LOGGER_DEBUG);
Logger::log('URL ' . $my_url . ' already tried to authenticate.', LOGGER_DEBUG);
return;
} else {
Cache::set($cachekey, true, Cache::MINUTE);
}
logger('Not authenticated. Invoking reverse magic-auth for ' . $my_url, LOGGER_DEBUG);
Logger::log('Not authenticated. Invoking reverse magic-auth for ' . $my_url, LOGGER_DEBUG);
Worker::add(PRIORITY_LOW, 'GProbe', $my_url);
@ -1061,7 +1062,7 @@ class Profile
// We have to check if the remote server does understand /magic without invoking something
$serverret = Network::curl($basepath . '/magic');
if ($serverret->isSuccess()) {
logger('Doing magic auth for visitor ' . $my_url . ' to ' . $magic_path, LOGGER_DEBUG);
Logger::log('Doing magic auth for visitor ' . $my_url . ' to ' . $magic_path, LOGGER_DEBUG);
System::externalRedirect($magic_path);
}
}
@ -1092,7 +1093,7 @@ class Profile
// Try to find the public contact entry of the visitor.
$cid = Contact::getIdForURL($visitor_handle);
if(!$cid) {
logger('owt: unable to finger ' . $visitor_handle, LOGGER_DEBUG);
Logger::log('owt: unable to finger ' . $visitor_handle, LOGGER_DEBUG);
return;
}
@ -1121,7 +1122,7 @@ class Profile
info(L10n::t('OpenWebAuth: %1$s welcomes %2$s', $a->getHostName(), $visitor['name']));
logger('OpenWebAuth: auth success from ' . $visitor['addr'], LOGGER_DEBUG);
Logger::log('OpenWebAuth: auth success from ' . $visitor['addr'], LOGGER_DEBUG);
}
public static function zrl($s, $force = false)

View file

@ -4,6 +4,7 @@
*/
namespace Friendica\Model;
use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Util\DateTimeFormat;
@ -45,7 +46,7 @@ class PushSubscriber
$priority = $default_priority;
}
logger('Publish feed to ' . $subscriber['callback_url'] . ' for ' . $subscriber['nickname'] . ' with priority ' . $priority, LOGGER_DEBUG);
Logger::log('Publish feed to ' . $subscriber['callback_url'] . ' for ' . $subscriber['nickname'] . ' with priority ' . $priority, LOGGER_DEBUG);
Worker::add($priority, 'PubSubPublish', (int)$subscriber['id']);
}
@ -88,9 +89,9 @@ class PushSubscriber
'secret' => $hub_secret];
DBA::insert('push_subscriber', $fields);
logger("Successfully subscribed [$hub_callback] for $nick");
Logger::log("Successfully subscribed [$hub_callback] for $nick");
} else {
logger("Successfully unsubscribed [$hub_callback] for $nick");
Logger::log("Successfully unsubscribed [$hub_callback] for $nick");
// we do nothing here, since the row was already deleted
}
}
@ -115,10 +116,10 @@ class PushSubscriber
if ($days > 60) {
DBA::update('push_subscriber', ['push' => -1, 'next_try' => DBA::NULL_DATETIME], ['id' => $id]);
logger('Delivery error: Subscription ' . $subscriber['callback_url'] . ' for ' . $subscriber['nickname'] . ' is marked as ended.', LOGGER_DEBUG);
Logger::log('Delivery error: Subscription ' . $subscriber['callback_url'] . ' for ' . $subscriber['nickname'] . ' is marked as ended.', LOGGER_DEBUG);
} else {
DBA::update('push_subscriber', ['push' => 0, 'next_try' => DBA::NULL_DATETIME], ['id' => $id]);
logger('Delivery error: Giving up ' . $subscriber['callback_url'] . ' for ' . $subscriber['nickname'] . ' for now.', LOGGER_DEBUG);
Logger::log('Delivery error: Giving up ' . $subscriber['callback_url'] . ' for ' . $subscriber['nickname'] . ' for now.', LOGGER_DEBUG);
}
} else {
// Calculate the delay until the next trial
@ -128,7 +129,7 @@ class PushSubscriber
$retrial = $retrial + 1;
DBA::update('push_subscriber', ['push' => $retrial, 'next_try' => $next], ['id' => $id]);
logger('Delivery error: Next try (' . $retrial . ') ' . $subscriber['callback_url'] . ' for ' . $subscriber['nickname'] . ' at ' . $next, LOGGER_DEBUG);
Logger::log('Delivery error: Next try (' . $retrial . ') ' . $subscriber['callback_url'] . ' for ' . $subscriber['nickname'] . ' at ' . $next, LOGGER_DEBUG);
}
}
@ -148,6 +149,6 @@ class PushSubscriber
// set last_update to the 'created' date of the last item, and reset push=0
$fields = ['push' => 0, 'next_try' => DBA::NULL_DATETIME, 'last_update' => $last_update];
DBA::update('push_subscriber', $fields, ['id' => $id]);
logger('Subscriber ' . $subscriber['callback_url'] . ' for ' . $subscriber['nickname'] . ' is marked as vital', LOGGER_DEBUG);
Logger::log('Subscriber ' . $subscriber['callback_url'] . ' for ' . $subscriber['nickname'] . ' is marked as vital', LOGGER_DEBUG);
}
}

View file

@ -5,6 +5,7 @@
namespace Friendica\Model;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Util\DateTimeFormat;
@ -17,7 +18,7 @@ class Queue
*/
public static function updateTime($id)
{
logger('queue: requeue item ' . $id);
Logger::log('queue: requeue item ' . $id);
$queue = DBA::selectFirst('queue', ['retrial'], ['id' => $id]);
if (!DBA::isResult($queue)) {
return;
@ -41,7 +42,7 @@ class Queue
*/
public static function removeItem($id)
{
logger('queue: remove queue item ' . $id);
Logger::log('queue: remove queue item ' . $id);
DBA::delete('queue', ['id' => $id]);
}
@ -100,10 +101,10 @@ class Queue
if (DBA::isResult($r)) {
if ($batch && ($r[0]['total'] > $batch_queue)) {
logger('too many queued items for batch server ' . $cid . ' - discarding message');
Logger::log('too many queued items for batch server ' . $cid . ' - discarding message');
return;
} elseif ((! $batch) && ($r[0]['total'] > $max_queue)) {
logger('too many queued items for contact ' . $cid . ' - discarding message');
Logger::log('too many queued items for contact ' . $cid . ' - discarding message');
return;
}
}
@ -117,6 +118,6 @@ class Queue
'content' => $msg,
'batch' =>($batch) ? 1 : 0
]);
logger('Added item ' . $guid . ' for ' . $cid);
Logger::log('Added item ' . $guid . ' for ' . $cid);
}
}

View file

@ -10,6 +10,7 @@ use Exception;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\Protocol;
use Friendica\Core\System;
@ -470,7 +471,7 @@ class User
$username_max_length = max(1, min(64, intval(Config::get('system', 'username_max_length', 48))));
if ($username_min_length > $username_max_length) {
logger(L10n::t('system.username_min_length (%s) and system.username_max_length (%s) are excluding each other, swapping values.', $username_min_length, $username_max_length), LOGGER_WARNING);
Logger::log(L10n::t('system.username_min_length (%s) and system.username_max_length (%s) are excluding each other, swapping values.', $username_min_length, $username_max_length), LOGGER_WARNING);
$tmp = $username_min_length;
$username_min_length = $username_max_length;
$username_max_length = $tmp;
@ -785,7 +786,7 @@ class User
$a = get_app();
logger('Removing user: ' . $uid);
Logger::log('Removing user: ' . $uid);
$user = DBA::selectFirst('user', [], ['uid' => $uid]);

View file

@ -36,7 +36,7 @@ class Inbox extends BaseModule
$tempfile = tempnam(get_temppath(), $filename);
file_put_contents($tempfile, json_encode(['argv' => $a->argv, 'header' => $_SERVER, 'body' => $postdata], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
logger('Incoming message stored under ' . $tempfile);
Logger::log('Incoming message stored under ' . $tempfile);
*/
if (!empty($a->argv[1])) {
$user = DBA::selectFirst('user', ['uid'], ['nickname' => $a->argv[1]]);

View file

@ -10,6 +10,7 @@ use Friendica\Core\Addon;
use Friendica\Core\Authentication;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\User;
@ -146,7 +147,7 @@ class Login extends BaseModule
);
}
} catch (Exception $e) {
logger('authenticate: failed login attempt: ' . notags($username) . ' from IP ' . $_SERVER['REMOTE_ADDR']);
Logger::log('authenticate: failed login attempt: ' . notags($username) . ' from IP ' . $_SERVER['REMOTE_ADDR']);
info('Login failed. Please check your credentials.' . EOL);
$a->internalRedirect();
}
@ -195,7 +196,7 @@ class Login extends BaseModule
);
if (DBA::isResult($user)) {
if ($data->hash != Authentication::getCookieHashForUser($user)) {
logger("Hash for user " . $data->uid . " doesn't fit.");
Logger::log("Hash for user " . $data->uid . " doesn't fit.");
Authentication::deleteSession();
$a->internalRedirect();
}
@ -231,7 +232,7 @@ class Login extends BaseModule
$check = Config::get('system', 'paranoia');
// extra paranoia - if the IP changed, log them out
if ($check && ($_SESSION['addr'] != $_SERVER['REMOTE_ADDR'])) {
logger('Session address changed. Paranoid setting in effect, blocking session. ' .
Logger::log('Session address changed. Paranoid setting in effect, blocking session. ' .
$_SESSION['addr'] . ' != ' . $_SERVER['REMOTE_ADDR']);
Authentication::deleteSession();
$a->internalRedirect();

View file

@ -5,9 +5,10 @@
namespace Friendica\Module;
use Friendica\BaseModule;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
use Friendica\Core\System;
use Friendica\Util\HTTPSignature;
use Friendica\Util\Network;
@ -22,9 +23,9 @@ class Magic extends BaseModule
{
$a = self::getApp();
$ret = ['success' => false, 'url' => '', 'message' => ''];
logger('magic mdule: invoked', LOGGER_DEBUG);
Logger::log('magic mdule: invoked', LOGGER_DEBUG);
logger('args: ' . print_r($_REQUEST, true), LOGGER_DATA);
Logger::log('args: ' . print_r($_REQUEST, true), LOGGER_DATA);
$addr = ((x($_REQUEST, 'addr')) ? $_REQUEST['addr'] : '');
$dest = ((x($_REQUEST, 'dest')) ? $_REQUEST['dest'] : '');
@ -41,7 +42,7 @@ class Magic extends BaseModule
}
if (!$cid) {
logger('No contact record found: ' . print_r($_REQUEST, true), LOGGER_DEBUG);
Logger::log('No contact record found: ' . print_r($_REQUEST, true), LOGGER_DEBUG);
// @TODO Finding a more elegant possibility to redirect to either internal or external URL
$a->redirect($dest);
}
@ -55,7 +56,7 @@ class Magic extends BaseModule
return $ret;
}
logger('Contact is already authenticated', LOGGER_DEBUG);
Logger::log('Contact is already authenticated', LOGGER_DEBUG);
System::externalRedirect($dest);
}

View file

@ -5,6 +5,7 @@
namespace Friendica\Module;
use Friendica\BaseModule;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
@ -57,8 +58,8 @@ class Owa extends BaseModule
$verified = HTTPSignature::verifyMagic($contact['pubkey']);
if ($verified && $verified['header_signed'] && $verified['header_valid']) {
logger('OWA header: ' . print_r($verified, true), LOGGER_DATA);
logger('OWA success: ' . $contact['addr'], LOGGER_DATA);
Logger::log('OWA header: ' . print_r($verified, true), LOGGER_DATA);
Logger::log('OWA success: ' . $contact['addr'], LOGGER_DATA);
$ret['success'] = true;
$token = random_string(32);
@ -75,10 +76,10 @@ class Owa extends BaseModule
openssl_public_encrypt($token, $result, $contact['pubkey']);
$ret['encrypted_token'] = base64url_encode($result);
} else {
logger('OWA fail: ' . $contact['id'] . ' ' . $contact['addr'] . ' ' . $contact['url'], LOGGER_DEBUG);
Logger::log('OWA fail: ' . $contact['id'] . ' ' . $contact['addr'] . ' ' . $contact['url'], LOGGER_DEBUG);
}
} else {
logger('Contact not found: ' . $handle, LOGGER_DEBUG);
Logger::log('Contact not found: ' . $handle, LOGGER_DEBUG);
}
}
}

View file

@ -2,7 +2,7 @@
namespace Friendica\Network;
use Friendica\Core\Logger;
use Friendica\Network\HTTPException\InternalServerErrorException;
/**
@ -104,7 +104,7 @@ class CurlResult
$this->errorNumber = $errorNumber;
$this->error = $error;
logger($url . ': ' . $this->returnCode . " " . $result, LOGGER_DATA);
Logger::log($url . ': ' . $this->returnCode . " " . $result, LOGGER_DATA);
$this->parseBodyHeader($result);
$this->checkSuccess();
@ -134,8 +134,8 @@ class CurlResult
$this->isSuccess = ($this->returnCode >= 200 && $this->returnCode <= 299) || $this->errorNumber == 0;
if (!$this->isSuccess) {
logger('error: ' . $this->url . ': ' . $this->returnCode . ' - ' . $this->error, LOGGER_INFO);
logger('debug: ' . print_r($this->info, true), LOGGER_DATA);
Logger::log('error: ' . $this->url . ': ' . $this->returnCode . ' - ' . $this->error, LOGGER_INFO);
Logger::log('debug: ' . print_r($this->info, true), LOGGER_DATA);
}
if (!$this->isSuccess && $this->errorNumber == CURLE_OPERATION_TIMEDOUT) {

View file

@ -5,6 +5,7 @@
namespace Friendica\Network;
use Friendica\Core\Addon;
use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Database\DBA;
@ -34,12 +35,12 @@ class FKOAuth1 extends OAuthServer
*/
public function loginUser($uid)
{
logger("FKOAuth1::loginUser $uid");
Logger::log("FKOAuth1::loginUser $uid");
$a = get_app();
$record = DBA::selectFirst('user', [], ['uid' => $uid, 'blocked' => 0, 'account_expired' => 0, 'account_removed' => 0, 'verified' => 1]);
if (!DBA::isResult($record)) {
logger('FKOAuth1::loginUser failure: ' . print_r($_SERVER, true), LOGGER_DEBUG);
Logger::log('FKOAuth1::loginUser failure: ' . print_r($_SERVER, true), LOGGER_DEBUG);
header('HTTP/1.0 401 Unauthorized');
die('This api requires login');
}

View file

@ -10,6 +10,7 @@
namespace Friendica\Network;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use OAuthConsumer;
use OAuthDataStore;
@ -39,7 +40,7 @@ class FKOAuthDataStore extends OAuthDataStore
*/
public function lookup_consumer($consumer_key)
{
logger(__function__ . ":" . $consumer_key);
Logger::log(__function__ . ":" . $consumer_key);
$s = DBA::select('clients', ['client_id', 'pw', 'redirect_uri'], ['client_id' => $consumer_key]);
$r = DBA::toArray($s);
@ -59,7 +60,7 @@ class FKOAuthDataStore extends OAuthDataStore
*/
public function lookup_token($consumer, $token_type, $token)
{
logger(__function__ . ":" . $consumer . ", " . $token_type . ", " . $token);
Logger::log(__function__ . ":" . $consumer . ", " . $token_type . ", " . $token);
$s = DBA::select('tokens', ['id', 'secret', 'scope', 'expires', 'uid'], ['client_id' => $consumer->key, 'scope' => $token_type, 'id' => $token]);
$r = DBA::toArray($s);
@ -99,7 +100,7 @@ class FKOAuthDataStore extends OAuthDataStore
*/
public function new_request_token($consumer, $callback = null)
{
logger(__function__ . ":" . $consumer . ", " . $callback);
Logger::log(__function__ . ":" . $consumer . ", " . $callback);
$key = self::genToken();
$sec = self::genToken();
@ -134,7 +135,7 @@ class FKOAuthDataStore extends OAuthDataStore
*/
public function new_access_token($token, $consumer, $verifier = null)
{
logger(__function__ . ":" . $token . ", " . $consumer . ", " . $verifier);
Logger::log(__function__ . ":" . $token . ", " . $consumer . ", " . $verifier);
// return a new access token attached to this consumer
// for the user associated with this token if the request token
@ -145,7 +146,7 @@ class FKOAuthDataStore extends OAuthDataStore
// get user for this verifier
$uverifier = Config::get("oauth", $verifier);
logger(__function__ . ":" . $verifier . "," . $uverifier);
Logger::log(__function__ . ":" . $verifier . "," . $uverifier);
if (is_null($verifier) || ($uverifier !== false)) {
$key = self::genToken();

View file

@ -12,6 +12,7 @@ namespace Friendica\Network;
use DOMDocument;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Database\DBA;
@ -109,7 +110,7 @@ class Probe
$xrd_timeout = Config::get('system', 'xrd_timeout', 20);
$redirects = 0;
logger("Probing for ".$host, LOGGER_DEBUG);
Logger::log("Probing for ".$host, LOGGER_DEBUG);
$xrd = null;
$curlResult = Network::curl($ssl_url, false, $redirects, ['timeout' => $xrd_timeout, 'accept_content' => 'application/xrd+xml']);
@ -122,7 +123,7 @@ class Probe
if (!is_object($xrd)) {
$curlResult = Network::curl($url, false, $redirects, ['timeout' => $xrd_timeout, 'accept_content' => 'application/xrd+xml']);
if ($curlResult->isTimeout()) {
logger("Probing timeout for " . $url, LOGGER_DEBUG);
Logger::log("Probing timeout for " . $url, LOGGER_DEBUG);
return false;
}
$xml = $curlResult->getBody();
@ -130,13 +131,13 @@ class Probe
$host_url = 'http://'.$host;
}
if (!is_object($xrd)) {
logger("No xrd object found for ".$host, LOGGER_DEBUG);
Logger::log("No xrd object found for ".$host, LOGGER_DEBUG);
return [];
}
$links = XML::elementToArray($xrd);
if (!isset($links["xrd"]["link"])) {
logger("No xrd data found for ".$host, LOGGER_DEBUG);
Logger::log("No xrd data found for ".$host, LOGGER_DEBUG);
return [];
}
@ -164,7 +165,7 @@ class Probe
self::$baseurl = "http://".$host;
logger("Probing successful for ".$host, LOGGER_DEBUG);
Logger::log("Probing successful for ".$host, LOGGER_DEBUG);
return $lrdd;
}
@ -194,7 +195,7 @@ class Probe
$profile_link = '';
$links = self::lrdd($webbie);
logger('webfingerDfrn: '.$webbie.':'.print_r($links, true), LOGGER_DATA);
Logger::log('webfingerDfrn: '.$webbie.':'.print_r($links, true), LOGGER_DATA);
if (count($links)) {
foreach ($links as $link) {
if ($link['@attributes']['rel'] === NAMESPACE_DFRN) {
@ -253,7 +254,7 @@ class Probe
}
if (!$lrdd) {
logger("No lrdd data found for ".$uri, LOGGER_DEBUG);
Logger::log("No lrdd data found for ".$uri, LOGGER_DEBUG);
return [];
}
@ -285,7 +286,7 @@ class Probe
}
if (!is_array($webfinger["links"])) {
logger("No webfinger links found for ".$uri, LOGGER_DEBUG);
Logger::log("No webfinger links found for ".$uri, LOGGER_DEBUG);
return false;
}
@ -595,7 +596,7 @@ class Probe
$lrdd = self::hostMeta($host);
}
if (!$lrdd) {
logger('No XRD data was found for '.$uri, LOGGER_DEBUG);
Logger::log('No XRD data was found for '.$uri, LOGGER_DEBUG);
return self::feed($uri);
}
$nick = array_pop($path_parts);
@ -630,12 +631,12 @@ class Probe
}
if (!$lrdd) {
logger('No XRD data was found for '.$uri, LOGGER_DEBUG);
Logger::log('No XRD data was found for '.$uri, LOGGER_DEBUG);
return self::mail($uri, $uid);
}
$addr = $uri;
} else {
logger("Uri ".$uri." was not detectable", LOGGER_DEBUG);
Logger::log("Uri ".$uri." was not detectable", LOGGER_DEBUG);
return false;
}
@ -680,7 +681,7 @@ class Probe
$result = false;
logger("Probing ".$uri, LOGGER_DEBUG);
Logger::log("Probing ".$uri, LOGGER_DEBUG);
if (in_array($network, ["", Protocol::DFRN])) {
$result = self::dfrn($webfinger);
@ -716,7 +717,7 @@ class Probe
$result["url"] = $uri;
}
logger($uri." is ".$result["network"], LOGGER_DEBUG);
Logger::log($uri." is ".$result["network"], LOGGER_DEBUG);
if (empty($result["baseurl"])) {
$pos = strpos($result["url"], $host);
@ -751,7 +752,7 @@ class Probe
$webfinger = json_decode($data, true);
if (is_array($webfinger)) {
if (!isset($webfinger["links"])) {
logger("No json webfinger links for ".$url, LOGGER_DEBUG);
Logger::log("No json webfinger links for ".$url, LOGGER_DEBUG);
return false;
}
return $webfinger;
@ -760,13 +761,13 @@ class Probe
// If it is not JSON, maybe it is XML
$xrd = XML::parseString($data, false);
if (!is_object($xrd)) {
logger("No webfinger data retrievable for ".$url, LOGGER_DEBUG);
Logger::log("No webfinger data retrievable for ".$url, LOGGER_DEBUG);
return false;
}
$xrd_arr = XML::elementToArray($xrd);
if (!isset($xrd_arr["xrd"]["link"])) {
logger("No XML webfinger links for ".$url, LOGGER_DEBUG);
Logger::log("No XML webfinger links for ".$url, LOGGER_DEBUG);
return false;
}
@ -815,13 +816,13 @@ class Probe
}
$content = $curlResult->getBody();
if (!$content) {
logger("Empty body for ".$noscrape_url, LOGGER_DEBUG);
Logger::log("Empty body for ".$noscrape_url, LOGGER_DEBUG);
return false;
}
$json = json_decode($content, true);
if (!is_array($json)) {
logger("No json data for ".$noscrape_url, LOGGER_DEBUG);
Logger::log("No json data for ".$noscrape_url, LOGGER_DEBUG);
return false;
}
@ -927,7 +928,7 @@ class Probe
{
$data = [];
logger("Check profile ".$profile_link, LOGGER_DEBUG);
Logger::log("Check profile ".$profile_link, LOGGER_DEBUG);
// Fetch data via noscrape - this is faster
$noscrape_url = str_replace(["/hcard/", "/profile/"], "/noscrape/", $profile_link);
@ -961,7 +962,7 @@ class Probe
$prof_data["fn"] = defaults($data, 'name' , null);
$prof_data["key"] = defaults($data, 'pubkey' , null);
logger("Result for profile ".$profile_link.": ".print_r($prof_data, true), LOGGER_DEBUG);
Logger::log("Result for profile ".$profile_link.": ".print_r($prof_data, true), LOGGER_DEBUG);
return $prof_data;
}
@ -1632,7 +1633,7 @@ class Probe
}
$msgs = Email::poll($mbox, $uri);
logger('searching '.$uri.', '.count($msgs).' messages found.', LOGGER_DEBUG);
Logger::log('searching '.$uri.', '.count($msgs).' messages found.', LOGGER_DEBUG);
if (!count($msgs)) {
return false;
@ -1714,7 +1715,7 @@ class Probe
$fixed = $scheme.$host.$port.$path.$query.$fragment;
logger('Base: '.$base.' - Avatar: '.$avatar.' - Fixed: '.$fixed, LOGGER_DATA);
Logger::log('Base: '.$base.' - Avatar: '.$avatar.' - Fixed: '.$fixed, LOGGER_DATA);
return $fixed;
}

View file

@ -9,6 +9,7 @@ use Friendica\App;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
@ -482,7 +483,7 @@ class Image
break;
}
// logger('exif: ' . print_r($exif,true));
// Logger::log('exif: ' . print_r($exif,true));
return $exif;
}
@ -726,7 +727,7 @@ class Image
*/
public static function guessType($filename, $fromcurl = false, $header = '')
{
logger('Image: guessType: '.$filename . ($fromcurl?' from curl headers':''), LOGGER_DEBUG);
Logger::log('Image: guessType: '.$filename . ($fromcurl?' from curl headers':''), LOGGER_DEBUG);
$type = null;
if ($fromcurl) {
$a = get_app();
@ -764,7 +765,7 @@ class Image
}
}
}
logger('Image: guessType: type='.$type, LOGGER_DEBUG);
Logger::log('Image: guessType: type='.$type, LOGGER_DEBUG);
return $type;
}
@ -890,7 +891,7 @@ class Image
);
if (!DBA::isResult($r)) {
logger("Can't detect user data for uid ".$uid, LOGGER_DEBUG);
Logger::log("Can't detect user data for uid ".$uid, LOGGER_DEBUG);
return([]);
}
@ -901,10 +902,10 @@ class Image
/// $community_page = (($r[0]['page-flags'] == Contact::PAGE_COMMUNITY) ? true : false);
if ((strlen($imagedata) == 0) && ($url == "")) {
logger("No image data and no url provided", LOGGER_DEBUG);
Logger::log("No image data and no url provided", LOGGER_DEBUG);
return([]);
} elseif (strlen($imagedata) == 0) {
logger("Uploading picture from ".$url, LOGGER_DEBUG);
Logger::log("Uploading picture from ".$url, LOGGER_DEBUG);
$stamp1 = microtime(true);
$imagedata = @file_get_contents($url);
@ -914,7 +915,7 @@ class Image
$maximagesize = Config::get('system', 'maximagesize');
if (($maximagesize) && (strlen($imagedata) > $maximagesize)) {
logger("Image exceeds size limit of ".$maximagesize, LOGGER_DEBUG);
Logger::log("Image exceeds size limit of ".$maximagesize, LOGGER_DEBUG);
return([]);
}
@ -928,7 +929,7 @@ class Image
if (!isset($data["mime"])) {
unlink($tempfile);
logger("File is no picture", LOGGER_DEBUG);
Logger::log("File is no picture", LOGGER_DEBUG);
return([]);
}
@ -936,7 +937,7 @@ class Image
if (!$Image->isValid()) {
unlink($tempfile);
logger("Picture is no valid picture", LOGGER_DEBUG);
Logger::log("Picture is no valid picture", LOGGER_DEBUG);
return([]);
}
@ -967,7 +968,7 @@ class Image
$r = Photo::store($Image, $uid, $visitor, $hash, $tempfile, L10n::t('Wall Photos'), 0, 0, $defperm);
if (!$r) {
logger("Picture couldn't be stored", LOGGER_DEBUG);
Logger::log("Picture couldn't be stored", LOGGER_DEBUG);
return([]);
}

View file

@ -10,6 +10,7 @@ use Friendica\Content\Feature;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
@ -487,10 +488,10 @@ class Post extends BaseObject
{
$item_id = $item->getId();
if (!$item_id) {
logger('[ERROR] Post::addChild : Item has no ID!!', LOGGER_DEBUG);
Logger::log('[ERROR] Post::addChild : Item has no ID!!', LOGGER_DEBUG);
return false;
} elseif ($this->getChild($item->getId())) {
logger('[WARN] Post::addChild : Item already exists (' . $item->getId() . ').', LOGGER_DEBUG);
Logger::log('[WARN] Post::addChild : Item already exists (' . $item->getId() . ').', LOGGER_DEBUG);
return false;
}
/*
@ -584,7 +585,7 @@ class Post extends BaseObject
return true;
}
}
logger('[WARN] Item::removeChild : Item is not a child (' . $id . ').', LOGGER_DEBUG);
Logger::log('[WARN] Item::removeChild : Item is not a child (' . $id . ').', LOGGER_DEBUG);
return false;
}
@ -650,7 +651,7 @@ class Post extends BaseObject
public function getDataValue($name)
{
if (!isset($this->data[$name])) {
// logger('[ERROR] Item::getDataValue : Item has no value name "'. $name .'".', LOGGER_DEBUG);
// Logger::log('[ERROR] Item::getDataValue : Item has no value name "'. $name .'".', LOGGER_DEBUG);
return false;
}
@ -667,7 +668,7 @@ class Post extends BaseObject
private function setTemplate($name)
{
if (!x($this->available_templates, $name)) {
logger('[ERROR] Item::setTemplate : Template not available ("' . $name . '").', LOGGER_DEBUG);
Logger::log('[ERROR] Item::setTemplate : Template not available ("' . $name . '").', LOGGER_DEBUG);
return false;
}

View file

@ -5,6 +5,7 @@
namespace Friendica\Object;
use Friendica\BaseObject;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Object\Post;
use Friendica\Util\Security;
@ -77,7 +78,7 @@ class Thread extends BaseObject
$this->writable = $writable;
break;
default:
logger('[ERROR] Conversation::setMode : Unhandled mode ('. $mode .').', LOGGER_DEBUG);
Logger::log('[ERROR] Conversation::setMode : Unhandled mode ('. $mode .').', LOGGER_DEBUG);
return false;
break;
}
@ -137,12 +138,12 @@ class Thread extends BaseObject
$item_id = $item->getId();
if (!$item_id) {
logger('[ERROR] Conversation::addThread : Item has no ID!!', LOGGER_DEBUG);
Logger::log('[ERROR] Conversation::addThread : Item has no ID!!', LOGGER_DEBUG);
return false;
}
if ($this->getParent($item->getId())) {
logger('[WARN] Conversation::addThread : Thread already exists ('. $item->getId() .').', LOGGER_DEBUG);
Logger::log('[WARN] Conversation::addThread : Thread already exists ('. $item->getId() .').', LOGGER_DEBUG);
return false;
}
@ -150,12 +151,12 @@ class Thread extends BaseObject
* Only add will be displayed
*/
if ($item->getDataValue('network') === Protocol::MAIL && local_user() != $item->getDataValue('uid')) {
logger('[WARN] Conversation::addThread : Thread is a mail ('. $item->getId() .').', LOGGER_DEBUG);
Logger::log('[WARN] Conversation::addThread : Thread is a mail ('. $item->getId() .').', LOGGER_DEBUG);
return false;
}
if ($item->getDataValue('verb') === ACTIVITY_LIKE || $item->getDataValue('verb') === ACTIVITY_DISLIKE) {
logger('[WARN] Conversation::addThread : Thread is a (dis)like ('. $item->getId() .').', LOGGER_DEBUG);
Logger::log('[WARN] Conversation::addThread : Thread is a (dis)like ('. $item->getId() .').', LOGGER_DEBUG);
return false;
}
@ -189,7 +190,7 @@ class Thread extends BaseObject
$item_data = $item->getTemplateData($conv_responses);
if (!$item_data) {
logger('[ERROR] Conversation::getTemplateData : Failed to get item template data ('. $item->getId() .').', LOGGER_DEBUG);
Logger::log('[ERROR] Conversation::getTemplateData : Failed to get item template data ('. $item->getId() .').', LOGGER_DEBUG);
return false;
}
$result[] = $item_data;

View file

@ -5,6 +5,7 @@
namespace Friendica\Protocol\ActivityPub;
use Friendica\Database\DBA;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Model\Conversation;
use Friendica\Model\Contact;
@ -140,7 +141,7 @@ class Processor
}
if (($activity['id'] != $activity['reply-to-id']) && !Item::exists(['uri' => $activity['reply-to-id']])) {
logger('Parent ' . $activity['reply-to-id'] . ' not found. Try to refetch it.');
Logger::log('Parent ' . $activity['reply-to-id'] . ' not found. Try to refetch it.');
self::fetchMissingActivity($activity['reply-to-id'], $activity);
}
@ -158,7 +159,7 @@ class Processor
{
$owner = Contact::getIdForURL($activity['actor']);
logger('Deleting item ' . $activity['object_id'] . ' from ' . $owner, LOGGER_DEBUG);
Logger::log('Deleting item ' . $activity['object_id'] . ' from ' . $owner, LOGGER_DEBUG);
Item::delete(['uri' => $activity['object_id'], 'owner-id' => $owner]);
}
@ -211,7 +212,7 @@ class Processor
}
$event_id = Event::store($event);
logger('Event '.$event_id.' was stored', LOGGER_DEBUG);
Logger::log('Event '.$event_id.' was stored', LOGGER_DEBUG);
}
/**
@ -225,7 +226,7 @@ class Processor
/// @todo What to do with $activity['context']?
if (($item['gravity'] != GRAVITY_PARENT) && !Item::exists(['uri' => $item['parent-uri']])) {
logger('Parent ' . $item['parent-uri'] . ' not found, message will be discarded.', LOGGER_DEBUG);
Logger::log('Parent ' . $item['parent-uri'] . ' not found, message will be discarded.', LOGGER_DEBUG);
return;
}
@ -238,7 +239,7 @@ class Processor
$item['owner-link'] = $activity['actor'];
$item['owner-id'] = Contact::getIdForURL($activity['actor'], 0, true);
} else {
logger('Ignoring actor because of thread completion.', LOGGER_DEBUG);
Logger::log('Ignoring actor because of thread completion.', LOGGER_DEBUG);
$item['owner-link'] = $item['author-link'];
$item['owner-id'] = $item['author-id'];
}
@ -284,7 +285,7 @@ class Processor
}
$item_id = Item::insert($item);
logger('Storing for user ' . $item['uid'] . ': ' . $item_id);
Logger::log('Storing for user ' . $item['uid'] . ': ' . $item_id);
}
}
@ -302,7 +303,7 @@ class Processor
$object = ActivityPub::fetchContent($url);
if (empty($object)) {
logger('Activity ' . $url . ' was not fetchable, aborting.');
Logger::log('Activity ' . $url . ' was not fetchable, aborting.');
return;
}
@ -322,7 +323,7 @@ class Processor
$ldactivity['thread-completion'] = true;
ActivityPub\Receiver::processActivity($ldactivity);
logger('Activity ' . $url . ' had been fetched and processed.');
Logger::log('Activity ' . $url . ' had been fetched and processed.');
}
/**
@ -360,7 +361,7 @@ class Processor
}
DBA::update('contact', ['hub-verify' => $activity['id']], ['id' => $cid]);
logger('Follow user ' . $uid . ' from contact ' . $cid . ' with id ' . $activity['id']);
Logger::log('Follow user ' . $uid . ' from contact ' . $cid . ' with id ' . $activity['id']);
}
/**
@ -374,7 +375,7 @@ class Processor
return;
}
logger('Updating profile for ' . $activity['object_id'], LOGGER_DEBUG);
Logger::log('Updating profile for ' . $activity['object_id'], LOGGER_DEBUG);
APContact::getByURL($activity['object_id'], true);
}
@ -386,12 +387,12 @@ class Processor
public static function deletePerson($activity)
{
if (empty($activity['object_id']) || empty($activity['actor'])) {
logger('Empty object id or actor.', LOGGER_DEBUG);
Logger::log('Empty object id or actor.', LOGGER_DEBUG);
return;
}
if ($activity['object_id'] != $activity['actor']) {
logger('Object id does not match actor.', LOGGER_DEBUG);
Logger::log('Object id does not match actor.', LOGGER_DEBUG);
return;
}
@ -401,7 +402,7 @@ class Processor
}
DBA::close($contacts);
logger('Deleted contact ' . $activity['object_id'], LOGGER_DEBUG);
Logger::log('Deleted contact ' . $activity['object_id'], LOGGER_DEBUG);
}
/**
@ -420,7 +421,7 @@ class Processor
$cid = Contact::getIdForURL($activity['actor'], $uid);
if (empty($cid)) {
logger('No contact found for ' . $activity['actor'], LOGGER_DEBUG);
Logger::log('No contact found for ' . $activity['actor'], LOGGER_DEBUG);
return;
}
@ -435,7 +436,7 @@ class Processor
$condition = ['id' => $cid];
DBA::update('contact', $fields, $condition);
logger('Accept contact request from contact ' . $cid . ' for user ' . $uid, LOGGER_DEBUG);
Logger::log('Accept contact request from contact ' . $cid . ' for user ' . $uid, LOGGER_DEBUG);
}
/**
@ -454,7 +455,7 @@ class Processor
$cid = Contact::getIdForURL($activity['actor'], $uid);
if (empty($cid)) {
logger('No contact found for ' . $activity['actor'], LOGGER_DEBUG);
Logger::log('No contact found for ' . $activity['actor'], LOGGER_DEBUG);
return;
}
@ -462,9 +463,9 @@ class Processor
if (DBA::exists('contact', ['id' => $cid, 'rel' => Contact::SHARING, 'pending' => true])) {
Contact::remove($cid);
logger('Rejected contact request from contact ' . $cid . ' for user ' . $uid . ' - contact had been removed.', LOGGER_DEBUG);
Logger::log('Rejected contact request from contact ' . $cid . ' for user ' . $uid . ' - contact had been removed.', LOGGER_DEBUG);
} else {
logger('Rejected contact request from contact ' . $cid . ' for user ' . $uid . '.', LOGGER_DEBUG);
Logger::log('Rejected contact request from contact ' . $cid . ' for user ' . $uid . '.', LOGGER_DEBUG);
}
}
@ -507,7 +508,7 @@ class Processor
$cid = Contact::getIdForURL($activity['actor'], $uid);
if (empty($cid)) {
logger('No contact found for ' . $activity['actor'], LOGGER_DEBUG);
Logger::log('No contact found for ' . $activity['actor'], LOGGER_DEBUG);
return;
}
@ -519,7 +520,7 @@ class Processor
}
Contact::removeFollower($owner, $contact);
logger('Undo following request from contact ' . $cid . ' for user ' . $uid, LOGGER_DEBUG);
Logger::log('Undo following request from contact ' . $cid . ' for user ' . $uid, LOGGER_DEBUG);
}
/**
@ -534,7 +535,7 @@ class Processor
return;
}
logger('Change existing contact ' . $cid . ' from ' . $contact['network'] . ' to ActivityPub.');
Logger::log('Change existing contact ' . $cid . ' from ' . $contact['network'] . ' to ActivityPub.');
Contact::updateFromProbe($cid, Protocol::ACTIVITYPUB);
}
}

View file

@ -6,6 +6,7 @@ namespace Friendica\Protocol\ActivityPub;
use Friendica\Database\DBA;
use Friendica\Util\HTTPSignature;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Model\Contact;
use Friendica\Model\APContact;
@ -59,16 +60,16 @@ class Receiver
{
$http_signer = HTTPSignature::getSigner($body, $header);
if (empty($http_signer)) {
logger('Invalid HTTP signature, message will be discarded.', LOGGER_DEBUG);
Logger::log('Invalid HTTP signature, message will be discarded.', LOGGER_DEBUG);
return;
} else {
logger('HTTP signature is signed by ' . $http_signer, LOGGER_DEBUG);
Logger::log('HTTP signature is signed by ' . $http_signer, LOGGER_DEBUG);
}
$activity = json_decode($body, true);
if (empty($activity)) {
logger('Invalid body.', LOGGER_DEBUG);
Logger::log('Invalid body.', LOGGER_DEBUG);
return;
}
@ -76,31 +77,31 @@ class Receiver
$actor = JsonLD::fetchElement($ldactivity, 'as:actor');
logger('Message for user ' . $uid . ' is from actor ' . $actor, LOGGER_DEBUG);
Logger::log('Message for user ' . $uid . ' is from actor ' . $actor, LOGGER_DEBUG);
if (LDSignature::isSigned($activity)) {
$ld_signer = LDSignature::getSigner($activity);
if (empty($ld_signer)) {
logger('Invalid JSON-LD signature from ' . $actor, LOGGER_DEBUG);
Logger::log('Invalid JSON-LD signature from ' . $actor, LOGGER_DEBUG);
}
if (!empty($ld_signer && ($actor == $http_signer))) {
logger('The HTTP and the JSON-LD signature belong to ' . $ld_signer, LOGGER_DEBUG);
Logger::log('The HTTP and the JSON-LD signature belong to ' . $ld_signer, LOGGER_DEBUG);
$trust_source = true;
} elseif (!empty($ld_signer)) {
logger('JSON-LD signature is signed by ' . $ld_signer, LOGGER_DEBUG);
Logger::log('JSON-LD signature is signed by ' . $ld_signer, LOGGER_DEBUG);
$trust_source = true;
} elseif ($actor == $http_signer) {
logger('Bad JSON-LD signature, but HTTP signer fits the actor.', LOGGER_DEBUG);
Logger::log('Bad JSON-LD signature, but HTTP signer fits the actor.', LOGGER_DEBUG);
$trust_source = true;
} else {
logger('Invalid JSON-LD signature and the HTTP signer is different.', LOGGER_DEBUG);
Logger::log('Invalid JSON-LD signature and the HTTP signer is different.', LOGGER_DEBUG);
$trust_source = false;
}
} elseif ($actor == $http_signer) {
logger('Trusting post without JSON-LD signature, The actor fits the HTTP signer.', LOGGER_DEBUG);
Logger::log('Trusting post without JSON-LD signature, The actor fits the HTTP signer.', LOGGER_DEBUG);
$trust_source = true;
} else {
logger('No JSON-LD signature, different actor.', LOGGER_DEBUG);
Logger::log('No JSON-LD signature, different actor.', LOGGER_DEBUG);
$trust_source = false;
}
@ -159,7 +160,7 @@ class Receiver
{
$actor = JsonLD::fetchElement($activity, 'as:actor');
if (empty($actor)) {
logger('Empty actor', LOGGER_DEBUG);
Logger::log('Empty actor', LOGGER_DEBUG);
return [];
}
@ -175,11 +176,11 @@ class Receiver
$receivers = array_merge($receivers, $additional);
}
logger('Receivers: ' . json_encode($receivers), LOGGER_DEBUG);
Logger::log('Receivers: ' . json_encode($receivers), LOGGER_DEBUG);
$object_id = JsonLD::fetchElement($activity, 'as:object');
if (empty($object_id)) {
logger('No object found', LOGGER_DEBUG);
Logger::log('No object found', LOGGER_DEBUG);
return [];
}
@ -192,7 +193,7 @@ class Receiver
}
$object_data = self::fetchObject($object_id, $activity['as:object'], $trust_source);
if (empty($object_data)) {
logger("Object data couldn't be processed", LOGGER_DEBUG);
Logger::log("Object data couldn't be processed", LOGGER_DEBUG);
return [];
}
// We had been able to retrieve the object data - so we can trust the source
@ -229,7 +230,7 @@ class Receiver
$object_data['actor'] = $actor;
$object_data['receiver'] = array_merge(defaults($object_data, 'receiver', []), $receivers);
logger('Processing ' . $object_data['type'] . ' ' . $object_data['object_type'] . ' ' . $object_data['id'], LOGGER_DEBUG);
Logger::log('Processing ' . $object_data['type'] . ' ' . $object_data['object_type'] . ' ' . $object_data['id'], LOGGER_DEBUG);
return $object_data;
}
@ -272,17 +273,17 @@ class Receiver
{
$type = JsonLD::fetchElement($activity, '@type');
if (!$type) {
logger('Empty type', LOGGER_DEBUG);
Logger::log('Empty type', LOGGER_DEBUG);
return;
}
if (!JsonLD::fetchElement($activity, 'as:object')) {
logger('Empty object', LOGGER_DEBUG);
Logger::log('Empty object', LOGGER_DEBUG);
return;
}
if (!JsonLD::fetchElement($activity, 'as:actor')) {
logger('Empty actor', LOGGER_DEBUG);
Logger::log('Empty actor', LOGGER_DEBUG);
return;
}
@ -290,12 +291,12 @@ class Receiver
// $trust_source is called by reference and is set to true if the content was retrieved successfully
$object_data = self::prepareObjectData($activity, $uid, $trust_source);
if (empty($object_data)) {
logger('No object data found', LOGGER_DEBUG);
Logger::log('No object data found', LOGGER_DEBUG);
return;
}
if (!$trust_source) {
logger('No trust for activity type "' . $type . '", so we quit now.', LOGGER_DEBUG);
Logger::log('No trust for activity type "' . $type . '", so we quit now.', LOGGER_DEBUG);
return;
}
@ -384,7 +385,7 @@ class Receiver
break;
default:
logger('Unknown activity: ' . $type . ' ' . $object_data['object_type'], LOGGER_DEBUG);
Logger::log('Unknown activity: ' . $type . ' ' . $object_data['object_type'], LOGGER_DEBUG);
break;
}
}
@ -414,9 +415,9 @@ class Receiver
$profile = APContact::getByURL($actor);
$followers = defaults($profile, 'followers', '');
logger('Actor: ' . $actor . ' - Followers: ' . $followers, LOGGER_DEBUG);
Logger::log('Actor: ' . $actor . ' - Followers: ' . $followers, LOGGER_DEBUG);
} else {
logger('Empty actor', LOGGER_DEBUG);
Logger::log('Empty actor', LOGGER_DEBUG);
$followers = '';
}
@ -486,7 +487,7 @@ class Receiver
return;
}
logger('Switch contact ' . $cid . ' (' . $profile['url'] . ') for user ' . $uid . ' to ActivityPub');
Logger::log('Switch contact ' . $cid . ' (' . $profile['url'] . ') for user ' . $uid . ' to ActivityPub');
$photo = defaults($profile, 'photo', null);
unset($profile['photo']);
@ -500,7 +501,7 @@ class Receiver
// Send a new follow request to be sure that the connection still exists
if (($uid != 0) && DBA::exists('contact', ['id' => $cid, 'rel' => [Contact::SHARING, Contact::FRIEND]])) {
ActivityPub\Transmitter::sendActivity('Follow', $profile['url'], $uid);
logger('Send a new follow request to ' . $profile['url'] . ' for user ' . $uid, LOGGER_DEBUG);
Logger::log('Send a new follow request to ' . $profile['url'] . ' for user ' . $uid, LOGGER_DEBUG);
}
}
@ -570,27 +571,27 @@ class Receiver
$data = ActivityPub::fetchContent($object_id);
if (!empty($data)) {
$object = JsonLD::compact($data);
logger('Fetched content for ' . $object_id, LOGGER_DEBUG);
Logger::log('Fetched content for ' . $object_id, LOGGER_DEBUG);
} else {
logger('Empty content for ' . $object_id . ', check if content is available locally.', LOGGER_DEBUG);
Logger::log('Empty content for ' . $object_id . ', check if content is available locally.', LOGGER_DEBUG);
$item = Item::selectFirst([], ['uri' => $object_id]);
if (!DBA::isResult($item)) {
logger('Object with url ' . $object_id . ' was not found locally.', LOGGER_DEBUG);
Logger::log('Object with url ' . $object_id . ' was not found locally.', LOGGER_DEBUG);
return false;
}
logger('Using already stored item for url ' . $object_id, LOGGER_DEBUG);
Logger::log('Using already stored item for url ' . $object_id, LOGGER_DEBUG);
$data = ActivityPub\Transmitter::createNote($item);
$object = JsonLD::compact($data);
}
} else {
logger('Using original object for url ' . $object_id, LOGGER_DEBUG);
Logger::log('Using original object for url ' . $object_id, LOGGER_DEBUG);
}
$type = JsonLD::fetchElement($object, '@type');
if (empty($type)) {
logger('Empty type', LOGGER_DEBUG);
Logger::log('Empty type', LOGGER_DEBUG);
return false;
}
@ -606,7 +607,7 @@ class Receiver
return self::fetchObject($object_id);
}
logger('Unhandled object type: ' . $type, LOGGER_DEBUG);
Logger::log('Unhandled object type: ' . $type, LOGGER_DEBUG);
}
/**

View file

@ -6,6 +6,7 @@ namespace Friendica\Protocol\ActivityPub;
use Friendica\BaseObject;
use Friendica\Database\DBA;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Util\HTTPSignature;
use Friendica\Core\Protocol;
@ -1015,7 +1016,7 @@ class Transmitter
$signed = LDSignature::sign($data, $owner);
logger('Deliver profile deletion for user ' . $uid . ' to ' . $inbox . ' via ActivityPub', LOGGER_DEBUG);
Logger::log('Deliver profile deletion for user ' . $uid . ' to ' . $inbox . ' via ActivityPub', LOGGER_DEBUG);
return HTTPSignature::transmit($signed, $inbox, $uid);
}
@ -1044,7 +1045,7 @@ class Transmitter
$signed = LDSignature::sign($data, $owner);
logger('Deliver profile deletion for user ' . $uid . ' to ' . $inbox . ' via ActivityPub', LOGGER_DEBUG);
Logger::log('Deliver profile deletion for user ' . $uid . ' to ' . $inbox . ' via ActivityPub', LOGGER_DEBUG);
return HTTPSignature::transmit($signed, $inbox, $uid);
}
@ -1073,7 +1074,7 @@ class Transmitter
$signed = LDSignature::sign($data, $owner);
logger('Deliver profile update for user ' . $uid . ' to ' . $inbox . ' via ActivityPub', LOGGER_DEBUG);
Logger::log('Deliver profile update for user ' . $uid . ' to ' . $inbox . ' via ActivityPub', LOGGER_DEBUG);
return HTTPSignature::transmit($signed, $inbox, $uid);
}
@ -1098,7 +1099,7 @@ class Transmitter
'instrument' => ['type' => 'Service', 'name' => BaseObject::getApp()->getUserAgent()],
'to' => $profile['url']];
logger('Sending activity ' . $activity . ' to ' . $target . ' for user ' . $uid, LOGGER_DEBUG);
Logger::log('Sending activity ' . $activity . ' to ' . $target . ' for user ' . $uid, LOGGER_DEBUG);
$signed = LDSignature::sign($data, $owner);
HTTPSignature::transmit($signed, $profile['inbox'], $uid);
@ -1126,7 +1127,7 @@ class Transmitter
'instrument' => ['type' => 'Service', 'name' => BaseObject::getApp()->getUserAgent()],
'to' => $profile['url']];
logger('Sending accept to ' . $target . ' for user ' . $uid . ' with id ' . $id, LOGGER_DEBUG);
Logger::log('Sending accept to ' . $target . ' for user ' . $uid . ' with id ' . $id, LOGGER_DEBUG);
$signed = LDSignature::sign($data, $owner);
HTTPSignature::transmit($signed, $profile['inbox'], $uid);
@ -1154,7 +1155,7 @@ class Transmitter
'instrument' => ['type' => 'Service', 'name' => BaseObject::getApp()->getUserAgent()],
'to' => $profile['url']];
logger('Sending reject to ' . $target . ' for user ' . $uid . ' with id ' . $id, LOGGER_DEBUG);
Logger::log('Sending reject to ' . $target . ' for user ' . $uid . ' with id ' . $id, LOGGER_DEBUG);
$signed = LDSignature::sign($data, $owner);
HTTPSignature::transmit($signed, $profile['inbox'], $uid);
@ -1183,7 +1184,7 @@ class Transmitter
'instrument' => ['type' => 'Service', 'name' => BaseObject::getApp()->getUserAgent()],
'to' => $profile['url']];
logger('Sending undo to ' . $target . ' for user ' . $uid . ' with id ' . $id, LOGGER_DEBUG);
Logger::log('Sending undo to ' . $target . ' for user ' . $uid . ' with id ' . $id, LOGGER_DEBUG);
$signed = LDSignature::sign($data, $owner);
HTTPSignature::transmit($signed, $profile['inbox'], $uid);

View file

@ -17,6 +17,7 @@ use Friendica\Content\Text\HTML;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Database\DBA;
@ -175,7 +176,7 @@ class DFRN
);
if (! DBA::isResult($r)) {
logger(sprintf('No contact found for nickname=%d', $owner_nick), LOGGER_WARNING);
Logger::log(sprintf('No contact found for nickname=%d', $owner_nick), LOGGER_WARNING);
killme();
}
@ -211,7 +212,7 @@ class DFRN
);
if (! DBA::isResult($r)) {
logger(sprintf('No contact found for uid=%d', $owner_id), LOGGER_WARNING);
Logger::log(sprintf('No contact found for uid=%d', $owner_id), LOGGER_WARNING);
killme();
}
@ -1171,7 +1172,7 @@ class DFRN
if (!$dissolve && !$legacy_transport) {
$curlResult = self::transmit($owner, $contact, $atom);
if ($curlResult >= 200) {
logger('Delivery via Diaspora transport layer was successful with status ' . $curlResult);
Logger::log('Delivery via Diaspora transport layer was successful with status ' . $curlResult);
return $curlResult;
}
}
@ -1188,7 +1189,7 @@ class DFRN
$rino = Config::get('system', 'rino_encrypt');
$rino = intval($rino);
logger("Local rino version: ". $rino, LOGGER_DEBUG);
Logger::log("Local rino version: ". $rino, LOGGER_DEBUG);
$ssl_val = intval(Config::get('system', 'ssl_policy'));
$ssl_policy = '';
@ -1208,7 +1209,7 @@ class DFRN
$url = $contact['notify'] . '&dfrn_id=' . $idtosend . '&dfrn_version=' . DFRN_PROTOCOL_VERSION . (($rino) ? '&rino='.$rino : '');
logger('dfrn_deliver: ' . $url);
Logger::log('dfrn_deliver: ' . $url);
$curlResult = Network::curl($url);
@ -1225,7 +1226,7 @@ class DFRN
return -3; // timed out
}
logger('dfrn_deliver: ' . $xml, LOGGER_DATA);
Logger::log('dfrn_deliver: ' . $xml, LOGGER_DATA);
if (empty($xml)) {
Contact::markForArchival($contact);
@ -1233,8 +1234,8 @@ class DFRN
}
if (strpos($xml, '<?xml') === false) {
logger('dfrn_deliver: no valid XML returned');
logger('dfrn_deliver: returned XML: ' . $xml, LOGGER_DATA);
Logger::log('dfrn_deliver: no valid XML returned');
Logger::log('dfrn_deliver: returned XML: ' . $xml, LOGGER_DATA);
Contact::markForArchival($contact);
return 3;
}
@ -1261,7 +1262,7 @@ class DFRN
$rino_remote_version = intval($res->rino);
$page = (($owner['page-flags'] == Contact::PAGE_COMMUNITY) ? 1 : 0);
logger("Remote rino version: ".$rino_remote_version." for ".$contact["url"], LOGGER_DEBUG);
Logger::log("Remote rino version: ".$rino_remote_version." for ".$contact["url"], LOGGER_DEBUG);
if ($owner['page-flags'] == Contact::PAGE_PRVGROUP) {
$page = 2;
@ -1297,7 +1298,7 @@ class DFRN
}
if ($final_dfrn_id != $orig_id) {
logger('dfrn_deliver: wrong dfrn_id.');
Logger::log('dfrn_deliver: wrong dfrn_id.');
// did not decode properly - cannot trust this site
Contact::markForArchival($contact);
return 3;
@ -1325,7 +1326,7 @@ class DFRN
if ($rino > 0 && $rino_remote_version > 0 && (! $dissolve)) {
logger('rino version: '. $rino_remote_version);
Logger::log('rino version: '. $rino_remote_version);
switch ($rino_remote_version) {
case 1:
@ -1334,7 +1335,7 @@ class DFRN
break;
default:
logger("rino: invalid requested version '$rino_remote_version'");
Logger::log("rino: invalid requested version '$rino_remote_version'");
Contact::markForArchival($contact);
return -8;
}
@ -1359,19 +1360,19 @@ class DFRN
}
}
logger('md5 rawkey ' . md5($postvars['key']));
Logger::log('md5 rawkey ' . md5($postvars['key']));
$postvars['key'] = bin2hex($postvars['key']);
}
logger('dfrn_deliver: ' . "SENDING: " . print_r($postvars, true), LOGGER_DATA);
Logger::log('dfrn_deliver: ' . "SENDING: " . print_r($postvars, true), LOGGER_DATA);
$postResult = Network::post($contact['notify'], $postvars);
$xml = $postResult->getBody();
logger('dfrn_deliver: ' . "RECEIVED: " . $xml, LOGGER_DATA);
Logger::log('dfrn_deliver: ' . "RECEIVED: " . $xml, LOGGER_DATA);
$curl_stat = $postResult->getReturnCode();
if (empty($curl_stat) || empty($xml)) {
@ -1385,8 +1386,8 @@ class DFRN
}
if (strpos($xml, '<?xml') === false) {
logger('dfrn_deliver: phase 2: no valid XML returned');
logger('dfrn_deliver: phase 2: returned XML: ' . $xml, LOGGER_DATA);
Logger::log('dfrn_deliver: phase 2: no valid XML returned');
Logger::log('dfrn_deliver: phase 2: returned XML: ' . $xml, LOGGER_DATA);
Contact::markForArchival($contact);
return 3;
}
@ -1404,7 +1405,7 @@ class DFRN
}
if (!empty($res->message)) {
logger('Delivery returned status '.$res->status.' - '.$res->message, LOGGER_DEBUG);
Logger::log('Delivery returned status '.$res->status.' - '.$res->message, LOGGER_DEBUG);
}
if (($res->status >= 200) && ($res->status <= 299)) {
@ -1429,14 +1430,14 @@ class DFRN
if (!$public_batch) {
if (empty($contact['addr'])) {
logger('Empty contact handle for ' . $contact['id'] . ' - ' . $contact['url'] . ' - trying to update it.');
Logger::log('Empty contact handle for ' . $contact['id'] . ' - ' . $contact['url'] . ' - trying to update it.');
if (Contact::updateFromProbe($contact['id'])) {
$new_contact = DBA::selectFirst('contact', ['addr'], ['id' => $contact['id']]);
$contact['addr'] = $new_contact['addr'];
}
if (empty($contact['addr'])) {
logger('Unable to find contact handle for ' . $contact['id'] . ' - ' . $contact['url']);
Logger::log('Unable to find contact handle for ' . $contact['id'] . ' - ' . $contact['url']);
Contact::markForArchival($contact);
return -21;
}
@ -1444,7 +1445,7 @@ class DFRN
$fcontact = Diaspora::personByHandle($contact['addr']);
if (empty($fcontact)) {
logger('Unable to find contact details for ' . $contact['id'] . ' - ' . $contact['addr']);
Logger::log('Unable to find contact details for ' . $contact['id'] . ' - ' . $contact['addr']);
Contact::markForArchival($contact);
return -22;
}
@ -1473,7 +1474,7 @@ class DFRN
$curl_stat = $postResult->getReturnCode();
if (empty($curl_stat) || empty($xml)) {
logger('Empty answer from ' . $contact['id'] . ' - ' . $dest_url);
Logger::log('Empty answer from ' . $contact['id'] . ' - ' . $dest_url);
Contact::markForArchival($contact);
return -9; // timed out
}
@ -1484,8 +1485,8 @@ class DFRN
}
if (strpos($xml, '<?xml') === false) {
logger('No valid XML returned from ' . $contact['id'] . ' - ' . $dest_url);
logger('Returned XML: ' . $xml, LOGGER_DATA);
Logger::log('No valid XML returned from ' . $contact['id'] . ' - ' . $dest_url);
Logger::log('Returned XML: ' . $xml, LOGGER_DATA);
Contact::markForArchival($contact);
return 3;
}
@ -1498,7 +1499,7 @@ class DFRN
}
if (!empty($res->message)) {
logger('Transmit to ' . $dest_url . ' returned status '.$res->status.' - '.$res->message, LOGGER_DEBUG);
Logger::log('Transmit to ' . $dest_url . ' returned status '.$res->status.' - '.$res->message, LOGGER_DEBUG);
}
if (($res->status >= 200) && ($res->status <= 299)) {
@ -1525,7 +1526,7 @@ class DFRN
return;
}
logger('updating birthday: ' . $birthday . ' for contact ' . $contact['id']);
Logger::log('updating birthday: ' . $birthday . ' for contact ' . $contact['id']);
$bdtext = L10n::t('%s\'s birthday', $contact['name']);
$bdtext2 = L10n::t('Happy Birthday %s', ' [url=' . $contact['url'] . ']' . $contact['name'] . '[/url]');
@ -1575,7 +1576,7 @@ class DFRN
$author["network"] = $contact_old["network"];
} else {
if (!$onlyfetch) {
logger("Contact ".$author["link"]." wasn't found for user ".$importer["importer_uid"]." XML: ".$xml, LOGGER_DEBUG);
Logger::log("Contact ".$author["link"]." wasn't found for user ".$importer["importer_uid"]." XML: ".$xml, LOGGER_DEBUG);
}
$author["contact-unknown"] = true;
@ -1624,11 +1625,11 @@ class DFRN
}
if (empty($author['avatar'])) {
logger('Empty author: ' . $xml);
Logger::log('Empty author: ' . $xml);
}
if (DBA::isResult($contact_old) && !$onlyfetch) {
logger("Check if contact details for contact " . $contact_old["id"] . " (" . $contact_old["nick"] . ") have to be updated.", LOGGER_DEBUG);
Logger::log("Check if contact details for contact " . $contact_old["id"] . " (" . $contact_old["nick"] . ") have to be updated.", LOGGER_DEBUG);
$poco = ["url" => $contact_old["url"]];
@ -1689,7 +1690,7 @@ class DFRN
// If the "hide" element is present then the profile isn't searchable.
$hide = intval(XML::getFirstNodeValue($xpath, $element . "/dfrn:hide/text()", $context) == "true");
logger("Hidden status for contact " . $contact_old["url"] . ": " . $hide, LOGGER_DEBUG);
Logger::log("Hidden status for contact " . $contact_old["url"] . ": " . $hide, LOGGER_DEBUG);
// If the contact isn't searchable then set the contact to "hidden".
// Problem: This can be manually overridden by the user.
@ -1761,20 +1762,20 @@ class DFRN
$contact[$field] = DateTimeFormat::utc($contact[$field]);
if (strtotime($contact[$field]) > strtotime($contact_old[$field])) {
logger("Difference for contact " . $contact["id"] . " in field '" . $field . "'. New value: '" . $contact[$field] . "', old value '" . $contact_old[$field] . "'", LOGGER_DEBUG);
Logger::log("Difference for contact " . $contact["id"] . " in field '" . $field . "'. New value: '" . $contact[$field] . "', old value '" . $contact_old[$field] . "'", LOGGER_DEBUG);
$update = true;
}
}
foreach ($fields as $field => $data) {
if ($contact[$field] != $contact_old[$field]) {
logger("Difference for contact " . $contact["id"] . " in field '" . $field . "'. New value: '" . $contact[$field] . "', old value '" . $contact_old[$field] . "'", LOGGER_DEBUG);
Logger::log("Difference for contact " . $contact["id"] . " in field '" . $field . "'. New value: '" . $contact[$field] . "', old value '" . $contact_old[$field] . "'", LOGGER_DEBUG);
$update = true;
}
}
if ($update) {
logger("Update contact data for contact " . $contact["id"] . " (" . $contact["nick"] . ")", LOGGER_DEBUG);
Logger::log("Update contact data for contact " . $contact["id"] . " (" . $contact["nick"] . ")", LOGGER_DEBUG);
q(
"UPDATE `contact` SET `name` = '%s', `nick` = '%s', `about` = '%s', `location` = '%s',
@ -1881,7 +1882,7 @@ class DFRN
*/
private static function processMail($xpath, $mail, $importer)
{
logger("Processing mails");
Logger::log("Processing mails");
/// @TODO Rewrite this to one statement
$msg = [];
@ -1921,7 +1922,7 @@ class DFRN
notification($notif_params);
logger("Mail is processed, notification was sent.");
Logger::log("Mail is processed, notification was sent.");
}
/**
@ -1937,7 +1938,7 @@ class DFRN
{
$a = get_app();
logger("Processing suggestions");
Logger::log("Processing suggestions");
/// @TODO Rewrite this to one statement
$suggest = [];
@ -2053,7 +2054,7 @@ class DFRN
*/
private static function processRelocation($xpath, $relocation, $importer)
{
logger("Processing relocations");
Logger::log("Processing relocations");
/// @TODO Rewrite this to one statement
$relocate = [];
@ -2088,7 +2089,7 @@ class DFRN
);
if (!DBA::isResult($r)) {
logger("Query failed to execute, no result returned in " . __FUNCTION__);
Logger::log("Query failed to execute, no result returned in " . __FUNCTION__);
return false;
}
@ -2115,7 +2116,7 @@ class DFRN
Contact::updateAvatar($relocate["avatar"], $importer["importer_uid"], $importer["id"], true);
logger('Contacts are updated.');
Logger::log('Contacts are updated.');
/// @TODO
/// merge with current record, current contents have priority
@ -2174,7 +2175,7 @@ class DFRN
if ($importer["page-flags"] == Contact::PAGE_COMMUNITY || $importer["page-flags"] == Contact::PAGE_PRVGROUP) {
$sql_extra = "";
$community = true;
logger("possible community action");
Logger::log("possible community action");
} else {
$sql_extra = " AND `contact`.`self` AND `item`.`wall` ";
}
@ -2211,7 +2212,7 @@ class DFRN
*/
if ($is_a_remote_action && $community && (!$r[0]["forum_mode"]) && (!$r[0]["wall"])) {
$is_a_remote_action = false;
logger("not a community action");
Logger::log("not a community action");
}
if ($is_a_remote_action) {
@ -2298,7 +2299,7 @@ class DFRN
*/
private static function processVerbs($entrytype, $importer, &$item, &$is_like)
{
logger("Process verb ".$item["verb"]." and object-type ".$item["object-type"]." for entrytype ".$entrytype, LOGGER_DEBUG);
Logger::log("Process verb ".$item["verb"]." and object-type ".$item["object-type"]." for entrytype ".$entrytype, LOGGER_DEBUG);
if (($entrytype == DFRN::TOP_LEVEL)) {
// The filling of the the "contact" variable is done for legcy reasons
@ -2310,22 +2311,22 @@ class DFRN
// Big question: Do we need these functions? They were part of the "consume_feed" function.
// This function once was responsible for DFRN and OStatus.
if (activity_match($item["verb"], ACTIVITY_FOLLOW)) {
logger("New follower");
Logger::log("New follower");
Contact::addRelationship($importer, $contact, $item, $nickname);
return false;
}
if (activity_match($item["verb"], ACTIVITY_UNFOLLOW)) {
logger("Lost follower");
Logger::log("Lost follower");
Contact::removeFollower($importer, $contact, $item);
return false;
}
if (activity_match($item["verb"], ACTIVITY_REQ_FRIEND)) {
logger("New friend request");
Logger::log("New friend request");
Contact::addRelationship($importer, $contact, $item, $nickname, true);
return false;
}
if (activity_match($item["verb"], ACTIVITY_UNFRIEND)) {
logger("Lost sharer");
Logger::log("Lost sharer");
Contact::removeSharer($importer, $contact, $item);
return false;
}
@ -2369,7 +2370,7 @@ class DFRN
$item_tag = Item::selectFirst(['id', 'tag'], ['uri' => $xt->id, 'uid' => $importer["importer_uid"]]);
if (!DBA::isResult($item_tag)) {
logger("Query failed to execute, no result returned in " . __FUNCTION__);
Logger::log("Query failed to execute, no result returned in " . __FUNCTION__);
return false;
}
@ -2445,7 +2446,7 @@ class DFRN
*/
private static function processEntry($header, $xpath, $entry, $importer, $xml)
{
logger("Processing entries");
Logger::log("Processing entries");
$item = $header;
@ -2463,7 +2464,7 @@ class DFRN
);
// Is there an existing item?
if (DBA::isResult($current) && !self::isEditedTimestampNewer($current, $item)) {
logger("Item ".$item["uri"]." (".$item['edited'].") already existed.", LOGGER_DEBUG);
Logger::log("Item ".$item["uri"]." (".$item['edited'].") already existed.", LOGGER_DEBUG);
return;
}
@ -2671,10 +2672,10 @@ class DFRN
// Is it an event?
if (($item["object-type"] == ACTIVITY_OBJ_EVENT) && !$owner_unknown) {
logger("Item ".$item["uri"]." seems to contain an event.", LOGGER_DEBUG);
Logger::log("Item ".$item["uri"]." seems to contain an event.", LOGGER_DEBUG);
$ev = Event::fromBBCode($item["body"]);
if ((x($ev, "desc") || x($ev, "summary")) && x($ev, "start")) {
logger("Event in item ".$item["uri"]." was found.", LOGGER_DEBUG);
Logger::log("Event in item ".$item["uri"]." was found.", LOGGER_DEBUG);
$ev["cid"] = $importer["id"];
$ev["uid"] = $importer["importer_uid"];
$ev["uri"] = $item["uri"];
@ -2690,20 +2691,20 @@ class DFRN
}
$event_id = Event::store($ev);
logger("Event ".$event_id." was stored", LOGGER_DEBUG);
Logger::log("Event ".$event_id." was stored", LOGGER_DEBUG);
return;
}
}
}
if (!self::processVerbs($entrytype, $importer, $item, $is_like)) {
logger("Exiting because 'processVerbs' told us so", LOGGER_DEBUG);
Logger::log("Exiting because 'processVerbs' told us so", LOGGER_DEBUG);
return;
}
// This check is done here to be able to receive connection requests in "processVerbs"
if (($entrytype == DFRN::TOP_LEVEL) && $owner_unknown) {
logger("Item won't be stored because user " . $importer["importer_uid"] . " doesn't follow " . $item["owner-link"] . ".", LOGGER_DEBUG);
Logger::log("Item won't be stored because user " . $importer["importer_uid"] . " doesn't follow " . $item["owner-link"] . ".", LOGGER_DEBUG);
return;
}
@ -2711,9 +2712,9 @@ class DFRN
// Update content if 'updated' changes
if (DBA::isResult($current)) {
if (self::updateContent($current, $item, $importer, $entrytype)) {
logger("Item ".$item["uri"]." was updated.", LOGGER_DEBUG);
Logger::log("Item ".$item["uri"]." was updated.", LOGGER_DEBUG);
} else {
logger("Item " . $item["uri"] . " already existed.", LOGGER_DEBUG);
Logger::log("Item " . $item["uri"] . " already existed.", LOGGER_DEBUG);
}
return;
}
@ -2723,7 +2724,7 @@ class DFRN
$parent = 0;
if ($posted_id) {
logger("Reply from contact ".$item["contact-id"]." was stored with id ".$posted_id, LOGGER_DEBUG);
Logger::log("Reply from contact ".$item["contact-id"]." was stored with id ".$posted_id, LOGGER_DEBUG);
if ($item['uid'] == 0) {
Item::distribute($posted_id);
@ -2733,7 +2734,7 @@ class DFRN
}
} else { // $entrytype == DFRN::TOP_LEVEL
if (($importer["uid"] == 0) && ($importer["importer_uid"] != 0)) {
logger("Contact ".$importer["id"]." isn't known to user ".$importer["importer_uid"].". The post will be ignored.", LOGGER_DEBUG);
Logger::log("Contact ".$importer["id"]." isn't known to user ".$importer["importer_uid"].". The post will be ignored.", LOGGER_DEBUG);
return;
}
if (!link_compare($item["owner-link"], $importer["url"])) {
@ -2743,13 +2744,13 @@ class DFRN
* the tgroup delivery code called from Item::insert will correct it if it's a forum,
* but we're going to unconditionally correct it here so that the post will always be owned by our contact.
*/
logger('Correcting item owner.', LOGGER_DEBUG);
Logger::log('Correcting item owner.', LOGGER_DEBUG);
$item["owner-link"] = $importer["url"];
$item["owner-id"] = Contact::getIdForURL($importer["url"], 0);
}
if (($importer["rel"] == Contact::FOLLOWER) && (!self::tgroupCheck($importer["importer_uid"], $item))) {
logger("Contact ".$importer["id"]." is only follower and tgroup check was negative.", LOGGER_DEBUG);
Logger::log("Contact ".$importer["id"]." is only follower and tgroup check was negative.", LOGGER_DEBUG);
return;
}
@ -2763,7 +2764,7 @@ class DFRN
$posted_id = $notify;
}
logger("Item was stored with id ".$posted_id, LOGGER_DEBUG);
Logger::log("Item was stored with id ".$posted_id, LOGGER_DEBUG);
if ($item['uid'] == 0) {
Item::distribute($posted_id);
@ -2786,7 +2787,7 @@ class DFRN
*/
private static function processDeletion($xpath, $deletion, $importer)
{
logger("Processing deletions");
Logger::log("Processing deletions");
$uri = null;
foreach ($deletion->attributes as $attributes) {
@ -2802,18 +2803,18 @@ class DFRN
$condition = ['uri' => $uri, 'uid' => $importer["importer_uid"]];
$item = Item::selectFirst(['id', 'parent', 'contact-id', 'file', 'deleted'], $condition);
if (!DBA::isResult($item)) {
logger("Item with uri " . $uri . " for user " . $importer["importer_uid"] . " wasn't found.", LOGGER_DEBUG);
Logger::log("Item with uri " . $uri . " for user " . $importer["importer_uid"] . " wasn't found.", LOGGER_DEBUG);
return;
}
if (strstr($item['file'], '[')) {
logger("Item with uri " . $uri . " for user " . $importer["importer_uid"] . " is filed. So it won't be deleted.", LOGGER_DEBUG);
Logger::log("Item with uri " . $uri . " for user " . $importer["importer_uid"] . " is filed. So it won't be deleted.", LOGGER_DEBUG);
return;
}
// When it is a starting post it has to belong to the person that wants to delete it
if (($item['id'] == $item['parent']) && ($item['contact-id'] != $importer["id"])) {
logger("Item with uri " . $uri . " don't belong to contact " . $importer["id"] . " - ignoring deletion.", LOGGER_DEBUG);
Logger::log("Item with uri " . $uri . " don't belong to contact " . $importer["id"] . " - ignoring deletion.", LOGGER_DEBUG);
return;
}
@ -2821,7 +2822,7 @@ class DFRN
if (($item['id'] != $item['parent']) && ($item['contact-id'] != $importer["id"])) {
$condition = ['id' => $item['parent'], 'contact-id' => $importer["id"]];
if (!Item::exists($condition)) {
logger("Item with uri " . $uri . " wasn't found or mustn't be deleted by contact " . $importer["id"] . " - ignoring deletion.", LOGGER_DEBUG);
Logger::log("Item with uri " . $uri . " wasn't found or mustn't be deleted by contact " . $importer["id"] . " - ignoring deletion.", LOGGER_DEBUG);
return;
}
}
@ -2830,7 +2831,7 @@ class DFRN
return;
}
logger('deleting item '.$item['id'].' uri='.$uri, LOGGER_DEBUG);
Logger::log('deleting item '.$item['id'].' uri='.$uri, LOGGER_DEBUG);
Item::delete(['id' => $item['id']]);
}
@ -2884,7 +2885,7 @@ class DFRN
self::fetchauthor($xpath, $doc->firstChild, $importer, "dfrn:owner", false, $xml);
}
logger("Import DFRN message for user " . $importer["importer_uid"] . " from contact " . $importer["id"], LOGGER_DEBUG);
Logger::log("Import DFRN message for user " . $importer["importer_uid"] . " from contact " . $importer["id"], LOGGER_DEBUG);
// is it a public forum? Private forums aren't exposed with this method
$forum = intval(XML::getFirstNodeValue($xpath, "/atom:feed/dfrn:community/text()"));
@ -2950,7 +2951,7 @@ class DFRN
self::processEntry($header, $xpath, $entry, $importer, $xml);
}
}
logger("Import done for user " . $importer["importer_uid"] . " from contact " . $importer["id"], LOGGER_DEBUG);
Logger::log("Import done for user " . $importer["importer_uid"] . " from contact " . $importer["id"], LOGGER_DEBUG);
return 200;
}
@ -3035,7 +3036,7 @@ class DFRN
$url = curPageURL();
logger('auto_redir: ' . $r[0]['name'] . ' ' . $sec, LOGGER_DEBUG);
Logger::log('auto_redir: ' . $r[0]['name'] . ' ' . $sec, LOGGER_DEBUG);
$dest = (($url) ? '&destination_url=' . $url : '');
System::externalRedirect($r[0]['poll'] . '?dfrn_id=' . $dfrn_id
. '&dfrn_version=' . DFRN_PROTOCOL_VERSION . '&type=profile&sec=' . $sec . $dest);
@ -3090,7 +3091,7 @@ class DFRN
foreach ($matches as $mtch) {
if (link_compare($link, $mtch[1]) || link_compare($dlink, $mtch[1])) {
$mention = true;
logger('mention found: ' . $mtch[2]);
Logger::log('mention found: ' . $mtch[2]);
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -4,6 +4,7 @@
*/
namespace Friendica\Protocol;
use Friendica\Core\Logger;
use Friendica\Content\Text\HTML;
use Friendica\Core\Protocol;
@ -28,12 +29,12 @@ class Email
$errors = imap_errors();
if (!empty($errors)) {
logger('IMAP Errors occured: ' . json_encode($errors));
Logger::log('IMAP Errors occured: ' . json_encode($errors));
}
$alerts = imap_alerts();
if (!empty($alerts)) {
logger('IMAP Alerts occured: ' . json_encode($alerts));
Logger::log('IMAP Alerts occured: ' . json_encode($alerts));
}
return $mbox;
@ -54,21 +55,21 @@ class Email
if (!$search1) {
$search1 = [];
} else {
logger("Found mails from ".$email_addr, LOGGER_DEBUG);
Logger::log("Found mails from ".$email_addr, LOGGER_DEBUG);
}
$search2 = @imap_search($mbox, 'TO "' . $email_addr . '"', SE_UID);
if (!$search2) {
$search2 = [];
} else {
logger("Found mails to ".$email_addr, LOGGER_DEBUG);
Logger::log("Found mails to ".$email_addr, LOGGER_DEBUG);
}
$search3 = @imap_search($mbox, 'CC "' . $email_addr . '"', SE_UID);
if (!$search3) {
$search3 = [];
} else {
logger("Found mails cc ".$email_addr, LOGGER_DEBUG);
Logger::log("Found mails cc ".$email_addr, LOGGER_DEBUG);
}
$res = array_unique(array_merge($search1, $search2, $search3));
@ -351,7 +352,7 @@ class Email
//$message = '<html><body>' . $html . '</body></html>';
//$message = html2plain($html);
logger('notifier: email delivery to ' . $addr);
Logger::log('notifier: email delivery to ' . $addr);
mail($addr, $subject, $body, $headers);
}

View file

@ -9,6 +9,7 @@ namespace Friendica\Protocol;
use DOMDocument;
use DOMXPath;
use Friendica\Content\Text\HTML;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Database\DBA;
@ -40,12 +41,12 @@ class Feed {
$a = get_app();
if (!$simulate) {
logger("Import Atom/RSS feed '".$contact["name"]."' (Contact ".$contact["id"].") for user ".$importer["uid"], LOGGER_DEBUG);
Logger::log("Import Atom/RSS feed '".$contact["name"]."' (Contact ".$contact["id"].") for user ".$importer["uid"], LOGGER_DEBUG);
} else {
logger("Test Atom/RSS feed", LOGGER_DEBUG);
Logger::log("Test Atom/RSS feed", LOGGER_DEBUG);
}
if (empty($xml)) {
logger('XML is empty.', LOGGER_DEBUG);
Logger::log('XML is empty.', LOGGER_DEBUG);
return;
}
@ -199,7 +200,7 @@ class Feed {
$header["contact-id"] = $contact["id"];
if (!is_object($entries)) {
logger("There are no entries in this feed.", LOGGER_DEBUG);
Logger::log("There are no entries in this feed.", LOGGER_DEBUG);
return;
}
@ -248,7 +249,7 @@ class Feed {
$importer["uid"], $item["uri"], Protocol::FEED, Protocol::DFRN];
$previous = Item::selectFirst(['id'], $condition);
if (DBA::isResult($previous)) {
logger("Item with uri ".$item["uri"]." for user ".$importer["uid"]." already existed under id ".$previous["id"], LOGGER_DEBUG);
Logger::log("Item with uri ".$item["uri"]." for user ".$importer["uid"]." already existed under id ".$previous["id"], LOGGER_DEBUG);
continue;
}
}
@ -423,7 +424,7 @@ class Feed {
}
if (!$simulate) {
logger("Stored feed: ".print_r($item, true), LOGGER_DEBUG);
Logger::log("Stored feed: ".print_r($item, true), LOGGER_DEBUG);
$notify = Item::isRemoteSelf($contact, $item);
@ -440,7 +441,7 @@ class Feed {
$id = Item::insert($item, false, $notify);
logger("Feed for contact ".$contact["url"]." stored under id ".$id);
Logger::log("Feed for contact ".$contact["url"]." stored under id ".$id);
} else {
$items[] = $item;
}

View file

@ -11,6 +11,7 @@ use Friendica\Content\Text\HTML;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\Lock;
use Friendica\Core\Protocol;
use Friendica\Core\System;
@ -195,7 +196,7 @@ class OStatus
DBA::update('contact', $contact, ['id' => $contact["id"]], $current);
if (!empty($author["author-avatar"]) && ($author["author-avatar"] != $current['avatar'])) {
logger("Update profile picture for contact ".$contact["id"], LOGGER_DEBUG);
Logger::log("Update profile picture for contact ".$contact["id"], LOGGER_DEBUG);
Contact::updateAvatar($author["author-avatar"], $importer["uid"], $contact["id"]);
}
@ -322,7 +323,7 @@ class OStatus
self::$conv_list = [];
}
logger('Import OStatus message for user ' . $importer['uid'], LOGGER_DEBUG);
Logger::log('Import OStatus message for user ' . $importer['uid'], LOGGER_DEBUG);
if ($xml == "") {
return false;
@ -348,7 +349,7 @@ class OStatus
foreach ($hub_attributes as $hub_attribute) {
if ($hub_attribute->name == "href") {
$hub = $hub_attribute->textContent;
logger("Found hub ".$hub, LOGGER_DEBUG);
Logger::log("Found hub ".$hub, LOGGER_DEBUG);
}
}
}
@ -433,27 +434,27 @@ class OStatus
if (in_array($item["verb"], [NAMESPACE_OSTATUS."/unfavorite", ACTIVITY_UNFAVORITE])) {
// Ignore "Unfavorite" message
logger("Ignore unfavorite message ".print_r($item, true), LOGGER_DEBUG);
Logger::log("Ignore unfavorite message ".print_r($item, true), LOGGER_DEBUG);
continue;
}
// Deletions come with the same uri, so we check for duplicates after processing deletions
if (Item::exists(['uid' => $importer["uid"], 'uri' => $item["uri"]])) {
logger('Post with URI '.$item["uri"].' already existed for user '.$importer["uid"].'.', LOGGER_DEBUG);
Logger::log('Post with URI '.$item["uri"].' already existed for user '.$importer["uid"].'.', LOGGER_DEBUG);
continue;
} else {
logger('Processing post with URI '.$item["uri"].' for user '.$importer["uid"].'.', LOGGER_DEBUG);
Logger::log('Processing post with URI '.$item["uri"].' for user '.$importer["uid"].'.', LOGGER_DEBUG);
}
if ($item["verb"] == ACTIVITY_JOIN) {
// ignore "Join" messages
logger("Ignore join message ".print_r($item, true), LOGGER_DEBUG);
Logger::log("Ignore join message ".print_r($item, true), LOGGER_DEBUG);
continue;
}
if ($item["verb"] == "http://mastodon.social/schema/1.0/block") {
// ignore mastodon "block" messages
logger("Ignore block message ".print_r($item, true), LOGGER_DEBUG);
Logger::log("Ignore block message ".print_r($item, true), LOGGER_DEBUG);
continue;
}
@ -470,7 +471,7 @@ class OStatus
if ($item["verb"] == ACTIVITY_FAVORITE) {
$orig_uri = $xpath->query("activity:object/atom:id", $entry)->item(0)->nodeValue;
logger("Favorite ".$orig_uri." ".print_r($item, true));
Logger::log("Favorite ".$orig_uri." ".print_r($item, true));
$item["verb"] = ACTIVITY_LIKE;
$item["parent-uri"] = $orig_uri;
@ -480,7 +481,7 @@ class OStatus
// http://activitystrea.ms/schema/1.0/rsvp-yes
if (!in_array($item["verb"], [ACTIVITY_POST, ACTIVITY_LIKE, ACTIVITY_SHARE])) {
logger("Unhandled verb ".$item["verb"]." ".print_r($item, true), LOGGER_DEBUG);
Logger::log("Unhandled verb ".$item["verb"]." ".print_r($item, true), LOGGER_DEBUG);
}
self::processPost($xpath, $entry, $item, $importer);
@ -493,10 +494,10 @@ class OStatus
// If not, then it depends on this setting
$valid = !Config::get('system', 'ostatus_full_threads');
if ($valid) {
logger("Item with uri ".self::$itemlist[0]['uri']." will be imported due to the system settings.", LOGGER_DEBUG);
Logger::log("Item with uri ".self::$itemlist[0]['uri']." will be imported due to the system settings.", LOGGER_DEBUG);
}
} else {
logger("Item with uri ".self::$itemlist[0]['uri']." belongs to a contact (".self::$itemlist[0]['contact-id']."). It will be imported.", LOGGER_DEBUG);
Logger::log("Item with uri ".self::$itemlist[0]['uri']." belongs to a contact (".self::$itemlist[0]['contact-id']."). It will be imported.", LOGGER_DEBUG);
}
if ($valid) {
// Never post a thread when the only interaction by our contact was a like
@ -508,14 +509,14 @@ class OStatus
}
}
if ($valid) {
logger("Item with uri ".self::$itemlist[0]['uri']." will be imported since the thread contains posts or shares.", LOGGER_DEBUG);
Logger::log("Item with uri ".self::$itemlist[0]['uri']." will be imported since the thread contains posts or shares.", LOGGER_DEBUG);
}
}
} else {
// But we will only import complete threads
$valid = Item::exists(['uid' => $importer["uid"], 'uri' => self::$itemlist[0]['parent-uri']]);
if ($valid) {
logger("Item with uri ".self::$itemlist[0]["uri"]." belongs to parent ".self::$itemlist[0]['parent-uri']." of user ".$importer["uid"].". It will be imported.", LOGGER_DEBUG);
Logger::log("Item with uri ".self::$itemlist[0]["uri"]." belongs to parent ".self::$itemlist[0]['parent-uri']." of user ".$importer["uid"].". It will be imported.", LOGGER_DEBUG);
}
}
@ -532,25 +533,25 @@ class OStatus
foreach (self::$itemlist as $item) {
$found = Item::exists(['uid' => $importer["uid"], 'uri' => $item["uri"]]);
if ($found) {
logger("Item with uri ".$item["uri"]." for user ".$importer["uid"]." already exists.", LOGGER_DEBUG);
Logger::log("Item with uri ".$item["uri"]." for user ".$importer["uid"]." already exists.", LOGGER_DEBUG);
} elseif ($item['contact-id'] < 0) {
logger("Item with uri ".$item["uri"]." is from a blocked contact.", LOGGER_DEBUG);
Logger::log("Item with uri ".$item["uri"]." is from a blocked contact.", LOGGER_DEBUG);
} else {
// We are having duplicated entries. Hopefully this solves it.
if (Lock::acquire('ostatus_process_item_insert')) {
$ret = Item::insert($item);
Lock::release('ostatus_process_item_insert');
logger("Item with uri ".$item["uri"]." for user ".$importer["uid"].' stored. Return value: '.$ret);
Logger::log("Item with uri ".$item["uri"]." for user ".$importer["uid"].' stored. Return value: '.$ret);
} else {
$ret = Item::insert($item);
logger("We couldn't lock - but tried to store the item anyway. Return value is ".$ret);
Logger::log("We couldn't lock - but tried to store the item anyway. Return value is ".$ret);
}
}
}
}
self::$itemlist = [];
}
logger('Processing done for post with URI '.$item["uri"].' for user '.$importer["uid"].'.', LOGGER_DEBUG);
Logger::log('Processing done for post with URI '.$item["uri"].' for user '.$importer["uid"].'.', LOGGER_DEBUG);
}
return true;
}
@ -564,13 +565,13 @@ class OStatus
{
$condition = ['uid' => $item['uid'], 'author-id' => $item['author-id'], 'uri' => $item['uri']];
if (!Item::exists($condition)) {
logger('Item from '.$item['author-link'].' with uri '.$item['uri'].' for user '.$item['uid']." wasn't found. We don't delete it.");
Logger::log('Item from '.$item['author-link'].' with uri '.$item['uri'].' for user '.$item['uid']." wasn't found. We don't delete it.");
return;
}
Item::delete($condition);
logger('Deleted item with uri '.$item['uri'].' for user '.$item['uid']);
Logger::log('Deleted item with uri '.$item['uri'].' for user '.$item['uid']);
}
/**
@ -706,7 +707,7 @@ class OStatus
self::fetchRelated($related, $item["parent-uri"], $importer);
}
} else {
logger('Reply with URI '.$item["uri"].' already existed for user '.$importer["uid"].'.', LOGGER_DEBUG);
Logger::log('Reply with URI '.$item["uri"].' already existed for user '.$importer["uid"].'.', LOGGER_DEBUG);
}
} else {
$item["parent-uri"] = $item["uri"];
@ -852,11 +853,11 @@ class OStatus
$condition = ['item-uri' => $conv_data['uri'],'protocol' => Conversation::PARCEL_FEED];
if (DBA::exists('conversation', $condition)) {
logger('Delete deprecated entry for URI '.$conv_data['uri'], LOGGER_DEBUG);
Logger::log('Delete deprecated entry for URI '.$conv_data['uri'], LOGGER_DEBUG);
DBA::delete('conversation', ['item-uri' => $conv_data['uri']]);
}
logger('Store conversation data for uri '.$conv_data['uri'], LOGGER_DEBUG);
Logger::log('Store conversation data for uri '.$conv_data['uri'], LOGGER_DEBUG);
Conversation::insert($conv_data);
}
}
@ -876,7 +877,7 @@ class OStatus
{
$condition = ['`item-uri` = ? AND `protocol` IN (?, ?)', $self, Conversation::PARCEL_DFRN, Conversation::PARCEL_SALMON];
if (DBA::exists('conversation', $condition)) {
logger('Conversation '.$item['uri'].' is already stored.', LOGGER_DEBUG);
Logger::log('Conversation '.$item['uri'].' is already stored.', LOGGER_DEBUG);
return;
}
@ -896,7 +897,7 @@ class OStatus
$item["protocol"] = Conversation::PARCEL_SALMON;
$item["source"] = $xml;
logger('Conversation '.$item['uri'].' is now fetched.', LOGGER_DEBUG);
Logger::log('Conversation '.$item['uri'].' is now fetched.', LOGGER_DEBUG);
}
/**
@ -915,11 +916,11 @@ class OStatus
$stored = true;
$xml = $conversation['source'];
if (self::process($xml, $importer, $contact, $hub, $stored, false)) {
logger('Got valid cached XML for URI '.$related_uri, LOGGER_DEBUG);
Logger::log('Got valid cached XML for URI '.$related_uri, LOGGER_DEBUG);
return;
}
if ($conversation['protocol'] == Conversation::PARCEL_SALMON) {
logger('Delete invalid cached XML for URI '.$related_uri, LOGGER_DEBUG);
Logger::log('Delete invalid cached XML for URI '.$related_uri, LOGGER_DEBUG);
DBA::delete('conversation', ['item-uri' => $related_uri]);
}
}
@ -934,7 +935,7 @@ class OStatus
$xml = '';
if (stristr($curlResult->getHeader(), 'Content-Type: application/atom+xml')) {
logger('Directly fetched XML for URI ' . $related_uri, LOGGER_DEBUG);
Logger::log('Directly fetched XML for URI ' . $related_uri, LOGGER_DEBUG);
$xml = $curlResult->getBody();
}
@ -959,7 +960,7 @@ class OStatus
$curlResult = Network::curl($atom_file);
if ($curlResult->isSuccess()) {
logger('Fetched XML for URI ' . $related_uri, LOGGER_DEBUG);
Logger::log('Fetched XML for URI ' . $related_uri, LOGGER_DEBUG);
$xml = $curlResult->getBody();
}
}
@ -971,7 +972,7 @@ class OStatus
$curlResult = Network::curl(str_replace('/notice/', '/api/statuses/show/', $related).'.atom');
if ($curlResult->isSuccess()) {
logger('GNU Social workaround to fetch XML for URI ' . $related_uri, LOGGER_DEBUG);
Logger::log('GNU Social workaround to fetch XML for URI ' . $related_uri, LOGGER_DEBUG);
$xml = $curlResult->getBody();
}
}
@ -982,7 +983,7 @@ class OStatus
$curlResult = Network::curl(str_replace('/notice/', '/api/statuses/show/', $related_guess).'.atom');
if ($curlResult->isSuccess()) {
logger('GNU Social workaround 2 to fetch XML for URI ' . $related_uri, LOGGER_DEBUG);
Logger::log('GNU Social workaround 2 to fetch XML for URI ' . $related_uri, LOGGER_DEBUG);
$xml = $curlResult->getBody();
}
}
@ -993,7 +994,7 @@ class OStatus
$conversation = DBA::selectFirst('conversation', ['source'], $condition);
if (DBA::isResult($conversation)) {
$stored = true;
logger('Got cached XML from conversation for URI '.$related_uri, LOGGER_DEBUG);
Logger::log('Got cached XML from conversation for URI '.$related_uri, LOGGER_DEBUG);
$xml = $conversation['source'];
}
}
@ -1001,7 +1002,7 @@ class OStatus
if ($xml != '') {
self::process($xml, $importer, $contact, $hub, $stored, false);
} else {
logger("XML couldn't be fetched for URI: ".$related_uri." - href: ".$related, LOGGER_DEBUG);
Logger::log("XML couldn't be fetched for URI: ".$related_uri." - href: ".$related, LOGGER_DEBUG);
}
return;
}
@ -1651,7 +1652,7 @@ class OStatus
private static function reshareEntry(DOMDocument $doc, array $item, array $owner, $repeated_guid, $toplevel)
{
if (($item["id"] != $item["parent"]) && (normalise_link($item["author-link"]) != normalise_link($owner["url"]))) {
logger("OStatus entry is from author ".$owner["url"]." - not from ".$item["author-link"].". Quitting.", LOGGER_DEBUG);
Logger::log("OStatus entry is from author ".$owner["url"]." - not from ".$item["author-link"].". Quitting.", LOGGER_DEBUG);
}
$title = self::entryHeader($doc, $entry, $owner, $item, $toplevel);
@ -1714,7 +1715,7 @@ class OStatus
private static function likeEntry(DOMDocument $doc, array $item, array $owner, $toplevel)
{
if (($item["id"] != $item["parent"]) && (normalise_link($item["author-link"]) != normalise_link($owner["url"]))) {
logger("OStatus entry is from author ".$owner["url"]." - not from ".$item["author-link"].". Quitting.", LOGGER_DEBUG);
Logger::log("OStatus entry is from author ".$owner["url"]." - not from ".$item["author-link"].". Quitting.", LOGGER_DEBUG);
}
$title = self::entryHeader($doc, $entry, $owner, $item, $toplevel);
@ -1861,7 +1862,7 @@ class OStatus
private static function noteEntry(DOMDocument $doc, array $item, array $owner, $toplevel)
{
if (($item["id"] != $item["parent"]) && (normalise_link($item["author-link"]) != normalise_link($owner["url"]))) {
logger("OStatus entry is from author ".$owner["url"]." - not from ".$item["author-link"].". Quitting.", LOGGER_DEBUG);
Logger::log("OStatus entry is from author ".$owner["url"]." - not from ".$item["author-link"].". Quitting.", LOGGER_DEBUG);
}
$title = self::entryHeader($doc, $entry, $owner, $item, $toplevel);
@ -2152,7 +2153,7 @@ class OStatus
if ((time() - strtotime($owner['last-item'])) < 15*60) {
$result = Cache::get($cachekey);
if (!$nocache && !is_null($result)) {
logger('Feed duration: ' . number_format(microtime(true) - $stamp, 3) . ' - ' . $owner_nick . ' - ' . $filter . ' - ' . $previous_created . ' (cached)', LOGGER_DEBUG);
Logger::log('Feed duration: ' . number_format(microtime(true) - $stamp, 3) . ' - ' . $owner_nick . ' - ' . $filter . ' - ' . $previous_created . ' (cached)', LOGGER_DEBUG);
$last_update = $result['last_update'];
return $result['feed'];
}
@ -2212,7 +2213,7 @@ class OStatus
$msg = ['feed' => $feeddata, 'last_update' => $last_update];
Cache::set($cachekey, $msg, Cache::QUARTER_HOUR);
logger('Feed duration: ' . number_format(microtime(true) - $stamp, 3) . ' - ' . $owner_nick . ' - ' . $filter . ' - ' . $previous_created, LOGGER_DEBUG);
Logger::log('Feed duration: ' . number_format(microtime(true) - $stamp, 3) . ' - ' . $owner_nick . ' - ' . $filter . ' - ' . $previous_created, LOGGER_DEBUG);
return $feeddata;
}

View file

@ -14,6 +14,7 @@ use DOMXPath;
use Exception;
use Friendica\Content\Text\HTML;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
@ -84,14 +85,14 @@ class PortableContact
$url = $url . (($uid) ? '/@me/@all?fields=displayName,urls,photos,updated,network,aboutMe,currentLocation,tags,gender,contactType,generation' : '?fields=displayName,urls,photos,updated,network,aboutMe,currentLocation,tags,gender,contactType,generation') ;
logger('load: ' . $url, LOGGER_DEBUG);
Logger::log('load: ' . $url, LOGGER_DEBUG);
$fetchresult = Network::fetchUrlFull($url);
$s = $fetchresult->getBody();
logger('load: returns ' . $s, LOGGER_DATA);
Logger::log('load: returns ' . $s, LOGGER_DATA);
logger('load: return code: ' . $fetchresult->getReturnCode(), LOGGER_DEBUG);
Logger::log('load: return code: ' . $fetchresult->getReturnCode(), LOGGER_DEBUG);
if (($fetchresult->getReturnCode() > 299) || (! $s)) {
return;
@ -99,7 +100,7 @@ class PortableContact
$j = json_decode($s, true);
logger('load: json: ' . print_r($j, true), LOGGER_DATA);
Logger::log('load: json: ' . print_r($j, true), LOGGER_DATA);
if (!isset($j['entry'])) {
return;
@ -199,10 +200,10 @@ class PortableContact
GContact::link($gcid, $uid, $cid, $zcid);
} catch (Exception $e) {
logger($e->getMessage(), LOGGER_DEBUG);
Logger::log($e->getMessage(), LOGGER_DEBUG);
}
}
logger("load: loaded $total entries", LOGGER_DEBUG);
Logger::log("load: loaded $total entries", LOGGER_DEBUG);
$condition = ["`cid` = ? AND `uid` = ? AND `zcid` = ? AND `updated` < UTC_TIMESTAMP - INTERVAL 2 DAY", $cid, $uid, $zcid];
DBA::delete('glink', $condition);
@ -335,7 +336,7 @@ class PortableContact
}
if (!in_array($gcontacts[0]["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::FEED, Protocol::OSTATUS, ""])) {
logger("Profile ".$profile.": Network type ".$gcontacts[0]["network"]." can't be checked", LOGGER_DEBUG);
Logger::log("Profile ".$profile.": Network type ".$gcontacts[0]["network"]." can't be checked", LOGGER_DEBUG);
return false;
}
@ -346,7 +347,7 @@ class PortableContact
DBA::update('gcontact', $fields, ['nurl' => normalise_link($profile)]);
}
logger("Profile ".$profile.": Server ".$server_url." wasn't reachable.", LOGGER_DEBUG);
Logger::log("Profile ".$profile.": Server ".$server_url." wasn't reachable.", LOGGER_DEBUG);
return false;
}
$contact['server_url'] = $server_url;
@ -426,7 +427,7 @@ class PortableContact
$fields = ['last_contact' => DateTimeFormat::utcNow()];
DBA::update('gcontact', $fields, ['nurl' => normalise_link($profile)]);
logger("Profile ".$profile." was last updated at ".$noscrape["updated"]." (noscrape)", LOGGER_DEBUG);
Logger::log("Profile ".$profile." was last updated at ".$noscrape["updated"]." (noscrape)", LOGGER_DEBUG);
return $noscrape["updated"];
}
@ -437,7 +438,7 @@ class PortableContact
// If we only can poll the feed, then we only do this once a while
if (!$force && !self::updateNeeded($gcontacts[0]["created"], $gcontacts[0]["updated"], $gcontacts[0]["last_failure"], $gcontacts[0]["last_contact"])) {
logger("Profile ".$profile." was last updated at ".$gcontacts[0]["updated"]." (cached)", LOGGER_DEBUG);
Logger::log("Profile ".$profile." was last updated at ".$gcontacts[0]["updated"]." (cached)", LOGGER_DEBUG);
GContact::update($contact);
return $gcontacts[0]["updated"];
@ -464,10 +465,10 @@ class PortableContact
self::lastUpdated($data["url"], $force);
} catch (Exception $e) {
logger($e->getMessage(), LOGGER_DEBUG);
Logger::log($e->getMessage(), LOGGER_DEBUG);
}
logger("Profile ".$profile." was deleted", LOGGER_DEBUG);
Logger::log("Profile ".$profile." was deleted", LOGGER_DEBUG);
return false;
}
@ -475,7 +476,7 @@ class PortableContact
$fields = ['last_failure' => DateTimeFormat::utcNow()];
DBA::update('gcontact', $fields, ['nurl' => normalise_link($profile)]);
logger("Profile ".$profile." wasn't reachable (profile)", LOGGER_DEBUG);
Logger::log("Profile ".$profile." wasn't reachable (profile)", LOGGER_DEBUG);
return false;
}
@ -491,7 +492,7 @@ class PortableContact
$fields = ['last_failure' => DateTimeFormat::utcNow()];
DBA::update('gcontact', $fields, ['nurl' => normalise_link($profile)]);
logger("Profile ".$profile." wasn't reachable (no feed)", LOGGER_DEBUG);
Logger::log("Profile ".$profile." wasn't reachable (no feed)", LOGGER_DEBUG);
return false;
}
@ -539,7 +540,7 @@ class PortableContact
DBA::update('gcontact', $fields, ['nurl' => normalise_link($profile)]);
}
logger("Profile ".$profile." was last updated at ".$last_updated, LOGGER_DEBUG);
Logger::log("Profile ".$profile." was last updated at ".$last_updated, LOGGER_DEBUG);
return $last_updated;
}
@ -662,7 +663,7 @@ class PortableContact
foreach ($nodeinfo['links'] as $link) {
if (!is_array($link) || empty($link['rel'])) {
logger('Invalid nodeinfo format for ' . $server_url, LOGGER_DEBUG);
Logger::log('Invalid nodeinfo format for ' . $server_url, LOGGER_DEBUG);
continue;
}
if ($link['rel'] == 'http://nodeinfo.diaspora.software/ns/schema/1.0') {
@ -963,7 +964,7 @@ class PortableContact
}
if (!$force && !self::updateNeeded($gserver["created"], "", $last_failure, $last_contact)) {
logger("Use cached data for server ".$server_url, LOGGER_DEBUG);
Logger::log("Use cached data for server ".$server_url, LOGGER_DEBUG);
return ($last_contact >= $last_failure);
}
} else {
@ -979,7 +980,7 @@ class PortableContact
$last_contact = DBA::NULL_DATETIME;
$last_failure = DBA::NULL_DATETIME;
}
logger("Server ".$server_url." is outdated or unknown. Start discovery. Force: ".$force." Created: ".$gserver["created"]." Failure: ".$last_failure." Contact: ".$last_contact, LOGGER_DEBUG);
Logger::log("Server ".$server_url." is outdated or unknown. Start discovery. Force: ".$force." Created: ".$gserver["created"]." Failure: ".$last_failure." Contact: ".$last_contact, LOGGER_DEBUG);
$failure = false;
$possible_failure = false;
@ -1004,7 +1005,7 @@ class PortableContact
// But we want to make sure to only quit if we are mostly sure that this server url fits.
if (DBA::isResult($gserver) && ($orig_server_url == $server_url) &&
($curlResult->isTimeout())) {
logger("Connection to server ".$server_url." timed out.", LOGGER_DEBUG);
Logger::log("Connection to server ".$server_url." timed out.", LOGGER_DEBUG);
DBA::update('gserver', ['last_failure' => DateTimeFormat::utcNow()], ['nurl' => normalise_link($server_url)]);
return false;
}
@ -1019,7 +1020,7 @@ class PortableContact
// Quit if there is a timeout
if ($curlResult->isTimeout()) {
logger("Connection to server " . $server_url . " timed out.", LOGGER_DEBUG);
Logger::log("Connection to server " . $server_url . " timed out.", LOGGER_DEBUG);
DBA::update('gserver', ['last_failure' => DateTimeFormat::utcNow()], ['nurl' => normalise_link($server_url)]);
return false;
}
@ -1398,9 +1399,9 @@ class PortableContact
}
if (($last_contact <= $last_failure) && !$failure) {
logger("Server ".$server_url." seems to be alive, but last contact wasn't set - could be a bug", LOGGER_DEBUG);
Logger::log("Server ".$server_url." seems to be alive, but last contact wasn't set - could be a bug", LOGGER_DEBUG);
} elseif (($last_contact >= $last_failure) && $failure) {
logger("Server ".$server_url." seems to be dead, but last failure wasn't set - could be a bug", LOGGER_DEBUG);
Logger::log("Server ".$server_url." seems to be dead, but last failure wasn't set - could be a bug", LOGGER_DEBUG);
}
// Check again if the server exists
@ -1429,7 +1430,7 @@ class PortableContact
self::discoverRelay($server_url);
}
logger("End discovery for server " . $server_url, LOGGER_DEBUG);
Logger::log("End discovery for server " . $server_url, LOGGER_DEBUG);
return !$failure;
}
@ -1441,7 +1442,7 @@ class PortableContact
*/
private static function discoverRelay($server_url)
{
logger("Discover relay data for server " . $server_url, LOGGER_DEBUG);
Logger::log("Discover relay data for server " . $server_url, LOGGER_DEBUG);
$curlResult = Network::curl($server_url . "/.well-known/x-social-relay");
@ -1557,7 +1558,7 @@ class PortableContact
$r = q("SELECT `nurl` FROM `gserver` WHERE `nurl` = '%s'", DBA::escape(normalise_link($server_url)));
if (!DBA::isResult($r)) {
logger("Call server check for server ".$server_url, LOGGER_DEBUG);
Logger::log("Call server check for server ".$server_url, LOGGER_DEBUG);
Worker::add(PRIORITY_LOW, "DiscoverPoCo", "server", $server_url);
}
}
@ -1642,7 +1643,7 @@ class PortableContact
// Fetch all users from the other server
$url = $server["poco"] . "/?fields=displayName,urls,photos,updated,network,aboutMe,currentLocation,tags,gender,contactType,generation";
logger("Fetch all users from the server " . $server["url"], LOGGER_DEBUG);
Logger::log("Fetch all users from the server " . $server["url"], LOGGER_DEBUG);
$curlResult = Network::curl($url);
@ -1670,7 +1671,7 @@ class PortableContact
$curlResult = Network::curl($url);
if ($curlResult->isSuccess() && !empty($curlResult->getBody())) {
logger("Fetch all global contacts from the server " . $server["nurl"], LOGGER_DEBUG);
Logger::log("Fetch all global contacts from the server " . $server["nurl"], LOGGER_DEBUG);
$data = json_decode($curlResult->getBody(), true);
if (!empty($data)) {
@ -1679,7 +1680,7 @@ class PortableContact
}
if (!$success && (Config::get('system', 'poco_discovery') > 2)) {
logger("Fetch contacts from users of the server " . $server["nurl"], LOGGER_DEBUG);
Logger::log("Fetch contacts from users of the server " . $server["nurl"], LOGGER_DEBUG);
self::discoverServerUsers($data, $server);
}
}
@ -1732,7 +1733,7 @@ class PortableContact
continue;
}
logger('Update directory from server ' . $gserver['url'] . ' with ID ' . $gserver['id'], LOGGER_DEBUG);
Logger::log('Update directory from server ' . $gserver['url'] . ' with ID ' . $gserver['id'], LOGGER_DEBUG);
Worker::add(PRIORITY_LOW, 'DiscoverPoCo', 'update_server_directory', (int) $gserver['id']);
if (!$complete && ( --$no_of_queries == 0)) {
@ -1762,7 +1763,7 @@ class PortableContact
}
if ($username != '') {
logger('Fetch contacts for the user ' . $username . ' from the server ' . $server['nurl'], LOGGER_DEBUG);
Logger::log('Fetch contacts for the user ' . $username . ' from the server ' . $server['nurl'], LOGGER_DEBUG);
// Fetch all contacts from a given user from the other server
$url = $server['poco'] . '/' . $username . '/?fields=displayName,urls,photos,updated,network,aboutMe,currentLocation,tags,gender,contactType,generation';
@ -1865,7 +1866,7 @@ class PortableContact
if ($generation > 0) {
$success = true;
logger("Store profile ".$profile_url, LOGGER_DEBUG);
Logger::log("Store profile ".$profile_url, LOGGER_DEBUG);
$gcontact = ["url" => $profile_url,
"name" => $name,
@ -1884,10 +1885,10 @@ class PortableContact
$gcontact = GContact::sanitize($gcontact);
GContact::update($gcontact);
} catch (Exception $e) {
logger($e->getMessage(), LOGGER_DEBUG);
Logger::log($e->getMessage(), LOGGER_DEBUG);
}
logger("Done for profile ".$profile_url, LOGGER_DEBUG);
Logger::log("Done for profile ".$profile_url, LOGGER_DEBUG);
}
}
return $success;

View file

@ -4,6 +4,7 @@
*/
namespace Friendica\Protocol;
use Friendica\Core\Logger;
use Friendica\Network\Probe;
use Friendica\Util\Crypto;
use Friendica\Util\Network;
@ -25,7 +26,7 @@ class Salmon
{
$ret = [];
logger('Fetching salmon key for '.$uri);
Logger::log('Fetching salmon key for '.$uri);
$arr = Probe::lrdd($uri);
@ -57,7 +58,7 @@ class Salmon
}
logger('Key located: ' . print_r($ret, true));
Logger::log('Key located: ' . print_r($ret, true));
if (count($ret) == 1) {
// We only found one one key so we don't care if the hash matches.
@ -94,12 +95,12 @@ class Salmon
}
if (! $owner['sprvkey']) {
logger(sprintf("user '%s' (%d) does not have a salmon private key. Send failed.",
Logger::log(sprintf("user '%s' (%d) does not have a salmon private key. Send failed.",
$owner['username'], $owner['uid']));
return;
}
logger('slapper called for '.$url.'. Data: ' . $slap);
Logger::log('slapper called for '.$url.'. Data: ' . $slap);
// create a magic envelope
@ -143,7 +144,7 @@ class Salmon
// check for success, e.g. 2xx
if ($return_code > 299) {
logger('GNU Social salmon failed. Falling back to compliant mode');
Logger::log('GNU Social salmon failed. Falling back to compliant mode');
// Now try the compliant mode that normally isn't used for GNU Social
$xmldata = ["me:env" => ["me:data" => $data,
@ -166,7 +167,7 @@ class Salmon
}
if ($return_code > 299) {
logger('compliant salmon failed. Falling back to old status.net');
Logger::log('compliant salmon failed. Falling back to old status.net');
// Last try. This will most likely fail as well.
$xmldata = ["me:env" => ["me:data" => $data,
@ -187,7 +188,7 @@ class Salmon
$return_code = $postResult->getReturnCode();
}
logger('slapper for '.$url.' returned ' . $return_code);
Logger::log('slapper for '.$url.' returned ' . $return_code);
if (! $return_code) {
return -1;

View file

@ -6,6 +6,7 @@ namespace Friendica\Util;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use ASN_BASE;
use ASNValue;
@ -232,7 +233,7 @@ class Crypto
$result = openssl_pkey_new($openssl_options);
if (empty($result)) {
logger('new_keypair: failed');
Logger::log('new_keypair: failed');
return false;
}
@ -347,7 +348,7 @@ class Crypto
private static function encapsulateOther($data, $pubkey, $alg)
{
if (!$pubkey) {
logger('no key. data: '.$data);
Logger::log('no key. data: '.$data);
}
$fn = 'encrypt' . strtoupper($alg);
if (method_exists(__CLASS__, $fn)) {
@ -359,7 +360,7 @@ class Crypto
// log the offending call so we can track it down
if (!openssl_public_encrypt($key, $k, $pubkey)) {
$x = debug_backtrace();
logger('RSA failed. ' . print_r($x[0], true));
Logger::log('RSA failed. ' . print_r($x[0], true));
}
$result['alg'] = $alg;
@ -388,7 +389,7 @@ class Crypto
private static function encapsulateAes($data, $pubkey)
{
if (!$pubkey) {
logger('aes_encapsulate: no key. data: ' . $data);
Logger::log('aes_encapsulate: no key. data: ' . $data);
}
$key = random_bytes(32);
@ -399,7 +400,7 @@ class Crypto
// log the offending call so we can track it down
if (!openssl_public_encrypt($key, $k, $pubkey)) {
$x = debug_backtrace();
logger('aes_encapsulate: RSA failed. ' . print_r($x[0], true));
Logger::log('aes_encapsulate: RSA failed. ' . print_r($x[0], true));
}
$result['alg'] = 'aes256cbc';

View file

@ -6,6 +6,7 @@
namespace Friendica\Util;
use Friendica\Core\Logger;
use DateTime;
use DateTimeZone;
use Exception;
@ -125,7 +126,7 @@ class DateTimeFormat
try {
$d = new DateTime($s, $from_obj);
} catch (Exception $e) {
logger('DateTimeFormat::convert: exception: ' . $e->getMessage());
Logger::log('DateTimeFormat::convert: exception: ' . $e->getMessage());
$d = new DateTime('now', $from_obj);
}

View file

@ -6,6 +6,7 @@ namespace Friendica\Util;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Protocol\Email;
@ -96,8 +97,8 @@ class Emailer
$hookdata['headers'],
$hookdata['parameters']
);
logger("header " . 'To: ' . $params['toEmail'] . "\n" . $messageHeader, LOGGER_DEBUG);
logger("return value " . (($res)?"true":"false"), LOGGER_DEBUG);
Logger::log("header " . 'To: ' . $params['toEmail'] . "\n" . $messageHeader, LOGGER_DEBUG);
Logger::log("return value " . (($res)?"true":"false"), LOGGER_DEBUG);
return $res;
}
}

View file

@ -7,6 +7,7 @@ namespace Friendica\Util;
use Friendica\BaseObject;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Model\User;
use Friendica\Model\APContact;
@ -59,7 +60,7 @@ class HTTPSignature
$sig_block = self::parseSigheader($headers['authorization']);
if (!$sig_block) {
logger('no signature provided.');
Logger::log('no signature provided.');
return $result;
}
@ -89,7 +90,7 @@ class HTTPSignature
$key = $key($sig_block['keyId']);
}
logger('Got keyID ' . $sig_block['keyId']);
Logger::log('Got keyID ' . $sig_block['keyId']);
if (!$key) {
return $result;
@ -97,7 +98,7 @@ class HTTPSignature
$x = Crypto::rsaVerify($signed_data, $sig_block['signature'], $key, $algorithm);
logger('verified: ' . $x, LOGGER_DEBUG);
Logger::log('verified: ' . $x, LOGGER_DEBUG);
if (!$x) {
return $result;
@ -307,7 +308,7 @@ class HTTPSignature
$postResult = Network::post($target, $content, $headers);
$return_code = $postResult->getReturnCode();
logger('Transmit to ' . $target . ' returned ' . $return_code);
Logger::log('Transmit to ' . $target . ' returned ' . $return_code);
return ($return_code >= 200) && ($return_code <= 299);
}
@ -432,12 +433,12 @@ class HTTPSignature
$profile = APContact::getByURL($url);
if (!empty($profile)) {
logger('Taking key from id ' . $id, LOGGER_DEBUG);
Logger::log('Taking key from id ' . $id, LOGGER_DEBUG);
return ['url' => $url, 'pubkey' => $profile['pubkey']];
} elseif ($url != $actor) {
$profile = APContact::getByURL($actor);
if (!empty($profile)) {
logger('Taking key from actor ' . $actor, LOGGER_DEBUG);
Logger::log('Taking key from actor ' . $actor, LOGGER_DEBUG);
return ['url' => $actor, 'pubkey' => $profile['pubkey']];
}
}

View file

@ -5,6 +5,7 @@
namespace Friendica\Util;
use Friendica\Core\Cache;
use Friendica\Core\Logger;
use Exception;
/**
@ -33,7 +34,7 @@ class JsonLD
}
if ($recursion > 5) {
logger('jsonld bomb detected at: ' . $url);
Logger::log('jsonld bomb detected at: ' . $url);
exit();
}
@ -65,7 +66,7 @@ class JsonLD
}
catch (Exception $e) {
$normalized = false;
logger('normalise error:' . print_r($e, true), LOGGER_DEBUG);
Logger::log('normalise error:' . print_r($e, true), LOGGER_DEBUG);
}
return $normalized;
@ -98,7 +99,7 @@ class JsonLD
}
catch (Exception $e) {
$compacted = false;
logger('compacting error:' . print_r($e, true), LOGGER_DEBUG);
Logger::log('compacting error:' . print_r($e, true), LOGGER_DEBUG);
}
return json_decode(json_encode($compacted, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE), true);

View file

@ -2,6 +2,7 @@
namespace Friendica\Util;
use Friendica\Core\Logger;
use Friendica\Util\JsonLD;
use Friendica\Util\DateTimeFormat;
use Friendica\Protocol\ActivityPub;
@ -40,7 +41,7 @@ class LDSignature
$dhash = self::hash(self::signableData($data));
$x = Crypto::rsaVerify($ohash . $dhash, base64_decode($data['signature']['signatureValue']), $pubkey);
logger('LD-verify: ' . intval($x));
Logger::log('LD-verify: ' . intval($x));
if (empty($x)) {
return false;

View file

@ -5,6 +5,7 @@
namespace Friendica\Util;
use Friendica\Core\Addon;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Config;
use Friendica\Network\CurlResult;
@ -106,7 +107,7 @@ class Network
$url = self::unparseURL($parts);
if (self::isUrlBlocked($url)) {
logger('domain of ' . $url . ' is blocked', LOGGER_DATA);
Logger::log('domain of ' . $url . ' is blocked', LOGGER_DATA);
return CurlResult::createErrorCurl($url);
}
@ -212,7 +213,7 @@ class Network
if ($curlResponse->isRedirectUrl()) {
$redirects++;
logger('curl: redirect ' . $url . ' to ' . $curlResponse->getRedirectUrl());
Logger::log('curl: redirect ' . $url . ' to ' . $curlResponse->getRedirectUrl());
@curl_close($ch);
return self::curl($curlResponse->getRedirectUrl(), $binary, $redirects, $opts);
}
@ -240,7 +241,7 @@ class Network
$stamp1 = microtime(true);
if (self::isUrlBlocked($url)) {
logger('post_url: domain of ' . $url . ' is blocked', LOGGER_DATA);
Logger::log('post_url: domain of ' . $url . ' is blocked', LOGGER_DATA);
return CurlResult::createErrorCurl($url);
}
@ -251,7 +252,7 @@ class Network
return CurlResult::createErrorCurl($url);
}
logger('post_url: start ' . $url, LOGGER_DATA);
Logger::log('post_url: start ' . $url, LOGGER_DATA);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@ -314,7 +315,7 @@ class Network
if ($curlResponse->isRedirectUrl()) {
$redirects++;
logger('post_url: redirect ' . $url . ' to ' . $curlResponse->getRedirectUrl());
Logger::log('post_url: redirect ' . $url . ' to ' . $curlResponse->getRedirectUrl());
curl_close($ch);
return self::post($curlResponse->getRedirectUrl(), $params, $headers, $redirects, $timeout);
}
@ -323,7 +324,7 @@ class Network
$a->saveTimestamp($stamp1, 'network');
logger('post_url: end ' . $url, LOGGER_DATA);
Logger::log('post_url: end ' . $url, LOGGER_DATA);
return $curlResponse;
}
@ -527,7 +528,7 @@ class Network
$avatar['url'] = System::baseUrl() . '/images/person-300.jpg';
}
logger('Avatar: ' . $avatar['email'] . ' ' . $avatar['url'], LOGGER_DEBUG);
Logger::log('Avatar: ' . $avatar['email'] . ' ' . $avatar['url'], LOGGER_DEBUG);
return $avatar['url'];
}

View file

@ -9,6 +9,7 @@ use DOMDocument;
use DOMXPath;
use Friendica\Content\OEmbed;
use Friendica\Core\Addon;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Object\Image;
@ -123,7 +124,7 @@ class ParseUrl
}
if ($count > 10) {
logger('Endless loop detected for ' . $url, LOGGER_DEBUG);
Logger::log('Endless loop detected for ' . $url, LOGGER_DEBUG);
return $siteinfo;
}
@ -187,7 +188,7 @@ class ParseUrl
}
if (($charset != '') && (strtoupper($charset) != 'UTF-8')) {
logger('detected charset ' . $charset, LOGGER_DEBUG);
Logger::log('detected charset ' . $charset, LOGGER_DEBUG);
$body = iconv($charset, 'UTF-8//TRANSLIT', $body);
}
@ -421,7 +422,7 @@ class ParseUrl
}
}
logger('Siteinfo for ' . $url . ' ' . print_r($siteinfo, true), LOGGER_DEBUG);
Logger::log('Siteinfo for ' . $url . ' ' . print_r($siteinfo, true), LOGGER_DEBUG);
Addon::callHooks('getsiteinfo', $siteinfo);

View file

@ -4,6 +4,7 @@
*/
namespace Friendica\Util;
use Friendica\Core\Logger;
use DOMXPath;
use SimpleXMLElement;
@ -248,7 +249,7 @@ class XML
}
if (!function_exists('xml_parser_create')) {
logger('Xml::toArray: parser function missing');
Logger::log('Xml::toArray: parser function missing');
return [];
}
@ -263,7 +264,7 @@ class XML
}
if (! $parser) {
logger('Xml::toArray: xml_parser_create: no resource');
Logger::log('Xml::toArray: xml_parser_create: no resource');
return [];
}
@ -275,9 +276,9 @@ class XML
@xml_parser_free($parser);
if (! $xml_values) {
logger('Xml::toArray: libxml: parse error: ' . $contents, LOGGER_DATA);
Logger::log('Xml::toArray: libxml: parse error: ' . $contents, LOGGER_DATA);
foreach (libxml_get_errors() as $err) {
logger('libxml: parse: ' . $err->code . " at " . $err->line . ":" . $err->column . " : " . $err->message, LOGGER_DATA);
Logger::log('libxml: parse: ' . $err->code . " at " . $err->line . ":" . $err->column . " : " . $err->message, LOGGER_DATA);
}
libxml_clear_errors();
return;
@ -423,9 +424,9 @@ class XML
$x = @simplexml_load_string($s);
if (!$x) {
logger('libxml: parse: error: ' . $s, LOGGER_DATA);
Logger::log('libxml: parse: error: ' . $s, LOGGER_DATA);
foreach (libxml_get_errors() as $err) {
logger('libxml: parse: ' . $err->code." at ".$err->line.":".$err->column." : ".$err->message, LOGGER_DATA);
Logger::log('libxml: parse: ' . $err->code." at ".$err->line.":".$err->column." : ".$err->message, LOGGER_DATA);
}
libxml_clear_errors();
}

View file

@ -5,9 +5,10 @@
namespace Friendica\Worker;
use Friendica\BaseObject;
use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Protocol\ActivityPub;
use Friendica\Model\Item;
use Friendica\Core\Worker;
use Friendica\Util\HTTPSignature;
class APDelivery extends BaseObject
@ -22,7 +23,7 @@ class APDelivery extends BaseObject
*/
public static function execute($cmd, $item_id, $inbox, $uid)
{
logger('Invoked: ' . $cmd . ': ' . $item_id . ' to ' . $inbox, LOGGER_DEBUG);
Logger::log('Invoked: ' . $cmd . ': ' . $item_id . ' to ' . $inbox, LOGGER_DEBUG);
$success = true;

View file

@ -8,6 +8,7 @@
namespace Friendica\Worker;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Util\Network;
@ -21,7 +22,7 @@ class CheckVersion
{
public static function execute()
{
logger('checkversion: start');
Logger::log('checkversion: start');
$checkurl = Config::get('system', 'check_new_version_url', 'none');
@ -36,15 +37,15 @@ class CheckVersion
// don't check
return;
}
logger("Checking VERSION from: ".$checked_url, LOGGER_DEBUG);
Logger::log("Checking VERSION from: ".$checked_url, LOGGER_DEBUG);
// fetch the VERSION file
$gitversion = DBA::escape(trim(Network::fetchUrl($checked_url)));
logger("Upstream VERSION is: ".$gitversion, LOGGER_DEBUG);
Logger::log("Upstream VERSION is: ".$gitversion, LOGGER_DEBUG);
Config::set('system', 'git_friendica_version', $gitversion);
logger('checkversion: end');
Logger::log('checkversion: end');
return;
}

View file

@ -8,6 +8,7 @@ use Friendica\BaseObject;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
@ -38,12 +39,12 @@ class Cron
if ($last) {
$next = $last + ($poll_interval * 60);
if ($next > time()) {
logger('cron intervall not reached');
Logger::log('cron intervall not reached');
return;
}
}
logger('cron: start');
Logger::log('cron: start');
// Fork the cron jobs in separate parts to avoid problems when one of them is crashing
Hook::fork($a->queue['priority'], "cron");
@ -124,7 +125,7 @@ class Cron
// Poll contacts
self::pollContacts($parameter, $generation);
logger('cron: end');
Logger::log('cron: end');
Config::set('system', 'last_cron', time());
@ -287,7 +288,7 @@ class Cron
$priority = PRIORITY_LOW;
}
logger("Polling " . $contact["network"] . " " . $contact["id"] . " " . $contact['priority'] . " " . $contact["nick"] . " " . $contact["name"]);
Logger::log("Polling " . $contact["network"] . " " . $contact["id"] . " " . $contact['priority'] . " " . $contact["nick"] . " " . $contact["name"]);
Worker::add(['priority' => $priority, 'dont_fork' => true], 'OnePoll', (int)$contact['id']);
}

View file

@ -8,6 +8,7 @@ use Friendica\App;
use Friendica\BaseObject;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Database\PostUpdate;
@ -33,7 +34,7 @@ class CronJobs
return;
}
logger("Starting cronjob " . $command, LOGGER_DEBUG);
Logger::log("Starting cronjob " . $command, LOGGER_DEBUG);
// Call possible post update functions
// see src/Database/PostUpdate.php for more details
@ -82,7 +83,7 @@ class CronJobs
return;
}
logger("Xronjob " . $command . " is unknown.", LOGGER_DEBUG);
Logger::log("Xronjob " . $command . " is unknown.", LOGGER_DEBUG);
return;
}
@ -211,7 +212,7 @@ class CronJobs
// Calculate fragmentation
$fragmentation = $table["Data_free"] / ($table["Data_length"] + $table["Index_length"]);
logger("Table " . $table["Name"] . " - Fragmentation level: " . round($fragmentation * 100, 2), LOGGER_DEBUG);
Logger::log("Table " . $table["Name"] . " - Fragmentation level: " . round($fragmentation * 100, 2), LOGGER_DEBUG);
// Don't optimize tables that needn't to be optimized
if ($fragmentation < $fragmentation_level) {
@ -219,7 +220,7 @@ class CronJobs
}
// So optimize it
logger("Optimize Table " . $table["Name"], LOGGER_DEBUG);
Logger::log("Optimize Table " . $table["Name"], LOGGER_DEBUG);
q("OPTIMIZE TABLE `%s`", DBA::escape($table["Name"]));
}
}
@ -258,7 +259,7 @@ class CronJobs
continue;
}
logger("Repair contact " . $contact["id"] . " " . $contact["url"], LOGGER_DEBUG);
Logger::log("Repair contact " . $contact["id"] . " " . $contact["url"], LOGGER_DEBUG);
q("UPDATE `contact` SET `batch` = '%s', `notify` = '%s', `poll` = '%s', pubkey = '%s' WHERE `id` = %d",
DBA::escape($data["batch"]), DBA::escape($data["notify"]), DBA::escape($data["poll"]), DBA::escape($data["pubkey"]),
intval($contact["id"]));
@ -276,7 +277,7 @@ class CronJobs
$r = q("SELECT `uid` FROM `user` WHERE NOT EXISTS (SELECT `uid` FROM `contact` WHERE `contact`.`uid` = `user`.`uid` AND `contact`.`self`)");
if (DBA::isResult($r)) {
foreach ($r AS $user) {
logger('Create missing self contact for user ' . $user['uid']);
Logger::log('Create missing self contact for user ' . $user['uid']);
Contact::createSelfFromUserId($user['uid']);
}
}

View file

@ -7,6 +7,7 @@
namespace Friendica\Worker;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
@ -80,46 +81,46 @@ class DBClean {
$last_id = Config::get('system', 'dbclean-last-id-1', 0);
logger("Deleting old global item entries from item table without user copy. Last ID: ".$last_id);
Logger::log("Deleting old global item entries from item table without user copy. Last ID: ".$last_id);
$r = DBA::p("SELECT `id` FROM `item` WHERE `uid` = 0 AND
NOT EXISTS (SELECT `guid` FROM `item` AS `i` WHERE `item`.`guid` = `i`.`guid` AND `i`.`uid` != 0) AND
`received` < UTC_TIMESTAMP() - INTERVAL ? DAY AND `id` >= ?
ORDER BY `id` LIMIT ?", $days_unclaimed, $last_id, $limit);
$count = DBA::numRows($r);
if ($count > 0) {
logger("found global item orphans: ".$count);
Logger::log("found global item orphans: ".$count);
while ($orphan = DBA::fetch($r)) {
$last_id = $orphan["id"];
DBA::delete('item', ['id' => $orphan["id"]]);
}
Worker::add(PRIORITY_MEDIUM, 'DBClean', 1, $last_id);
} else {
logger("No global item orphans found");
Logger::log("No global item orphans found");
}
DBA::close($r);
logger("Done deleting ".$count." old global item entries from item table without user copy. Last ID: ".$last_id);
Logger::log("Done deleting ".$count." old global item entries from item table without user copy. Last ID: ".$last_id);
Config::set('system', 'dbclean-last-id-1', $last_id);
} elseif ($stage == 2) {
$last_id = Config::get('system', 'dbclean-last-id-2', 0);
logger("Deleting items without parents. Last ID: ".$last_id);
Logger::log("Deleting items without parents. Last ID: ".$last_id);
$r = DBA::p("SELECT `id` FROM `item`
WHERE NOT EXISTS (SELECT `id` FROM `item` AS `i` WHERE `item`.`parent` = `i`.`id`)
AND `id` >= ? ORDER BY `id` LIMIT ?", $last_id, $limit);
$count = DBA::numRows($r);
if ($count > 0) {
logger("found item orphans without parents: ".$count);
Logger::log("found item orphans without parents: ".$count);
while ($orphan = DBA::fetch($r)) {
$last_id = $orphan["id"];
DBA::delete('item', ['id' => $orphan["id"]]);
}
Worker::add(PRIORITY_MEDIUM, 'DBClean', 2, $last_id);
} else {
logger("No item orphans without parents found");
Logger::log("No item orphans without parents found");
}
DBA::close($r);
logger("Done deleting ".$count." items without parents. Last ID: ".$last_id);
Logger::log("Done deleting ".$count." items without parents. Last ID: ".$last_id);
Config::set('system', 'dbclean-last-id-2', $last_id);
@ -129,23 +130,23 @@ class DBClean {
} elseif ($stage == 3) {
$last_id = Config::get('system', 'dbclean-last-id-3', 0);
logger("Deleting orphaned data from thread table. Last ID: ".$last_id);
Logger::log("Deleting orphaned data from thread table. Last ID: ".$last_id);
$r = DBA::p("SELECT `iid` FROM `thread`
WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`parent` = `thread`.`iid`) AND `iid` >= ?
ORDER BY `iid` LIMIT ?", $last_id, $limit);
$count = DBA::numRows($r);
if ($count > 0) {
logger("found thread orphans: ".$count);
Logger::log("found thread orphans: ".$count);
while ($orphan = DBA::fetch($r)) {
$last_id = $orphan["iid"];
DBA::delete('thread', ['iid' => $orphan["iid"]]);
}
Worker::add(PRIORITY_MEDIUM, 'DBClean', 3, $last_id);
} else {
logger("No thread orphans found");
Logger::log("No thread orphans found");
}
DBA::close($r);
logger("Done deleting ".$count." orphaned data from thread table. Last ID: ".$last_id);
Logger::log("Done deleting ".$count." orphaned data from thread table. Last ID: ".$last_id);
Config::set('system', 'dbclean-last-id-3', $last_id);
@ -155,23 +156,23 @@ class DBClean {
} elseif ($stage == 4) {
$last_id = Config::get('system', 'dbclean-last-id-4', 0);
logger("Deleting orphaned data from notify table. Last ID: ".$last_id);
Logger::log("Deleting orphaned data from notify table. Last ID: ".$last_id);
$r = DBA::p("SELECT `iid`, `id` FROM `notify`
WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `notify`.`iid`) AND `id` >= ?
ORDER BY `id` LIMIT ?", $last_id, $limit);
$count = DBA::numRows($r);
if ($count > 0) {
logger("found notify orphans: ".$count);
Logger::log("found notify orphans: ".$count);
while ($orphan = DBA::fetch($r)) {
$last_id = $orphan["id"];
DBA::delete('notify', ['iid' => $orphan["iid"]]);
}
Worker::add(PRIORITY_MEDIUM, 'DBClean', 4, $last_id);
} else {
logger("No notify orphans found");
Logger::log("No notify orphans found");
}
DBA::close($r);
logger("Done deleting ".$count." orphaned data from notify table. Last ID: ".$last_id);
Logger::log("Done deleting ".$count." orphaned data from notify table. Last ID: ".$last_id);
Config::set('system', 'dbclean-last-id-4', $last_id);
@ -181,23 +182,23 @@ class DBClean {
} elseif ($stage == 5) {
$last_id = Config::get('system', 'dbclean-last-id-5', 0);
logger("Deleting orphaned data from notify-threads table. Last ID: ".$last_id);
Logger::log("Deleting orphaned data from notify-threads table. Last ID: ".$last_id);
$r = DBA::p("SELECT `id` FROM `notify-threads`
WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`parent` = `notify-threads`.`master-parent-item`) AND `id` >= ?
ORDER BY `id` LIMIT ?", $last_id, $limit);
$count = DBA::numRows($r);
if ($count > 0) {
logger("found notify-threads orphans: ".$count);
Logger::log("found notify-threads orphans: ".$count);
while ($orphan = DBA::fetch($r)) {
$last_id = $orphan["id"];
DBA::delete('notify-threads', ['id' => $orphan["id"]]);
}
Worker::add(PRIORITY_MEDIUM, 'DBClean', 5, $last_id);
} else {
logger("No notify-threads orphans found");
Logger::log("No notify-threads orphans found");
}
DBA::close($r);
logger("Done deleting ".$count." orphaned data from notify-threads table. Last ID: ".$last_id);
Logger::log("Done deleting ".$count." orphaned data from notify-threads table. Last ID: ".$last_id);
Config::set('system', 'dbclean-last-id-5', $last_id);
@ -207,23 +208,23 @@ class DBClean {
} elseif ($stage == 6) {
$last_id = Config::get('system', 'dbclean-last-id-6', 0);
logger("Deleting orphaned data from sign table. Last ID: ".$last_id);
Logger::log("Deleting orphaned data from sign table. Last ID: ".$last_id);
$r = DBA::p("SELECT `iid`, `id` FROM `sign`
WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `sign`.`iid`) AND `id` >= ?
ORDER BY `id` LIMIT ?", $last_id, $limit);
$count = DBA::numRows($r);
if ($count > 0) {
logger("found sign orphans: ".$count);
Logger::log("found sign orphans: ".$count);
while ($orphan = DBA::fetch($r)) {
$last_id = $orphan["id"];
DBA::delete('sign', ['iid' => $orphan["iid"]]);
}
Worker::add(PRIORITY_MEDIUM, 'DBClean', 6, $last_id);
} else {
logger("No sign orphans found");
Logger::log("No sign orphans found");
}
DBA::close($r);
logger("Done deleting ".$count." orphaned data from sign table. Last ID: ".$last_id);
Logger::log("Done deleting ".$count." orphaned data from sign table. Last ID: ".$last_id);
Config::set('system', 'dbclean-last-id-6', $last_id);
@ -233,23 +234,23 @@ class DBClean {
} elseif ($stage == 7) {
$last_id = Config::get('system', 'dbclean-last-id-7', 0);
logger("Deleting orphaned data from term table. Last ID: ".$last_id);
Logger::log("Deleting orphaned data from term table. Last ID: ".$last_id);
$r = DBA::p("SELECT `oid`, `tid` FROM `term`
WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `term`.`oid`) AND `tid` >= ?
ORDER BY `tid` LIMIT ?", $last_id, $limit);
$count = DBA::numRows($r);
if ($count > 0) {
logger("found term orphans: ".$count);
Logger::log("found term orphans: ".$count);
while ($orphan = DBA::fetch($r)) {
$last_id = $orphan["tid"];
DBA::delete('term', ['oid' => $orphan["oid"]]);
}
Worker::add(PRIORITY_MEDIUM, 'DBClean', 7, $last_id);
} else {
logger("No term orphans found");
Logger::log("No term orphans found");
}
DBA::close($r);
logger("Done deleting ".$count." orphaned data from term table. Last ID: ".$last_id);
Logger::log("Done deleting ".$count." orphaned data from term table. Last ID: ".$last_id);
Config::set('system', 'dbclean-last-id-7', $last_id);
@ -263,7 +264,7 @@ class DBClean {
$last_id = Config::get('system', 'dbclean-last-id-8', 0);
logger("Deleting expired threads. Last ID: ".$last_id);
Logger::log("Deleting expired threads. Last ID: ".$last_id);
$r = DBA::p("SELECT `thread`.`iid` FROM `thread`
INNER JOIN `contact` ON `thread`.`contact-id` = `contact`.`id` AND NOT `notify_new_posts`
WHERE `thread`.`received` < UTC_TIMESTAMP() - INTERVAL ? DAY
@ -278,17 +279,17 @@ class DBClean {
ORDER BY `thread`.`iid` LIMIT ?", $days, $last_id, $limit);
$count = DBA::numRows($r);
if ($count > 0) {
logger("found expired threads: ".$count);
Logger::log("found expired threads: ".$count);
while ($thread = DBA::fetch($r)) {
$last_id = $thread["iid"];
DBA::delete('thread', ['iid' => $thread["iid"]]);
}
Worker::add(PRIORITY_MEDIUM, 'DBClean', 8, $last_id);
} else {
logger("No expired threads found");
Logger::log("No expired threads found");
}
DBA::close($r);
logger("Done deleting ".$count." expired threads. Last ID: ".$last_id);
Logger::log("Done deleting ".$count." expired threads. Last ID: ".$last_id);
Config::set('system', 'dbclean-last-id-8', $last_id);
} elseif ($stage == 9) {
@ -299,47 +300,47 @@ class DBClean {
$last_id = Config::get('system', 'dbclean-last-id-9', 0);
$till_id = Config::get('system', 'dbclean-last-id-8', 0);
logger("Deleting old global item entries from expired threads from ID ".$last_id." to ID ".$till_id);
Logger::log("Deleting old global item entries from expired threads from ID ".$last_id." to ID ".$till_id);
$r = DBA::p("SELECT `id` FROM `item` WHERE `uid` = 0 AND
NOT EXISTS (SELECT `guid` FROM `item` AS `i` WHERE `item`.`guid` = `i`.`guid` AND `i`.`uid` != 0) AND
`received` < UTC_TIMESTAMP() - INTERVAL 90 DAY AND `id` >= ? AND `id` <= ?
ORDER BY `id` LIMIT ?", $last_id, $till_id, $limit);
$count = DBA::numRows($r);
if ($count > 0) {
logger("found global item entries from expired threads: ".$count);
Logger::log("found global item entries from expired threads: ".$count);
while ($orphan = DBA::fetch($r)) {
$last_id = $orphan["id"];
DBA::delete('item', ['id' => $orphan["id"]]);
}
Worker::add(PRIORITY_MEDIUM, 'DBClean', 9, $last_id);
} else {
logger("No global item entries from expired threads");
Logger::log("No global item entries from expired threads");
}
DBA::close($r);
logger("Done deleting ".$count." old global item entries from expired threads. Last ID: ".$last_id);
Logger::log("Done deleting ".$count." old global item entries from expired threads. Last ID: ".$last_id);
Config::set('system', 'dbclean-last-id-9', $last_id);
} elseif ($stage == 10) {
$last_id = Config::get('system', 'dbclean-last-id-10', 0);
$days = intval(Config::get('system', 'dbclean_expire_conversation', 90));
logger("Deleting old conversations. Last created: ".$last_id);
Logger::log("Deleting old conversations. Last created: ".$last_id);
$r = DBA::p("SELECT `received`, `item-uri` FROM `conversation`
WHERE `received` < UTC_TIMESTAMP() - INTERVAL ? DAY
ORDER BY `received` LIMIT ?", $days, $limit);
$count = DBA::numRows($r);
if ($count > 0) {
logger("found old conversations: ".$count);
Logger::log("found old conversations: ".$count);
while ($orphan = DBA::fetch($r)) {
$last_id = $orphan["received"];
DBA::delete('conversation', ['item-uri' => $orphan["item-uri"]]);
}
Worker::add(PRIORITY_MEDIUM, 'DBClean', 10, $last_id);
} else {
logger("No old conversations found");
Logger::log("No old conversations found");
}
DBA::close($r);
logger("Done deleting ".$count." conversations. Last created: ".$last_id);
Logger::log("Done deleting ".$count." conversations. Last created: ".$last_id);
Config::set('system', 'dbclean-last-id-10', $last_id);
}

View file

@ -7,6 +7,7 @@ namespace Friendica\Worker;
use Friendica\BaseObject;
use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Database\DBA;
@ -33,7 +34,7 @@ class Delivery extends BaseObject
public static function execute($cmd, $item_id, $contact_id)
{
logger('Invoked: ' . $cmd . ': ' . $item_id . ' to ' . $contact_id, LOGGER_DEBUG);
Logger::log('Invoked: ' . $cmd . ': ' . $item_id . ' to ' . $contact_id, LOGGER_DEBUG);
$top_level = false;
$followup = false;
@ -78,12 +79,12 @@ class Delivery extends BaseObject
DBA::close($itemdata);
if (empty($target_item)) {
logger('Item ' . $item_id . "wasn't found. Quitting here.");
Logger::log('Item ' . $item_id . "wasn't found. Quitting here.");
return;
}
if (empty($parent)) {
logger('Parent ' . $parent_id . ' for item ' . $item_id . "wasn't found. Quitting here.");
Logger::log('Parent ' . $parent_id . ' for item ' . $item_id . "wasn't found. Quitting here.");
return;
}
@ -100,7 +101,7 @@ class Delivery extends BaseObject
// The count then showed more than one entry. The additional check should help.
// The check for the "count" should be superfluous, but I'm not totally sure by now, so we keep it.
if ((($parent['id'] == $item_id) || (count($items) == 1)) && ($parent['uri'] === $parent['parent-uri'])) {
logger('Top level post');
Logger::log('Top level post');
$top_level = true;
}
@ -125,7 +126,7 @@ class Delivery extends BaseObject
*/
if (!$top_level && ($parent['wall'] == 0) && stristr($target_item['uri'], $localhost)) {
logger('Followup ' . $target_item["guid"], LOGGER_DEBUG);
Logger::log('Followup ' . $target_item["guid"], LOGGER_DEBUG);
// local followup to remote post
$followup = true;
}
@ -140,7 +141,7 @@ class Delivery extends BaseObject
}
if (empty($items)) {
logger('No delivery data for ' . $cmd . ' - Item ID: ' .$item_id . ' - Contact ID: ' . $contact_id);
Logger::log('No delivery data for ' . $cmd . ' - Item ID: ' .$item_id . ' - Contact ID: ' . $contact_id);
}
$owner = User::getOwnerDataById($uid);
@ -162,7 +163,7 @@ class Delivery extends BaseObject
$contact['network'] = Protocol::DIASPORA;
}
logger("Delivering " . $cmd . " followup=$followup - via network " . $contact['network']);
Logger::log("Delivering " . $cmd . " followup=$followup - via network " . $contact['network']);
switch ($contact['network']) {
@ -212,7 +213,7 @@ class Delivery extends BaseObject
*/
private static function deliverDFRN($cmd, $contact, $owner, $items, $target_item, $public_message, $top_level, $followup)
{
logger('Deliver ' . $target_item["guid"] . ' via DFRN to ' . (empty($contact['addr']) ? $contact['url'] : $contact['addr']));
Logger::log('Deliver ' . $target_item["guid"] . ' via DFRN to ' . (empty($contact['addr']) ? $contact['url'] : $contact['addr']));
if ($cmd == self::MAIL) {
$item = $target_item;
@ -240,7 +241,7 @@ class Delivery extends BaseObject
$atom = DFRN::entries($msgitems, $owner);
}
logger('Notifier entry: ' . $contact["url"] . ' ' . $target_item["guid"] . ' entry: ' . $atom, LOGGER_DATA);
Logger::log('Notifier entry: ' . $contact["url"] . ' ' . $target_item["guid"] . ' entry: ' . $atom, LOGGER_DATA);
$basepath = implode('/', array_slice(explode('/', $contact['url']), 0, 3));
@ -284,7 +285,7 @@ class Delivery extends BaseObject
// We never spool failed relay deliveries
if ($public_dfrn) {
logger('Relay delivery to ' . $contact["url"] . ' with guid ' . $target_item["guid"] . ' returns ' . $deliver_status);
Logger::log('Relay delivery to ' . $contact["url"] . ' with guid ' . $target_item["guid"] . ' returns ' . $deliver_status);
return;
}
@ -299,10 +300,10 @@ class Delivery extends BaseObject
$deliver_status = DFRN::deliver($owner, $contact, $atom, false, true);
}
logger('Delivery to ' . $contact["url"] . ' with guid ' . $target_item["guid"] . ' returns ' . $deliver_status);
Logger::log('Delivery to ' . $contact["url"] . ' with guid ' . $target_item["guid"] . ' returns ' . $deliver_status);
if ($deliver_status < 0) {
logger('Delivery failed: queuing message ' . $target_item["guid"] );
Logger::log('Delivery failed: queuing message ' . $target_item["guid"] );
Queue::add($contact['id'], Protocol::DFRN, $atom, false, $target_item['guid']);
}
@ -342,7 +343,7 @@ class Delivery extends BaseObject
$loc = $contact['addr'];
}
logger('Deliver ' . $target_item["guid"] . ' via Diaspora to ' . $loc);
Logger::log('Deliver ' . $target_item["guid"] . ' via Diaspora to ' . $loc);
if (Config::get('system', 'dfrn_only') || !Config::get('system', 'diaspora_enabled')) {
return;
@ -360,7 +361,7 @@ class Delivery extends BaseObject
}
if (($target_item['deleted']) && (($target_item['uri'] === $target_item['parent-uri']) || $followup)) {
// top-level retraction
logger('diaspora retract: ' . $loc);
Logger::log('diaspora retract: ' . $loc);
Diaspora::sendRetraction($target_item, $owner, $contact, $public_message);
return;
} elseif ($cmd == self::RELOCATION) {
@ -368,22 +369,22 @@ class Delivery extends BaseObject
return;
} elseif ($followup) {
// send comments and likes to owner to relay
logger('diaspora followup: ' . $loc);
Logger::log('diaspora followup: ' . $loc);
Diaspora::sendFollowup($target_item, $owner, $contact, $public_message);
return;
} elseif ($target_item['uri'] !== $target_item['parent-uri']) {
// we are the relay - send comments, likes and relayable_retractions to our conversants
logger('diaspora relay: ' . $loc);
Logger::log('diaspora relay: ' . $loc);
Diaspora::sendRelay($target_item, $owner, $contact, $public_message);
return;
} elseif ($top_level && !$walltowall) {
// currently no workable solution for sending walltowall
logger('diaspora status: ' . $loc);
Logger::log('diaspora status: ' . $loc);
Diaspora::sendStatus($target_item, $owner, $contact, $public_message);
return;
}
logger('Unknown mode ' . $cmd . ' for ' . $loc);
Logger::log('Unknown mode ' . $cmd . ' for ' . $loc);
}
/**
@ -415,7 +416,7 @@ class Delivery extends BaseObject
return;
}
logger('Deliver ' . $target_item["guid"] . ' via mail to ' . $contact['addr']);
Logger::log('Deliver ' . $target_item["guid"] . ' via mail to ' . $contact['addr']);
$reply_to = '';
$mailacct = DBA::selectFirst('mailacct', ['reply_to'], ['uid' => $owner['uid']]);

View file

@ -8,6 +8,7 @@ namespace Friendica\Worker;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Util\Network;
@ -33,7 +34,7 @@ class Directory
Addon::callHooks('globaldir_update', $arr);
logger('Updating directory: ' . $arr['url'], LOGGER_DEBUG);
Logger::log('Updating directory: ' . $arr['url'], LOGGER_DEBUG);
if (strlen($arr['url'])) {
Network::fetchUrl($dir . '?url=' . bin2hex($arr['url']));
}

View file

@ -6,6 +6,7 @@ namespace Friendica\Worker;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
@ -52,11 +53,11 @@ class DiscoverPoCo
} elseif ($command == "check_profile") {
$mode = 8;
} elseif ($command !== "") {
logger("Unknown or missing parameter ".$command."\n");
Logger::log("Unknown or missing parameter ".$command."\n");
return;
}
logger('start '.$search);
Logger::log('start '.$search);
if ($mode == 8) {
if ($param1 != "") {
@ -89,7 +90,7 @@ class DiscoverPoCo
} else {
$result .= "failed";
}
logger($result, LOGGER_DEBUG);
Logger::log($result, LOGGER_DEBUG);
} elseif ($mode == 3) {
GContact::updateSuggestions();
} elseif (($mode == 2) && Config::get('system', 'poco_completion')) {
@ -107,7 +108,7 @@ class DiscoverPoCo
}
}
logger('end '.$search);
Logger::log('end '.$search);
return;
}
@ -129,7 +130,7 @@ class DiscoverPoCo
if (!PortableContact::updateNeeded($server["created"], "", $server["last_failure"], $server["last_contact"])) {
continue;
}
logger('Update server status for server '.$server["url"], LOGGER_DEBUG);
Logger::log('Update server status for server '.$server["url"], LOGGER_DEBUG);
Worker::add(PRIORITY_LOW, "DiscoverPoCo", "server", $server["url"]);
@ -140,7 +141,7 @@ class DiscoverPoCo
}
private static function discoverUsers() {
logger("Discover users", LOGGER_DEBUG);
Logger::log("Discover users", LOGGER_DEBUG);
$starttime = time();
@ -184,7 +185,7 @@ class DiscoverPoCo
}
if ((($server_url == "") && ($user["network"] == Protocol::FEED)) || $force_update || PortableContact::checkServer($server_url, $user["network"])) {
logger('Check profile '.$user["url"]);
Logger::log('Check profile '.$user["url"]);
Worker::add(PRIORITY_LOW, "DiscoverPoCo", "check_profile", $user["url"]);
if (++$checked > 100) {
@ -208,7 +209,7 @@ class DiscoverPoCo
if (!is_null($data)) {
// Only search for the same item every 24 hours
if (time() < $data + (60 * 60 * 24)) {
logger("Already searched for ".$search." in the last 24 hours", LOGGER_DEBUG);
Logger::log("Already searched for ".$search." in the last 24 hours", LOGGER_DEBUG);
return;
}
}
@ -221,7 +222,7 @@ class DiscoverPoCo
// Check if the contact already exists
$exists = q("SELECT `id`, `last_contact`, `last_failure`, `updated` FROM `gcontact` WHERE `nurl` = '%s'", normalise_link($jj->url));
if (DBA::isResult($exists)) {
logger("Profile ".$jj->url." already exists (".$search.")", LOGGER_DEBUG);
Logger::log("Profile ".$jj->url." already exists (".$search.")", LOGGER_DEBUG);
if (($exists[0]["last_contact"] < $exists[0]["last_failure"]) &&
($exists[0]["updated"] < $exists[0]["last_failure"])) {
@ -235,16 +236,16 @@ class DiscoverPoCo
$server_url = PortableContact::detectServer($jj->url);
if ($server_url != '') {
if (!PortableContact::checkServer($server_url)) {
logger("Friendica server ".$server_url." doesn't answer.", LOGGER_DEBUG);
Logger::log("Friendica server ".$server_url." doesn't answer.", LOGGER_DEBUG);
continue;
}
logger("Friendica server ".$server_url." seems to be okay.", LOGGER_DEBUG);
Logger::log("Friendica server ".$server_url." seems to be okay.", LOGGER_DEBUG);
}
$data = Probe::uri($jj->url);
if ($data["network"] == Protocol::DFRN) {
logger("Profile ".$jj->url." is reachable (".$search.")", LOGGER_DEBUG);
logger("Add profile ".$jj->url." to local directory (".$search.")", LOGGER_DEBUG);
Logger::log("Profile ".$jj->url." is reachable (".$search.")", LOGGER_DEBUG);
Logger::log("Add profile ".$jj->url." to local directory (".$search.")", LOGGER_DEBUG);
if ($jj->tags != "") {
$data["keywords"] = $jj->tags;
@ -254,7 +255,7 @@ class DiscoverPoCo
GContact::update($data);
} else {
logger("Profile ".$jj->url." is not responding or no Friendica contact - but network ".$data["network"], LOGGER_DEBUG);
Logger::log("Profile ".$jj->url." is not responding or no Friendica contact - but network ".$data["network"], LOGGER_DEBUG);
}
}
}

View file

@ -9,6 +9,7 @@ namespace Friendica\Worker;
use Friendica\BaseObject;
use Friendica\Core\Config;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Model\Item;
@ -26,7 +27,7 @@ class Expire
Hook::loadHooks();
if ($param == 'delete') {
logger('Delete expired items', LOGGER_DEBUG);
Logger::log('Delete expired items', LOGGER_DEBUG);
// physically remove anything that has been deleted for more than two months
$condition = ["`deleted` AND `changed` < UTC_TIMESTAMP() - INTERVAL 60 DAY"];
$rows = DBA::select('item', ['id'], $condition);
@ -37,62 +38,62 @@ class Expire
// Normally we shouldn't have orphaned data at all.
// If we do have some, then we have to check why.
logger('Deleting orphaned item activities - start', LOGGER_DEBUG);
Logger::log('Deleting orphaned item activities - start', LOGGER_DEBUG);
$condition = ["NOT EXISTS (SELECT `iaid` FROM `item` WHERE `item`.`iaid` = `item-activity`.`id`)"];
DBA::delete('item-activity', $condition);
logger('Orphaned item activities deleted: ' . DBA::affectedRows(), LOGGER_DEBUG);
Logger::log('Orphaned item activities deleted: ' . DBA::affectedRows(), LOGGER_DEBUG);
logger('Deleting orphaned item content - start', LOGGER_DEBUG);
Logger::log('Deleting orphaned item content - start', LOGGER_DEBUG);
$condition = ["NOT EXISTS (SELECT `icid` FROM `item` WHERE `item`.`icid` = `item-content`.`id`)"];
DBA::delete('item-content', $condition);
logger('Orphaned item content deleted: ' . DBA::affectedRows(), LOGGER_DEBUG);
Logger::log('Orphaned item content deleted: ' . DBA::affectedRows(), LOGGER_DEBUG);
// make this optional as it could have a performance impact on large sites
if (intval(Config::get('system', 'optimize_items'))) {
DBA::e("OPTIMIZE TABLE `item`");
}
logger('Delete expired items - done', LOGGER_DEBUG);
Logger::log('Delete expired items - done', LOGGER_DEBUG);
return;
} elseif (intval($param) > 0) {
$user = DBA::selectFirst('user', ['uid', 'username', 'expire'], ['uid' => $param]);
if (DBA::isResult($user)) {
logger('Expire items for user '.$user['uid'].' ('.$user['username'].') - interval: '.$user['expire'], LOGGER_DEBUG);
Logger::log('Expire items for user '.$user['uid'].' ('.$user['username'].') - interval: '.$user['expire'], LOGGER_DEBUG);
Item::expire($user['uid'], $user['expire']);
logger('Expire items for user '.$user['uid'].' ('.$user['username'].') - done ', LOGGER_DEBUG);
Logger::log('Expire items for user '.$user['uid'].' ('.$user['username'].') - done ', LOGGER_DEBUG);
}
return;
} elseif ($param == 'hook' && !empty($hook_function)) {
foreach (Hook::getByName('expire') as $hook) {
if ($hook[1] == $hook_function) {
logger("Calling expire hook '" . $hook[1] . "'", LOGGER_DEBUG);
Logger::log("Calling expire hook '" . $hook[1] . "'", LOGGER_DEBUG);
Hook::callSingle($a, 'expire', $hook, $data);
}
}
return;
}
logger('expire: start');
Logger::log('expire: start');
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
'Expire', 'delete');
$r = DBA::p("SELECT `uid`, `username` FROM `user` WHERE `expire` != 0");
while ($row = DBA::fetch($r)) {
logger('Calling expiry for user '.$row['uid'].' ('.$row['username'].')', LOGGER_DEBUG);
Logger::log('Calling expiry for user '.$row['uid'].' ('.$row['username'].')', LOGGER_DEBUG);
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
'Expire', (int)$row['uid']);
}
DBA::close($r);
logger('expire: calling hooks');
Logger::log('expire: calling hooks');
foreach (Hook::getByName('expire') as $hook) {
logger("Calling expire hook for '" . $hook[1] . "'", LOGGER_DEBUG);
Logger::log("Calling expire hook for '" . $hook[1] . "'", LOGGER_DEBUG);
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
'Expire', 'hook', $hook[1]);
}
logger('expire: end');
Logger::log('expire: end');
return;
}

View file

@ -6,6 +6,7 @@
namespace Friendica\Worker;
use Friendica\Core\Cache;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Model\GContact;
@ -24,7 +25,7 @@ class GProbe {
DBA::escape(normalise_link($url))
);
logger("gprobe start for ".normalise_link($url), LOGGER_DEBUG);
Logger::log("gprobe start for ".normalise_link($url), LOGGER_DEBUG);
if (!DBA::isResult($r)) {
// Is it a DDoS attempt?
@ -33,7 +34,7 @@ class GProbe {
$result = Cache::get("gprobe:".$urlparts["host"]);
if (!is_null($result)) {
if (in_array($result["network"], [Protocol::FEED, Protocol::PHANTOM])) {
logger("DDoS attempt detected for ".$urlparts["host"]." by ".$_SERVER["REMOTE_ADDR"].". server data: ".print_r($_SERVER, true), LOGGER_DEBUG);
Logger::log("DDoS attempt detected for ".$urlparts["host"]." by ".$_SERVER["REMOTE_ADDR"].". server data: ".print_r($_SERVER, true), LOGGER_DEBUG);
return;
}
}
@ -60,7 +61,7 @@ class GProbe {
}
}
logger("gprobe end for ".normalise_link($url), LOGGER_DEBUG);
Logger::log("gprobe end for ".normalise_link($url), LOGGER_DEBUG);
return;
}
}

View file

@ -8,6 +8,7 @@ use Friendica\BaseObject;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
@ -57,7 +58,7 @@ class Notifier
{
$a = BaseObject::getApp();
logger('notifier: invoked: '.$cmd.': '.$item_id, LOGGER_DEBUG);
Logger::log('notifier: invoked: '.$cmd.': '.$item_id, LOGGER_DEBUG);
$top_level = false;
$recipients = [];
@ -104,7 +105,7 @@ class Notifier
$inboxes = ActivityPub\Transmitter::fetchTargetInboxesforUser(0);
foreach ($inboxes as $inbox) {
logger('Account removal for user ' . $item_id . ' to ' . $inbox .' via ActivityPub', LOGGER_DEBUG);
Logger::log('Account removal for user ' . $item_id . ' to ' . $inbox .' via ActivityPub', LOGGER_DEBUG);
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
'APDelivery', Delivery::REMOVAL, '', $inbox, $item_id);
}
@ -147,7 +148,7 @@ class Notifier
}
if ((count($items) == 1) && ($items[0]['id'] === $target_item['id']) && ($items[0]['uri'] === $items[0]['parent-uri'])) {
logger('notifier: top level post');
Logger::log('notifier: top level post');
$top_level = true;
}
}
@ -184,7 +185,7 @@ class Notifier
$condition = ['uri' => $target_item["thr-parent"], 'uid' => $target_item["uid"]];
$thr_parent = Item::selectFirst($fields, $condition);
logger('GUID: '.$target_item["guid"].': Parent is '.$parent['network'].'. Thread parent is '.$thr_parent['network'], LOGGER_DEBUG);
Logger::log('GUID: '.$target_item["guid"].': Parent is '.$parent['network'].'. Thread parent is '.$thr_parent['network'], LOGGER_DEBUG);
// This is IMPORTANT!!!!
@ -248,7 +249,7 @@ class Notifier
$recipients = [$parent['contact-id']];
$recipients_followup = [$parent['contact-id']];
logger('notifier: followup '.$target_item["guid"].' to '.$conversant_str, LOGGER_DEBUG);
Logger::log('notifier: followup '.$target_item["guid"].' to '.$conversant_str, LOGGER_DEBUG);
//if (!$target_item['private'] && $target_item['wall'] &&
if (!$target_item['private'] &&
@ -278,16 +279,16 @@ class Notifier
$push_notify = false;
}
logger("Notify ".$target_item["guid"]." via PuSH: ".($push_notify?"Yes":"No"), LOGGER_DEBUG);
Logger::log("Notify ".$target_item["guid"]." via PuSH: ".($push_notify?"Yes":"No"), LOGGER_DEBUG);
} else {
$followup = false;
logger('Distributing directly '.$target_item["guid"], LOGGER_DEBUG);
Logger::log('Distributing directly '.$target_item["guid"], LOGGER_DEBUG);
// don't send deletions onward for other people's stuff
if ($target_item['deleted'] && !intval($target_item['wall'])) {
logger('notifier: ignoring delete notification for non-wall item');
Logger::log('notifier: ignoring delete notification for non-wall item');
return;
}
@ -328,7 +329,7 @@ class Notifier
}
if (count($url_recipients)) {
logger('notifier: '.$target_item["guid"].' url_recipients ' . print_r($url_recipients,true));
Logger::log('notifier: '.$target_item["guid"].' url_recipients ' . print_r($url_recipients,true));
}
$conversants = array_unique($conversants);
@ -345,31 +346,31 @@ class Notifier
if (($thr_parent && ($thr_parent['network'] == Protocol::OSTATUS)) || ($parent['network'] == Protocol::OSTATUS)) {
$diaspora_delivery = false;
logger('Some parent is OStatus for '.$target_item["guid"]." - Author: ".$thr_parent['author-id']." - Owner: ".$thr_parent['owner-id'], LOGGER_DEBUG);
Logger::log('Some parent is OStatus for '.$target_item["guid"]." - Author: ".$thr_parent['author-id']." - Owner: ".$thr_parent['owner-id'], LOGGER_DEBUG);
// Send a salmon to the parent author
$probed_contact = DBA::selectFirst('contact', ['url', 'notify'], ['id' => $thr_parent['author-id']]);
if (DBA::isResult($probed_contact) && !empty($probed_contact["notify"])) {
logger('Notify parent author '.$probed_contact["url"].': '.$probed_contact["notify"]);
Logger::log('Notify parent author '.$probed_contact["url"].': '.$probed_contact["notify"]);
$url_recipients[$probed_contact["notify"]] = $probed_contact["notify"];
}
// Send a salmon to the parent owner
$probed_contact = DBA::selectFirst('contact', ['url', 'notify'], ['id' => $thr_parent['owner-id']]);
if (DBA::isResult($probed_contact) && !empty($probed_contact["notify"])) {
logger('Notify parent owner '.$probed_contact["url"].': '.$probed_contact["notify"]);
Logger::log('Notify parent owner '.$probed_contact["url"].': '.$probed_contact["notify"]);
$url_recipients[$probed_contact["notify"]] = $probed_contact["notify"];
}
// Send a salmon notification to every person we mentioned in the post
$arr = explode(',',$target_item['tag']);
foreach ($arr as $x) {
//logger('Checking tag '.$x, LOGGER_DEBUG);
//Logger::log('Checking tag '.$x, LOGGER_DEBUG);
$matches = null;
if (preg_match('/@\[url=([^\]]*)\]/',$x,$matches)) {
$probed_contact = Probe::uri($matches[1]);
if ($probed_contact["notify"] != "") {
logger('Notify mentioned user '.$probed_contact["url"].': '.$probed_contact["notify"]);
Logger::log('Notify mentioned user '.$probed_contact["url"].': '.$probed_contact["notify"]);
$url_recipients[$probed_contact["notify"]] = $probed_contact["notify"];
}
}
@ -419,7 +420,7 @@ class Notifier
// delivery loop
if (DBA::isResult($r)) {
foreach ($r as $contact) {
logger("Deliver ".$item_id." to ".$contact['url']." via network ".$contact['network'], LOGGER_DEBUG);
Logger::log("Deliver ".$item_id." to ".$contact['url']." via network ".$contact['network'], LOGGER_DEBUG);
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
'Delivery', $cmd, $item_id, (int)$contact['id']);
@ -432,7 +433,7 @@ class Notifier
$slap = OStatus::salmon($target_item, $owner);
foreach ($url_recipients as $url) {
if ($url) {
logger('notifier: urldelivery: ' . $url);
Logger::log('notifier: urldelivery: ' . $url);
$deliver_status = Salmon::slapper($owner, $url, $slap);
/// @TODO Redeliver/queue these items on failure, though there is no contact record
}
@ -469,19 +470,19 @@ class Notifier
$r = array_merge($r2, $r1);
if (DBA::isResult($r)) {
logger('pubdeliver '.$target_item["guid"].': '.print_r($r,true), LOGGER_DEBUG);
Logger::log('pubdeliver '.$target_item["guid"].': '.print_r($r,true), LOGGER_DEBUG);
foreach ($r as $rr) {
// except for Diaspora batch jobs
// Don't deliver to folks who have already been delivered to
if (($rr['network'] !== Protocol::DIASPORA) && (in_array($rr['id'], $conversants))) {
logger('notifier: already delivered id=' . $rr['id']);
Logger::log('notifier: already delivered id=' . $rr['id']);
continue;
}
if (!in_array($cmd, [Delivery::MAIL, Delivery::SUGGESTION]) && !$followup) {
logger('notifier: delivery agent: '.$rr['name'].' '.$rr['id'].' '.$rr['network'].' '.$target_item["guid"]);
Logger::log('notifier: delivery agent: '.$rr['name'].' '.$rr['id'].' '.$rr['network'].' '.$target_item["guid"]);
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
'Delivery', $cmd, $item_id, (int)$rr['id']);
}
@ -493,13 +494,13 @@ class Notifier
// Notify PuSH subscribers (Used for OStatus distribution of regular posts)
if ($push_notify) {
logger('Activating internal PuSH for item '.$item_id, LOGGER_DEBUG);
Logger::log('Activating internal PuSH for item '.$item_id, LOGGER_DEBUG);
// Handling the pubsubhubbub requests
PushSubscriber::publishFeed($owner['uid'], $a->queue['priority']);
}
logger('notifier: calling hooks for ' . $cmd . ' ' . $item_id, LOGGER_DEBUG);
Logger::log('notifier: calling hooks for ' . $cmd . ' ' . $item_id, LOGGER_DEBUG);
if ($normal_mode) {
Hook::fork($a->queue['priority'], 'notifier_normal', $target_item);
@ -517,15 +518,15 @@ class Notifier
if ($target_item['origin']) {
$inboxes = ActivityPub\Transmitter::fetchTargetInboxes($target_item, $uid);
logger('Origin item ' . $item_id . ' with URL ' . $target_item['uri'] . ' will be distributed.', LOGGER_DEBUG);
Logger::log('Origin item ' . $item_id . ' with URL ' . $target_item['uri'] . ' will be distributed.', LOGGER_DEBUG);
} elseif (!DBA::exists('conversation', ['item-uri' => $target_item['uri'], 'protocol' => Conversation::PARCEL_ACTIVITYPUB])) {
logger('Remote item ' . $item_id . ' with URL ' . $target_item['uri'] . ' is no AP post. It will not be distributed.', LOGGER_DEBUG);
Logger::log('Remote item ' . $item_id . ' with URL ' . $target_item['uri'] . ' is no AP post. It will not be distributed.', LOGGER_DEBUG);
return;
} else {
// Remote items are transmitted via the personal inboxes.
// Doing so ensures that the dedicated receiver will get the message.
$personal = true;
logger('Remote item ' . $item_id . ' with URL ' . $target_item['uri'] . ' will be distributed.', LOGGER_DEBUG);
Logger::log('Remote item ' . $item_id . ' with URL ' . $target_item['uri'] . ' will be distributed.', LOGGER_DEBUG);
}
if ($parent['origin']) {
@ -534,7 +535,7 @@ class Notifier
}
if (empty($inboxes)) {
logger('No inboxes found for item ' . $item_id . ' with URL ' . $target_item['uri'] . '. It will not be distributed.', LOGGER_DEBUG);
Logger::log('No inboxes found for item ' . $item_id . ' with URL ' . $target_item['uri'] . '. It will not be distributed.', LOGGER_DEBUG);
return;
}
@ -542,7 +543,7 @@ class Notifier
ActivityPub\Transmitter::createCachedActivityFromItem($item_id, true);
foreach ($inboxes as $inbox) {
logger('Deliver ' . $item_id .' to ' . $inbox .' via ActivityPub', LOGGER_DEBUG);
Logger::log('Deliver ' . $item_id .' to ' . $inbox .' via ActivityPub', LOGGER_DEBUG);
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
'APDelivery', $cmd, $item_id, $inbox, $uid);

View file

@ -7,6 +7,7 @@ namespace Friendica\Worker;
use Friendica\BaseObject;
use Friendica\Content\Text\BBCode;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
@ -29,7 +30,7 @@ class OnePoll
require_once 'include/items.php';
logger('start');
Logger::log('start');
$manual_id = 0;
$generation = 0;
@ -42,7 +43,7 @@ class OnePoll
}
if (!$contact_id) {
logger('no contact');
Logger::log('no contact');
return;
}
@ -50,7 +51,7 @@ class OnePoll
$contact = DBA::selectFirst('contact', [], ['id' => $contact_id]);
if (!DBA::isResult($contact)) {
logger('Contact not found or cannot be used.');
Logger::log('Contact not found or cannot be used.');
return;
}
@ -86,7 +87,7 @@ class OnePoll
$updated = DateTimeFormat::utcNow();
if ($last_updated) {
logger('Contact '.$contact['id'].' had last update on '.$last_updated, LOGGER_DEBUG);
Logger::log('Contact '.$contact['id'].' had last update on '.$last_updated, LOGGER_DEBUG);
// The last public item can be older than the last item we got
if ($last_updated < $contact['last-item']) {
@ -99,7 +100,7 @@ class OnePoll
} else {
self::updateContact($contact, ['last-update' => $updated, 'failure_update' => $updated]);
Contact::markForArchival($contact);
logger('Contact '.$contact['id'].' is marked for archival', LOGGER_DEBUG);
Logger::log('Contact '.$contact['id'].' is marked for archival', LOGGER_DEBUG);
}
return;
@ -129,7 +130,7 @@ class OnePoll
// Update the contact entry
if (($contact['network'] === Protocol::OSTATUS) || ($contact['network'] === Protocol::DIASPORA) || ($contact['network'] === Protocol::DFRN)) {
if (!PortableContact::reachable($contact['url'])) {
logger("Skipping probably dead contact ".$contact['url']);
Logger::log("Skipping probably dead contact ".$contact['url']);
// set the last-update so we don't keep polling
DBA::update('contact', ['last-update' => DateTimeFormat::utcNow()], ['id' => $contact['id']]);
@ -138,7 +139,7 @@ class OnePoll
if (!Contact::updateFromProbe($contact["id"])) {
Contact::markForArchival($contact);
logger('Contact is marked dead');
Logger::log('Contact is marked dead');
// set the last-update so we don't keep polling
DBA::update('contact', ['last-update' => DateTimeFormat::utcNow()], ['id' => $contact['id']]);
@ -153,7 +154,7 @@ class OnePoll
}
if ($importer_uid == 0) {
logger('Ignore public contacts');
Logger::log('Ignore public contacts');
// set the last-update so we don't keep polling
DBA::update('contact', ['last-update' => DateTimeFormat::utcNow()], ['id' => $contact['id']]);
@ -165,7 +166,7 @@ class OnePoll
);
if (!DBA::isResult($r)) {
logger('No self contact for user '.$importer_uid);
Logger::log('No self contact for user '.$importer_uid);
// set the last-update so we don't keep polling
DBA::update('contact', ['last-update' => DateTimeFormat::utcNow()], ['id' => $contact['id']]);
@ -175,7 +176,7 @@ class OnePoll
$importer = $r[0];
$url = '';
logger("poll: ({$contact['network']}-{$contact['id']}) IMPORTER: {$importer['name']}, CONTACT: {$contact['name']}");
Logger::log("poll: ({$contact['network']}-{$contact['id']}) IMPORTER: {$importer['name']}, CONTACT: {$contact['name']}");
if ($contact['network'] === Protocol::DFRN) {
$idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']);
@ -213,10 +214,10 @@ class OnePoll
$handshake_xml = $curlResult->getBody();
$html_code = $curlResult->getReturnCode();
logger('handshake with url ' . $url . ' returns xml: ' . $handshake_xml, LOGGER_DATA);
Logger::log('handshake with url ' . $url . ' returns xml: ' . $handshake_xml, LOGGER_DATA);
if (!strlen($handshake_xml) || ($html_code >= 400) || !$html_code) {
logger("$url appears to be dead - marking for death ");
Logger::log("$url appears to be dead - marking for death ");
// dead connection - might be a transient event, or this might
// mean the software was uninstalled or the domain expired.
@ -231,7 +232,7 @@ class OnePoll
}
if (!strstr($handshake_xml, '<')) {
logger('response from ' . $url . ' did not contain XML.');
Logger::log('response from ' . $url . ' did not contain XML.');
Contact::markForArchival($contact);
@ -244,7 +245,7 @@ class OnePoll
$res = XML::parseString($handshake_xml);
if (intval($res->status) == 1) {
logger("$url replied status 1 - marking for death ");
Logger::log("$url replied status 1 - marking for death ");
// we may not be friends anymore. Will keep trying for one month.
// set the last-update so we don't keep polling
@ -253,7 +254,7 @@ class OnePoll
Contact::markForArchival($contact);
} elseif ($contact['term-date'] > DBA::NULL_DATETIME) {
logger("$url back from the dead - removing mark for death");
Logger::log("$url back from the dead - removing mark for death");
Contact::unmarkForArchival($contact);
}
@ -291,7 +292,7 @@ class OnePoll
if ($final_dfrn_id != $orig_id) {
// did not decode properly - cannot trust this site
logger('ID did not decode: ' . $contact['id'] . ' orig: ' . $orig_id . ' final: ' . $final_dfrn_id);
Logger::log('ID did not decode: ' . $contact['id'] . ' orig: ' . $orig_id . ' final: ' . $final_dfrn_id);
// set the last-update so we don't keep polling
DBA::update('contact', ['last-update' => DateTimeFormat::utcNow()], ['id' => $contact['id']]);
@ -347,7 +348,7 @@ class OnePoll
$xml = $curlResult->getBody();
} elseif ($contact['network'] === Protocol::MAIL) {
logger("Mail: Fetching for ".$contact['addr'], LOGGER_DEBUG);
Logger::log("Mail: Fetching for ".$contact['addr'], LOGGER_DEBUG);
$mail_disabled = ((function_exists('imap_open') && !Config::get('system', 'imap_disabled')) ? 0 : 1);
if ($mail_disabled) {
@ -357,7 +358,7 @@ class OnePoll
return;
}
logger("Mail: Enabled", LOGGER_DEBUG);
Logger::log("Mail: Enabled", LOGGER_DEBUG);
$mbox = null;
$user = DBA::selectFirst('user', ['prvkey'], ['uid' => $importer_uid]);
@ -370,13 +371,13 @@ class OnePoll
openssl_private_decrypt(hex2bin($mailconf['pass']), $password, $user['prvkey']);
$mbox = Email::connect($mailbox, $mailconf['user'], $password);
unset($password);
logger("Mail: Connect to " . $mailconf['user']);
Logger::log("Mail: Connect to " . $mailconf['user']);
if ($mbox) {
$fields = ['last_check' => DateTimeFormat::utcNow()];
DBA::update('mailacct', $fields, ['id' => $mailconf['id']]);
logger("Mail: Connected to " . $mailconf['user']);
Logger::log("Mail: Connected to " . $mailconf['user']);
} else {
logger("Mail: Connection error ".$mailconf['user']." ".print_r(imap_errors(), true));
Logger::log("Mail: Connection error ".$mailconf['user']." ".print_r(imap_errors(), true));
}
}
@ -384,17 +385,17 @@ class OnePoll
$msgs = Email::poll($mbox, $contact['addr']);
if (count($msgs)) {
logger("Mail: Parsing ".count($msgs)." mails from ".$contact['addr']." for ".$mailconf['user'], LOGGER_DEBUG);
Logger::log("Mail: Parsing ".count($msgs)." mails from ".$contact['addr']." for ".$mailconf['user'], LOGGER_DEBUG);
$metas = Email::messageMeta($mbox, implode(',', $msgs));
if (count($metas) != count($msgs)) {
logger("for " . $mailconf['user'] . " there are ". count($msgs) . " messages but received " . count($metas) . " metas", LOGGER_DEBUG);
Logger::log("for " . $mailconf['user'] . " there are ". count($msgs) . " messages but received " . count($metas) . " metas", LOGGER_DEBUG);
} else {
$msgs = array_combine($msgs, $metas);
foreach ($msgs as $msg_uid => $meta) {
logger("Mail: Parsing mail ".$msg_uid, LOGGER_DATA);
Logger::log("Mail: Parsing mail ".$msg_uid, LOGGER_DATA);
$datarray = [];
$datarray['verb'] = ACTIVITY_POST;
@ -409,7 +410,7 @@ class OnePoll
$condition = ['uid' => $importer_uid, 'uri' => $datarray['uri']];
$item = Item::selectFirst($fields, $condition);
if (DBA::isResult($item)) {
logger("Mail: Seen before ".$msg_uid." for ".$mailconf['user']." UID: ".$importer_uid." URI: ".$datarray['uri'],LOGGER_DEBUG);
Logger::log("Mail: Seen before ".$msg_uid." for ".$mailconf['user']." UID: ".$importer_uid." URI: ".$datarray['uri'],LOGGER_DEBUG);
// Only delete when mails aren't automatically moved or deleted
if (($mailconf['action'] != 1) && ($mailconf['action'] != 3))
@ -420,18 +421,18 @@ class OnePoll
switch ($mailconf['action']) {
case 0:
logger("Mail: Seen before ".$msg_uid." for ".$mailconf['user'].". Doing nothing.", LOGGER_DEBUG);
Logger::log("Mail: Seen before ".$msg_uid." for ".$mailconf['user'].". Doing nothing.", LOGGER_DEBUG);
break;
case 1:
logger("Mail: Deleting ".$msg_uid." for ".$mailconf['user']);
Logger::log("Mail: Deleting ".$msg_uid." for ".$mailconf['user']);
imap_delete($mbox, $msg_uid, FT_UID);
break;
case 2:
logger("Mail: Mark as seen ".$msg_uid." for ".$mailconf['user']);
Logger::log("Mail: Mark as seen ".$msg_uid." for ".$mailconf['user']);
imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID);
break;
case 3:
logger("Mail: Moving ".$msg_uid." to ".$mailconf['movetofolder']." for ".$mailconf['user']);
Logger::log("Mail: Moving ".$msg_uid." to ".$mailconf['movetofolder']." for ".$mailconf['user']);
imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID);
if ($mailconf['movetofolder'] != "") {
imap_mail_move($mbox, $msg_uid, $mailconf['movetofolder'], FT_UID);
@ -502,13 +503,13 @@ class OnePoll
$r = Email::getMessage($mbox, $msg_uid, $reply);
if (!$r) {
logger("Mail: can't fetch msg ".$msg_uid." for ".$mailconf['user']);
Logger::log("Mail: can't fetch msg ".$msg_uid." for ".$mailconf['user']);
continue;
}
$datarray['body'] = escape_tags($r['body']);
$datarray['body'] = BBCode::limitBodySize($datarray['body']);
logger("Mail: Importing ".$msg_uid." for ".$mailconf['user']);
Logger::log("Mail: Importing ".$msg_uid." for ".$mailconf['user']);
/// @TODO Adding a gravatar for the original author would be cool
@ -554,18 +555,18 @@ class OnePoll
switch ($mailconf['action']) {
case 0:
logger("Mail: Seen before ".$msg_uid." for ".$mailconf['user'].". Doing nothing.", LOGGER_DEBUG);
Logger::log("Mail: Seen before ".$msg_uid." for ".$mailconf['user'].". Doing nothing.", LOGGER_DEBUG);
break;
case 1:
logger("Mail: Deleting ".$msg_uid." for ".$mailconf['user']);
Logger::log("Mail: Deleting ".$msg_uid." for ".$mailconf['user']);
imap_delete($mbox, $msg_uid, FT_UID);
break;
case 2:
logger("Mail: Mark as seen ".$msg_uid." for ".$mailconf['user']);
Logger::log("Mail: Mark as seen ".$msg_uid." for ".$mailconf['user']);
imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID);
break;
case 3:
logger("Mail: Moving ".$msg_uid." to ".$mailconf['movetofolder']." for ".$mailconf['user']);
Logger::log("Mail: Moving ".$msg_uid." to ".$mailconf['movetofolder']." for ".$mailconf['user']);
imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID);
if ($mailconf['movetofolder'] != "") {
imap_mail_move($mbox, $msg_uid, $mailconf['movetofolder'], FT_UID);
@ -575,18 +576,18 @@ class OnePoll
}
}
} else {
logger("Mail: no mails for ".$mailconf['user']);
Logger::log("Mail: no mails for ".$mailconf['user']);
}
logger("Mail: closing connection for ".$mailconf['user']);
Logger::log("Mail: closing connection for ".$mailconf['user']);
imap_close($mbox);
}
}
if ($xml) {
logger('received xml : ' . $xml, LOGGER_DATA);
Logger::log('received xml : ' . $xml, LOGGER_DATA);
if (!strstr($xml, '<')) {
logger('post_handshake: response from ' . $url . ' did not contain XML.');
Logger::log('post_handshake: response from ' . $url . ' did not contain XML.');
$fields = ['last-update' => DateTimeFormat::utcNow(), 'failure_update' => DateTimeFormat::utcNow()];
self::updateContact($contact, $fields);
@ -595,7 +596,7 @@ class OnePoll
}
logger("Consume feed of contact ".$contact['id']);
Logger::log("Consume feed of contact ".$contact['id']);
consume_feed($xml, $importer, $contact, $hub);
@ -617,10 +618,10 @@ class OnePoll
$hub_update = true;
}
logger("Contact ".$contact['id']." returned hub: ".$hub." Network: ".$contact['network']." Relation: ".$contact['rel']." Update: ".$hub_update);
Logger::log("Contact ".$contact['id']." returned hub: ".$hub." Network: ".$contact['network']." Relation: ".$contact['rel']." Update: ".$hub_update);
if (strlen($hub) && $hub_update && (($contact['rel'] != Contact::FOLLOWER) || $contact['network'] == Protocol::FEED)) {
logger('hub ' . $hubmode . ' : ' . $hub . ' contact name : ' . $contact['name'] . ' local user : ' . $importer['name']);
Logger::log('hub ' . $hubmode . ' : ' . $hub . ' contact name : ' . $contact['name'] . ' local user : ' . $importer['name']);
$hubs = explode(',', $hub);
if (count($hubs)) {

View file

@ -7,9 +7,10 @@
namespace Friendica\Worker;
use Friendica\BaseObject;
use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Protocol\Diaspora;
use Friendica\Protocol\ActivityPub;
use Friendica\Core\Worker;
class ProfileUpdate {
public static function execute($uid = 0) {
@ -22,7 +23,7 @@ class ProfileUpdate {
$inboxes = ActivityPub\Transmitter::fetchTargetInboxesforUser($uid);
foreach ($inboxes as $inbox) {
logger('Profile update for user ' . $uid . ' to ' . $inbox .' via ActivityPub', LOGGER_DEBUG);
Logger::log('Profile update for user ' . $uid . ' to ' . $inbox .' via ActivityPub', LOGGER_DEBUG);
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
'APDelivery', Delivery::PROFILEUPDATE, '', $inbox, $uid);
}

View file

@ -6,6 +6,7 @@
namespace Friendica\Worker;
use Friendica\BaseObject;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\PushSubscriber;
@ -37,7 +38,7 @@ class PubSubPublish
/// @todo Check server status with PortableContact::checkServer()
// Before this can be done we need a way to safely detect the server url.
logger("Generate feed of user " . $subscriber['nickname']. " to " . $subscriber['callback_url']. " - last updated " . $subscriber['last_update'], LOGGER_DEBUG);
Logger::log("Generate feed of user " . $subscriber['nickname']. " to " . $subscriber['callback_url']. " - last updated " . $subscriber['last_update'], LOGGER_DEBUG);
$last_update = $subscriber['last_update'];
$params = OStatus::feed($subscriber['nickname'], $last_update);
@ -54,7 +55,7 @@ class PubSubPublish
$subscriber['topic']),
"X-Hub-Signature: sha1=" . $hmac_sig];
logger('POST ' . print_r($headers, true) . "\n" . $params, LOGGER_DATA);
Logger::log('POST ' . print_r($headers, true) . "\n" . $params, LOGGER_DATA);
$postResult = Network::post($subscriber['callback_url'], $params, $headers);
$ret = $postResult->getReturnCode();
@ -62,11 +63,11 @@ class PubSubPublish
$condition = ['id' => $subscriber['id']];
if ($ret >= 200 && $ret <= 299) {
logger('Successfully pushed to ' . $subscriber['callback_url']);
Logger::log('Successfully pushed to ' . $subscriber['callback_url']);
PushSubscriber::reset($subscriber['id'], $last_update);
} else {
logger('Delivery error when pushing to ' . $subscriber['callback_url'] . ' HTTP: ' . $ret);
Logger::log('Delivery error when pushing to ' . $subscriber['callback_url'] . ' HTTP: ' . $ret);
PushSubscriber::delay($subscriber['id']);
}

View file

@ -7,6 +7,7 @@ namespace Friendica\Worker;
use Friendica\Core\Addon;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
@ -32,7 +33,7 @@ class Queue
$no_dead_check = Config::get('system', 'queue_no_dead_check', false);
if (!$queue_id) {
logger('filling queue jobs - start');
Logger::log('filling queue jobs - start');
// Handling the pubsubhubbub requests
PushSubscriber::requeue();
@ -43,11 +44,11 @@ class Queue
if (DBA::isResult($r)) {
foreach ($r as $q_item) {
logger('Call queue for id ' . $q_item['id']);
Logger::log('Call queue for id ' . $q_item['id']);
Worker::add(['priority' => PRIORITY_LOW, 'dont_fork' => true], "Queue", (int) $q_item['id']);
}
}
logger('filling queue jobs - end');
Logger::log('filling queue jobs - end');
return;
}
@ -72,7 +73,7 @@ class Queue
$dead = Cache::get($cachekey_deadguy . $contact['notify']);
if (!is_null($dead) && $dead && !$no_dead_check) {
logger('queue: skipping known dead url: ' . $contact['notify']);
Logger::log('queue: skipping known dead url: ' . $contact['notify']);
QueueModel::updateTime($q_item['id']);
return;
}
@ -84,14 +85,14 @@ class Queue
$vital = Cache::get($cachekey_server . $server);
if (is_null($vital)) {
logger("Check server " . $server . " (" . $contact["network"] . ")");
Logger::log("Check server " . $server . " (" . $contact["network"] . ")");
$vital = PortableContact::checkServer($server, $contact["network"], true);
Cache::set($cachekey_server . $server, $vital, Cache::MINUTE);
}
if (!is_null($vital) && !$vital) {
logger('queue: skipping dead server: ' . $server);
Logger::log('queue: skipping dead server: ' . $server);
QueueModel::updateTime($q_item['id']);
return;
}
@ -112,7 +113,7 @@ class Queue
switch ($contact['network']) {
case Protocol::DFRN:
logger('queue: dfrndelivery: item ' . $q_item['id'] . ' for ' . $contact['name'] . ' <' . $contact['url'] . '>');
Logger::log('queue: dfrndelivery: item ' . $q_item['id'] . ' for ' . $contact['name'] . ' <' . $contact['url'] . '>');
$deliver_status = DFRN::deliver($owner, $contact, $data);
if (($deliver_status >= 200) && ($deliver_status <= 299)) {
@ -124,7 +125,7 @@ class Queue
break;
case Protocol::OSTATUS:
logger('queue: slapdelivery: item ' . $q_item['id'] . ' for ' . $contact['name'] . ' <' . $contact['url'] . '>');
Logger::log('queue: slapdelivery: item ' . $q_item['id'] . ' for ' . $contact['name'] . ' <' . $contact['url'] . '>');
$deliver_status = Salmon::slapper($owner, $contact['notify'], $data);
if ($deliver_status == -1) {
@ -136,7 +137,7 @@ class Queue
break;
case Protocol::DIASPORA:
logger('queue: diaspora_delivery: item ' . $q_item['id'] . ' for ' . $contact['name'] . ' <' . $contact['url'] . '>');
Logger::log('queue: diaspora_delivery: item ' . $q_item['id'] . ' for ' . $contact['name'] . ' <' . $contact['url'] . '>');
$deliver_status = Diaspora::transmit($owner, $contact, $data, $public, true, 'Queue:' . $q_item['id'], true);
if ((($deliver_status >= 200) && ($deliver_status <= 299)) ||
@ -159,7 +160,7 @@ class Queue
}
break;
}
logger('Deliver status ' . (int)$deliver_status . ' for item ' . $q_item['id'] . ' to ' . $contact['name'] . ' <' . $contact['url'] . '>');
Logger::log('Deliver status ' . (int)$deliver_status . ' for item ' . $q_item['id'] . ' to ' . $contact['name'] . ' <' . $contact['url'] . '>');
return;
}

View file

@ -5,10 +5,11 @@
*/
namespace Friendica\Worker;
use Friendica\Model\Item;
use Friendica\Core\Config;
use Friendica\Core\Logger;
use Friendica\Model\Item;
require_once("include/items.php");
require_once "include/items.php";
class SpoolPost {
public static function execute() {
@ -49,7 +50,7 @@ class SpoolPost {
$result = Item::insert($arr);
logger("Spool file ".$file." stored: ".$result, LOGGER_DEBUG);
Logger::log("Spool file ".$file." stored: ".$result, LOGGER_DEBUG);
unlink($fullfile);
}
closedir($dh);

View file

@ -2,6 +2,7 @@
namespace Friendica\Worker;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
class TagUpdate
@ -10,7 +11,7 @@ class TagUpdate
{
$messages = DBA::p("SELECT `oid`,`item`.`guid`, `item`.`created`, `item`.`received` FROM `term` INNER JOIN `item` ON `item`.`id`=`term`.`oid` WHERE `term`.`otype` = 1 AND `term`.`guid` = ''");
logger('fetched messages: ' . DBA::numRows($messages));
Logger::log('fetched messages: ' . DBA::numRows($messages));
while ($message = DBA::fetch($messages)) {
if ($message['uid'] == 0) {
$global = true;
@ -29,7 +30,7 @@ class TagUpdate
$messages = DBA::select('item', ['guid'], ['uid' => 0]);
logger('fetched messages: ' . DBA::numRows($messages));
Logger::log('fetched messages: ' . DBA::numRows($messages));
while ($message = DBA::fetch(messages)) {
DBA::update('item', ['global' => true], ['guid' => $message['guid']]);
}

View file

@ -6,6 +6,7 @@
namespace Friendica\Worker;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Network\Probe;
@ -16,10 +17,10 @@ class UpdateGContact
{
public static function execute($contact_id)
{
logger('update_gcontact: start');
Logger::log('update_gcontact: start');
if (empty($contact_id)) {
logger('update_gcontact: no contact');
Logger::log('update_gcontact: no contact');
return;
}