And some more removed notices in the core (#5465)

This commit is contained in:
Michael Vogel 2018-07-23 13:43:18 +02:00 committed by Hypolite Petovan
parent cd52d0b3e9
commit 53876abfda
5 changed files with 48 additions and 46 deletions

View File

@ -1108,7 +1108,7 @@ function explode_querystring($query)
function curPageURL() function curPageURL()
{ {
$pageURL = 'http'; $pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") { if (!empty($_SERVER["HTTPS"]) && ($_SERVER["HTTPS"] == "on")) {
$pageURL .= "s"; $pageURL .= "s";
} }

View File

@ -65,6 +65,8 @@ function hovercard_content()
// Get the photo_menu - the menu if possible contact actions // Get the photo_menu - the menu if possible contact actions
if (local_user()) { if (local_user()) {
$actions = Contact::photoMenu($contact); $actions = Contact::photoMenu($contact);
} else {
$actions = [];
} }
// Move the contact data to the profile array so we can deliver it to // Move the contact data to the profile array so we can deliver it to

View File

@ -1218,9 +1218,16 @@ class DFRN
$res = XML::parseString($xml); $res = XML::parseString($xml);
if ((intval($res->status) != 0) || !strlen($res->challenge) || !strlen($res->dfrn_id)) { if (!is_object($res) || (intval($res->status) != 0) || !strlen($res->challenge) || !strlen($res->dfrn_id)) {
Contact::markForArchival($contact); Contact::markForArchival($contact);
return ($res->status ? $res->status : 3);
if (empty($res->status)) {
$status = 3;
} else {
$status = $res->status;
}
return $status;
} }
$postvars = []; $postvars = [];

View File

@ -1040,46 +1040,26 @@ class Diaspora
*/ */
private static function contactByHandle($uid, $handle) private static function contactByHandle($uid, $handle)
{ {
// First do a direct search on the contact table $cid = Contact::getIdForURL($handle, $uid);
$r = q( if (!$cid) {
"SELECT * FROM `contact` WHERE `uid` = %d AND `addr` = '%s' LIMIT 1", $handle_parts = explode("@", $handle);
intval($uid), $nurl_sql = "%%://" . $handle_parts[1] . "%%/profile/" . $handle_parts[0];
dbesc($handle) $cid = Contact::getIdForURL($nurl_sql, $uid);
);
if (DBM::is_result($r)) {
return $r[0];
} else {
/*
* We haven't found it?
* We use another function for it that will possibly create a contact entry.
*/
$cid = Contact::getIdForURL($handle, $uid);
if ($cid > 0) {
/// @TODO Contact retrieval should be encapsulated into an "entity" class like `Contact`
$r = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1", intval($cid));
if (DBM::is_result($r)) {
return $r[0];
}
}
} }
$handle_parts = explode("@", $handle); if (!$cid) {
$nurl_sql = "%%://".$handle_parts[1]."%%/profile/".$handle_parts[0]; logger("Haven't found a contact for user " . $uid . " and handle " . $handle, LOGGER_DEBUG);
$r = q( return false;
"SELECT * FROM `contact` WHERE `network` = '%s' AND `uid` = %d AND `nurl` LIKE '%s' LIMIT 1",
dbesc(NETWORK_DFRN),
intval($uid),
dbesc($nurl_sql)
);
if (DBM::is_result($r)) {
return $r[0];
} }
logger("Haven't found contact for user ".$uid." and handle ".$handle, LOGGER_DEBUG); $contact = dba::selectFirst('contact', [], ['id' => $cid]);
return false; if (!DBM::is_result($contact)) {
// This here shouldn't happen at all
logger("Haven't found a contact for user " . $uid . " and handle " . $handle, LOGGER_DEBUG);
return false;
}
return $contact;
} }
/** /**
@ -1147,7 +1127,9 @@ class Diaspora
if (!$contact) { if (!$contact) {
logger("A Contact for handle ".$handle." and user ".$importer["uid"]." was not found"); logger("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 a contact isn't found, we accept it anyway if it is a comment
if ($is_comment) { if ($is_comment && ($importer["uid"] != 0)) {
return self::contactByHandle(0, $handle);
} elseif ($is_comment) {
return $importer; return $importer;
} else { } else {
return false; return false;
@ -1268,6 +1250,11 @@ class Diaspora
private static function storeByGuid($guid, $server, $uid = 0) private static function storeByGuid($guid, $server, $uid = 0)
{ {
$serverparts = parse_url($server); $serverparts = parse_url($server);
if (empty($serverparts["host"]) || empty($serverparts["scheme"])) {
return false;
}
$server = $serverparts["scheme"]."://".$serverparts["host"]; $server = $serverparts["scheme"]."://".$serverparts["host"];
logger("Trying to fetch item ".$guid." from ".$server, LOGGER_DEBUG); logger("Trying to fetch item ".$guid." from ".$server, LOGGER_DEBUG);

View File

@ -1229,19 +1229,25 @@ class PortableContact
$site_name = $data->site->name; $site_name = $data->site->name;
$data->site->closed = self::toBoolean($data->site->closed); $private = false;
$inviteonly = false;
$closed = false;
if (!empty($data->site->closed)) {
$closed = self::toBoolean($data->site->closed);
}
if (!empty($data->site->private)) { if (!empty($data->site->private)) {
$data->site->private = self::toBoolean($data->site->private); $private = self::toBoolean($data->site->private);
} }
if (!empty($data->site->inviteonly)) { if (!empty($data->site->inviteonly)) {
$data->site->inviteonly = self::toBoolean($data->site->inviteonly); $inviteonly = self::toBoolean($data->site->inviteonly);
} }
if (!$data->site->closed && !$data->site->private and $data->site->inviteonly) { if (!$closed && !$private and $inviteonly) {
$register_policy = REGISTER_APPROVE; $register_policy = REGISTER_APPROVE;
} elseif (!$data->site->closed && !$data->site->private) { } elseif (!$closed && !$private) {
$register_policy = REGISTER_OPEN; $register_policy = REGISTER_OPEN;
} else { } else {
$register_policy = REGISTER_CLOSED; $register_policy = REGISTER_CLOSED;
@ -1649,7 +1655,7 @@ class PortableContact
} }
$last_update = date("c", time() - (60 * 60 * 24 * $requery_days)); $last_update = date("c", time() - (60 * 60 * 24 * $requery_days));
$r = q("SELECT `id`, `url`, `network` FROM `gserver` WHERE `last_contact` >= `last_failure` AND `poco` != '' AND `last_poco_query` < '%s' ORDER BY RAND()", dbesc($last_update)); $r = q("SELECT `id`, `url`, `nurl`, `network` FROM `gserver` WHERE `last_contact` >= `last_failure` AND `poco` != '' AND `last_poco_query` < '%s' ORDER BY RAND()", dbesc($last_update));
if (DBM::is_result($r)) { if (DBM::is_result($r)) {
foreach ($r as $server) { foreach ($r as $server) {
if (!self::checkServer($server["url"], $server["network"])) { if (!self::checkServer($server["url"], $server["network"])) {