Merge pull request #6485 from MrPetovan/bug/fixes-after-2019-03-develop-rebase
More fixes after develop rebase
This commit is contained in:
commit
08da1ed038
31 changed files with 172 additions and 149 deletions
|
@ -1,11 +1,10 @@
|
|||
---
|
||||
language: php
|
||||
## Friendica supports PHP version >= 5.6.1
|
||||
## Friendica officially supports PHP version >= 7.1
|
||||
php:
|
||||
- 5.6
|
||||
- 7.0
|
||||
- 7.1
|
||||
- 7.2
|
||||
- 7.3
|
||||
|
||||
services:
|
||||
- mysql
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
use Friendica\Database\DBA;
|
||||
|
||||
if (!defined('DB_UPDATE_VERSION')) {
|
||||
define('DB_UPDATE_VERSION', 1299);
|
||||
define('DB_UPDATE_VERSION', 1300);
|
||||
}
|
||||
|
||||
return [
|
||||
|
@ -1365,7 +1365,7 @@ return [
|
|||
"comment" => "Background tasks queue entries",
|
||||
"fields" => [
|
||||
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Auto incremented worker task id"],
|
||||
"parameter" => ["type" => "mediumblob", "comment" => "Task command"],
|
||||
"parameter" => ["type" => "mediumtext", "comment" => "Task command"],
|
||||
"priority" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "Task priority"],
|
||||
"created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date"],
|
||||
"pid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "Process id of the worker"],
|
||||
|
|
|
@ -421,4 +421,9 @@ return [
|
|||
// Must be writable by the ejabberd process. if set then it will prevent the running of multiple processes.
|
||||
'lockpath' => '',
|
||||
],
|
||||
'debug' => [
|
||||
// ap_inbox_log (Boolean)
|
||||
// Logs every call to /inbox as a JSON file in Friendica's temporary directory
|
||||
'ap_inbox_log' => false,
|
||||
]
|
||||
];
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
-- ------------------------------------------
|
||||
-- Friendica 2019.03-dev (The Tazmans Flax-lily)
|
||||
-- DB_UPDATE_VERSION 1299
|
||||
-- DB_UPDATE_VERSION 1300
|
||||
-- ------------------------------------------
|
||||
|
||||
|
||||
|
@ -1260,7 +1260,7 @@ CREATE TABLE IF NOT EXISTS `worker-ipc` (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS `workerqueue` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'Auto incremented worker task id',
|
||||
`parameter` mediumblob COMMENT 'Task command',
|
||||
`parameter` mediumtext COMMENT 'Task command',
|
||||
`priority` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'Task priority',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Creation date',
|
||||
`pid` int unsigned NOT NULL DEFAULT 0 COMMENT 'Process id of the worker',
|
||||
|
|
|
@ -34,6 +34,7 @@ use Friendica\Util\DateTimeFormat;
|
|||
use Friendica\Util\Network;
|
||||
use Friendica\Util\Strings;
|
||||
use Friendica\Util\Temporal;
|
||||
use Psr\Log\LogLevel;
|
||||
|
||||
/**
|
||||
* Sets the current theme for theme settings pages.
|
||||
|
@ -2497,7 +2498,7 @@ function admin_page_logs_post(App $a)
|
|||
|
||||
$logfile = (!empty($_POST['logfile']) ? Strings::escapeTags(trim($_POST['logfile'])) : '');
|
||||
$debugging = !empty($_POST['debugging']);
|
||||
$loglevel = (!empty($_POST['loglevel']) ? intval(trim($_POST['loglevel'])) : 0);
|
||||
$loglevel = defaults($_POST, 'loglevel', LogLevel::ERROR);
|
||||
|
||||
Config::set('system', 'logfile', $logfile);
|
||||
Config::set('system', 'debugging', $debugging);
|
||||
|
@ -2529,12 +2530,11 @@ function admin_page_logs_post(App $a)
|
|||
function admin_page_logs(App $a)
|
||||
{
|
||||
$log_choices = [
|
||||
Logger::WARNING => 'Warning',
|
||||
Logger::INFO => 'Info',
|
||||
Logger::TRACE => 'Trace',
|
||||
Logger::DEBUG => 'Debug',
|
||||
Logger::DATA => 'Data',
|
||||
Logger::ALL => 'All'
|
||||
LogLevel::ERROR => 'Error',
|
||||
LogLevel::WARNING => 'Warning',
|
||||
LogLevel::NOTICE => 'Notice',
|
||||
LogLevel::INFO => 'Info',
|
||||
LogLevel::DEBUG => 'Debug',
|
||||
];
|
||||
|
||||
if (ini_get('log_errors')) {
|
||||
|
|
|
@ -105,6 +105,8 @@ class ForumManager
|
|||
if (DBA::isResult($contacts)) {
|
||||
$id = 0;
|
||||
|
||||
$entries = [];
|
||||
|
||||
foreach ($contacts as $contact) {
|
||||
$selected = (($cid == $contact['id']) ? ' forum-selected' : '');
|
||||
|
||||
|
|
|
@ -86,7 +86,8 @@ class OEmbed
|
|||
$redirects = 0;
|
||||
$html_text = Network::fetchUrl($embedurl, false, $redirects, 15, 'text/*');
|
||||
if ($html_text) {
|
||||
$dom = @DOMDocument::loadHTML($html_text);
|
||||
$dom = new DOMDocument();
|
||||
$dom->loadHTML($html_text);
|
||||
if ($dom) {
|
||||
$xpath = new DOMXPath($dom);
|
||||
$entries = $xpath->query("//link[@type='application/json+oembed']");
|
||||
|
@ -274,7 +275,8 @@ class OEmbed
|
|||
$html_text = mb_convert_encoding($text, 'HTML-ENTITIES', mb_detect_encoding($text));
|
||||
|
||||
// If it doesn't parse at all, just return the text.
|
||||
$dom = @DOMDocument::loadHTML($html_text);
|
||||
$dom = new DOMDocument();
|
||||
$dom->loadHTML($html_text);
|
||||
if (!$dom) {
|
||||
return $text;
|
||||
}
|
||||
|
|
|
@ -11,10 +11,7 @@ use Friendica\Content\Widget\ContactBlock;
|
|||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Config;
|
||||
use Friendica\Core\PConfig;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Util\Network;
|
||||
use Friendica\Util\Proxy as ProxyUtils;
|
||||
|
|
|
@ -40,6 +40,7 @@ class TagCloud
|
|||
$contact = DBA::selectFirst('contact', ['url'], ['uid' => $uid, 'self' => true]);
|
||||
$url = System::removedBaseUrl($contact['url']);
|
||||
|
||||
$tags = [];
|
||||
foreach ($r as $rr) {
|
||||
$tag['level'] = $rr[2];
|
||||
$tag['url'] = $url . '?tag=' . urlencode($rr[0]);
|
||||
|
@ -88,7 +89,7 @@ class TagCloud
|
|||
}
|
||||
|
||||
// Fetch tags
|
||||
$r = DBA::p("SELECT `term`, COUNT(`term`) AS `total` FROM `term`
|
||||
$tag_stmt = DBA::p("SELECT `term`, COUNT(`term`) AS `total` FROM `term`
|
||||
LEFT JOIN `item` ON `term`.`oid` = `item`.`id`
|
||||
WHERE `term`.`uid` = ? AND `term`.`type` = ?
|
||||
AND `term`.`otype` = ?
|
||||
|
@ -99,10 +100,12 @@ class TagCloud
|
|||
$type,
|
||||
TERM_OBJ_POST
|
||||
);
|
||||
if (!DBA::isResult($r)) {
|
||||
if (!DBA::isResult($tag_stmt)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$r = DBA::toArray($tag_stmt);
|
||||
|
||||
return self::tagCalc($r);
|
||||
}
|
||||
|
||||
|
@ -113,7 +116,7 @@ class TagCloud
|
|||
* @param array $arr Array of tags/terms with tag/term name and total count of use.
|
||||
* @return array Alphabetical sorted array of used tags/terms of an user.
|
||||
*/
|
||||
private static function tagCalc($arr)
|
||||
private static function tagCalc(array $arr)
|
||||
{
|
||||
$tags = [];
|
||||
$min = 1e9;
|
||||
|
|
|
@ -121,6 +121,7 @@ HELP;
|
|||
|
||||
$className = $this->subConsoles[$command];
|
||||
|
||||
/** @var Console $subconsole */
|
||||
$subconsole = new $className($subargs);
|
||||
|
||||
foreach ($this->options as $name => $value) {
|
||||
|
|
|
@ -8,6 +8,7 @@ namespace Friendica\Core;
|
|||
use Exception;
|
||||
use Friendica\BaseObject;
|
||||
use Friendica\Render\FriendicaSmarty;
|
||||
use Friendica\Render\ITemplateEngine;
|
||||
|
||||
/**
|
||||
* @brief This class handles Renderer related functions.
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
namespace Friendica\Core;
|
||||
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Model\Storage\IStorage;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -138,6 +139,7 @@ class StorageManager
|
|||
while($r = DBA::fetch($rr)) {
|
||||
$id = $r['id'];
|
||||
$data = $r['data'];
|
||||
/** @var IStorage $backendClass */
|
||||
$backendClass = $r['backend-class'];
|
||||
$backendRef = $r['backend-ref'];
|
||||
if (!is_null($backendClass) && $backendClass !== '') {
|
||||
|
@ -146,6 +148,7 @@ class StorageManager
|
|||
}
|
||||
|
||||
Logger::log("save data to new backend " . $dest);
|
||||
/** @var IStorage $dest */
|
||||
$ref = $dest::put($data);
|
||||
Logger::log("saved data as " . $ref);
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ use Friendica\Core\System;
|
|||
use Friendica\Core\StorageManager;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Database\DBStructure;
|
||||
use Friendica\Model\Storage\IStorage;
|
||||
use Friendica\Object\Image;
|
||||
use Friendica\Util\Security;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
|
@ -176,7 +177,7 @@ class Attach extends BaseObject
|
|||
* @return boolean/integer Row id on success, False on errors
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public function store($data, $uid, $filename, $filetype = '' , $filesize = null, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '')
|
||||
public static function store($data, $uid, $filename, $filetype = '' , $filesize = null, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '')
|
||||
{
|
||||
if ($filetype === '') {
|
||||
$filetype = Mimetype::getContentType($filename);
|
||||
|
@ -186,6 +187,7 @@ class Attach extends BaseObject
|
|||
$filesize = strlen($data);
|
||||
}
|
||||
|
||||
/** @var IStorage $backend_class */
|
||||
$backend_class = StorageManager::getBackend();
|
||||
$backend_ref = '';
|
||||
if ($backend_class !== '') {
|
||||
|
@ -265,6 +267,7 @@ class Attach extends BaseObject
|
|||
$items = self::select(['backend-class','backend-ref'], $conditions);
|
||||
|
||||
foreach($items as $item) {
|
||||
/** @var IStorage $backend_class */
|
||||
$backend_class = (string)$item['backend-class'];
|
||||
if ($backend_class !== '') {
|
||||
$fields['backend-ref'] = $backend_class::put($img->asString(), $item['backend-ref']);
|
||||
|
@ -297,6 +300,7 @@ class Attach extends BaseObject
|
|||
$items = self::select(['backend-class','backend-ref'], $conditions);
|
||||
|
||||
foreach($items as $item) {
|
||||
/** @var IStorage $backend_class */
|
||||
$backend_class = (string)$item['backend-class'];
|
||||
if ($backend_class !== '') {
|
||||
$backend_class::delete($item['backend-ref']);
|
||||
|
|
|
@ -644,15 +644,17 @@ class Event extends BaseObject
|
|||
*/
|
||||
private static function formatListForExport(array $events, $format)
|
||||
{
|
||||
$o = '';
|
||||
|
||||
if (!count($events)) {
|
||||
return '';
|
||||
return $o;
|
||||
}
|
||||
|
||||
switch ($format) {
|
||||
// Format the exported data as a CSV file.
|
||||
case "csv":
|
||||
header("Content-type: text/csv");
|
||||
$o = '"Subject", "Start Date", "Start Time", "Description", "End Date", "End Time", "Location"' . PHP_EOL;
|
||||
$o .= '"Subject", "Start Date", "Start Time", "Description", "End Date", "End Time", "Location"' . PHP_EOL;
|
||||
|
||||
foreach ($events as $event) {
|
||||
/// @todo The time / date entries don't include any information about the
|
||||
|
|
|
@ -1790,13 +1790,13 @@ class Item extends BaseObject
|
|||
DBA::insert('diaspora-interaction', ['uri-id' => $item['uri-id'], 'interaction' => $diaspora_signed_text], true);
|
||||
}
|
||||
|
||||
$deleted = self::tagDeliver($item['uid'], $current_post);
|
||||
self::tagDeliver($item['uid'], $current_post);
|
||||
|
||||
/*
|
||||
* current post can be deleted if is for a community page and no mention are
|
||||
* in it.
|
||||
*/
|
||||
if (!$deleted && !$dontcache) {
|
||||
if (!$dontcache) {
|
||||
$posted_item = self::selectFirst(self::ITEM_FIELDLIST, ['id' => $current_post]);
|
||||
if (DBA::isResult($posted_item)) {
|
||||
if ($notify) {
|
||||
|
|
|
@ -157,7 +157,7 @@ class Mail
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $recipient recipient, default empty
|
||||
* @param array $recipient recipient, default empty
|
||||
* @param string $body message body, default empty
|
||||
* @param string $subject message subject, default empty
|
||||
* @param string $replyto reply to, default empty
|
||||
|
@ -165,7 +165,7 @@ class Mail
|
|||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
public static function sendWall($recipient = '', $body = '', $subject = '', $replyto = '')
|
||||
public static function sendWall(array $recipient = [], $body = '', $subject = '', $replyto = '')
|
||||
{
|
||||
if (!$recipient) {
|
||||
return -1;
|
||||
|
|
|
@ -14,6 +14,7 @@ use Friendica\Core\System;
|
|||
use Friendica\Core\StorageManager;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Database\DBStructure;
|
||||
use Friendica\Model\Storage\IStorage;
|
||||
use Friendica\Object\Image;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\Network;
|
||||
|
@ -268,6 +269,7 @@ class Photo extends BaseObject
|
|||
$data = "";
|
||||
$backend_ref = "";
|
||||
|
||||
/** @var IStorage $backend_class */
|
||||
if (DBA::isResult($existing_photo)) {
|
||||
$backend_ref = (string)$existing_photo["backend-ref"];
|
||||
$backend_class = (string)$existing_photo["backend-class"];
|
||||
|
@ -334,6 +336,7 @@ class Photo extends BaseObject
|
|||
$photos = self::select(["backend-class","backend-ref"], $conditions);
|
||||
|
||||
foreach($photos as $photo) {
|
||||
/** @var IStorage $backend_class */
|
||||
$backend_class = (string)$photo["backend-class"];
|
||||
if ($backend_class !== "") {
|
||||
$backend_class::delete($photo["backend-ref"]);
|
||||
|
@ -363,6 +366,7 @@ class Photo extends BaseObject
|
|||
$photos = self::select(["backend-class","backend-ref"], $conditions);
|
||||
|
||||
foreach($photos as $photo) {
|
||||
/** @var IStorage $backend_class */
|
||||
$backend_class = (string)$photo["backend-class"];
|
||||
if ($backend_class !== "") {
|
||||
$fields["backend-ref"] = $backend_class::put($img->asString(), $photo["backend-ref"]);
|
||||
|
@ -479,7 +483,7 @@ class Photo extends BaseObject
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $exifCoord coordinate
|
||||
* @param array $exifCoord coordinate
|
||||
* @param string $hemi hemi
|
||||
* @return float
|
||||
*/
|
||||
|
|
|
@ -274,6 +274,7 @@ class Term
|
|||
'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$tag['url'] = Contact::magicLinkByContact($author, $tag['url']);
|
||||
|
||||
$prefix = '';
|
||||
if ($tag['type'] == TERM_HASHTAG) {
|
||||
if ($orig_tag != $tag['url']) {
|
||||
$item['body'] = str_replace($orig_tag, $tag['url'], $item['body']);
|
||||
|
|
|
@ -8,7 +8,6 @@ use Friendica\Content\ContactSelector;
|
|||
use Friendica\Content\Nav;
|
||||
use Friendica\Content\Pager;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Content\Text\HTML;
|
||||
use Friendica\Content\Widget;
|
||||
use Friendica\Core\ACL;
|
||||
use Friendica\Core\Hook;
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
/**
|
||||
* @file src/Module/Inbox.php
|
||||
*/
|
||||
|
||||
namespace Friendica\Module;
|
||||
|
||||
use Friendica\BaseModule;
|
||||
|
@ -25,19 +26,17 @@ class Inbox extends BaseModule
|
|||
System::httpExit(400);
|
||||
}
|
||||
|
||||
// Enable for test purposes
|
||||
/*
|
||||
if (HTTPSignature::getSigner($postdata, $_SERVER)) {
|
||||
$filename = 'signed-activitypub';
|
||||
} else {
|
||||
$filename = 'failed-activitypub';
|
||||
if (Config::get('debug', 'ap_inbox_log')) {
|
||||
if (HTTPSignature::getSigner($postdata, $_SERVER)) {
|
||||
$filename = 'signed-activitypub';
|
||||
} else {
|
||||
$filename = 'failed-activitypub';
|
||||
}
|
||||
$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::log('Incoming message stored under ' . $tempfile);
|
||||
}
|
||||
|
||||
$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::log('Incoming message stored under ' . $tempfile);
|
||||
*/
|
||||
if (!empty($a->argv[1])) {
|
||||
$user = DBA::selectFirst('user', ['uid'], ['nickname' => $a->argv[1]]);
|
||||
if (!DBA::isResult($user)) {
|
||||
|
|
|
@ -46,28 +46,29 @@ class Photo extends BaseModule
|
|||
}
|
||||
|
||||
$customsize = 0;
|
||||
$photo = false;
|
||||
switch($a->argc) {
|
||||
case 4:
|
||||
$customsize = intval($a->argv[2]);
|
||||
$uid = self::stripExtension($a->argv[3]);
|
||||
$photo = self::getAvatar($uid, $a->argv[1]);
|
||||
break;
|
||||
case 3:
|
||||
$uid = self::stripExtension($a->argv[2]);
|
||||
$photo = self::getAvatar($uid, $a->argv[1]);
|
||||
break;
|
||||
case 2:
|
||||
$photoid = self::stripExtension($a->argv[1]);
|
||||
$scale = 0;
|
||||
if (substr($photoid, -2, 1) == "-") {
|
||||
$scale = intval(substr($photoid, -1, 1));
|
||||
$photoid = substr($photoid, 0, -2);
|
||||
}
|
||||
$photo = MPhoto::getPhoto($photoid, $scale);
|
||||
if ($photo === false) {
|
||||
$photo = MPhoto::createPhotoForSystemResource("images/nosign.jpg");
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
$customsize = intval($a->argv[2]);
|
||||
$uid = self::stripExtension($a->argv[3]);
|
||||
$photo = self::getAvatar($uid, $a->argv[1]);
|
||||
break;
|
||||
case 3:
|
||||
$uid = self::stripExtension($a->argv[2]);
|
||||
$photo = self::getAvatar($uid, $a->argv[1]);
|
||||
break;
|
||||
case 2:
|
||||
$photoid = self::stripExtension($a->argv[1]);
|
||||
$scale = 0;
|
||||
if (substr($photoid, -2, 1) == "-") {
|
||||
$scale = intval(substr($photoid, -1, 1));
|
||||
$photoid = substr($photoid, 0, -2);
|
||||
}
|
||||
$photo = MPhoto::getPhoto($photoid, $scale);
|
||||
if ($photo === false) {
|
||||
$photo = MPhoto::createPhotoForSystemResource("images/nosign.jpg");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if ($photo === false) {
|
||||
|
|
|
@ -23,6 +23,7 @@ use ImagickPixel;
|
|||
*/
|
||||
class Image
|
||||
{
|
||||
/** @var Imagick|resource */
|
||||
private $image;
|
||||
|
||||
/*
|
||||
|
|
|
@ -23,7 +23,6 @@ use Friendica\Util\LDSignature;
|
|||
use Friendica\Model\Profile;
|
||||
use Friendica\Object\Image;
|
||||
use Friendica\Protocol\ActivityPub;
|
||||
use Friendica\Protocol\Diaspora;
|
||||
use Friendica\Core\Cache;
|
||||
use Friendica\Util\Map;
|
||||
use Friendica\Util\Network;
|
||||
|
|
|
@ -529,17 +529,17 @@ class DFRN
|
|||
/**
|
||||
* @brief Adds the header elements for the DFRN protocol
|
||||
*
|
||||
* @param object $doc XML document
|
||||
* @param array $owner Owner record
|
||||
* @param string $authorelement Element name for the author
|
||||
* @param string $alternatelink link to profile or category
|
||||
* @param bool $public Is it a header for public posts?
|
||||
* @param DOMDocument $doc XML document
|
||||
* @param array $owner Owner record
|
||||
* @param string $authorelement Element name for the author
|
||||
* @param string $alternatelink link to profile or category
|
||||
* @param bool $public Is it a header for public posts?
|
||||
*
|
||||
* @return object XML root object
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @todo Find proper type-hints
|
||||
*/
|
||||
private static function addHeader($doc, $owner, $authorelement, $alternatelink = "", $public = false)
|
||||
private static function addHeader(DOMDocument $doc, $owner, $authorelement, $alternatelink = "", $public = false)
|
||||
{
|
||||
|
||||
if ($alternatelink == "") {
|
||||
|
@ -607,16 +607,16 @@ class DFRN
|
|||
/**
|
||||
* @brief Adds the author element in the header for the DFRN protocol
|
||||
*
|
||||
* @param object $doc XML document
|
||||
* @param array $owner Owner record
|
||||
* @param string $authorelement Element name for the author
|
||||
* @param boolean $public boolean
|
||||
* @param DOMDocument $doc XML document
|
||||
* @param array $owner Owner record
|
||||
* @param string $authorelement Element name for the author
|
||||
* @param boolean $public boolean
|
||||
*
|
||||
* @return object XML author object
|
||||
* @return \DOMElement XML author object
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @todo Find proper type-hints
|
||||
*/
|
||||
private static function addAuthor($doc, $owner, $authorelement, $public)
|
||||
private static function addAuthor(DOMDocument $doc, array $owner, $authorelement, $public)
|
||||
{
|
||||
// Is the profile hidden or shouldn't be published in the net? Then add the "hide" element
|
||||
$r = q(
|
||||
|
@ -752,16 +752,16 @@ class DFRN
|
|||
/**
|
||||
* @brief Adds the author elements in the "entry" elements of the DFRN protocol
|
||||
*
|
||||
* @param object $doc XML document
|
||||
* @param DOMDocument $doc XML document
|
||||
* @param string $element Element name for the author
|
||||
* @param string $contact_url Link of the contact
|
||||
* @param array $item Item elements
|
||||
*
|
||||
* @return object XML author object
|
||||
* @return \DOMElement XML author object
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @todo Find proper type-hints
|
||||
*/
|
||||
private static function addEntryAuthor($doc, $element, $contact_url, $item)
|
||||
private static function addEntryAuthor(DOMDocument $doc, $element, $contact_url, $item)
|
||||
{
|
||||
$contact = Contact::getDetailsByURL($contact_url, $item["uid"]);
|
||||
|
||||
|
@ -795,15 +795,15 @@ class DFRN
|
|||
/**
|
||||
* @brief Adds the activity elements
|
||||
*
|
||||
* @param object $doc XML document
|
||||
* @param string $element Element name for the activity
|
||||
* @param string $activity activity value
|
||||
* @param DOMDocument $doc XML document
|
||||
* @param string $element Element name for the activity
|
||||
* @param string $activity activity value
|
||||
*
|
||||
* @return object XML activity object
|
||||
* @return \DOMElement XML activity object
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @todo Find proper type-hints
|
||||
*/
|
||||
private static function createActivity($doc, $element, $activity)
|
||||
private static function createActivity(DOMDocument $doc, $element, $activity)
|
||||
{
|
||||
if ($activity) {
|
||||
$entry = $doc->createElement($element);
|
||||
|
@ -898,20 +898,20 @@ class DFRN
|
|||
/**
|
||||
* @brief Adds the "entry" elements for the DFRN protocol
|
||||
*
|
||||
* @param object $doc XML document
|
||||
* @param string $type "text" or "html"
|
||||
* @param array $item Item element
|
||||
* @param array $owner Owner record
|
||||
* @param bool $comment Trigger the sending of the "comment" element
|
||||
* @param int $cid Contact ID of the recipient
|
||||
* @param bool $single If set, the entry is created as an XML document with a single "entry" element
|
||||
* @param DOMDocument $doc XML document
|
||||
* @param string $type "text" or "html"
|
||||
* @param array $item Item element
|
||||
* @param array $owner Owner record
|
||||
* @param bool $comment Trigger the sending of the "comment" element
|
||||
* @param int $cid Contact ID of the recipient
|
||||
* @param bool $single If set, the entry is created as an XML document with a single "entry" element
|
||||
*
|
||||
* @return object XML entry object
|
||||
* @return \DOMElement XML entry object
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
* @todo Find proper type-hints
|
||||
*/
|
||||
private static function entry($doc, $type, array $item, array $owner, $comment = false, $cid = 0, $single = false)
|
||||
private static function entry(DOMDocument $doc, $type, array $item, array $owner, $comment = false, $cid = 0, $single = false)
|
||||
{
|
||||
$mentioned = [];
|
||||
|
||||
|
@ -2414,7 +2414,7 @@ class DFRN
|
|||
* @param object $xpath XPath object
|
||||
* @param object $entry entry elements
|
||||
* @param array $importer Record of the importer user mixed with contact of the content
|
||||
* @param object $xml xml
|
||||
* @param string $xml xml
|
||||
* @return void
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
|
@ -2513,7 +2513,7 @@ class DFRN
|
|||
|
||||
$notice_info = $xpath->query("statusnet:notice_info", $entry);
|
||||
if ($notice_info && ($notice_info->length > 0)) {
|
||||
foreach ($notice_info->item(0)->attributes as $attributes) {
|
||||
foreach ($notice_info->item[0]->attributes as $attributes) {
|
||||
if ($attributes->name == "source") {
|
||||
$item["app"] = strip_tags($attributes->textContent);
|
||||
}
|
||||
|
@ -2588,8 +2588,8 @@ class DFRN
|
|||
$item['conversation-uri'] = XML::getFirstNodeValue($xpath, 'ostatus:conversation/text()', $entry);
|
||||
|
||||
$conv = $xpath->query('ostatus:conversation', $entry);
|
||||
if (is_object($conv->item(0))) {
|
||||
foreach ($conv->item(0)->attributes as $attributes) {
|
||||
if (is_object($conv->item[0])) {
|
||||
foreach ($conv->item[0]->attributes as $attributes) {
|
||||
if ($attributes->name == "ref") {
|
||||
$item['conversation-uri'] = $attributes->textContent;
|
||||
}
|
||||
|
@ -2603,8 +2603,8 @@ class DFRN
|
|||
$item["parent-uri"] = $item["uri"];
|
||||
|
||||
$inreplyto = $xpath->query("thr:in-reply-to", $entry);
|
||||
if (is_object($inreplyto->item(0))) {
|
||||
foreach ($inreplyto->item(0)->attributes as $attributes) {
|
||||
if (is_object($inreplyto->item[0])) {
|
||||
foreach ($inreplyto->item[0]->attributes as $attributes) {
|
||||
if ($attributes->name == "ref") {
|
||||
$item["parent-uri"] = $attributes->textContent;
|
||||
}
|
||||
|
|
|
@ -648,15 +648,15 @@ class Diaspora
|
|||
/**
|
||||
* @brief Dispatches the different message types to the different functions
|
||||
*
|
||||
* @param array $importer Array of the importer user
|
||||
* @param array $msg The post that will be dispatched
|
||||
* @param object $fields SimpleXML object that contains the message
|
||||
* @param array $importer Array of the importer user
|
||||
* @param array $msg The post that will be dispatched
|
||||
* @param SimpleXMLElement $fields SimpleXML object that contains the message
|
||||
*
|
||||
* @return int The message id of the generated message, "true" or "false" if there was an error
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
public static function dispatch(array $importer, $msg, $fields = null)
|
||||
public static function dispatch(array $importer, $msg, SimpleXMLElement $fields = null)
|
||||
{
|
||||
// The sender is the handle of the contact that sent the message.
|
||||
// This will often be different with relayed messages (for example "like" and "comment")
|
||||
|
@ -758,7 +758,7 @@ class Diaspora
|
|||
*
|
||||
* @param array $msg Array with the XML, the sender handle and the sender signature
|
||||
*
|
||||
* @return bool|array If the posting is valid then an array with an SimpleXML object is returned
|
||||
* @return bool|SimpleXMLElement If the posting is valid then an array with an SimpleXML object is returned
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
|
@ -1077,7 +1077,7 @@ class Diaspora
|
|||
* @param int $uid The user id
|
||||
* @param string $handle The handle in the format user@domain.tld
|
||||
*
|
||||
* @return int Contact id
|
||||
* @return array Contact data
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
|
|
|
@ -17,7 +17,7 @@ class Email
|
|||
* @param string $mailbox The mailbox name
|
||||
* @param string $username The username
|
||||
* @param string $password The password
|
||||
* @return object
|
||||
* @return resource
|
||||
* @throws \Exception
|
||||
*/
|
||||
public static function connect($mailbox, $username, $password)
|
||||
|
@ -42,8 +42,8 @@ class Email
|
|||
}
|
||||
|
||||
/**
|
||||
* @param object $mbox mailbox
|
||||
* @param string $email_addr email
|
||||
* @param resource $mbox mailbox
|
||||
* @param string $email_addr email
|
||||
* @return array
|
||||
* @throws \Exception
|
||||
*/
|
||||
|
@ -92,8 +92,8 @@ class Email
|
|||
}
|
||||
|
||||
/**
|
||||
* @param object $mbox mailbox
|
||||
* @param integer $uid user id
|
||||
* @param resource $mbox mailbox
|
||||
* @param integer $uid user id
|
||||
* @return mixed
|
||||
*/
|
||||
public static function messageMeta($mbox, $uid)
|
||||
|
@ -103,9 +103,9 @@ class Email
|
|||
}
|
||||
|
||||
/**
|
||||
* @param object $mbox mailbox
|
||||
* @param integer $uid user id
|
||||
* @param string $reply reply
|
||||
* @param resource $mbox mailbox
|
||||
* @param integer $uid user id
|
||||
* @param string $reply reply
|
||||
* @return array
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
|
@ -166,11 +166,11 @@ class Email
|
|||
// At the moment - only return plain/text.
|
||||
// Later we'll repackage inline images as data url's and make the HTML safe
|
||||
/**
|
||||
* @param object $mbox mailbox
|
||||
* @param integer $uid user id
|
||||
* @param object $p parts
|
||||
* @param integer $partno part number
|
||||
* @param string $subtype sub type
|
||||
* @param resource $mbox mailbox
|
||||
* @param integer $uid user id
|
||||
* @param object $p parts
|
||||
* @param integer $partno part number
|
||||
* @param string $subtype sub type
|
||||
* @return string
|
||||
*/
|
||||
private static function messageGetPart($mbox, $uid, $p, $partno, $subtype)
|
||||
|
|
|
@ -1453,7 +1453,7 @@ class OStatus
|
|||
* @param array $owner Contact data of the poster
|
||||
* @param bool $show_profile Whether to show profile
|
||||
*
|
||||
* @return object author element
|
||||
* @return \DOMElement author element
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
private static function addAuthor(DOMDocument $doc, array $owner, $show_profile = true)
|
||||
|
@ -1573,7 +1573,7 @@ class OStatus
|
|||
* @param bool $toplevel optional default false
|
||||
* @param bool $feed_mode Behave like a regular feed for users if true
|
||||
*
|
||||
* @return object Entry element
|
||||
* @return \DOMElement Entry element
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
|
@ -1605,7 +1605,7 @@ class OStatus
|
|||
* @param DOMDocument $doc XML document
|
||||
* @param array $contact Array of the contact that is added
|
||||
*
|
||||
* @return object Source element
|
||||
* @return \DOMElement Source element
|
||||
* @throws \Exception
|
||||
*/
|
||||
private static function sourceEntry(DOMDocument $doc, array $contact)
|
||||
|
@ -1748,7 +1748,7 @@ class OStatus
|
|||
* @param array $owner Contact data of the poster
|
||||
* @param bool $toplevel Is it for en entry element (false) or a feed entry (true)?
|
||||
*
|
||||
* @return object Entry element with "like"
|
||||
* @return \DOMElement Entry element with "like"
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
|
@ -1835,7 +1835,7 @@ class OStatus
|
|||
* @param array $owner Contact data of the poster
|
||||
* @param bool $toplevel Is it for en entry element (false) or a feed entry (true)?
|
||||
*
|
||||
* @return object Entry element
|
||||
* @return \DOMElement Entry element
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
|
@ -1900,7 +1900,7 @@ class OStatus
|
|||
* @param bool $toplevel Is it for en entry element (false) or a feed entry (true)?
|
||||
* @param bool $feed_mode Behave like a regular feed for users if true
|
||||
*
|
||||
* @return object Entry element
|
||||
* @return \DOMElement Entry element
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
|
@ -1976,7 +1976,7 @@ class OStatus
|
|||
* @brief Adds elements to the XML document
|
||||
*
|
||||
* @param DOMDocument $doc XML document
|
||||
* @param object $entry Entry element where the content is added
|
||||
* @param \DOMElement $entry Entry element where the content is added
|
||||
* @param array $item Data of the item that is to be posted
|
||||
* @param array $owner Contact data of the poster
|
||||
* @param string $title Title for the post
|
||||
|
@ -1986,7 +1986,7 @@ class OStatus
|
|||
* @return void
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
private static function entryContent(DOMDocument $doc, $entry, array $item, array $owner, $title, $verb = "", $complete = true, $feed_mode = false)
|
||||
private static function entryContent(DOMDocument $doc, \DOMElement $entry, array $item, array $owner, $title, $verb = "", $complete = true, $feed_mode = false)
|
||||
{
|
||||
if ($verb == "") {
|
||||
$verb = self::constructVerb($item);
|
||||
|
|
|
@ -423,13 +423,13 @@ class Crypto
|
|||
*
|
||||
* Ported from Hubzilla: https://framagit.org/hubzilla/core/blob/master/include/crypto.php
|
||||
*
|
||||
* @param string $data
|
||||
* @param array $data ['iv' => $iv, 'key' => $key, 'alg' => $alg, 'data' => $data]
|
||||
* @param string $prvkey The private key used for decryption.
|
||||
*
|
||||
* @return string|boolean The decrypted string or false on failure.
|
||||
* @throws \Exception
|
||||
*/
|
||||
public static function unencapsulate($data, $prvkey)
|
||||
public static function unencapsulate(array $data, $prvkey)
|
||||
{
|
||||
if (!$data) {
|
||||
return;
|
||||
|
@ -437,23 +437,23 @@ class Crypto
|
|||
|
||||
$alg = ((array_key_exists('alg', $data)) ? $data['alg'] : 'aes256cbc');
|
||||
if ($alg === 'aes256cbc') {
|
||||
return self::encapsulateAes($data, $prvkey);
|
||||
return self::encapsulateAes($data['data'], $prvkey);
|
||||
}
|
||||
return self::encapsulateOther($data, $prvkey, $alg);
|
||||
return self::encapsulateOther($data['data'], $prvkey, $alg);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Ported from Hubzilla: https://framagit.org/hubzilla/core/blob/master/include/crypto.php
|
||||
*
|
||||
* @param string $data
|
||||
* @param array $data
|
||||
* @param string $prvkey The private key used for decryption.
|
||||
* @param string $alg
|
||||
*
|
||||
* @return string|boolean The decrypted string or false on failure.
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
private static function unencapsulateOther($data, $prvkey, $alg)
|
||||
private static function unencapsulateOther(array $data, $prvkey, $alg)
|
||||
{
|
||||
$fn = 'decrypt' . strtoupper($alg);
|
||||
|
||||
|
|
|
@ -158,10 +158,10 @@ class Temporal
|
|||
/**
|
||||
* @brief Returns a date selector
|
||||
*
|
||||
* @param string $min Unix timestamp of minimum date
|
||||
* @param string $max Unix timestap of maximum date
|
||||
* @param string $default Unix timestamp of default date
|
||||
* @param string $id ID and name of datetimepicker (defaults to "datetimepicker")
|
||||
* @param DateTime $min Minimum date
|
||||
* @param DateTime $max Maximum date
|
||||
* @param DateTime $default Default date
|
||||
* @param string $id ID and name of datetimepicker (defaults to "datetimepicker")
|
||||
*
|
||||
* @return string Parsed HTML output.
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
|
|
|
@ -135,14 +135,14 @@ class XML
|
|||
/**
|
||||
* @brief Create an XML element
|
||||
*
|
||||
* @param object $doc XML root
|
||||
* @param string $element XML element name
|
||||
* @param string $value XML value
|
||||
* @param array $attributes array containing the attributes
|
||||
* @param \DOMDocument $doc XML root
|
||||
* @param string $element XML element name
|
||||
* @param string $value XML value
|
||||
* @param array $attributes array containing the attributes
|
||||
*
|
||||
* @return object XML element object
|
||||
* @return \DOMElement XML element object
|
||||
*/
|
||||
public static function createElement($doc, $element, $value = "", $attributes = [])
|
||||
public static function createElement(\DOMDocument $doc, $element, $value = "", $attributes = [])
|
||||
{
|
||||
$element = $doc->createElement($element, self::escape($value));
|
||||
|
||||
|
@ -157,14 +157,14 @@ class XML
|
|||
/**
|
||||
* @brief Create an XML and append it to the parent object
|
||||
*
|
||||
* @param object $doc XML root
|
||||
* @param \DOMDocument $doc XML root
|
||||
* @param object $parent parent object
|
||||
* @param string $element XML element name
|
||||
* @param string $value XML value
|
||||
* @param array $attributes array containing the attributes
|
||||
* @return void
|
||||
*/
|
||||
public static function addElement($doc, $parent, $element, $value = "", $attributes = [])
|
||||
public static function addElement(\DOMDocument $doc, $parent, $element, $value = "", $attributes = [])
|
||||
{
|
||||
$element = self::createElement($doc, $element, $value, $attributes);
|
||||
$parent->appendChild($element);
|
||||
|
@ -402,11 +402,11 @@ class XML
|
|||
/**
|
||||
* @brief Delete a node in a XML object
|
||||
*
|
||||
* @param object $doc XML document
|
||||
* @param \DOMDocument $doc XML document
|
||||
* @param string $node Node name
|
||||
* @return void
|
||||
*/
|
||||
public static function deleteNode(&$doc, $node)
|
||||
public static function deleteNode(\DOMDocument $doc, $node)
|
||||
{
|
||||
$xpath = new DOMXPath($doc);
|
||||
$list = $xpath->query("//".$node);
|
||||
|
@ -431,7 +431,7 @@ class XML
|
|||
return $x;
|
||||
}
|
||||
|
||||
public static function getFirstNodeValue($xpath, $element, $context = null)
|
||||
public static function getFirstNodeValue(DOMXPath $xpath, $element, $context = null)
|
||||
{
|
||||
$result = $xpath->evaluate($element, $context);
|
||||
if (!is_object($result)) {
|
||||
|
@ -446,7 +446,7 @@ class XML
|
|||
return $first_item->nodeValue;
|
||||
}
|
||||
|
||||
public static function getFirstAttributes($xpath, $element, $context = null)
|
||||
public static function getFirstAttributes(DOMXPath $xpath, $element, $context = null)
|
||||
{
|
||||
$result = $xpath->query($element, $context);
|
||||
if (!is_object($result)) {
|
||||
|
|
|
@ -94,7 +94,7 @@ class Delivery extends BaseObject
|
|||
} elseif (!empty($target_item['uid'])) {
|
||||
$uid = $target_item['uid'];
|
||||
} else {
|
||||
Logger::log('Only public users for item ' . $item_id, Logger::DEBUG);
|
||||
Logger::log('Only public users for item ' . $target_id, Logger::DEBUG);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue