diff --git a/src/Core/ACL.php b/src/Core/ACL.php index f05cf1f791..21c0b41bde 100644 --- a/src/Core/ACL.php +++ b/src/Core/ACL.php @@ -258,6 +258,11 @@ class ACL extends BaseObject */ public static function getFullSelectorHTML(array $user = null, $show_jotnets = false) { + + if (empty($user['uid'])) { + return ''; + } + $perms = self::getDefaultUserPermissions($user); $jotnets = ''; diff --git a/src/Model/Item.php b/src/Model/Item.php index 059fee93bd..5db1b0bb45 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -1204,6 +1204,17 @@ class Item extends BaseObject return $contact_id; } + // This function will finally cover most of the preparation functionality in mod/item.php + public static function prepare(&$item) + { + $data = BBCode::getAttachmentData($item['body']); + if ((preg_match_all("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism", $item['body'], $match, PREG_SET_ORDER) || isset($data["type"])) + && ($posttype != Item::PT_PERSONAL_NOTE)) { + $posttype = Item::PT_PAGE; + $objecttype = ACTIVITY_OBJ_BOOKMARK; + } + } + public static function insert($item, $force_parent = false, $notify = false, $dontcache = false) { $a = get_app(); diff --git a/src/Network/Probe.php b/src/Network/Probe.php index 48530ffeae..c01e3edd41 100644 --- a/src/Network/Probe.php +++ b/src/Network/Probe.php @@ -119,7 +119,7 @@ class Probe if (!is_object($xrd)) { $ret = Network::curl($url, false, $redirects, ['timeout' => $xrd_timeout, 'accept_content' => 'application/xrd+xml']); - if (!$ret["success"] && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { + if (!empty($ret["errno"]) && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { logger("Probing timeout for ".$url, LOGGER_DEBUG); return false; } @@ -731,7 +731,7 @@ class Probe $redirects = 0; $ret = Network::curl($url, false, $redirects, ['timeout' => $xrd_timeout, 'accept_content' => $type]); - if (!$ret["success"] && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { + if (!empty($ret["errno"]) && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { return false; } $data = $ret['body']; @@ -798,7 +798,7 @@ class Probe private static function pollNoscrape($noscrape_url, $data) { $ret = Network::curl($noscrape_url); - if (!$ret["success"] && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { + if (!empty($ret["errno"]) && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { return false; } $content = $ret['body']; @@ -1036,7 +1036,7 @@ class Probe private static function pollHcard($hcard_url, $data, $dfrn = false) { $ret = Network::curl($hcard_url); - if (!$ret["success"] && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { + if (!empty($ret["errno"]) && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { return false; } $content = $ret['body']; @@ -1283,7 +1283,7 @@ class Probe } } elseif (normalise_link($pubkey) == 'http://') { $ret = Network::curl($pubkey); - if (!$ret["success"] && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { + if (!empty($ret["errno"]) && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { return false; } $pubkey = $ret['body']; @@ -1315,7 +1315,7 @@ class Probe // Fetch all additional data from the feed $ret = Network::curl($data["poll"]); - if (!$ret["success"] && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { + if (!empty($ret["errno"]) && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { return false; } $feed = $ret['body']; @@ -1525,7 +1525,7 @@ class Probe private static function feed($url, $probe = true) { $ret = Network::curl($url); - if (!$ret["success"] && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { + if (!empty($ret["errno"]) && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { return false; } $feed = $ret['body']; diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index b5e1b6c573..3e8d99e7cb 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -1189,7 +1189,7 @@ class DFRN $ret = Network::curl($url); - if ($ret['errno'] == CURLE_OPERATION_TIMEDOUT) { + if (!empty($ret["errno"]) && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { Contact::markForArchival($contact); return -2; // timed out } diff --git a/src/Protocol/PortableContact.php b/src/Protocol/PortableContact.php index f45b65e611..85b23f5699 100644 --- a/src/Protocol/PortableContact.php +++ b/src/Protocol/PortableContact.php @@ -1003,7 +1003,7 @@ class PortableContact // Quit if there is a timeout. // But we want to make sure to only quit if we are mostly sure that this server url fits. if (DBM::is_result($gserver) && ($orig_server_url == $server_url) && - (!$serverret["success"] && ($serverret['errno'] == CURLE_OPERATION_TIMEDOUT))) { + (!empty($serverret["errno"]) && ($serverret['errno'] == CURLE_OPERATION_TIMEDOUT))) { logger("Connection to server ".$server_url." timed out.", LOGGER_DEBUG); DBA::update('gserver', ['last_failure' => DateTimeFormat::utcNow()], ['nurl' => normalise_link($server_url)]); return false; @@ -1018,7 +1018,7 @@ class PortableContact $serverret = Network::curl($server_url."/.well-known/host-meta", false, $redirects, ['timeout' => 20]); // Quit if there is a timeout - if (!$serverret["success"] && ($serverret['errno'] == CURLE_OPERATION_TIMEDOUT)) { + if (!empty($serverret["errno"]) && ($serverret['errno'] == CURLE_OPERATION_TIMEDOUT)) { logger("Connection to server ".$server_url." timed out.", LOGGER_DEBUG); DBA::update('gserver', ['last_failure' => DateTimeFormat::utcNow()], ['nurl' => normalise_link($server_url)]); return false; diff --git a/src/Worker/OnePoll.php b/src/Worker/OnePoll.php index e586ca005a..89703a82b2 100644 --- a/src/Worker/OnePoll.php +++ b/src/Worker/OnePoll.php @@ -185,7 +185,7 @@ class OnePoll $ret = Network::curl($url); - if (!$ret["success"] && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { + if (!empty($ret["errno"]) && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { // set the last-update so we don't keep polling DBA::update('contact', ['last-update' => DateTimeFormat::utcNow()], ['id' => $contact['id']]); Contact::markForArchival($contact); @@ -321,7 +321,7 @@ class OnePoll $ret = Network::curl($contact['poll'], false, $redirects, ['cookiejar' => $cookiejar]); unlink($cookiejar); - if (!$ret["success"] && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { + if (!empty($ret["errno"]) && ($ret['errno'] == CURLE_OPERATION_TIMEDOUT)) { // set the last-update so we don't keep polling DBA::update('contact', ['last-update' => DateTimeFormat::utcNow()], ['id' => $contact['id']]); Contact::markForArchival($contact);