implement log() function.
use Friendica\App;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
unlink($pidfile);
- logger("Worker daemon process $pid was killed.", LOGGER_DEBUG);
+ Logger::log("Worker daemon process $pid was killed.", LOGGER_DEBUG);
Config::set('system', 'worker_daemon_mode', false);
die("Worker daemon process $pid was killed.\n");
die("Daemon process $pid is already running.\n");
}
-logger('Starting worker daemon.', LOGGER_DEBUG);
+Logger::log('Starting worker daemon.', LOGGER_DEBUG);
if (!$foreground) {
echo "Starting worker daemon.\n";
// Now running as a daemon.
while (true) {
if (!$do_cron && ($last_cron + $wait_interval) < time()) {
- logger('Forcing cron worker call.', LOGGER_DEBUG);
+ Logger::log('Forcing cron worker call.', LOGGER_DEBUG);
$do_cron = true;
}
$last_cron = time();
}
- logger("Sleeping", LOGGER_DEBUG);
+ Logger::log("Sleeping", LOGGER_DEBUG);
$start = time();
do {
$seconds = (time() - $start);
if ($timeout) {
$do_cron = true;
- logger("Woke up after $wait_interval seconds.", LOGGER_DEBUG);
+ Logger::log("Woke up after $wait_interval seconds.", LOGGER_DEBUG);
} else {
$do_cron = false;
- logger("Worker jobs are calling to be forked.", LOGGER_DEBUG);
+ Logger::log("Worker jobs are calling to be forked.", LOGGER_DEBUG);
}
}
use Friendica\Core\Authentication;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\NotificationsManager;
use Friendica\Core\PConfig;
use Friendica\Core\Protocol;
return "Twidere";
}
- logger("Unrecognized user-agent ".$_SERVER['HTTP_USER_AGENT'], LOGGER_DEBUG);
+ Logger::log("Unrecognized user-agent ".$_SERVER['HTTP_USER_AGENT'], LOGGER_DEBUG);
} else {
- logger("Empty user-agent", LOGGER_DEBUG);
+ Logger::log("Empty user-agent", LOGGER_DEBUG);
}
return "api";
var_dump($consumer, $token);
die();
} catch (Exception $e) {
- logger($e);
+ Logger::log($e);
}
// workaround for HTTP-auth in CGI mode
}
if (!x($_SERVER, 'PHP_AUTH_USER')) {
- logger('API_login: ' . print_r($_SERVER, true), LOGGER_DEBUG);
+ Logger::log('API_login: ' . print_r($_SERVER, true), LOGGER_DEBUG);
header('WWW-Authenticate: Basic realm="Friendica"');
throw new UnauthorizedException("This API requires login");
}
}
if (!DBA::isResult($record)) {
- logger('API_login failure: ' . print_r($_SERVER, true), LOGGER_DEBUG);
+ Logger::log('API_login failure: ' . print_r($_SERVER, true), LOGGER_DEBUG);
header('WWW-Authenticate: Basic realm="Friendica"');
//header('HTTP/1.0 401 Unauthorized');
//die('This api requires login');
api_login($a);
}
- logger('API call for ' . $a->user['username'] . ': ' . $a->query_string);
- logger('API parameters: ' . print_r($_REQUEST, true));
+ Logger::log('API call for ' . $a->user['username'] . ': ' . $a->query_string);
+ Logger::log('API parameters: ' . print_r($_REQUEST, true));
$stamp = microtime(true);
$return = call_user_func($info['func'], $type);
$duration = (float) (microtime(true) - $stamp);
- logger("API call duration: " . round($duration, 2) . "\t" . $a->query_string, LOGGER_DEBUG);
+ Logger::log("API call duration: " . round($duration, 2) . "\t" . $a->query_string, LOGGER_DEBUG);
if (Config::get("system", "profiler")) {
$duration = microtime(true)-$a->performance["start"];
/// @TODO round() really everywhere?
- logger(
+ Logger::log(
parse_url($a->query_string, PHP_URL_PATH) . ": " . sprintf(
"Database: %s/%s, Cache %s/%s, Network: %s, I/O: %s, Other: %s, Total: %s",
round($a->performance["database"] - $a->performance["database_write"], 3),
$o .= $func . ": " . $time . "\n";
}
}
- logger($o, LOGGER_DEBUG);
+ Logger::log($o, LOGGER_DEBUG);
}
}
}
}
- logger('API call not implemented: ' . $a->query_string);
+ Logger::log('API call not implemented: ' . $a->query_string);
throw new NotImplementedException();
} catch (HTTPException $e) {
header("HTTP/1.1 {$e->httpcode} {$e->httpdesc}");
$extra_query = "";
$url = "";
- logger("api_get_user: Fetching user data for user ".$contact_id, LOGGER_DEBUG);
+ Logger::log("api_get_user: Fetching user data for user ".$contact_id, LOGGER_DEBUG);
// Searching for contact URL
if (!is_null($contact_id) && (intval($contact_id) == 0)) {
}
}
- logger("api_get_user: user ".$user, LOGGER_DEBUG);
+ Logger::log("api_get_user: user ".$user, LOGGER_DEBUG);
if (!$user) {
if (api_user() === false) {
}
}
- logger('api_user: ' . $extra_query . ', user: ' . $user);
+ Logger::log('api_user: ' . $extra_query . ', user: ' . $user);
// user info
$uinfo = q(
$a = get_app();
if (api_user() === false) {
- logger('api_statuses_update: no user');
+ Logger::log('api_statuses_update: no user');
throw new ForbiddenException();
}
$user_info = api_get_user($a);
$a = get_app();
if (api_user() === false) {
- logger('api_statuses_update: no user');
+ Logger::log('api_statuses_update: no user');
throw new ForbiddenException();
}
$posts_day = DBA::count('thread', $condition);
if ($posts_day > $throttle_day) {
- logger('Daily posting limit reached for user '.api_user(), LOGGER_DEBUG);
+ Logger::log('Daily posting limit reached for user '.api_user(), LOGGER_DEBUG);
// die(api_error($type, L10n::t("Daily posting limit of %d posts reached. The post was rejected.", $throttle_day));
throw new TooManyRequestsException(L10n::tt("Daily posting limit of %d post reached. The post was rejected.", "Daily posting limit of %d posts reached. The post was rejected.", $throttle_day));
}
$posts_week = DBA::count('thread', $condition);
if ($posts_week > $throttle_week) {
- logger('Weekly posting limit reached for user '.api_user(), LOGGER_DEBUG);
+ Logger::log('Weekly posting limit reached for user '.api_user(), LOGGER_DEBUG);
// die(api_error($type, L10n::t("Weekly posting limit of %d posts reached. The post was rejected.", $throttle_week)));
throw new TooManyRequestsException(L10n::tt("Weekly posting limit of %d post reached. The post was rejected.", "Weekly posting limit of %d posts reached. The post was rejected.", $throttle_week));
}
$posts_month = DBA::count('thread', $condition);
if ($posts_month > $throttle_month) {
- logger('Monthly posting limit reached for user '.api_user(), LOGGER_DEBUG);
+ Logger::log('Monthly posting limit reached for user '.api_user(), LOGGER_DEBUG);
// die(api_error($type, L10n::t("Monthly posting limit of %d posts reached. The post was rejected.", $throttle_month));
throw new TooManyRequestsException(L10n::t("Monthly posting limit of %d post reached. The post was rejected.", "Monthly posting limit of %d posts reached. The post was rejected.", $throttle_month));
}
$a = get_app();
if (api_user() === false) {
- logger('no user');
+ Logger::log('no user');
throw new ForbiddenException();
}
"h" => $media["height"],
"image_type" => $media["type"]];
- logger("Media uploaded: " . print_r($returndata, true), LOGGER_DEBUG);
+ Logger::log("Media uploaded: " . print_r($returndata, true), LOGGER_DEBUG);
return ["media" => $returndata];
}
$user_info = api_get_user($a);
- logger('api_status_show: user_info: '.print_r($user_info, true), LOGGER_DEBUG);
+ Logger::log('api_status_show: user_info: '.print_r($user_info, true), LOGGER_DEBUG);
if ($type == "raw") {
$privacy_sql = "AND NOT `private`";
unset($status_info["user"]["uid"]);
unset($status_info["user"]["self"]);
- logger('status_info: '.print_r($status_info, true), LOGGER_DEBUG);
+ Logger::log('status_info: '.print_r($status_info, true), LOGGER_DEBUG);
if ($type == "raw") {
return $status_info;
$id = intval(defaults($a->argv, 4, 0));
}
- logger('API: api_statuses_show: ' . $id);
+ Logger::log('API: api_statuses_show: ' . $id);
$conversation = !empty($_REQUEST['conversation']);
$id = intval(defaults($a->argv, 4, 0));
}
- logger('API: api_conversation_show: '.$id);
+ Logger::log('API: api_conversation_show: '.$id);
// try to fetch the item for the local user - or the public item, if there is no local one
$item = Item::selectFirst(['parent-uri'], ['id' => $id]);
$id = intval(defaults($a->argv, 4, 0));
}
- logger('API: api_statuses_repeat: '.$id);
+ Logger::log('API: api_statuses_repeat: '.$id);
$fields = ['body', 'author-name', 'author-link', 'author-avatar', 'guid', 'created', 'plink'];
$item = Item::selectFirst($fields, ['id' => $id, 'private' => false]);
$id = intval(defaults($a->argv, 4, 0));
}
- logger('API: api_statuses_destroy: '.$id);
+ Logger::log('API: api_statuses_destroy: '.$id);
$ret = api_statuses_show($type);
throw new ForbiddenException();
}
- logger(
+ Logger::log(
"api_statuses_user_timeline: api_user: ". api_user() .
"\nuser_info: ".print_r($user_info, true) .
"\n_REQUEST: ".print_r($_REQUEST, true),
// in friendica starred item are private
// return favorites only for self
- logger('api_favorites: self:' . $user_info['self']);
+ Logger::log('api_favorites: self:' . $user_info['self']);
if ($user_info['self'] == 0) {
$ret = [];
$contact_id = defaults($_REQUEST, 'user_id');
if (empty($contact_id)) {
- logger("No user_id specified", LOGGER_DEBUG);
+ Logger::log("No user_id specified", LOGGER_DEBUG);
throw new BadRequestException("no user_id specified");
}
$contact = DBA::selectFirst('contact', ['url'], ['id' => $contact_id, 'uid' => 0, 'self' => false]);
if(!DBA::isResult($contact)) {
- logger("No contact found for ID" . $contact_id, LOGGER_DEBUG);
+ Logger::log("No contact found for ID" . $contact_id, LOGGER_DEBUG);
throw new NotFoundException("no contact found to given ID");
}
$contact = DBA::selectFirst('contact', [], $condition);
if (!DBA::isResult($contact)) {
- logger("Not following Contact", LOGGER_DEBUG);
+ Logger::log("Not following Contact", LOGGER_DEBUG);
throw new NotFoundException("Not following Contact");
}
if (!in_array($contact['network'], Protocol::NATIVE_SUPPORT)) {
- logger("Not supported", LOGGER_DEBUG);
+ Logger::log("Not supported", LOGGER_DEBUG);
throw new ExpectationFailedException("Not supported");
}
Contact::terminateFriendship($owner, $contact, $dissolve);
}
else {
- logger("No owner found", LOGGER_DEBUG);
+ Logger::log("No owner found", LOGGER_DEBUG);
throw new NotFoundException("Error Processing Request");
}
if ($imagedata) {
$filetype = $imagedata['mime'];
}
- logger(
+ Logger::log(
"File upload src: " . $src . " - filename: " . $filename .
" - size: " . $filesize . " - type: " . $filetype,
LOGGER_DEBUG
}
if ($max_length > 0) {
$Image->scaleDown($max_length);
- logger("File upload: Scaling picture to new size " . $max_length, LOGGER_DEBUG);
+ Logger::log("File upload: Scaling picture to new size " . $max_length, LOGGER_DEBUG);
}
$width = $Image->getWidth();
$height = $Image->getHeight();
if ($mediatype == "photo") {
// upload normal image (scales 0, 1, 2)
- logger("photo upload: starting new photo upload", LOGGER_DEBUG);
+ Logger::log("photo upload: starting new photo upload", LOGGER_DEBUG);
$r = Photo::store($Image, local_user(), $visitor, $hash, $filename, $album, 0, 0, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $desc);
if (!$r) {
- logger("photo upload: image upload with scale 0 (original size) failed");
+ Logger::log("photo upload: image upload with scale 0 (original size) failed");
}
if ($width > 640 || $height > 640) {
$Image->scaleDown(640);
$r = Photo::store($Image, local_user(), $visitor, $hash, $filename, $album, 1, 0, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $desc);
if (!$r) {
- logger("photo upload: image upload with scale 1 (640x640) failed");
+ Logger::log("photo upload: image upload with scale 1 (640x640) failed");
}
}
$Image->scaleDown(320);
$r = Photo::store($Image, local_user(), $visitor, $hash, $filename, $album, 2, 0, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $desc);
if (!$r) {
- logger("photo upload: image upload with scale 2 (320x320) failed");
+ Logger::log("photo upload: image upload with scale 2 (320x320) failed");
}
}
- logger("photo upload: new photo upload ended", LOGGER_DEBUG);
+ Logger::log("photo upload: new photo upload ended", LOGGER_DEBUG);
} elseif ($mediatype == "profileimage") {
// upload profile image (scales 4, 5, 6)
- logger("photo upload: starting new profile image upload", LOGGER_DEBUG);
+ Logger::log("photo upload: starting new profile image upload", LOGGER_DEBUG);
if ($width > 300 || $height > 300) {
$Image->scaleDown(300);
$r = Photo::store($Image, local_user(), $visitor, $hash, $filename, $album, 4, $profile, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $desc);
if (!$r) {
- logger("photo upload: profile image upload with scale 4 (300x300) failed");
+ Logger::log("photo upload: profile image upload with scale 4 (300x300) failed");
}
}
$Image->scaleDown(80);
$r = Photo::store($Image, local_user(), $visitor, $hash, $filename, $album, 5, $profile, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $desc);
if (!$r) {
- logger("photo upload: profile image upload with scale 5 (80x80) failed");
+ Logger::log("photo upload: profile image upload with scale 5 (80x80) failed");
}
}
$Image->scaleDown(48);
$r = Photo::store($Image, local_user(), $visitor, $hash, $filename, $album, 6, $profile, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $desc);
if (!$r) {
- logger("photo upload: profile image upload with scale 6 (48x48) failed");
+ Logger::log("photo upload: profile image upload with scale 6 (48x48) failed");
}
}
$Image->__destruct();
- logger("photo upload: new profile image upload ended", LOGGER_DEBUG);
+ Logger::log("photo upload: new profile image upload ended", LOGGER_DEBUG);
}
if (isset($r) && $r) {
'sec' => $sec, 'expire' => time() + 45];
DBA::insert('profile_check', $fields);
- logger($contact['name'] . ' ' . $sec, LOGGER_DEBUG);
+ Logger::log($contact['name'] . ' ' . $sec, LOGGER_DEBUG);
$dest = ($url ? '&destination_url=' . $url : '');
System::externalRedirect(
// https://github.com/friendica/friendica/issues/1010
// This is a bugfix for that.
if (intval($in_reply_to['status_id']) == intval($item['id'])) {
- logger('this message should never appear: id: '.$item['id'].' similar to reply-to: '.$in_reply_to['status_id'], LOGGER_DEBUG);
+ Logger::log('this message should never appear: id: '.$item['id'].' similar to reply-to: '.$in_reply_to['status_id'], LOGGER_DEBUG);
$in_reply_to['status_id'] = null;
$in_reply_to['user_id'] = null;
$in_reply_to['status_id_str'] = null;
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;
$threads = $conv->getTemplateData($conv_responses);
if (!$threads) {
- logger('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG);
+ Logger::log('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG);
$threads = [];
}
}
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
// Temporary logging for finding the origin
if (!isset($params['language']) || !isset($params['uid'])) {
- logger('Missing parameters.' . System::callstack());
+ Logger::log('Missing parameters.' . System::callstack());
}
// Ensure that the important fields are set at any time
$user = DBA::selectFirst('user', $fields, ['uid' => $params['uid']]);
if (!DBA::isResult($user)) {
- logger('Unknown user ' . $params['uid']);
+ Logger::log('Unknown user ' . $params['uid']);
return;
}
if ($params['type'] == NOTIFY_COMMENT) {
$thread = Item::selectFirstThreadForUser($params['uid'] ,['ignored'], ['iid' => $parent_id]);
if (DBA::isResult($thread) && $thread["ignored"]) {
- logger("Thread ".$parent_id." will be ignored", LOGGER_DEBUG);
+ Logger::log("Thread ".$parent_id." will be ignored", LOGGER_DEBUG);
L10n::popLang();
return;
}
$itemlink = $h['itemlink'];
if ($show_in_notification_page) {
- logger("adding notification entry", LOGGER_DEBUG);
+ Logger::log("adding notification entry", LOGGER_DEBUG);
do {
$dups = false;
$hash = random_string();
|| $params['type'] == NOTIFY_SYSTEM
|| $params['type'] == SYSTEM_EMAIL) {
- logger('sending notification email');
+ Logger::log('sending notification email');
if (isset($params['parent']) && (intval($params['parent']) != 0)) {
$id_for_parent = $params['parent']."@".$hostname;
// Is this the first email notification for this parent item and user?
if (!DBA::exists('notify-threads', ['master-parent-item' => $params['parent'], 'receiver-uid' => $params['uid']])) {
- logger("notify_id:".intval($notify_id).", parent: ".intval($params['parent'])."uid: ".intval($params['uid']), LOGGER_DEBUG);
+ Logger::log("notify_id:".intval($notify_id).", parent: ".intval($params['parent'])."uid: ".intval($params['uid']), LOGGER_DEBUG);
$fields = ['notify-id' => $notify_id, 'master-parent-item' => $params['parent'],
'receiver-uid' => $params['uid'], 'parent-item' => 0];
$additional_mail_header .= "Message-ID: <${id_for_parent}>\n";
$log_msg = "include/enotify: No previous notification found for this parent:\n".
" parent: ${params['parent']}\n"." uid : ${params['uid']}\n";
- logger($log_msg, LOGGER_DEBUG);
+ Logger::log($log_msg, LOGGER_DEBUG);
} else {
// If not, just "follow" the thread.
$additional_mail_header .= "References: <${id_for_parent}>\nIn-Reply-To: <${id_for_parent}>\n";
- logger("There's already a notification for this parent.", LOGGER_DEBUG);
+ Logger::log("There's already a notification for this parent.", LOGGER_DEBUG);
}
}
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;
$data["images"][0]["src"] = $photo;
}
- logger('fetch page info for ' . $url . ' ' . print_r($data, true), LOGGER_DEBUG);
+ Logger::log('fetch page info for ' . $url . ' ' . print_r($data, true), LOGGER_DEBUG);
if (!$keywords && isset($data["keywords"])) {
unset($data["keywords"]);
function add_page_info_to_body($body, $texturl = false, $no_photos = false)
{
- logger('add_page_info_to_body: fetch page info for body ' . $body, LOGGER_DEBUG);
+ Logger::log('add_page_info_to_body: fetch page info for body ' . $body, LOGGER_DEBUG);
$URLSearchString = "^\[\]";
// Test - remove before flight
//$tempfile = tempnam(get_temppath(), "ostatus2");
//file_put_contents($tempfile, $xml);
- logger("Consume OStatus messages ", LOGGER_DEBUG);
+ Logger::log("Consume OStatus messages ", LOGGER_DEBUG);
OStatus::import($xml, $importer, $contact, $hub);
}
if ($contact['network'] === Protocol::FEED) {
if ($pass < 2) {
- logger("Consume feeds", LOGGER_DEBUG);
+ Logger::log("Consume feeds", LOGGER_DEBUG);
Feed::import($xml, $importer, $contact, $hub);
}
}
if ($contact['network'] === Protocol::DFRN) {
- logger("Consume DFRN messages", LOGGER_DEBUG);
+ Logger::log("Consume DFRN messages", LOGGER_DEBUG);
$dfrn_importer = DFRN::getImporter($contact["id"], $importer["uid"]);
if (!empty($dfrn_importer)) {
- logger("Now import the DFRN feed");
+ Logger::log("Now import the DFRN feed");
DFRN::import($xml, $dfrn_importer, true);
return;
}
$params= 'hub.mode=' . $hubmode . '&hub.callback=' . urlencode($push_url) . '&hub.topic=' . urlencode($contact['poll']) . '&hub.verify=async&hub.verify_token=' . $verify_token;
- logger('subscribe_to_hub: ' . $hubmode . ' ' . $contact['name'] . ' to hub ' . $url . ' endpoint: ' . $push_url . ' with verifier ' . $verify_token);
+ Logger::log('subscribe_to_hub: ' . $hubmode . ' ' . $contact['name'] . ' to hub ' . $url . ' endpoint: ' . $push_url . ' with verifier ' . $verify_token);
if (!strlen($contact['hub-verify']) || ($contact['hub-verify'] != $verify_token)) {
DBA::update('contact', ['hub-verify' => $verify_token], ['id' => $contact['id']]);
$postResult = Network::post($url, $params);
- logger('subscribe_to_hub: returns: ' . $postResult->getReturnCode(), LOGGER_DEBUG);
+ Logger::log('subscribe_to_hub: returns: ' . $postResult->getReturnCode(), LOGGER_DEBUG);
return;
*/
function logger($msg, $level = LOGGER_INFO)
{
- Logger::logger($msg, $level);
+ Logger::log($msg, $level);
}
/**
*/
function dlogger($msg, $level = LOGGER_INFO)
{
- Logger::dlogger($msg, $level);
+ Logger::devLog($msg, $level);
}
use Friendica\Content\Widget;
use Friendica\Core\ACL;
use Friendica\Core\Addon;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
$search = $_REQUEST['query'];
}
- logger("Searching for ".$search." - type ".$type." conversation ".$conv_id, LOGGER_DEBUG);
+ Logger::log("Searching for ".$search." - type ".$type." conversation ".$conv_id, LOGGER_DEBUG);
if ($search != '') {
$sql_extra = "AND `name` LIKE '%%" . DBA::escape($search) . "%%'";
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Theme;
use Friendica\Core\Worker;
$users+= $u['count'];
}
- logger('accounts: ' . print_r($accounts, true), LOGGER_DATA);
+ Logger::log('accounts: ' . print_r($accounts, true), LOGGER_DATA);
$pending = Register::getPendingCount();
{
BaseModule::checkFormSecurityTokenRedirectOnError('/admin/features', 'admin_manage_features');
- logger('postvars: ' . print_r($_POST, true), LOGGER_DATA);
+ Logger::log('postvars: ' . print_r($_POST, true), LOGGER_DATA);
$features = Feature::get(false);
use Friendica\App;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Model;
);
if ($photo) {
- logger('mod-crepair: updating photo from ' . $photo);
+ Logger::log('mod-crepair: updating photo from ' . $photo);
Model\Contact::updateAvatar($photo, local_user(), $contact['id']);
}
use Friendica\App;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Database\DBA;
// These data elements may come from either the friend request notification form or $handsfree array.
if (is_array($handsfree)) {
- logger('Confirm in handsfree mode');
+ Logger::log('Confirm in handsfree mode');
$dfrn_id = $handsfree['dfrn_id'];
$intro_id = $handsfree['intro_id'];
$duplex = $handsfree['duplex'];
$cid = 0;
}
- logger('Confirming request for dfrn_id (issued) ' . $dfrn_id);
+ Logger::log('Confirming request for dfrn_id (issued) ' . $dfrn_id);
if ($cid) {
- logger('Confirming follower with contact_id: ' . $cid);
+ Logger::log('Confirming follower with contact_id: ' . $cid);
}
/*
intval($uid)
);
if (!DBA::isResult($r)) {
- logger('Contact not found in DB.');
+ Logger::log('Contact not found in DB.');
notice(L10n::t('Contact not found.') . EOL);
notice(L10n::t('This may occasionally happen if contact was requested by both persons and it has already been approved.') . EOL);
return;
$params['page'] = 2;
}
- logger('Confirm: posting data to ' . $dfrn_confirm . ': ' . print_r($params, true), LOGGER_DATA);
+ Logger::log('Confirm: posting data to ' . $dfrn_confirm . ': ' . print_r($params, true), LOGGER_DATA);
/*
*
$res = Network::post($dfrn_confirm, $params, null, $redirects, 120)->getBody();
- logger(' Confirm: received data: ' . $res, LOGGER_DATA);
+ Logger::log(' Confirm: received data: ' . $res, LOGGER_DATA);
// Now figure out what they responded. Try to be robust if the remote site is
// having difficulty and throwing up errors of some kind.
if (stristr($res, "<status") === false) {
// wrong xml! stop here!
- logger('Unexpected response posting to ' . $dfrn_confirm);
+ Logger::log('Unexpected response posting to ' . $dfrn_confirm);
notice(L10n::t('Unexpected response from remote site: ') . EOL . htmlspecialchars($res) . EOL);
return;
}
*/
Contact::updateAvatar($contact['photo'], $uid, $contact_id);
- logger('dfrn_confirm: confirm - imported photos');
+ Logger::log('dfrn_confirm: confirm - imported photos');
if ($network === Protocol::DFRN) {
$new_relation = Contact::FOLLOWER;
if ((isset($new_relation) && $new_relation == Contact::FRIEND)) {
if (DBA::isResult($contact) && ($contact['network'] === Protocol::DIASPORA)) {
$ret = Diaspora::sendShare($user, $contact);
- logger('share returns: ' . $ret);
+ Logger::log('share returns: ' . $ret);
}
}
$forum = (($page == 1) ? 1 : 0);
$prv = (($page == 2) ? 1 : 0);
- logger('dfrn_confirm: requestee contacted: ' . $node);
+ Logger::log('dfrn_confirm: requestee contacted: ' . $node);
- logger('dfrn_confirm: request: POST=' . print_r($_POST, true), LOGGER_DATA);
+ Logger::log('dfrn_confirm: request: POST=' . print_r($_POST, true), LOGGER_DATA);
// If $aes_key is set, both of these items require unpacking from the hex transport encoding.
Contact::updateAvatar($photo, $local_uid, $dfrn_record);
- logger('dfrn_confirm: request - photos imported');
+ Logger::log('dfrn_confirm: request - photos imported');
$new_relation = Contact::SHARING;
// Otherwise everything seems to have worked and we are almost done. Yay!
// Send an email notification
- logger('dfrn_confirm: request: info updated');
+ Logger::log('dfrn_confirm: request: info updated');
$combined = null;
$r = q("SELECT `contact`.*, `user`.*
use Friendica\App;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
require_once 'include/items.php';
function dfrn_notify_post(App $a) {
- logger(__function__, LOGGER_TRACE);
+ Logger::log(__function__, LOGGER_TRACE);
$postdata = file_get_contents('php://input');
}
if (!DBA::exists('challenge', ['dfrn-id' => $dfrn_id, 'challenge' => $challenge])) {
- logger('could not match challenge to dfrn_id ' . $dfrn_id . ' challenge=' . $challenge);
+ Logger::log('could not match challenge to dfrn_id ' . $dfrn_id . ' challenge=' . $challenge);
System::xmlExit(3, 'Could not match challenge');
}
$user = DBA::selectFirst('user', ['uid'], ['nickname' => $a->argv[1]]);
if (!DBA::isResult($user)) {
- logger('User not found for nickname ' . $a->argv[1]);
+ Logger::log('User not found for nickname ' . $a->argv[1]);
System::xmlExit(3, 'User not found');
}
$contact = DBA::selectFirst('contact', ['id'], $condition);
if (!DBA::isResult($contact)) {
- logger('contact not found for dfrn_id ' . $dfrn_id);
+ Logger::log('contact not found for dfrn_id ' . $dfrn_id);
System::xmlExit(3, 'Contact not found');
}
$importer = Contact::updateSslPolicy($importer, $ssl_policy);
- logger('data: ' . $data, LOGGER_DATA);
+ Logger::log('data: ' . $data, LOGGER_DATA);
if ($dissolve == 1) {
// Relationship is dissolved permanently
Contact::remove($importer['id']);
- logger('relationship dissolved : ' . $importer['name'] . ' dissolved ' . $importer['username']);
+ Logger::log('relationship dissolved : ' . $importer['name'] . ' dissolved ' . $importer['username']);
System::xmlExit(0, 'relationship dissolved');
}
// if local rino is lower than remote rino, abort: should not happen!
// but only for $remote_rino > 1, because old code did't send rino version
if ($rino_remote > 1 && $rino < $rino_remote) {
- logger("rino version '$rino_remote' is lower than supported '$rino'");
+ Logger::log("rino version '$rino_remote' is lower than supported '$rino'");
System::xmlExit(0, "rino version '$rino_remote' is lower than supported '$rino'");
}
$rawkey = hex2bin(trim($key));
- logger('rino: md5 raw key: ' . md5($rawkey), LOGGER_DATA);
+ Logger::log('rino: md5 raw key: ' . md5($rawkey), LOGGER_DATA);
$final_key = '';
$data = DFRN::aesDecrypt(hex2bin($data), $final_key);
break;
default:
- logger("rino: invalid sent version '$rino_remote'");
+ Logger::log("rino: invalid sent version '$rino_remote'");
System::xmlExit(0, "Invalid sent version '$rino_remote'");
}
- logger('rino: decrypted data: ' . $data, LOGGER_DATA);
+ Logger::log('rino: decrypted data: ' . $data, LOGGER_DATA);
}
- logger('Importing post from ' . $importer['addr'] . ' to ' . $importer['nickname'] . ' with the RINO ' . $rino_remote . ' encryption.', LOGGER_DEBUG);
+ Logger::log('Importing post from ' . $importer['addr'] . ' to ' . $importer['nickname'] . ' with the RINO ' . $rino_remote . ' encryption.', LOGGER_DEBUG);
$ret = DFRN::import($data, $importer);
System::xmlExit($ret, 'Processed');
// Fetch the corresponding public contact
$contact = Contact::getDetailsByAddr($msg['author'], 0);
if (!$contact) {
- logger('Contact not found for address ' . $msg['author']);
+ Logger::log('Contact not found for address ' . $msg['author']);
System::xmlExit(3, 'Contact ' . $msg['author'] . ' not found');
}
// This should never fail
if (empty($importer)) {
- logger('Contact not found for address ' . $msg['author']);
+ Logger::log('Contact not found for address ' . $msg['author']);
System::xmlExit(3, 'Contact ' . $msg['author'] . ' not found');
}
- logger('Importing post from ' . $msg['author'] . ' with the public envelope.', LOGGER_DEBUG);
+ Logger::log('Importing post from ' . $msg['author'] . ' with the public envelope.', LOGGER_DEBUG);
// Now we should be able to import it
$ret = DFRN::import($msg['message'], $importer);
// Otherwise there should be a public contact
$cid = Contact::getIdForURL($msg['author']);
if (!$cid) {
- logger('Contact not found for address ' . $msg['author']);
+ Logger::log('Contact not found for address ' . $msg['author']);
System::xmlExit(3, 'Contact ' . $msg['author'] . ' not found');
}
}
// This should never fail
if (empty($importer)) {
- logger('Contact not found for address ' . $msg['author']);
+ Logger::log('Contact not found for address ' . $msg['author']);
System::xmlExit(3, 'Contact ' . $msg['author'] . ' not found');
}
- logger('Importing post from ' . $msg['author'] . ' to ' . $user['nickname'] . ' with the private envelope.', LOGGER_DEBUG);
+ Logger::log('Importing post from ' . $msg['author'] . ' to ' . $user['nickname'] . ' with the private envelope.', LOGGER_DEBUG);
// Now we should be able to import it
$ret = DFRN::import($msg['message'], $importer);
$type = "";
$last_update = "";
- logger('new notification dfrn_id=' . $dfrn_id);
+ Logger::log('new notification dfrn_id=' . $dfrn_id);
$direction = (-1);
if (strpos($dfrn_id,':') == 1) {
'type' => $type, 'last_update' => $last_update];
DBA::insert('challenge', $fields);
- logger('challenge=' . $hash, LOGGER_DATA);
+ Logger::log('challenge=' . $hash, LOGGER_DATA);
$user = DBA::selectFirst('user', ['uid'], ['nickname' => $a->argv[1]]);
if (!DBA::isResult($user)) {
- logger('User not found for nickname ' . $a->argv[1]);
+ Logger::log('User not found for nickname ' . $a->argv[1]);
killme();
}
$contact = DBA::selectFirst('contact', ['id'], $condition);
if (!DBA::isResult($contact)) {
- logger('contact not found for dfrn_id ' . $dfrn_id);
+ Logger::log('contact not found for dfrn_id ' . $dfrn_id);
System::xmlExit(3, 'Contact not found');
}
// $importer in this case contains the contact record for the remote contact joined with the user record of our user.
$importer = DFRN::getImporter($contact['id'], $user['uid']);
if (empty($importer)) {
- logger('No importer data found for user ' . $a->argv[1] . ' and contact ' . $dfrn_id);
+ Logger::log('No importer data found for user ' . $a->argv[1] . ' and contact ' . $dfrn_id);
killme();
}
- logger("Remote rino version: ".$rino_remote." for ".$importer["url"], LOGGER_DATA);
+ Logger::log("Remote rino version: ".$rino_remote." for ".$importer["url"], LOGGER_DATA);
$challenge = '';
$encrypted_id = '';
$rino = Config::get('system', 'rino_encrypt');
$rino = intval($rino);
- logger("Local rino version: ". $rino, LOGGER_DATA);
+ Logger::log("Local rino version: ". $rino, LOGGER_DATA);
// if requested rino is lower than enabled local rino, lower local rino version
// if requested rino is higher than enabled local rino, reply with local rino
use Friendica\App;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Module\Login;
$user = $r[0]['nickname'];
}
- logger('dfrn_poll: public feed request from ' . $_SERVER['REMOTE_ADDR'] . ' for ' . $user);
+ Logger::log('dfrn_poll: public feed request from ' . $_SERVER['REMOTE_ADDR'] . ' for ' . $user);
header("Content-type: application/atom+xml");
echo DFRN::feed('', $user, $last_update, 0, $hidewall);
killme();
if (DBA::isResult($r)) {
$s = Network::fetchUrl($r[0]['poll'] . '?dfrn_id=' . $my_id . '&type=profile-check');
- logger("dfrn_poll: old profile returns " . $s, LOGGER_DATA);
+ Logger::log("dfrn_poll: old profile returns " . $s, LOGGER_DATA);
if (strlen($s)) {
$xml = XML::parseString($s);
}
if ($final_dfrn_id != $orig_id) {
- logger('profile_check: ' . $final_dfrn_id . ' != ' . $orig_id, LOGGER_DEBUG);
+ Logger::log('profile_check: ' . $final_dfrn_id . ' != ' . $orig_id, LOGGER_DEBUG);
// did not decode properly - cannot trust this site
System::xmlExit(3, 'Bad decryption');
}
if ($ptype === 'profile-check') {
if (strlen($challenge) && strlen($sec)) {
- logger('dfrn_poll: POST: profile-check');
+ Logger::log('dfrn_poll: POST: profile-check');
DBA::delete('profile_check', ["`expire` < ?", time()]);
$r = q("SELECT * FROM `profile_check` WHERE `sec` = '%s' ORDER BY `expire` DESC LIMIT 1",
}
if ($final_dfrn_id != $orig_id) {
- logger('profile_check: ' . $final_dfrn_id . ' != ' . $orig_id, LOGGER_DEBUG);
+ Logger::log('profile_check: ' . $final_dfrn_id . ' != ' . $orig_id, LOGGER_DEBUG);
// did not decode properly - cannot trust this site
System::xmlExit(3, 'Bad decryption');
}
// NOTREACHED
} else {
// Update the writable flag if it changed
- logger('dfrn_poll: post request feed: ' . print_r($_POST, true), LOGGER_DATA);
+ Logger::log('dfrn_poll: post request feed: ' . print_r($_POST, true), LOGGER_DATA);
if ($dfrn_version >= 2.21) {
if ($perm === 'rw') {
$writable = 1;
])->getBody();
}
- logger("dfrn_poll: sec profile: " . $s, LOGGER_DATA);
+ Logger::log("dfrn_poll: sec profile: " . $s, LOGGER_DATA);
if (strlen($s) && strstr($s, '<?xml')) {
$xml = XML::parseString($s);
- logger('dfrn_poll: profile: parsed xml: ' . print_r($xml, true), LOGGER_DATA);
+ Logger::log('dfrn_poll: profile: parsed xml: ' . print_r($xml, true), LOGGER_DATA);
- logger('dfrn_poll: secure profile: challenge: ' . $xml->challenge . ' expecting ' . $hash);
- logger('dfrn_poll: secure profile: sec: ' . $xml->sec . ' expecting ' . $sec);
+ Logger::log('dfrn_poll: secure profile: challenge: ' . $xml->challenge . ' expecting ' . $hash);
+ Logger::log('dfrn_poll: secure profile: sec: ' . $xml->sec . ' expecting ' . $sec);
if (((int) $xml->status == 0) && ($xml->challenge == $hash) && ($xml->sec == $sec)) {
$_SESSION['authenticated'] = 1;
use Friendica\App;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Database\DBA;
function dfrn_request_post(App $a)
{
if (($a->argc != 2) || (!count($a->profile))) {
- logger('Wrong count of argc or profiles: argc=' . $a->argc . ',profile()=' . count($a->profile));
+ Logger::log('Wrong count of argc or profiles: argc=' . $a->argc . ',profile()=' . count($a->profile));
return;
}
$network = Protocol::DFRN;
}
- logger('dfrn_request: url: ' . $url . ',network=' . $network, LOGGER_DEBUG);
+ Logger::log('dfrn_request: url: ' . $url . ',network=' . $network, LOGGER_DEBUG);
if ($network === Protocol::DFRN) {
$ret = q("SELECT * FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `self` = 0 LIMIT 1",
use Friendica\Core\ACL;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Database\DBA;
}
if (!empty($_SERVER['HTTP_ACCEPT']) && strstr($_SERVER['HTTP_ACCEPT'], 'application/atom+xml')) {
- logger('Directly serving XML for id '.$item["id"], LOGGER_DEBUG);
+ Logger::log('Directly serving XML for id '.$item["id"], LOGGER_DEBUG);
displayShowFeed($item["id"], false);
}
use Friendica\Content\Widget\CalendarExport;
use Friendica\Core\ACL;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
function events_post(App $a)
{
- logger('post: ' . print_r($_REQUEST, true), LOGGER_DATA);
+ Logger::log('post: ' . print_r($_REQUEST, true), LOGGER_DATA);
if (!local_user()) {
return;
*/
use Friendica\App;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\PConfig;
require_once 'include/items.php';
$term = unxmlify(trim(defaults($_GET, 'term', '')));
$item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
- logger('filer: tag ' . $term . ' item ' . $item_id);
+ Logger::log('filer: tag ' . $term . ' item ' . $item_id);
if ($item_id && strlen($term)) {
// file item
<?php
use Friendica\App;
+use Friendica\Core\Logger;
use Friendica\Core\System;
function filerm_content(App $a) {
$item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
- logger('filerm: tag ' . $term . ' item ' . $item_id);
+ Logger::log('filerm: tag ' . $term . ' item ' . $item_id);
if ($item_id && strlen($term)) {
file_tag_unsave_file(local_user(),$item_id,$term, $category);
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;
Addon::callHooks('post_local_start', $_REQUEST);
- logger('postvars ' . print_r($_REQUEST, true), LOGGER_DATA);
+ Logger::log('postvars ' . print_r($_REQUEST, true), LOGGER_DATA);
$api_source = defaults($_REQUEST, 'api_source', false);
*/
if (!$preview && !empty($_REQUEST['post_id_random'])) {
if (!empty($_SESSION['post-random']) && $_SESSION['post-random'] == $_REQUEST['post_id_random']) {
- logger("item post: duplicate post", LOGGER_DEBUG);
+ Logger::log("item post: duplicate post", LOGGER_DEBUG);
item_post_return(System::baseUrl(), $api_source, $return_path);
} else {
$_SESSION['post-random'] = $_REQUEST['post_id_random'];
}
if ($parent) {
- logger('mod_item: item_post parent=' . $parent);
+ Logger::log('mod_item: item_post parent=' . $parent);
}
$post_id = intval(defaults($_REQUEST, 'post_id', 0));
// Check for multiple posts with the same message id (when the post was created via API)
if (($message_id != '') && ($profile_uid != 0)) {
if (Item::exists(['uri' => $message_id, 'uid' => $profile_uid])) {
- logger("Message with URI ".$message_id." already exists for user ".$profile_uid, LOGGER_DEBUG);
+ Logger::log("Message with URI ".$message_id." already exists for user ".$profile_uid, LOGGER_DEBUG);
return 0;
}
}
$datarray["author-network"] = Protocol::DFRN;
$o = conversation($a, [array_merge($contact_record, $datarray)], new Pager($a->query_string), 'search', false, true);
- logger('preview: ' . $o);
+ Logger::log('preview: ' . $o);
echo json_encode(['preview' => $o]);
exit();
}
Addon::callHooks('post_local',$datarray);
if (!empty($datarray['cancel'])) {
- logger('mod_item: post cancelled by addon.');
+ Logger::log('mod_item: post cancelled by addon.');
if ($return_path) {
$a->internalRedirect($return_path);
}
file_tag_update_pconfig($uid,$categories_old,$categories_new,'category');
if (!empty($_REQUEST['return']) && strlen($return_path)) {
- logger('return: ' . $return_path);
+ Logger::log('return: ' . $return_path);
$a->internalRedirect($return_path);
}
killme();
$post_id = Item::insert($datarray);
if (!$post_id) {
- logger("Item wasn't stored.");
+ Logger::log("Item wasn't stored.");
$a->internalRedirect($return_path);
}
$datarray = Item::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
if (!DBA::isResult($datarray)) {
- logger("Item with id ".$post_id." couldn't be fetched.");
+ Logger::log("Item with id ".$post_id." couldn't be fetched.");
$a->internalRedirect($return_path);
}
// We don't fork a new process since this is done anyway with the following command
Worker::add(['priority' => PRIORITY_HIGH, 'dont_fork' => true], "CreateShadowEntry", $post_id);
- logger('post_complete');
+ Logger::log('post_complete');
if ($api_source) {
return $post_id;
$json['reload'] = $baseurl . '/' . $_REQUEST['jsreload'];
}
- logger('post_json: ' . print_r($json, true), LOGGER_DEBUG);
+ Logger::log('post_json: ' . print_r($json, true), LOGGER_DEBUG);
echo json_encode($json);
killme();
use Friendica\Core\Config;
use Friendica\Core\Hook;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
$_SESSION['network_last_date'] = $tag_top_limit;
}
- logger('Tagged items: ' . count($data) . ' - ' . $bottom_limit . ' - ' . $top_limit . ' - ' . local_user().' - '.(int)$update);
+ Logger::log('Tagged items: ' . count($data) . ' - ' . $bottom_limit . ' - ' . $top_limit . ' - ' . local_user().' - '.(int)$update);
$s = [];
foreach ($r as $item) {
$s[$item['uri']] = $item;
use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Util\Network;
return;
}
- logger('cron_start');
+ Logger::log('cron_start');
$users = q("SELECT `user`.`uid`, `user`.`login_date`, `contact`.`last-item`
FROM `user`
Config::set('nodeinfo', 'active_users_halfyear', $active_users_halfyear);
Config::set('nodeinfo', 'active_users_monthly', $active_users_monthly);
- logger('total_users: ' . $total_users . '/' . $active_users_halfyear. '/' . $active_users_monthly, LOGGER_DEBUG);
+ Logger::log('total_users: ' . $total_users . '/' . $active_users_halfyear. '/' . $active_users_monthly, LOGGER_DEBUG);
}
$local_posts = DBA::count('thread', ["`wall` AND NOT `deleted` AND `uid` != 0"]);
Config::set('nodeinfo', 'local_posts', $local_posts);
- logger('local_posts: ' . $local_posts, LOGGER_DEBUG);
+ Logger::log('local_posts: ' . $local_posts, LOGGER_DEBUG);
$local_comments = DBA::count('item', ["`origin` AND `id` != `parent` AND NOT `deleted` AND `uid` != 0"]);
Config::set('nodeinfo', 'local_comments', $local_comments);
- logger('local_comments: ' . $local_comments, LOGGER_DEBUG);
+ Logger::log('local_comments: ' . $local_comments, LOGGER_DEBUG);
// Now trying to register
$url = 'http://the-federation.info/register/'.$a->getHostName();
- logger('registering url: '.$url, LOGGER_DEBUG);
+ Logger::log('registering url: '.$url, LOGGER_DEBUG);
$ret = Network::fetchUrl($url);
- logger('registering answer: '.$ret, LOGGER_DEBUG);
+ Logger::log('registering answer: '.$ret, LOGGER_DEBUG);
- logger('cron_end');
+ Logger::log('cron_end');
}
use Friendica\Core\Authentication;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
if($noid)
$a->internalRedirect();
- logger('mod_openid ' . print_r($_REQUEST,true), LOGGER_DATA);
+ Logger::log('mod_openid ' . print_r($_REQUEST,true), LOGGER_DATA);
if((x($_GET,'openid_mode')) && (x($_SESSION,'openid'))) {
$authid = $_REQUEST['openid_identity'];
if(! strlen($authid)) {
- logger(L10n::t('OpenID protocol error. No ID returned.') . EOL);
+ Logger::log(L10n::t('OpenID protocol error. No ID returned.') . EOL);
$a->internalRedirect();
}
*/
use Friendica\App;
use Friendica\Core\Addon;
+use Friendica\Core\Logger;
use Friendica\Util\Network;
use Friendica\Util\ParseUrl;
}
}
- logger($url);
+ Logger::log($url);
// Check if the URL is an image, video or audio file. If so format
// the URL with the corresponding BBCode media tag
$result = sprintf($template, $url, ($title) ? $title : $url, $text) . $str_tags;
- logger('(unparsed): returns: ' . $result);
+ Logger::log('(unparsed): returns: ' . $result);
echo $result;
exit();
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
function photos_post(App $a)
{
- logger('mod-photos: photos_post: begin' , LOGGER_DEBUG);
- logger('mod_photos: REQUEST ' . print_r($_REQUEST, true), LOGGER_DATA);
- logger('mod_photos: FILES ' . print_r($_FILES, true), LOGGER_DATA);
+ Logger::log('mod-photos: photos_post: begin' , LOGGER_DEBUG);
+ Logger::log('mod_photos: REQUEST ' . print_r($_REQUEST, true), LOGGER_DATA);
+ Logger::log('mod_photos: FILES ' . print_r($_FILES, true), LOGGER_DATA);
$phototypes = Image::supportedTypes();
if (!$owner_record) {
notice(L10n::t('Contact information unavailable') . EOL);
- logger('photos_post: unable to locate contact record for page owner. uid=' . $page_owner_uid);
+ Logger::log('photos_post: unable to locate contact record for page owner. uid=' . $page_owner_uid);
killme();
}
}
if (!empty($_POST['rotate']) && (intval($_POST['rotate']) == 1 || intval($_POST['rotate']) == 2)) {
- logger('rotate');
+ Logger::log('rotate');
$r = q("SELECT * FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d AND `scale` = 0 LIMIT 1",
DBA::escape($resource_id),
$album = !empty($_REQUEST['album']) ? notags(trim($_REQUEST['album'])) : '';
$newalbum = !empty($_REQUEST['newalbum']) ? notags(trim($_REQUEST['newalbum'])) : '';
- logger('mod/photos.php: photos_post(): album= ' . $album . ' newalbum= ' . $newalbum , LOGGER_DEBUG);
+ Logger::log('mod/photos.php: photos_post(): album= ' . $album . ' newalbum= ' . $newalbum , LOGGER_DEBUG);
if (!strlen($album)) {
if (strlen($newalbum)) {
$type = Image::guessType($filename);
}
- logger('photos: upload: received file: ' . $filename . ' as ' . $src . ' ('. $type . ') ' . $filesize . ' bytes', LOGGER_DEBUG);
+ Logger::log('photos: upload: received file: ' . $filename . ' as ' . $src . ' ('. $type . ') ' . $filesize . ' bytes', LOGGER_DEBUG);
$maximagesize = Config::get('system', 'maximagesize');
return;
}
- logger('mod/photos.php: photos_post(): loading the contents of ' . $src , LOGGER_DEBUG);
+ Logger::log('mod/photos.php: photos_post(): loading the contents of ' . $src , LOGGER_DEBUG);
$imagedata = @file_get_contents($src);
$image = new Image($imagedata, $type);
if (!$image->isValid()) {
- logger('mod/photos.php: photos_post(): unable to process image' , LOGGER_DEBUG);
+ Logger::log('mod/photos.php: photos_post(): unable to process image' , LOGGER_DEBUG);
notice(L10n::t('Unable to process image.') . EOL);
@unlink($src);
$foo = 0;
$r = Photo::store($image, $page_owner_uid, $visitor, $photo_hash, $filename, $album, 0 , 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
if (!$r) {
- logger('mod/photos.php: photos_post(): image store failed', LOGGER_DEBUG);
+ Logger::log('mod/photos.php: photos_post(): image store failed', LOGGER_DEBUG);
notice(L10n::t('Image upload failed.') . EOL);
killme();
}
use Friendica\Content\Text\BBCode;
use Friendica\Core\Cache;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Database\DBA;
$itemsPerPage = ((x($_GET, 'count') && intval($_GET['count'])) ? intval($_GET['count']) : $totalResults);
if ($global) {
- logger("Start global query", LOGGER_DEBUG);
+ Logger::log("Start global query", LOGGER_DEBUG);
$contacts = q("SELECT * FROM `gcontact` WHERE `updated` > '%s' AND NOT `hide` AND `network` IN ('%s', '%s', '%s') AND `updated` > `last_failure`
ORDER BY `updated` DESC LIMIT %d, %d",
DBA::escape($update_limit),
intval($itemsPerPage)
);
} elseif ($system_mode) {
- logger("Start system mode query", LOGGER_DEBUG);
+ Logger::log("Start system mode query", LOGGER_DEBUG);
$contacts = q("SELECT `contact`.*, `profile`.`about` AS `pabout`, `profile`.`locality` AS `plocation`, `profile`.`pub_keywords`,
`profile`.`gender` AS `pgender`, `profile`.`address` AS `paddress`, `profile`.`region` AS `pregion`,
`profile`.`postal-code` AS `ppostalcode`, `profile`.`country-name` AS `pcountry`, `user`.`account-type`
intval($itemsPerPage)
);
} else {
- logger("Start query for user " . $user['nickname'], LOGGER_DEBUG);
+ Logger::log("Start query for user " . $user['nickname'], LOGGER_DEBUG);
$contacts = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
AND (`success_update` >= `failure_update` OR `last-item` >= `failure_update`)
AND `network` IN ('%s', '%s', '%s', '%s') $sql_extra LIMIT %d, %d",
intval($itemsPerPage)
);
}
- logger("Query done", LOGGER_DEBUG);
+ Logger::log("Query done", LOGGER_DEBUG);
$ret = [];
if (x($_GET, 'sorted')) {
} else {
System::httpExit(500);
}
- logger("End of poco", LOGGER_DEBUG);
+ Logger::log("End of poco", LOGGER_DEBUG);
if ($format === 'xml') {
header('Content-type: text/xml');
use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
$parent = (x($_GET,'parent') ? intval($_GET['parent']) : 0);
- logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG);
+ Logger::log('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG);
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
);
if (!DBA::isResult($r)) {
- logger('poke: no contact ' . $contact_id);
+ Logger::log('poke: no contact ' . $contact_id);
return;
}
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Database\DBA;
if (DBA::isResult($r)) {
$a->internalRedirect('profile/' . $r[0]['nickname']);
} else {
- logger('profile error: mod_profile ' . $a->query_string, LOGGER_DEBUG);
+ Logger::log('profile error: mod_profile ' . $a->query_string, LOGGER_DEBUG);
notice(L10n::t('Requested profile is not available.') . EOL);
$a->error = 404;
return;
<?php
use Friendica\App;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
$hub_lease = notags(trim(defaults($_GET, 'hub_lease_seconds', '')));
$hub_verify = notags(trim(defaults($_GET, 'hub_verify_token', '')));
- logger('Subscription from ' . $_SERVER['REMOTE_ADDR'] . ' Mode: ' . $hub_mode . ' Nick: ' . $nick);
- logger('Data: ' . print_r($_GET,true), LOGGER_DATA);
+ Logger::log('Subscription from ' . $_SERVER['REMOTE_ADDR'] . ' Mode: ' . $hub_mode . ' Nick: ' . $nick);
+ Logger::log('Data: ' . print_r($_GET,true), LOGGER_DATA);
$subscribe = (($hub_mode === 'subscribe') ? 1 : 0);
$owner = DBA::selectFirst('user', ['uid'], ['nickname' => $nick, 'account_expired' => false, 'account_removed' => false]);
if (!DBA::isResult($owner)) {
- logger('Local account not found: ' . $nick);
+ Logger::log('Local account not found: ' . $nick);
hub_return(false, '');
}
$contact = DBA::selectFirst('contact', ['id', 'poll'], $condition);
if (!DBA::isResult($contact)) {
- logger('Contact ' . $contact_id . ' not found.');
+ Logger::log('Contact ' . $contact_id . ' not found.');
hub_return(false, '');
}
if (!empty($hub_topic) && !link_compare($hub_topic, $contact['poll'])) {
- logger('Hub topic ' . $hub_topic . ' != ' . $contact['poll']);
+ Logger::log('Hub topic ' . $hub_topic . ' != ' . $contact['poll']);
hub_return(false, '');
}
// Don't allow outsiders to unsubscribe us.
if (($hub_mode === 'unsubscribe') && empty($hub_verify)) {
- logger('Bogus unsubscribe');
+ Logger::log('Bogus unsubscribe');
hub_return(false, '');
}
if (!empty($hub_mode)) {
DBA::update('contact', ['subhub' => $subscribe], ['id' => $contact['id']]);
- logger($hub_mode . ' success for contact ' . $contact_id . '.');
+ Logger::log($hub_mode . ' success for contact ' . $contact_id . '.');
}
hub_return(true, $hub_challenge);
}
{
$xml = file_get_contents('php://input');
- logger('Feed arrived from ' . $_SERVER['REMOTE_ADDR'] . ' for ' . $a->cmd . ' with user-agent: ' . $_SERVER['HTTP_USER_AGENT']);
- logger('Data: ' . $xml, LOGGER_DATA);
+ Logger::log('Feed arrived from ' . $_SERVER['REMOTE_ADDR'] . ' for ' . $a->cmd . ' with user-agent: ' . $_SERVER['HTTP_USER_AGENT']);
+ Logger::log('Data: ' . $xml, LOGGER_DATA);
$nick = (($a->argc > 1) ? notags(trim($a->argv[1])) : '');
$contact_id = (($a->argc > 2) ? intval($a->argv[2]) : 0 );
if (!empty($author['contact-id'])) {
$condition = ['id' => $author['contact-id'], 'uid' => $importer['uid'], 'subhub' => true, 'blocked' => false];
$contact = DBA::selectFirst('contact', [], $condition);
- logger('No record for ' . $nick .' with contact id ' . $contact_id . ' - using '.$author['contact-id'].' instead.');
+ Logger::log('No record for ' . $nick .' with contact id ' . $contact_id . ' - using '.$author['contact-id'].' instead.');
}
if (!DBA::isResult($contact)) {
- logger('Contact ' . $author["author-link"] . ' (' . $contact_id . ') for user ' . $nick . " wasn't found - ignored. XML: " . $xml);
+ Logger::log('Contact ' . $author["author-link"] . ' (' . $contact_id . ') for user ' . $nick . " wasn't found - ignored. XML: " . $xml);
hub_post_return();
}
}
if (!in_array($contact['rel'], [Contact::SHARING, Contact::FRIEND]) && ($contact['network'] != Protocol::FEED)) {
- logger('Contact ' . $contact['id'] . ' is not expected to share with us - ignored.');
+ Logger::log('Contact ' . $contact['id'] . ' is not expected to share with us - ignored.');
hub_post_return();
}
hub_post_return();
}
- logger('Import item for ' . $nick . ' from ' . $contact['nick'] . ' (' . $contact['id'] . ')');
+ Logger::log('Import item for ' . $nick . ' from ' . $contact['nick'] . ' (' . $contact['id'] . ')');
$feedhub = '';
consume_feed($xml, $importer, $contact, $feedhub);
use Friendica\App;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\PushSubscriber;
} elseif ($hub_mode === 'unsubscribe') {
$subscribe = 0;
} else {
- logger("Invalid hub_mode=$hub_mode, ignoring.");
+ Logger::log("Invalid hub_mode=$hub_mode, ignoring.");
System::httpExit(404);
}
- logger("$hub_mode request from " . $_SERVER['REMOTE_ADDR']);
+ Logger::log("$hub_mode request from " . $_SERVER['REMOTE_ADDR']);
// get the nick name from the topic, a bit hacky but needed as a fallback
$nick = substr(strrchr($hub_topic, "/"), 1);
}
if (!$nick) {
- logger('Bad hub_topic=$hub_topic, ignoring.');
+ Logger::log('Bad hub_topic=$hub_topic, ignoring.');
System::httpExit(404);
}
$condition = ['nickname' => $nick, 'account_expired' => false, 'account_removed' => false];
$owner = DBA::selectFirst('user', ['uid', 'hidewall'], $condition);
if (!DBA::isResult($owner)) {
- logger('Local account not found: ' . $nick . ' - topic: ' . $hub_topic . ' - callback: ' . $hub_callback);
+ Logger::log('Local account not found: ' . $nick . ' - topic: ' . $hub_topic . ' - callback: ' . $hub_callback);
System::httpExit(404);
}
// abort if user's wall is supposed to be private
if ($owner['hidewall']) {
- logger('Local user ' . $nick . 'has chosen to hide wall, ignoring.');
+ Logger::log('Local user ' . $nick . 'has chosen to hide wall, ignoring.');
System::httpExit(403);
}
'pending' => false, 'self' => true];
$contact = DBA::selectFirst('contact', ['poll'], $condition);
if (!DBA::isResult($contact)) {
- logger('Self contact for user ' . $owner['uid'] . ' not found.');
+ Logger::log('Self contact for user ' . $owner['uid'] . ' not found.');
System::httpExit(404);
}
// sanity check that topic URLs are the same
$hub_topic2 = str_replace('/feed/', '/dfrn_poll/', $hub_topic);
if (!link_compare($hub_topic, $contact['poll']) && !link_compare($hub_topic2, $contact['poll'])) {
- logger('Hub topic ' . $hub_topic . ' != ' . $contact['poll']);
+ Logger::log('Hub topic ' . $hub_topic . ' != ' . $contact['poll']);
System::httpExit(404);
}
// give up if the HTTP return code wasn't a success (2xx)
if ($ret < 200 || $ret > 299) {
- logger("Subscriber verification for $hub_topic at $hub_callback returned $ret, ignoring.");
+ Logger::log("Subscriber verification for $hub_topic at $hub_callback returned $ret, ignoring.");
System::httpExit(404);
}
// check that the correct hub_challenge code was echoed back
if (trim($body) !== $hub_challenge) {
- logger("Subscriber did not echo back hub.challenge, ignoring.");
- logger("\"$hub_challenge\" != \"".trim($body)."\"");
+ Logger::log("Subscriber did not echo back hub.challenge, ignoring.");
+ Logger::log("\"$hub_challenge\" != \"".trim($body)."\"");
System::httpExit(404);
}
use Friendica\App;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Protocol\Diaspora;
{
$enabled = intval(Config::get('system', 'diaspora_enabled'));
if (!$enabled) {
- logger('mod-diaspora: disabled');
+ Logger::log('mod-diaspora: disabled');
System::httpExit(500);
}
// It is an application/x-www-form-urlencoded
- logger('mod-diaspora: receiving post', LOGGER_DEBUG);
+ Logger::log('mod-diaspora: receiving post', LOGGER_DEBUG);
if (empty($_POST['xml'])) {
$postdata = file_get_contents("php://input");
System::httpExit(500);
}
- logger('mod-diaspora: message is in the new format', LOGGER_DEBUG);
+ Logger::log('mod-diaspora: message is in the new format', LOGGER_DEBUG);
$msg = Diaspora::decodeRaw($importer, $postdata);
} else {
$xml = urldecode($_POST['xml']);
- logger('mod-diaspora: decode message in the old format', LOGGER_DEBUG);
+ Logger::log('mod-diaspora: decode message in the old format', LOGGER_DEBUG);
$msg = Diaspora::decode($importer, $xml);
if ($public && !$msg) {
- logger('mod-diaspora: decode message in the new format', LOGGER_DEBUG);
+ Logger::log('mod-diaspora: decode message in the new format', LOGGER_DEBUG);
$msg = Diaspora::decodeRaw($importer, $xml);
}
}
- logger('mod-diaspora: decoded', LOGGER_DEBUG);
+ Logger::log('mod-diaspora: decoded', LOGGER_DEBUG);
- logger('mod-diaspora: decoded msg: ' . print_r($msg, true), LOGGER_DATA);
+ Logger::log('mod-diaspora: decoded msg: ' . print_r($msg, true), LOGGER_DATA);
if (!is_array($msg)) {
System::httpExit(500);
}
- logger('mod-diaspora: dispatching', LOGGER_DEBUG);
+ Logger::log('mod-diaspora: dispatching', LOGGER_DEBUG);
$ret = true;
if ($public) {
use Friendica\App;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Database\DBA;
if (!empty($a->contact['id']) && $a->contact['id'] == $cid) {
// Local user is already authenticated.
$target_url = defaults($url, $contact_url);
- logger($contact['name'] . " is already authenticated. Redirecting to " . $target_url, LOGGER_DEBUG);
+ Logger::log($contact['name'] . " is already authenticated. Redirecting to " . $target_url, LOGGER_DEBUG);
$a->redirect($target_url);
}
}
if ($v['uid'] == $_SESSION['visitor_visiting'] && $v['cid'] == $_SESSION['visitor_id']) {
// Remote user is already authenticated.
$target_url = defaults($url, $contact_url);
- logger($contact['name'] . " is already authenticated. Redirecting to " . $target_url, LOGGER_DEBUG);
+ Logger::log($contact['name'] . " is already authenticated. Redirecting to " . $target_url, LOGGER_DEBUG);
$a->redirect($target_url);
}
}
'sec' => $sec, 'expire' => time() + 45];
DBA::insert('profile_check', $fields);
- logger('mod_redir: ' . $contact['name'] . ' ' . $sec, LOGGER_DEBUG);
+ Logger::log('mod_redir: ' . $contact['name'] . ' ' . $sec, LOGGER_DEBUG);
$dest = (!empty($url) ? '&destination_url=' . $url : '');
$url .= $separator . 'zrl=' . urlencode($my_profile);
}
- logger('redirecting to ' . $url, LOGGER_DEBUG);
+ Logger::log('redirecting to ' . $url, LOGGER_DEBUG);
$a->redirect($url);
}
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Core\Worker;
if ($max_dailies) {
$r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day");
if ($r && $r[0]['total'] >= $max_dailies) {
- logger('max daily registrations exceeded.');
+ Logger::log('max daily registrations exceeded.');
notice(L10n::t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.') . EOL);
return;
}
* @file mod/salmon.php
*/
use Friendica\App;
+use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\Protocol;
use Friendica\Core\System;
$xml = file_get_contents('php://input');
}
- logger('new salmon ' . $xml, LOGGER_DATA);
+ Logger::log('new salmon ' . $xml, LOGGER_DATA);
$nick = (($a->argc > 1) ? notags(trim($a->argv[1])) : '');
$mentions = (($a->argc > 2 && $a->argv[2] === 'mention') ? true : false);
$base = $dom;
if (empty($base)) {
- logger('unable to locate salmon data in xml ');
+ Logger::log('unable to locate salmon data in xml ');
System::httpExit(400);
}
$author_link = $author["author-link"];
if(! $author_link) {
- logger('Could not retrieve author URI.');
+ Logger::log('Could not retrieve author URI.');
System::httpExit(400);
}
// Once we have the author URI, go to the web and try to find their public key
- logger('Fetching key for ' . $author_link);
+ Logger::log('Fetching key for ' . $author_link);
$key = Salmon::getKey($author_link, $keyhash);
if(! $key) {
- logger('Could not retrieve author key.');
+ Logger::log('Could not retrieve author key.');
System::httpExit(400);
}
$m = base64url_decode($key_info[1]);
$e = base64url_decode($key_info[2]);
- logger('key details: ' . print_r($key_info,true), LOGGER_DEBUG);
+ Logger::log('key details: ' . print_r($key_info,true), LOGGER_DEBUG);
$pubkey = Crypto::meToPem($m, $e);
$mode = 1;
if (! $verify) {
- logger('message did not verify using protocol. Trying compliant format.');
+ Logger::log('message did not verify using protocol. Trying compliant format.');
$verify = Crypto::rsaVerify($compliant_format, $signature, $pubkey);
$mode = 2;
}
if (! $verify) {
- logger('message did not verify using padding. Trying old statusnet format.');
+ Logger::log('message did not verify using padding. Trying old statusnet format.');
$verify = Crypto::rsaVerify($stnet_signed_data, $signature, $pubkey);
$mode = 3;
}
if (! $verify) {
- logger('Message did not verify. Discarding.');
+ Logger::log('Message did not verify. Discarding.');
System::httpExit(400);
}
- logger('Message verified with mode '.$mode);
+ Logger::log('Message verified with mode '.$mode);
/*
);
if (!DBA::isResult($r)) {
- logger('Author ' . $author_link . ' unknown to user ' . $importer['uid'] . '.');
+ Logger::log('Author ' . $author_link . ' unknown to user ' . $importer['uid'] . '.');
if (PConfig::get($importer['uid'], 'system', 'ostatus_autofriend')) {
$result = Contact::createFromProbe($importer['uid'], $author_link);
//if((DBA::isResult($r)) && (($r[0]['readonly']) || ($r[0]['rel'] == Contact::FOLLOWER) || ($r[0]['blocked']))) {
if (DBA::isResult($r) && $r[0]['blocked']) {
- logger('Ignoring this author.');
+ Logger::log('Ignoring this author.');
System::httpExit(202);
// NOTREACHED
}
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\Item;
$pager = new Pager($a->query_string);
if ($tag) {
- logger("Start tag search for '".$search."'", LOGGER_DEBUG);
+ Logger::log("Start tag search for '".$search."'", LOGGER_DEBUG);
$condition = ["(`uid` = 0 OR (`uid` = ? AND NOT `global`))
AND `otype` = ? AND `type` = ? AND `term` = ?",
$r = [];
}
} else {
- logger("Start fulltext search for '".$search."'", LOGGER_DEBUG);
+ Logger::log("Start fulltext search for '".$search."'", LOGGER_DEBUG);
$condition = ["(`uid` = 0 OR (`uid` = ? AND NOT `global`))
AND `body` LIKE CONCAT('%',?,'%')",
'$title' => $title
]);
- logger("Start Conversation for '".$search."'", LOGGER_DEBUG);
+ Logger::log("Start Conversation for '".$search."'", LOGGER_DEBUG);
$o .= conversation($a, $r, $pager, 'search', false, false, 'commented', local_user());
$o .= $pager->renderMinimal(count($r));
- logger("Done '".$search."'", LOGGER_DEBUG);
+ Logger::log("Done '".$search."'", LOGGER_DEBUG);
return $o;
}
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Core\Theme;
intval($mail_pubmail),
intval(local_user())
);
- logger("mail: updating mailaccount. Response: ".print_r($r, true));
+ Logger::log("mail: updating mailaccount. Response: ".print_r($r, true));
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
intval(local_user())
);
// If openid has changed or if there's an openid but no openidserver, try and discover it.
if ($openid != $a->user['openid'] || (strlen($openid) && (!strlen($openidserver)))) {
if (Network::isUrlValid($openid)) {
- logger('updating openidserver');
+ Logger::log('updating openidserver');
$open_id_obj = new LightOpenID($a->getHostName());
$open_id_obj->identity = $openid;
$openidserver = $open_id_obj->discover($open_id_obj->identity);
use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\System;
function statistics_json_init(App $a) {
header("Content-Type: application/json");
echo json_encode($statistics, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
- logger("statistics_init: printed " . print_r($statistics, true), LOGGER_DATA);
+ Logger::log("statistics_init: printed " . print_r($statistics, true), LOGGER_DATA);
killme();
}
use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Item;
$item = Item::selectFirst([], $condition);
if (empty($item_id) || !DBA::isResult($item)) {
- logger('subthread: no item ' . $item_id);
+ Logger::log('subthread: no item ' . $item_id);
return;
}
}
if (!$owner) {
- logger('like: no owner');
+ Logger::log('like: no owner');
return;
}
use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
$item_id = (($a->argc > 1) ? notags(trim($a->argv[1])) : 0);
- logger('tagger: tag ' . $term . ' item ' . $item_id);
+ Logger::log('tagger: tag ' . $term . ' item ' . $item_id);
$item = Item::selectFirst([], ['id' => $item_id]);
if (!$item_id || !DBA::isResult($item)) {
- logger('tagger: no item ' . $item_id);
+ Logger::log('tagger: no item ' . $item_id);
return;
}
if (DBA::isResult($r)) {
$contact = $r[0];
} else {
- logger('tagger: no contact_id');
+ Logger::log('tagger: no contact_id');
return;
}
use Friendica\App;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\UserImport;
function uimport_post(App $a)
if ($max_dailies) {
$r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day");
if ($r && $r[0]['total'] >= $max_dailies) {
- logger('max daily registrations exceeded.');
+ Logger::log('max daily registrations exceeded.');
notice(L10n::t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.') . EOL);
return;
}
use Friendica\App;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Config;
use Friendica\Database\DBA;
function wall_upload_post(App $a, $desktopmode = true)
{
- logger("wall upload: starting new upload", LOGGER_DEBUG);
+ Logger::log("wall upload: starting new upload", LOGGER_DEBUG);
$r_json = (x($_GET, 'response') && $_GET['response'] == 'json');
$album = (x($_GET, 'album') ? notags(trim($_GET['album'])) : '');
$filetype = $imagedata['mime'];
}
- logger("File upload src: " . $src . " - filename: " . $filename .
+ Logger::log("File upload src: " . $src . " - filename: " . $filename .
" - size: " . $filesize . " - type: " . $filetype, LOGGER_DEBUG);
$maximagesize = Config::get('system', 'maximagesize');
}
if ($max_length > 0) {
$Image->scaleDown($max_length);
- logger("File upload: Scaling picture to new size " . $max_length, LOGGER_DEBUG);
+ Logger::log("File upload: Scaling picture to new size " . $max_length, LOGGER_DEBUG);
}
$width = $Image->getWidth();
echo json_encode(['picture' => $picture]);
killme();
}
- logger("upload done", LOGGER_DEBUG);
+ Logger::log("upload done", LOGGER_DEBUG);
return $picture;
}
- logger("upload done", LOGGER_DEBUG);
+ Logger::log("upload done", LOGGER_DEBUG);
if ($r_json) {
echo json_encode(['ok' => true]);
*/
use Friendica\App;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Mail;
);
if (! DBA::isResult($r)) {
- logger('wallmessage: no recipient');
+ Logger::log('wallmessage: no recipient');
return;
}
if (! DBA::isResult($r)) {
notice(L10n::t('No recipient.') . EOL);
- logger('wallmessage: no recipient');
+ Logger::log('wallmessage: no recipient');
return;
}
*/
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Util\DateTimeFormat;
Worker::startProcess();
- logger("Front end worker started: ".getmypid());
+ Logger::log("Front end worker started: ".getmypid());
Worker::callWorker();
Worker::endProcess();
- logger("Front end worker ended: ".getmypid());
+ Logger::log("Front end worker ended: ".getmypid());
killme();
}
$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;
}
}
$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;
$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;
}
}
$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);
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;
}
} 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']);
}
}
}
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");
namespace Friendica;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
/**
{
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);
}
{
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();
}
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;
$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)) {
$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]'
: ''),
$s
);
- logger('scale_external_images: new string: ' . $s, LOGGER_DEBUG);
+ Logger::log('scale_external_images: new string: ' . $s, LOGGER_DEBUG);
}
}
}
// 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 = '';
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;
}
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;
}
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;
}
use Friendica\App;
use Friendica\BaseObject;
+use Friendica\Core\Logger;
use Friendica\Database\DBA;
/**
*/
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');
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')) {
}
return true;
} else {
- logger("Addons: FAILED installing " . $addon);
+ Logger::log("Addons: FAILED installing " . $addon);
return false;
}
}
$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')) {
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;
}
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]);
* 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']);
}
namespace Friendica\Core\Cache;
use Friendica\Core\Cache;
+use Friendica\Core\Logger;
use Exception;
use Friendica\Network\HTTPException\InternalServerErrorException;
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 [];
}
}
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;
use Friendica\BaseObject;
use Friendica\Database\DBA;
+use Friendica\Core\Logger;
use Friendica\Core\System;
require_once 'boot.php';
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) {
* @brief Functions for preventing parallel execution of functions
*/
+use Friendica\Core\Logger;
use Friendica\Core\Cache\CacheDriverFactory;
use Friendica\Core\Cache\IMemoryCacheDriver;
}
return;
} catch (\Exception $exception) {
- logger('Using Cache driver for locking failed: ' . $exception->getMessage());
+ Logger::log('Using Cache driver for locking failed: ' . $exception->getMessage());
}
}
* @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;
/**
* @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
*
* @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();
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;
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']);
use Friendica\BaseObject;
use Friendica\Core\Cache;
+use Friendica\Core\Logger;
use Friendica\Core\Session;
use 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 '';
}
namespace Friendica\Core\Session;
use Friendica\BaseObject;
+use Friendica\Core\Logger;
use Friendica\Core\Session;
use Friendica\Database\DBA;
use SessionHandlerInterface;
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 '';
}
namespace Friendica\Core;
use Friendica\BaseObject;
+use Friendica\Core\Logger;
use Friendica\Network\HTTPException\InternalServerErrorException;
use Friendica\Util\XML;
}
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");
$err = 'OK';
}
- logger('http_status_exit ' . $val);
+ Logger::log('http_status_exit ' . $val);
header($_SERVER["SERVER_PROTOCOL"] . ' ' . $val . ' ' . $err);
if (isset($description["title"])) {
namespace Friendica\Core;
+use Friendica\Core\Logger;
use Friendica\Core\System;
require_once 'boot.php';
// 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")) {
return false;
}
- logger("Addons: installing theme $theme");
+ Logger::log("Addons: installing theme $theme");
include_once "view/theme/$theme/theme.php";
$func();
return true;
} else {
- logger("Addons: FAILED installing theme $theme");
+ Logger::log("Addons: FAILED installing theme $theme");
return false;
}
}
namespace Friendica\Core;
use Friendica\App;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Model\Photo;
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
$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;
*/
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
// 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;
}
$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;
$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();
$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();
}
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);
}
}
}
);
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);
}
}
$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);
}
}
namespace Friendica\Core;
use Friendica\BaseObject;
+use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Model\Process;
use Friendica\Util\DateTimeFormat;
// 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;
}
// 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;
}
// 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;
}
$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;
}
// 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;
}
}
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);
}
/**
// 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;
}
}
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;
}
}
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"]]);
}
$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);
* 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).
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")) {
}
}
- 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),
$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);
}
}
$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;
}
}
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;
}
// 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.
['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);
}
}
}
$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 {
++$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;
}
$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?
self::runCron();
- logger('Call worker', LOGGER_DEBUG);
+ Logger::log('Call worker', LOGGER_DEBUG);
self::spawnWorker();
return;
}
*/
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");
$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;
}
$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]);
// Please use App->getConfigVariable() instead.
//use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Util\DateTimeFormat;
use mysqli;
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);
$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.
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;
$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);
}
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;
}
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;
}
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) {
$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) {
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;
}
use Friendica\Core\Config;
use Friendica\Core\Hook;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Util\DateTimeFormat;
require_once 'boot.php';
// 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;
}
//try the logger
- logger("CRITICAL: Database structure update failed: ".$error_message);
+ Logger::log("CRITICAL: Database structure update failed: ".$error_message);
}
$errors = '';
- logger('updating structure', LOGGER_DEBUG);
+ Logger::log('updating structure', LOGGER_DEBUG);
// Get the current structure
$database = [];
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);
}
}
namespace Friendica\Database;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Model\Contact;
use Friendica\Model\Item;
return true;
}
- logger("Start", LOGGER_DEBUG);
+ Logger::log("Start", LOGGER_DEBUG);
$end_id = Config::get("system", "post_update_1194_end");
if (!$end_id) {
}
}
- logger("End ID: ".$end_id, LOGGER_DEBUG);
+ Logger::log("End ID: ".$end_id, LOGGER_DEBUG);
$start_id = Config::get("system", "post_update_1194_start");
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),
} 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);
}
/**
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`
}
Config::set("system", "post_update_version", 1206);
- logger("Done", LOGGER_DEBUG);
+ Logger::log("Done", LOGGER_DEBUG);
return true;
}
$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',
$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;
}
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
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;
}
$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'];
$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;
}
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;
}
namespace Friendica\Model;
use Friendica\BaseObject;
+use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Protocol\ActivityPub;
use Friendica\Util\Network;
// 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;
}
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;
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
*/
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;
}
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;
}
}
} 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);
}
}
// 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
$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);
namespace Friendica\Model;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Util\DateTimeFormat;
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);
}
}
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;
}
DBA::delete('event', ['id' => $event_id]);
- logger("Deleted event ".$event_id, LOGGER_DEBUG);
+ Logger::log("Deleted event ".$event_id, LOGGER_DEBUG);
}
/**
use Exception;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Core\Worker;
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'];
}
}
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;
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"];
$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;
}
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"]);
}
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"]);
// 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"]);
$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;
}
);
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;
}
*/
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";
use Friendica\BaseModule;
use Friendica\BaseObject;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Util\Security;
'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');
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;
} 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);
'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;
}
}
}
- 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;
}
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
$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;
}
$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']);
$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;
}
}
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"];
// 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;
}
$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;
}
$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;
}
}
// 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 {
* 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;
}
$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;
}
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 {
$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;
}
}
unset($item['api_source']);
if (x($item, 'cancel')) {
- logger('post cancelled by addon.');
+ Logger::log('post cancelled by addon.');
return 0;
}
*/
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'];
$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;
}
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]);
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'])) {
*/
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)) {
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);
}
}
// 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;
}
// 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');
$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);
$fields = $condition;
}
- logger('Update content for ' . json_encode($condition));
+ Logger::log('Update content for ' . json_encode($condition));
DBA::update('item-content', $fields, $condition, true);
}
$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);
}
}
$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);
}
}
$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.
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]);
}
}
}
!$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;
}
// 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]);
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;
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;
$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
// 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]);
}
}
- 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);
}
}
}
++$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)
$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;
}
}
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;
}
$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;
}
$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;
}
}
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);
}
}
$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);
}
}
}
namespace Friendica\Model;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
}
if (!$convid) {
- logger('send message: conversation not found.');
+ Logger::log('send message: conversation not found.');
return -4;
}
}
if (!$convid) {
- logger('send message: conversation not found.');
+ Logger::log('send message: conversation not found.');
return -4;
}
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;
$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;
$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;
// 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);
// 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);
}
}
// 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;
}
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)
*/
namespace Friendica\Model;
+use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Util\DateTimeFormat;
$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']);
}
'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
}
}
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
$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);
}
}
// 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);
}
}
namespace Friendica\Model;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Util\DateTimeFormat;
*/
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;
*/
public static function removeItem($id)
{
- logger('queue: remove queue item ' . $id);
+ Logger::log('queue: remove queue item ' . $id);
DBA::delete('queue', ['id' => $id]);
}
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;
}
}
'content' => $msg,
'batch' =>($batch) ? 1 : 0
]);
- logger('Added item ' . $guid . ' for ' . $cid);
+ Logger::log('Added item ' . $guid . ' for ' . $cid);
}
}
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;
$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;
$a = get_app();
- logger('Removing user: ' . $uid);
+ Logger::log('Removing user: ' . $uid);
$user = DBA::selectFirst('user', [], ['uid' => $uid]);
$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]]);
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;
);
}
} 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();
}
);
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();
}
$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();
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;
{
$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'] : '');
}
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);
}
return $ret;
}
- logger('Contact is already authenticated', LOGGER_DEBUG);
+ Logger::log('Contact is already authenticated', LOGGER_DEBUG);
System::externalRedirect($dest);
}
namespace Friendica\Module;
use Friendica\BaseModule;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
$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);
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);
}
}
}
namespace Friendica\Network;
-
+use Friendica\Core\Logger;
use Friendica\Network\HTTPException\InternalServerErrorException;
/**
$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();
$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) {
namespace Friendica\Network;
use Friendica\Core\Addon;
+use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Database\DBA;
*/
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');
}
namespace Friendica\Network;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Database\DBA;
use OAuthConsumer;
use 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);
*/
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);
*/
public function new_request_token($consumer, $callback = null)
{
- logger(__function__ . ":" . $consumer . ", " . $callback);
+ Logger::log(__function__ . ":" . $consumer . ", " . $callback);
$key = self::genToken();
$sec = self::genToken();
*/
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
// 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();
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;
$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']);
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();
$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 [];
}
self::$baseurl = "http://".$host;
- logger("Probing successful for ".$host, LOGGER_DEBUG);
+ Logger::log("Probing successful for ".$host, LOGGER_DEBUG);
return $lrdd;
}
$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) {
}
if (!$lrdd) {
- logger("No lrdd data found for ".$uri, LOGGER_DEBUG);
+ Logger::log("No lrdd data found for ".$uri, LOGGER_DEBUG);
return [];
}
}
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;
}
$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);
}
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;
}
$result = false;
- logger("Probing ".$uri, LOGGER_DEBUG);
+ Logger::log("Probing ".$uri, LOGGER_DEBUG);
if (in_array($network, ["", Protocol::DFRN])) {
$result = self::dfrn($webfinger);
$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);
$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;
// 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;
}
}
$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;
}
{
$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);
$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;
}
}
$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;
$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;
}
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;
break;
}
- // logger('exif: ' . print_r($exif,true));
+ // Logger::log('exif: ' . print_r($exif,true));
return $exif;
}
*/
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();
}
}
}
- logger('Image: guessType: type='.$type, LOGGER_DEBUG);
+ Logger::log('Image: guessType: type='.$type, LOGGER_DEBUG);
return $type;
}
);
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([]);
}
/// $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);
$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([]);
}
if (!isset($data["mime"])) {
unlink($tempfile);
- logger("File is no picture", LOGGER_DEBUG);
+ Logger::log("File is no picture", LOGGER_DEBUG);
return([]);
}
if (!$Image->isValid()) {
unlink($tempfile);
- logger("Picture is no valid picture", LOGGER_DEBUG);
+ Logger::log("Picture is no valid picture", LOGGER_DEBUG);
return([]);
}
$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([]);
}
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;
{
$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;
}
/*
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;
}
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;
}
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;
}
namespace Friendica\Object;
use Friendica\BaseObject;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Object\Post;
use Friendica\Util\Security;
$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;
}
$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;
}
* 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;
}
$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;
namespace Friendica\Protocol\ActivityPub;
use Friendica\Database\DBA;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Model\Conversation;
use Friendica\Model\Contact;
}
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);
}
{
$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]);
}
}
$event_id = Event::store($event);
- logger('Event '.$event_id.' was stored', LOGGER_DEBUG);
+ Logger::log('Event '.$event_id.' was stored', LOGGER_DEBUG);
}
/**
/// @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;
}
$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'];
}
}
$item_id = Item::insert($item);
- logger('Storing for user ' . $item['uid'] . ': ' . $item_id);
+ Logger::log('Storing for user ' . $item['uid'] . ': ' . $item_id);
}
}
$object = ActivityPub::fetchContent($url);
if (empty($object)) {
- logger('Activity ' . $url . ' was not fetchable, aborting.');
+ Logger::log('Activity ' . $url . ' was not fetchable, aborting.');
return;
}
$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.');
}
/**
}
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']);
}
/**
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);
}
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;
}
}
DBA::close($contacts);
- logger('Deleted contact ' . $activity['object_id'], LOGGER_DEBUG);
+ Logger::log('Deleted contact ' . $activity['object_id'], LOGGER_DEBUG);
}
/**
$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;
}
$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);
}
/**
$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;
}
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);
}
}
$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;
}
}
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);
}
/**
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);
}
}
use Friendica\Database\DBA;
use Friendica\Util\HTTPSignature;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Model\Contact;
use Friendica\Model\APContact;
{
$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;
}
$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;
}
{
$actor = JsonLD::fetchElement($activity, 'as:actor');
if (empty($actor)) {
- logger('Empty actor', LOGGER_DEBUG);
+ Logger::log('Empty actor', LOGGER_DEBUG);
return [];
}
$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 [];
}
}
$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
$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;
}
{
$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;
}
// $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;
}
break;
default:
- logger('Unknown activity: ' . $type . ' ' . $object_data['object_type'], LOGGER_DEBUG);
+ Logger::log('Unknown activity: ' . $type . ' ' . $object_data['object_type'], LOGGER_DEBUG);
break;
}
}
$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 = '';
}
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']);
// 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);
}
}
$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;
}
return self::fetchObject($object_id);
}
- logger('Unhandled object type: ' . $type, LOGGER_DEBUG);
+ Logger::log('Unhandled object type: ' . $type, LOGGER_DEBUG);
}
/**
use Friendica\BaseObject;
use Friendica\Database\DBA;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Util\HTTPSignature;
use Friendica\Core\Protocol;
$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);
}
$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);
}
$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);
}
'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);
'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);
'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);
'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);
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;
);
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();
}
);
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();
}
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;
}
}
$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 = '';
$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);
return -3; // timed out
}
- logger('dfrn_deliver: ' . $xml, LOGGER_DATA);
+ Logger::log('dfrn_deliver: ' . $xml, LOGGER_DATA);
if (empty($xml)) {
Contact::markForArchival($contact);
}
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;
}
$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;
}
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;
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:
break;
default:
- logger("rino: invalid requested version '$rino_remote_version'");
+ Logger::log("rino: invalid requested version '$rino_remote_version'");
Contact::markForArchival($contact);
return -8;
}
}
}
- 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)) {
}
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;
}
}
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)) {
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;
}
$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;
}
$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
}
}
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;
}
}
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)) {
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]');
$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;
}
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"]];
// 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.
$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',
*/
private static function processMail($xpath, $mail, $importer)
{
- logger("Processing mails");
+ Logger::log("Processing mails");
/// @TODO Rewrite this to one statement
$msg = [];
notification($notif_params);
- logger("Mail is processed, notification was sent.");
+ Logger::log("Mail is processed, notification was sent.");
}
/**
{
$a = get_app();
- logger("Processing suggestions");
+ Logger::log("Processing suggestions");
/// @TODO Rewrite this to one statement
$suggest = [];
*/
private static function processRelocation($xpath, $relocation, $importer)
{
- logger("Processing relocations");
+ Logger::log("Processing relocations");
/// @TODO Rewrite this to one statement
$relocate = [];
);
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;
}
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
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` ";
}
*/
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) {
*/
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
// 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;
}
$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;
}
*/
private static function processEntry($header, $xpath, $entry, $importer, $xml)
{
- logger("Processing entries");
+ Logger::log("Processing entries");
$item = $header;
);
// 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;
}
// 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"];
}
$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;
}
// 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;
}
$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);
}
} 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"])) {
* 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;
}
$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);
*/
private static function processDeletion($xpath, $deletion, $importer)
{
- logger("Processing deletions");
+ Logger::log("Processing deletions");
$uri = null;
foreach ($deletion->attributes as $attributes) {
$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;
}
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;
}
}
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']]);
}
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()"));
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;
}
$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);
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]);
}
}
}
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;
if (base64_encode(base64_decode(base64_decode($signature))) == base64_decode($signature)) {
$signature = base64_decode($signature);
- logger("Repaired double encoded signature from Diaspora/Hubzilla handle ".$handle." - level ".$level, LOGGER_DEBUG);
+ Logger::log("Repaired double encoded signature from Diaspora/Hubzilla handle ".$handle." - level ".$level, LOGGER_DEBUG);
// Do a recursive call to be able to fix even multiple levels
if ($level < 10) {
$basedom = XML::parseString($envelope);
if (!is_object($basedom)) {
- logger("Envelope is no XML file");
+ Logger::log("Envelope is no XML file");
return false;
}
$children = $basedom->children('http://salmon-protocol.org/ns/magic-env');
if (sizeof($children) == 0) {
- logger("XML has no children");
+ Logger::log("XML has no children");
return false;
}
$signable_data = $msg.".".base64url_encode($type).".".base64url_encode($encoding).".".base64url_encode($alg);
if ($handle == '') {
- logger('No author could be decoded. Discarding. Message: ' . $envelope);
+ Logger::log('No author could be decoded. Discarding. Message: ' . $envelope);
return false;
}
$key = self::key($handle);
if ($key == '') {
- logger("Couldn't get a key for handle " . $handle . ". Discarding.");
+ Logger::log("Couldn't get a key for handle " . $handle . ". Discarding.");
return false;
}
$verify = Crypto::rsaVerify($signable_data, $sig, $key);
if (!$verify) {
- logger('Message from ' . $handle . ' did not verify. Discarding.');
+ Logger::log('Message from ' . $handle . ' did not verify. Discarding.');
return false;
}
$j_outer_key_bundle = json_decode($outer_key_bundle);
if (!is_object($j_outer_key_bundle)) {
- logger('Outer Salmon did not verify. Discarding.');
+ Logger::log('Outer Salmon did not verify. Discarding.');
if ($no_exit) {
return false;
} else {
$basedom = XML::parseString($xml);
if (!is_object($basedom)) {
- logger('Received data does not seem to be an XML. Discarding. '.$xml);
+ Logger::log('Received data does not seem to be an XML. Discarding. '.$xml);
if ($no_exit) {
return false;
} else {
$key_id = $base->sig[0]->attributes()->key_id[0];
$author_addr = base64_decode($key_id);
if ($author_addr == '') {
- logger('No author could be decoded. Discarding. Message: ' . $xml);
+ Logger::log('No author could be decoded. Discarding. Message: ' . $xml);
if ($no_exit) {
return false;
} else {
$key = self::key($author_addr);
if ($key == '') {
- logger("Couldn't get a key for handle " . $author_addr . ". Discarding.");
+ Logger::log("Couldn't get a key for handle " . $author_addr . ". Discarding.");
if ($no_exit) {
return false;
} else {
$verify = Crypto::rsaVerify($signed_data, $signature, $key);
if (!$verify) {
- logger('Message did not verify. Discarding.');
+ Logger::log('Message did not verify. Discarding.');
if ($no_exit) {
return false;
} else {
$basedom = XML::parseString($xml);
if (!is_object($basedom)) {
- logger("XML is not parseable.");
+ Logger::log("XML is not parseable.");
return false;
}
$children = $basedom->children('https://joindiaspora.com/protocol');
} else {
// This happens with posts from a relais
if (!$importer) {
- logger("This is no private post in the old format", LOGGER_DEBUG);
+ Logger::log("This is no private post in the old format", LOGGER_DEBUG);
return false;
}
$decrypted = self::aesDecrypt($outer_key, $outer_iv, $ciphertext);
- logger('decrypted: '.$decrypted, LOGGER_DEBUG);
+ Logger::log('decrypted: '.$decrypted, LOGGER_DEBUG);
$idom = XML::parseString($decrypted);
$inner_iv = base64_decode($idom->iv);
}
if (!$base) {
- logger('unable to locate salmon data in xml');
+ Logger::log('unable to locate salmon data in xml');
System::httpExit(400);
}
}
if (!$author_link) {
- logger('Could not retrieve author URI.');
+ Logger::log('Could not retrieve author URI.');
System::httpExit(400);
}
// Once we have the author URI, go to the web and try to find their public key
// (first this will look it up locally if it is in the fcontact cache)
// This will also convert diaspora public key from pkcs#1 to pkcs#8
- logger('Fetching key for '.$author_link);
+ Logger::log('Fetching key for '.$author_link);
$key = self::key($author_link);
if (!$key) {
- logger('Could not retrieve author key.');
+ Logger::log('Could not retrieve author key.');
System::httpExit(400);
}
$verify = Crypto::rsaVerify($signed_data, $signature, $key);
if (!$verify) {
- logger('Message did not verify. Discarding.');
+ Logger::log('Message did not verify. Discarding.');
System::httpExit(400);
}
- logger('Message verified.');
+ Logger::log('Message verified.');
return ['message' => (string)$inner_decrypted,
'author' => unxmlify($author_link),
{
$enabled = intval(Config::get("system", "diaspora_enabled"));
if (!$enabled) {
- logger("diaspora is disabled");
+ Logger::log("diaspora is disabled");
return false;
}
if (!($fields = self::validPosting($msg))) {
- logger("Invalid posting");
+ Logger::log("Invalid posting");
return false;
}
if (is_null($fields)) {
$private = true;
if (!($fields = self::validPosting($msg))) {
- logger("Invalid posting");
+ Logger::log("Invalid posting");
return false;
}
} else {
$type = $fields->getName();
- logger("Received message type ".$type." from ".$sender." for user ".$importer["uid"], LOGGER_DEBUG);
+ Logger::log("Received message type ".$type." from ".$sender." for user ".$importer["uid"], LOGGER_DEBUG);
switch ($type) {
case "account_migration":
if (!$private) {
- logger('Message with type ' . $type . ' is not private, quitting.');
+ Logger::log('Message with type ' . $type . ' is not private, quitting.');
return false;
}
return self::receiveAccountMigration($importer, $fields);
case "contact":
if (!$private) {
- logger('Message with type ' . $type . ' is not private, quitting.');
+ Logger::log('Message with type ' . $type . ' is not private, quitting.');
return false;
}
return self::receiveContactRequest($importer, $fields);
case "conversation":
if (!$private) {
- logger('Message with type ' . $type . ' is not private, quitting.');
+ Logger::log('Message with type ' . $type . ' is not private, quitting.');
return false;
}
return self::receiveConversation($importer, $msg, $fields);
case "message":
if (!$private) {
- logger('Message with type ' . $type . ' is not private, quitting.');
+ Logger::log('Message with type ' . $type . ' is not private, quitting.');
return false;
}
return self::receiveMessage($importer, $fields);
case "participation":
if (!$private) {
- logger('Message with type ' . $type . ' is not private, quitting.');
+ Logger::log('Message with type ' . $type . ' is not private, quitting.');
return false;
}
return self::receiveParticipation($importer, $fields);
case "profile":
if (!$private) {
- logger('Message with type ' . $type . ' is not private, quitting.');
+ Logger::log('Message with type ' . $type . ' is not private, quitting.');
return false;
}
return self::receiveProfile($importer, $fields);
return self::receiveStatusMessage($importer, $fields, $msg["message"]);
default:
- logger("Unknown message type ".$type);
+ Logger::log("Unknown message type ".$type);
return false;
}
$data = XML::parseString($msg["message"]);
if (!is_object($data)) {
- logger("No valid XML ".$msg["message"], LOGGER_DEBUG);
+ Logger::log("No valid XML ".$msg["message"], LOGGER_DEBUG);
return false;
}
$type = $element->getName();
$orig_type = $type;
- logger("Got message type ".$type.": ".$msg["message"], LOGGER_DATA);
+ Logger::log("Got message type ".$type.": ".$msg["message"], LOGGER_DATA);
// All retractions are handled identically from now on.
// In the new version there will only be "retraction".
// This is something that shouldn't happen at all.
if (in_array($type, ["status_message", "reshare", "profile"])) {
if ($msg["author"] != $fields->author) {
- logger("Message handle is not the same as envelope sender. Quitting this message.");
+ Logger::log("Message handle is not the same as envelope sender. Quitting this message.");
return false;
}
}
}
// No author_signature? This is a must, so we quit.
if (!isset($author_signature)) {
- logger("No author signature for type ".$type." - Message: ".$msg["message"], LOGGER_DEBUG);
+ Logger::log("No author signature for type ".$type." - Message: ".$msg["message"], LOGGER_DEBUG);
return false;
}
if (isset($parent_author_signature)) {
$key = self::key($msg["author"]);
if (empty($key)) {
- logger("No key found for parent author ".$msg["author"], LOGGER_DEBUG);
+ Logger::log("No key found for parent author ".$msg["author"], LOGGER_DEBUG);
return false;
}
if (!Crypto::rsaVerify($signed_data, $parent_author_signature, $key, "sha256")) {
- logger("No valid parent author signature for parent author ".$msg["author"]. " in type ".$type." - signed data: ".$signed_data." - Message: ".$msg["message"]." - Signature ".$parent_author_signature, LOGGER_DEBUG);
+ Logger::log("No valid parent author signature for parent author ".$msg["author"]. " in type ".$type." - signed data: ".$signed_data." - Message: ".$msg["message"]." - Signature ".$parent_author_signature, LOGGER_DEBUG);
return false;
}
}
$key = self::key($fields->author);
if (empty($key)) {
- logger("No key found for author ".$fields->author, LOGGER_DEBUG);
+ Logger::log("No key found for author ".$fields->author, LOGGER_DEBUG);
return false;
}
if (!Crypto::rsaVerify($signed_data, $author_signature, $key, "sha256")) {
- logger("No valid author signature for author ".$fields->author. " in type ".$type." - signed data: ".$signed_data." - Message: ".$msg["message"]." - Signature ".$author_signature, LOGGER_DEBUG);
+ Logger::log("No valid author signature for author ".$fields->author. " in type ".$type." - signed data: ".$signed_data." - Message: ".$msg["message"]." - Signature ".$author_signature, LOGGER_DEBUG);
return false;
} else {
return $fields;
{
$handle = strval($handle);
- logger("Fetching diaspora key for: ".$handle);
+ Logger::log("Fetching diaspora key for: ".$handle);
$r = self::personByHandle($handle);
if ($r) {
$person = DBA::selectFirst('fcontact', [], ['network' => Protocol::DIASPORA, 'addr' => $handle]);
if (DBA::isResult($person)) {
- logger("In cache " . print_r($person, true), LOGGER_DEBUG);
+ Logger::log("In cache " . print_r($person, true), LOGGER_DEBUG);
// update record occasionally so it doesn't get stale
$d = strtotime($person["updated"]." +00:00");
}
if (!DBA::isResult($person) || $update) {
- logger("create or refresh", LOGGER_DEBUG);
+ Logger::log("create or refresh", LOGGER_DEBUG);
$r = Probe::uri($handle, Protocol::DIASPORA);
// Note that Friendica contacts will return a "Diaspora person"
{
$handle = false;
- logger("contact id is ".$contact_id." - pcontact id is ".$pcontact_id, LOGGER_DEBUG);
+ Logger::log("contact id is ".$contact_id." - pcontact id is ".$pcontact_id, LOGGER_DEBUG);
if ($pcontact_id != 0) {
$contact = DBA::selectFirst('contact', ['addr'], ['id' => $pcontact_id]);
if (DBA::isResult($r)) {
$contact = $r[0];
- logger("contact 'self' = ".$contact['self']." 'url' = ".$contact['url'], LOGGER_DEBUG);
+ Logger::log("contact 'self' = ".$contact['self']." 'url' = ".$contact['url'], LOGGER_DEBUG);
if ($contact['addr'] != "") {
$handle = $contact['addr'];
*/
public static function urlFromContactGuid($fcontact_guid)
{
- logger("fcontact guid is ".$fcontact_guid, LOGGER_DEBUG);
+ Logger::log("fcontact guid is ".$fcontact_guid, LOGGER_DEBUG);
$r = q(
"SELECT `url` FROM `fcontact` WHERE `url` != '' AND `network` = '%s' AND `guid` = '%s'",
}
if (!$cid) {
- logger("Haven't found a contact for user " . $uid . " and handle " . $handle, LOGGER_DEBUG);
+ Logger::log("Haven't found a contact for user " . $uid . " and handle " . $handle, LOGGER_DEBUG);
return false;
}
$contact = DBA::selectFirst('contact', [], ['id' => $cid]);
if (!DBA::isResult($contact)) {
// This here shouldn't happen at all
- logger("Haven't found a contact for user " . $uid . " and handle " . $handle, LOGGER_DEBUG);
+ Logger::log("Haven't found a contact for user " . $uid . " and handle " . $handle, LOGGER_DEBUG);
return false;
}
// );
//
// $contact["rel"] = Contact::FRIEND;
- // logger("defining user ".$contact["nick"]." as friend");
+ // Logger::log("defining user ".$contact["nick"]." as friend");
//}
// We don't seem to like that person
{
$contact = self::contactByHandle($importer["uid"], $handle);
if (!$contact) {
- logger("A Contact for handle ".$handle." and user ".$importer["uid"]." was not found");
+ Logger::log("A Contact for handle ".$handle." and user ".$importer["uid"]." was not found");
// If a contact isn't found, we accept it anyway if it is a comment
if ($is_comment && ($importer["uid"] != 0)) {
return self::contactByHandle(0, $handle);
}
if (!self::postAllow($importer, $contact, $is_comment)) {
- logger("The handle: ".$handle." is not allowed to post to user ".$importer["uid"]);
+ Logger::log("The handle: ".$handle." is not allowed to post to user ".$importer["uid"]);
return false;
}
return $contact;
{
$item = Item::selectFirst(['id'], ['uid' => $uid, 'guid' => $guid]);
if (DBA::isResult($item)) {
- logger("message ".$guid." already exists for user ".$uid);
+ Logger::log("message ".$guid." already exists for user ".$uid);
return $item["id"];
}
$server = $serverparts["scheme"]."://".$serverparts["host"];
- logger("Trying to fetch item ".$guid." from ".$server, LOGGER_DEBUG);
+ Logger::log("Trying to fetch item ".$guid." from ".$server, LOGGER_DEBUG);
$msg = self::message($guid, $server);
return false;
}
- logger("Successfully fetched item ".$guid." from ".$server, LOGGER_DEBUG);
+ Logger::log("Successfully fetched item ".$guid." from ".$server, LOGGER_DEBUG);
// Now call the dispatcher
return self::dispatchPublic($msg);
// This will work for new Diaspora servers and Friendica servers from 3.5
$source_url = $server."/fetch/post/".urlencode($guid);
- logger("Fetch post from ".$source_url, LOGGER_DEBUG);
+ Logger::log("Fetch post from ".$source_url, LOGGER_DEBUG);
$envelope = Network::fetchUrl($source_url);
if ($envelope) {
- logger("Envelope was fetched.", LOGGER_DEBUG);
+ Logger::log("Envelope was fetched.", LOGGER_DEBUG);
$x = self::verifyMagicEnvelope($envelope);
if (!$x) {
- logger("Envelope could not be verified.", LOGGER_DEBUG);
+ Logger::log("Envelope could not be verified.", LOGGER_DEBUG);
} else {
- logger("Envelope was verified.", LOGGER_DEBUG);
+ Logger::log("Envelope was verified.", LOGGER_DEBUG);
}
} else {
$x = false;
// This will work for older Diaspora and Friendica servers
if (!$x) {
$source_url = $server."/p/".urlencode($guid).".xml";
- logger("Fetch post from ".$source_url, LOGGER_DEBUG);
+ Logger::log("Fetch post from ".$source_url, LOGGER_DEBUG);
$x = Network::fetchUrl($source_url);
if (!$x) {
if ($source_xml->post->reshare) {
// Reshare of a reshare - old Diaspora version
- logger("Message is a reshare", LOGGER_DEBUG);
+ Logger::log("Message is a reshare", LOGGER_DEBUG);
return self::message($source_xml->post->reshare->root_guid, $server, ++$level);
} elseif ($source_xml->getName() == "reshare") {
// Reshare of a reshare - new Diaspora version
- logger("Message is a new reshare", LOGGER_DEBUG);
+ Logger::log("Message is a new reshare", LOGGER_DEBUG);
return self::message($source_xml->root_guid, $server, ++$level);
}
// If this isn't a "status_message" then quit
if (!$author) {
- logger("Message doesn't seem to be a status message", LOGGER_DEBUG);
+ Logger::log("Message doesn't seem to be a status message", LOGGER_DEBUG);
return false;
}
}
if ($result) {
- logger("Fetched missing item ".$guid." - result: ".$result, LOGGER_DEBUG);
+ Logger::log("Fetched missing item ".$guid." - result: ".$result, LOGGER_DEBUG);
$item = Item::selectFirst($fields, $condition);
}
}
if (!DBA::isResult($item)) {
- logger("parent item not found: parent: ".$guid." - user: ".$uid);
+ Logger::log("parent item not found: parent: ".$guid." - user: ".$uid);
return false;
} else {
- logger("parent item found: parent: ".$guid." - user: ".$uid);
+ Logger::log("parent item found: parent: ".$guid." - user: ".$uid);
return $item;
}
}
$contact = self::contactByHandle($importer["uid"], $old_handle);
if (!$contact) {
- logger("cannot find contact for sender: ".$old_handle." and user ".$importer["uid"]);
+ Logger::log("cannot find contact for sender: ".$old_handle." and user ".$importer["uid"]);
return false;
}
- logger("Got migration for ".$old_handle.", to ".$new_handle." with user ".$importer["uid"]);
+ Logger::log("Got migration for ".$old_handle.", to ".$new_handle." with user ".$importer["uid"]);
// Check signature
$signed_text = 'AccountMigration:'.$old_handle.':'.$new_handle;
$key = self::key($old_handle);
if (!Crypto::rsaVerify($signed_text, $signature, $key, "sha256")) {
- logger('No valid signature for migration.');
+ Logger::log('No valid signature for migration.');
return false;
}
// change the technical stuff in contact and gcontact
$data = Probe::uri($new_handle);
if ($data['network'] == Protocol::PHANTOM) {
- logger('Account for '.$new_handle." couldn't be probed.");
+ Logger::log('Account for '.$new_handle." couldn't be probed.");
return false;
}
DBA::update('gcontact', $fields, ['addr' => $old_handle]);
- logger('Contacts are updated.');
+ Logger::log('Contacts are updated.');
return true;
}
DBA::delete('gcontact', ['addr' => $author]);
- logger('Removed contacts for ' . $author);
+ Logger::log('Removed contacts for ' . $author);
return true;
}
{
$item = Item::selectFirst(['uid'], ['origin' => true, 'guid' => $guid]);
if (DBA::isResult($item)) {
- logger("Found user ".$item['uid']." as owner of item ".$guid, LOGGER_DEBUG);
+ Logger::log("Found user ".$item['uid']." as owner of item ".$guid, LOGGER_DEBUG);
$contact = DBA::selectFirst('contact', [], ['self' => true, 'uid' => $item['uid']]);
if (DBA::isResult($contact)) {
return $contact;
$person = self::personByHandle($author);
if (!is_array($person)) {
- logger("unable to find author details");
+ Logger::log("unable to find author details");
return false;
}
}
if ($message_id) {
- logger("Stored comment ".$datarray["guid"]." with message id ".$message_id, LOGGER_DEBUG);
+ Logger::log("Stored comment ".$datarray["guid"]." with message id ".$message_id, LOGGER_DEBUG);
if ($datarray['uid'] == 0) {
Item::distribute($message_id, json_encode($data));
}
$msg_created_at = DateTimeFormat::utc(notags(unxmlify($mesg->created_at)));
if ($msg_conversation_guid != $guid) {
- logger("message conversation guid does not belong to the current conversation.");
+ Logger::log("message conversation guid does not belong to the current conversation.");
return false;
}
DBA::lock('mail');
if (DBA::exists('mail', ['guid' => $msg_guid, 'uid' => $importer["uid"]])) {
- logger("duplicate message already delivered.", LOGGER_DEBUG);
+ Logger::log("duplicate message already delivered.", LOGGER_DEBUG);
return false;
}
$messages = $data->message;
if (!count($messages)) {
- logger("empty conversation");
+ Logger::log("empty conversation");
return false;
}
}
}
if (!$conversation) {
- logger("unable to create conversation.");
+ Logger::log("unable to create conversation.");
return false;
}
$person = self::personByHandle($author);
if (!is_array($person)) {
- logger("unable to find author details");
+ Logger::log("unable to find author details");
return false;
}
}
if ($message_id) {
- logger("Stored like ".$datarray["guid"]." with message id ".$message_id, LOGGER_DEBUG);
+ Logger::log("Stored like ".$datarray["guid"]." with message id ".$message_id, LOGGER_DEBUG);
if ($datarray['uid'] == 0) {
Item::distribute($message_id, json_encode($data));
}
$conversation = DBA::selectFirst('conv', [], $condition);
if (!DBA::isResult($conversation)) {
- logger("conversation not available.");
+ Logger::log("conversation not available.");
return false;
}
$person = self::personByHandle($author);
if (!$person) {
- logger("unable to find author details");
+ Logger::log("unable to find author details");
return false;
}
DBA::lock('mail');
if (DBA::exists('mail', ['guid' => $guid, 'uid' => $importer["uid"]])) {
- logger("duplicate message already delivered.", LOGGER_DEBUG);
+ Logger::log("duplicate message already delivered.", LOGGER_DEBUG);
return false;
}
$contact_id = Contact::getIdForURL($author);
if (!$contact_id) {
- logger('Contact not found: '.$author);
+ Logger::log('Contact not found: '.$author);
return false;
}
$person = self::personByHandle($author);
if (!is_array($person)) {
- logger("Person not found: ".$author);
+ Logger::log("Person not found: ".$author);
return false;
}
$item = Item::selectFirst(['id'], ['guid' => $parent_guid, 'origin' => true, 'private' => false]);
if (!DBA::isResult($item)) {
- logger('Item not found, no origin or private: '.$parent_guid);
+ Logger::log('Item not found, no origin or private: '.$parent_guid);
return false;
}
$server = $author;
}
- logger('Received participation for ID: '.$item['id'].' - Contact: '.$contact_id.' - Server: '.$server, LOGGER_DEBUG);
+ Logger::log('Received participation for ID: '.$item['id'].' - Contact: '.$contact_id.' - Server: '.$server, LOGGER_DEBUG);
if (!DBA::exists('participation', ['iid' => $item['id'], 'server' => $server])) {
DBA::insert('participation', ['iid' => $item['id'], 'cid' => $contact_id, 'fid' => $person['id'], 'server' => $server]);
} else {
$cmd = $comment['self'] ? 'like' : 'comment-import';
}
- logger("Send ".$cmd." for item ".$comment['id']." to contact ".$contact_id, LOGGER_DEBUG);
+ Logger::log("Send ".$cmd." for item ".$comment['id']." to contact ".$contact_id, LOGGER_DEBUG);
Worker::add(PRIORITY_HIGH, 'Delivery', $cmd, $comment['id'], $contact_id);
}
DBA::close($comments);
GContact::link($gcid, $importer["uid"], $contact["id"]);
- logger("Profile of contact ".$contact["id"]." stored for user ".$importer["uid"], LOGGER_DEBUG);
+ Logger::log("Profile of contact ".$contact["id"]." stored for user ".$importer["uid"], LOGGER_DEBUG);
return true;
}
// That makes us friends.
if ($contact) {
if ($following) {
- logger("Author ".$author." (Contact ".$contact["id"].") wants to follow us.", LOGGER_DEBUG);
+ Logger::log("Author ".$author." (Contact ".$contact["id"].") wants to follow us.", LOGGER_DEBUG);
self::receiveRequestMakeFriend($importer, $contact);
// refetch the contact array
if (in_array($contact["rel"], [Contact::FRIEND])) {
$user = DBA::selectFirst('user', [], ['uid' => $importer["uid"]]);
if (DBA::isResult($user)) {
- logger("Sending share message to author ".$author." - Contact: ".$contact["id"]." - User: ".$importer["uid"], LOGGER_DEBUG);
+ Logger::log("Sending share message to author ".$author." - Contact: ".$contact["id"]." - User: ".$importer["uid"], LOGGER_DEBUG);
$ret = self::sendShare($user, $contact);
}
}
return true;
} else {
- logger("Author ".$author." doesn't want to follow us anymore.", LOGGER_DEBUG);
+ Logger::log("Author ".$author." doesn't want to follow us anymore.", LOGGER_DEBUG);
Contact::removeFollower($importer, $contact);
return true;
}
}
if (!$following && $sharing && in_array($importer["page-flags"], [Contact::PAGE_SOAPBOX, Contact::PAGE_NORMAL])) {
- logger("Author ".$author." wants to share with us - but doesn't want to listen. Request is ignored.", LOGGER_DEBUG);
+ Logger::log("Author ".$author." wants to share with us - but doesn't want to listen. Request is ignored.", LOGGER_DEBUG);
return false;
} elseif (!$following && !$sharing) {
- logger("Author ".$author." doesn't want anything - and we don't know the author. Request is ignored.", LOGGER_DEBUG);
+ Logger::log("Author ".$author." doesn't want anything - and we don't know the author. Request is ignored.", LOGGER_DEBUG);
return false;
} elseif (!$following && $sharing) {
- logger("Author ".$author." wants to share with us.", LOGGER_DEBUG);
+ Logger::log("Author ".$author." wants to share with us.", LOGGER_DEBUG);
} elseif ($following && $sharing) {
- logger("Author ".$author." wants to have a bidirectional conection.", LOGGER_DEBUG);
+ Logger::log("Author ".$author." wants to have a bidirectional conection.", LOGGER_DEBUG);
} elseif ($following && !$sharing) {
- logger("Author ".$author." wants to listen to us.", LOGGER_DEBUG);
+ Logger::log("Author ".$author." wants to listen to us.", LOGGER_DEBUG);
}
$ret = self::personByHandle($author);
if (!$ret || ($ret["network"] != Protocol::DIASPORA)) {
- logger("Cannot resolve diaspora handle ".$author." for ".$recipient);
+ Logger::log("Cannot resolve diaspora handle ".$author." for ".$recipient);
return false;
}
$contact_record = self::contactByHandle($importer["uid"], $author);
if (!$contact_record) {
- logger("unable to locate newly created contact record.");
+ Logger::log("unable to locate newly created contact record.");
return;
}
- logger("Author ".$author." was added as contact number ".$contact_record["id"].".", LOGGER_DEBUG);
+ Logger::log("Author ".$author." was added as contact number ".$contact_record["id"].".", LOGGER_DEBUG);
Group::addMember(User::getDefaultGroup($importer['uid'], $ret["network"]), $contact_record['id']);
Contact::updateAvatar($ret["photo"], $importer['uid'], $contact_record["id"], true);
if (in_array($importer["page-flags"], [Contact::PAGE_NORMAL, Contact::PAGE_PRVGROUP])) {
- logger("Sending intra message for author ".$author.".", LOGGER_DEBUG);
+ Logger::log("Sending intra message for author ".$author.".", LOGGER_DEBUG);
$hash = random_string().(string)time(); // Generate a confirm_key
} else {
// automatic friend approval
- logger("Does an automatic friend approval for author ".$author.".", LOGGER_DEBUG);
+ Logger::log("Does an automatic friend approval for author ".$author.".", LOGGER_DEBUG);
Contact::updateAvatar($contact_record["photo"], $importer["uid"], $contact_record["id"]);
$user = DBA::selectFirst('user', [], ['uid' => $importer["uid"]]);
if (DBA::isResult($user)) {
- logger("Sending share message (Relation: ".$new_relation.") to author ".$author." - Contact: ".$contact_record["id"]." - User: ".$importer["uid"], LOGGER_DEBUG);
+ Logger::log("Sending share message (Relation: ".$new_relation.") to author ".$author." - Contact: ".$contact_record["id"]." - User: ".$importer["uid"], LOGGER_DEBUG);
$ret = self::sendShare($user, $contact_record);
// Send the profile data, maybe it weren't transmitted before
public static function originalItem($guid, $orig_author)
{
if (empty($guid)) {
- logger('Empty guid. Quitting.');
+ Logger::log('Empty guid. Quitting.');
return false;
}
$item = Item::selectFirst($fields, $condition);
if (DBA::isResult($item)) {
- logger("reshared message ".$guid." already exists on system.");
+ Logger::log("reshared message ".$guid." already exists on system.");
// Maybe it is already a reshared item?
// Then refetch the content, if it is a reshare from a reshare.
if (!DBA::isResult($item)) {
if (empty($orig_author)) {
- logger('Empty author for guid ' . $guid . '. Quitting.');
+ Logger::log('Empty author for guid ' . $guid . '. Quitting.');
return false;
}
$server = "https://".substr($orig_author, strpos($orig_author, "@") + 1);
- logger("1st try: reshared message ".$guid." will be fetched via SSL from the server ".$server);
+ Logger::log("1st try: reshared message ".$guid." will be fetched via SSL from the server ".$server);
$stored = self::storeByGuid($guid, $server);
if (!$stored) {
$server = "http://".substr($orig_author, strpos($orig_author, "@") + 1);
- logger("2nd try: reshared message ".$guid." will be fetched without SSL from the server ".$server);
+ Logger::log("2nd try: reshared message ".$guid." will be fetched without SSL from the server ".$server);
$stored = self::storeByGuid($guid, $server);
}
self::sendParticipation($contact, $datarray);
if ($message_id) {
- logger("Stored reshare ".$datarray["guid"]." with message id ".$message_id, LOGGER_DEBUG);
+ Logger::log("Stored reshare ".$datarray["guid"]." with message id ".$message_id, LOGGER_DEBUG);
if ($datarray['uid'] == 0) {
Item::distribute($message_id);
}
$person = self::personByHandle($author);
if (!is_array($person)) {
- logger("unable to find author detail for ".$author);
+ Logger::log("unable to find author detail for ".$author);
return false;
}
$r = Item::select($fields, $condition);
if (!DBA::isResult($r)) {
- logger("Target guid ".$target_guid." was not found on this system for user ".$importer['uid'].".");
+ Logger::log("Target guid ".$target_guid." was not found on this system for user ".$importer['uid'].".");
return false;
}
while ($item = Item::fetch($r)) {
if (strstr($item['file'], '[')) {
- logger("Target guid " . $target_guid . " for user " . $item['uid'] . " is filed. So it won't be deleted.", LOGGER_DEBUG);
+ Logger::log("Target guid " . $target_guid . " for user " . $item['uid'] . " is filed. So it won't be deleted.", LOGGER_DEBUG);
continue;
}
// Only delete it if the parent author really fits
if (!link_compare($parent["author-link"], $contact["url"]) && !link_compare($item["author-link"], $contact["url"])) {
- logger("Thread author ".$parent["author-link"]." and item author ".$item["author-link"]." don't fit to expected contact ".$contact["url"], LOGGER_DEBUG);
+ Logger::log("Thread author ".$parent["author-link"]." and item author ".$item["author-link"]." don't fit to expected contact ".$contact["url"], LOGGER_DEBUG);
continue;
}
Item::delete(['id' => $item['id']]);
- logger("Deleted target ".$target_guid." (".$item["id"].") from user ".$item["uid"]." parent: ".$item["parent"], LOGGER_DEBUG);
+ Logger::log("Deleted target ".$target_guid." (".$item["id"].") from user ".$item["uid"]." parent: ".$item["parent"], LOGGER_DEBUG);
}
return true;
$contact = self::contactByHandle($importer["uid"], $sender);
if (!$contact && (in_array($target_type, ["Contact", "Person"]))) {
- logger("cannot find contact for sender: ".$sender." and user ".$importer["uid"]);
+ Logger::log("cannot find contact for sender: ".$sender." and user ".$importer["uid"]);
return false;
}
$contact = [];
}
- logger("Got retraction for ".$target_type.", sender ".$sender." and user ".$importer["uid"], LOGGER_DEBUG);
+ Logger::log("Got retraction for ".$target_type.", sender ".$sender." and user ".$importer["uid"], LOGGER_DEBUG);
switch ($target_type) {
case "Comment":
break;
default:
- logger("Unknown target type ".$target_type);
+ Logger::log("Unknown target type ".$target_type);
return false;
}
return true;
self::sendParticipation($contact, $datarray);
if ($message_id) {
- logger("Stored item ".$datarray["guid"]." with message id ".$message_id, LOGGER_DEBUG);
+ Logger::log("Stored item ".$datarray["guid"]." with message id ".$message_id, LOGGER_DEBUG);
if ($datarray['uid'] == 0) {
Item::distribute($message_id);
}
*/
public static function encodePrivateData($msg, array $user, array $contact, $prvkey, $pubkey)
{
- logger("Message: ".$msg, LOGGER_DATA);
+ Logger::log("Message: ".$msg, LOGGER_DATA);
// without a public key nothing will work
if (!$pubkey) {
- logger("pubkey missing: contact id: ".$contact["id"]);
+ Logger::log("pubkey missing: contact id: ".$contact["id"]);
return false;
}
}
if (!$dest_url) {
- logger("no url for contact: ".$contact["id"]." batch mode =".$public_batch);
+ Logger::log("no url for contact: ".$contact["id"]." batch mode =".$public_batch);
return 0;
}
- logger("transmit: ".$logid."-".$guid." ".$dest_url);
+ Logger::log("transmit: ".$logid."-".$guid." ".$dest_url);
if (!$queue_run && Queue::wasDelayed($contact["id"])) {
$return_code = 0;
$postResult = Network::post($dest_url."/", $envelope, ["Content-Type: ".$content_type]);
$return_code = $postResult->getReturnCode();
} else {
- logger("test_mode");
+ Logger::log("test_mode");
return 200;
}
}
- logger("transmit: ".$logid."-".$guid." to ".$dest_url." returns: ".$return_code);
+ Logger::log("transmit: ".$logid."-".$guid." to ".$dest_url." returns: ".$return_code);
if (!$return_code || (($return_code == 503) && (stristr($postResult->getHeader(), "retry-after")))) {
if (!$no_queue && !empty($contact['contact-type']) && ($contact['contact-type'] != Contact::ACCOUNT_TYPE_RELAY)) {
- logger("queue message");
+ Logger::log("queue message");
// queue message for redelivery
Queue::add($contact["id"], Protocol::DIASPORA, $envelope, $public_batch, $guid);
}
{
$msg = self::buildPostXml($type, $message);
- logger('message: '.$msg, LOGGER_DATA);
- logger('send guid '.$guid, LOGGER_DEBUG);
+ Logger::log('message: '.$msg, LOGGER_DATA);
+ Logger::log('send guid '.$guid, LOGGER_DEBUG);
// Fallback if the private key wasn't transmitted in the expected field
if (empty($owner['uprvkey'])) {
$return_code = self::transmit($owner, $contact, $envelope, $public_batch, false, $guid);
}
- logger("guid: ".$guid." result ".$return_code, LOGGER_DEBUG);
+ Logger::log("guid: ".$guid." result ".$return_code, LOGGER_DEBUG);
return $return_code;
}
"parent_type" => "Post",
"parent_guid" => $item["guid"]];
- logger("Send participation for ".$item["guid"]." by ".$author, LOGGER_DEBUG);
+ Logger::log("Send participation for ".$item["guid"]." by ".$author, LOGGER_DEBUG);
// It doesn't matter what we store, we only want to avoid sending repeated notifications for the same item
Cache::set($cachekey, $item["guid"], Cache::QUARTER_HOUR);
"profile" => $profile,
"signature" => $signature];
- logger("Send account migration ".print_r($message, true), LOGGER_DEBUG);
+ Logger::log("Send account migration ".print_r($message, true), LOGGER_DEBUG);
return self::buildAndTransmit($owner, $contact, "account_migration", $message);
}
"following" => "true",
"sharing" => "true"];
- logger("Send share ".print_r($message, true), LOGGER_DEBUG);
+ Logger::log("Send share ".print_r($message, true), LOGGER_DEBUG);
return self::buildAndTransmit($owner, $contact, "contact", $message);
}
"following" => "false",
"sharing" => "false"];
- logger("Send unshare ".print_r($message, true), LOGGER_DEBUG);
+ Logger::log("Send unshare ".print_r($message, true), LOGGER_DEBUG);
return self::buildAndTransmit($owner, $contact, "contact", $message);
}
$attend_answer = 'tentative';
break;
default:
- logger('Unknown verb '.$item['verb'].' in item '.$item['guid']);
+ Logger::log('Unknown verb '.$item['verb'].' in item '.$item['guid']);
return false;
}
$type = "comment";
}
- logger("Got relayable data ".$type." for item ".$item["guid"]." (".$item["id"].")", LOGGER_DEBUG);
+ Logger::log("Got relayable data ".$type." for item ".$item["guid"]." (".$item["id"].")", LOGGER_DEBUG);
// Old way - is used by the internal Friendica functions
/// @todo Change all signatur storing functions to the new format
$message[$field] = $data;
}
} else {
- logger("Signature text for item ".$item["guid"]." (".$item["id"].") couldn't be extracted: ".$item['signed_text'], LOGGER_DEBUG);
+ Logger::log("Signature text for item ".$item["guid"]." (".$item["id"].") couldn't be extracted: ".$item['signed_text'], LOGGER_DEBUG);
}
}
$message["parent_author_signature"] = self::signature($owner, $message);
- logger("Relayed data ".print_r($message, true), LOGGER_DEBUG);
+ Logger::log("Relayed data ".print_r($message, true), LOGGER_DEBUG);
return self::buildAndTransmit($owner, $contact, $type, $message, $public_batch, $item["guid"]);
}
"target_guid" => $item['guid'],
"target_type" => $target_type];
- logger("Got message ".print_r($message, true), LOGGER_DEBUG);
+ Logger::log("Got message ".print_r($message, true), LOGGER_DEBUG);
return self::buildAndTransmit($owner, $contact, $msg_type, $message, $public_batch, $item["guid"]);
}
$cnv = DBA::selectFirst('conv', [], ['id' => $item["convid"], 'uid' => $item["uid"]]);
if (!DBA::isResult($cnv)) {
- logger("conversation not found.");
+ Logger::log("conversation not found.");
return;
}
$message = self::createProfileData($uid);
foreach ($recips as $recip) {
- logger("Send updated profile data for user ".$uid." to contact ".$recip["id"], LOGGER_DEBUG);
+ Logger::log("Send updated profile data for user ".$uid." to contact ".$recip["id"], LOGGER_DEBUG);
self::buildAndTransmit($owner, $recip, "profile", $message, false, "", false);
}
}
{
$owner = User::getOwnerDataById($uid);
if (empty($owner)) {
+ Logger::log("No owner post, so not storing signature", LOGGER_DEBUG);
return false;
}
{
$owner = User::getOwnerDataById($uid);
if (empty($owner)) {
+ Logger::log("No owner post, so not storing signature", LOGGER_DEBUG);
return false;
}
*/
namespace Friendica\Protocol;
+use Friendica\Core\Logger;
use Friendica\Content\Text\HTML;
use Friendica\Core\Protocol;
$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;
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));
//$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);
}
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;
$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;
}
$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;
}
$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;
}
}
}
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);
$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;
}
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;
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"]);
}
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;
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);
}
}
}
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;
}
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;
// 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);
// 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
}
}
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);
}
}
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;
}
{
$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']);
}
/**
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"];
$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);
}
}
{
$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;
}
$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);
}
/**
$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]);
}
}
$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();
}
$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();
}
}
$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();
}
}
$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();
}
}
$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'];
}
}
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;
}
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);
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);
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);
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'];
}
$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;
}
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;
$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;
$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;
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);
}
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;
}
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;
$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"];
}
// 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"];
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;
}
$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;
}
$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;
}
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;
}
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') {
}
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 {
$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;
// 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;
}
// 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;
}
}
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
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;
}
*/
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");
$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);
}
}
// 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);
$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)) {
}
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);
}
}
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)) {
}
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';
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,
$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;
*/
namespace Friendica\Protocol;
+use Friendica\Core\Logger;
use Friendica\Network\Probe;
use Friendica\Util\Crypto;
use Friendica\Util\Network;
{
$ret = [];
- logger('Fetching salmon key for '.$uri);
+ Logger::log('Fetching salmon key for '.$uri);
$arr = Probe::lrdd($uri);
}
- 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.
}
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
// 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,
}
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,
$return_code = $postResult->getReturnCode();
}
- logger('slapper for '.$url.' returned ' . $return_code);
+ Logger::log('slapper for '.$url.' returned ' . $return_code);
if (! $return_code) {
return -1;
use Friendica\Core\Addon;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use ASN_BASE;
use ASNValue;
$result = openssl_pkey_new($openssl_options);
if (empty($result)) {
- logger('new_keypair: failed');
+ Logger::log('new_keypair: failed');
return false;
}
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)) {
// 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;
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);
// 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';
namespace Friendica\Util;
+use Friendica\Core\Logger;
use DateTime;
use DateTimeZone;
use Exception;
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);
}
use Friendica\Core\Addon;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Protocol\Email;
$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;
}
}
use Friendica\BaseObject;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Model\User;
use Friendica\Model\APContact;
$sig_block = self::parseSigheader($headers['authorization']);
if (!$sig_block) {
- logger('no signature provided.');
+ Logger::log('no signature provided.');
return $result;
}
$key = $key($sig_block['keyId']);
}
- logger('Got keyID ' . $sig_block['keyId']);
+ Logger::log('Got keyID ' . $sig_block['keyId']);
if (!$key) {
return $result;
$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;
$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);
}
$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']];
}
}
namespace Friendica\Util;
use Friendica\Core\Cache;
+use Friendica\Core\Logger;
use Exception;
/**
}
if ($recursion > 5) {
- logger('jsonld bomb detected at: ' . $url);
+ Logger::log('jsonld bomb detected at: ' . $url);
exit();
}
}
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;
}
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);
namespace Friendica\Util;
+use Friendica\Core\Logger;
use Friendica\Util\JsonLD;
use Friendica\Util\DateTimeFormat;
use Friendica\Protocol\ActivityPub;
$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;
namespace Friendica\Util;
use Friendica\Core\Addon;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Config;
use Friendica\Network\CurlResult;
$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);
}
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);
}
$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);
}
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);
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);
}
$a->saveTimestamp($stamp1, 'network');
- logger('post_url: end ' . $url, LOGGER_DATA);
+ Logger::log('post_url: end ' . $url, LOGGER_DATA);
return $curlResponse;
}
$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'];
}
use DOMXPath;
use Friendica\Content\OEmbed;
use Friendica\Core\Addon;
+use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Object\Image;
}
if ($count > 10) {
- logger('Endless loop detected for ' . $url, LOGGER_DEBUG);
+ Logger::log('Endless loop detected for ' . $url, LOGGER_DEBUG);
return $siteinfo;
}
}
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);
}
}
}
- 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);
*/
namespace Friendica\Util;
+use Friendica\Core\Logger;
use DOMXPath;
use SimpleXMLElement;
}
if (!function_exists('xml_parser_create')) {
- logger('Xml::toArray: parser function missing');
+ Logger::log('Xml::toArray: parser function missing');
return [];
}
}
if (! $parser) {
- logger('Xml::toArray: xml_parser_create: no resource');
+ Logger::log('Xml::toArray: xml_parser_create: no resource');
return [];
}
@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;
$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();
}
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
*/
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;
namespace Friendica\Worker;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Util\Network;
{
public static function execute()
{
- logger('checkversion: start');
+ Logger::log('checkversion: start');
$checkurl = Config::get('system', 'check_new_version_url', 'none');
// 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;
}
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;
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");
// Poll contacts
self::pollContacts($parameter, $generation);
- logger('cron: end');
+ Logger::log('cron: end');
Config::set('system', 'last_cron', time());
$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']);
}
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;
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
return;
}
- logger("Xronjob " . $command . " is unknown.", LOGGER_DEBUG);
+ Logger::log("Xronjob " . $command . " is unknown.", LOGGER_DEBUG);
return;
}
// 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) {
}
// 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"]));
}
}
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"]));
$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']);
}
}
namespace Friendica\Worker;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
$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);
} 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);
} 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);
} 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);
} 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);
} 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);
$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
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) {
$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);
}
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;
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;
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;
}
// 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;
}
*/
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;
}
}
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);
$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']) {
*/
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;
$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));
// 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;
}
$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']);
}
$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;
}
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) {
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);
}
/**
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']]);
use Friendica\Core\Addon;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Util\Network;
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']));
}
use Friendica\Core\Cache;
use Friendica\Core\Config;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
} 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 != "") {
} 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')) {
}
}
- logger('end '.$search);
+ Logger::log('end '.$search);
return;
}
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"]);
}
private static function discoverUsers() {
- logger("Discover users", LOGGER_DEBUG);
+ Logger::log("Discover users", LOGGER_DEBUG);
$starttime = time();
}
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) {
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;
}
}
// 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"])) {
$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;
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);
}
}
}
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;
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);
// 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;
}
namespace Friendica\Worker;
use Friendica\Core\Cache;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Model\GContact;
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?
$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;
}
}
}
}
- logger("gprobe end for ".normalise_link($url), LOGGER_DEBUG);
+ Logger::log("gprobe end for ".normalise_link($url), LOGGER_DEBUG);
return;
}
}
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;
{
$a = BaseObject::getApp();
- logger('notifier: invoked: '.$cmd.': '.$item_id, LOGGER_DEBUG);
+ Logger::log('notifier: invoked: '.$cmd.': '.$item_id, LOGGER_DEBUG);
$top_level = false;
$recipients = [];
$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);
}
}
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;
}
}
$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!!!!
$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'] &&
$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;
}
}
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);
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"];
}
}
// 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']);
$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
}
$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']);
}
// 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);
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']) {
}
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;
}
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);
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;
require_once 'include/items.php';
- logger('start');
+ Logger::log('start');
$manual_id = 0;
$generation = 0;
}
if (!$contact_id) {
- logger('no contact');
+ Logger::log('no contact');
return;
}
$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;
}
$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']) {
} 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;
// 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']]);
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']]);
}
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']]);
);
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']]);
$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']);
$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.
}
if (!strstr($handshake_xml, '<')) {
- logger('response from ' . $url . ' did not contain XML.');
+ Logger::log('response from ' . $url . ' did not contain XML.');
Contact::markForArchival($contact);
$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
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);
}
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']]);
$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) {
return;
}
- logger("Mail: Enabled", LOGGER_DEBUG);
+ Logger::log("Mail: Enabled", LOGGER_DEBUG);
$mbox = null;
$user = DBA::selectFirst('user', ['prvkey'], ['uid' => $importer_uid]);
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));
}
}
$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;
$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))
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);
$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
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);
}
}
} 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);
}
- logger("Consume feed of contact ".$contact['id']);
+ Logger::log("Consume feed of contact ".$contact['id']);
consume_feed($xml, $importer, $contact, $hub);
$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)) {
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) {
$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);
}
namespace Friendica\Worker;
use Friendica\BaseObject;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\PushSubscriber;
/// @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);
$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();
$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']);
}
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;
$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();
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;
}
$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;
}
$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;
}
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)) {
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) {
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)) ||
}
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;
}
*/
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() {
$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);
namespace Friendica\Worker;
+use Friendica\Core\Logger;
use Friendica\Database\DBA;
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;
$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']]);
}
namespace Friendica\Worker;
+use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Network\Probe;
{
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;
}
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Database\DBA;
Addon::registerHook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup');
Addon::registerHook('display_item', 'view/theme/frio/theme.php', 'frio_display_item');
- logger('installed theme frio');
+ Logger::log('installed theme frio');
}
function frio_uninstall()
Addon::unregisterHook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup');
Addon::unregisterHook('display_item', 'view/theme/frio/theme.php', 'frio_display_item');
- logger('uninstalled theme frio');
+ Logger::log('uninstalled theme frio');
}
/**
/**
* @file view/theme/vier/style.php
*/
+use Friendica\Core\Logger;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Model\Profile;
}
} else {
//TODO: use LOGGER_ERROR?
- logger('Error: missing file: "' . $stylecssfile .'" (userid: '. $uid .')');
+ Logger::log('Error: missing file: "' . $stylecssfile .'" (userid: '. $uid .')');
}
}
$modified = gmdate('r', $modified);