* Removed notices that revealed themselfes over night ...
* And more notices removed that occured over night
* One more ..
* Some more notices of the day ...
if ((local_user() == $item['uid']) || $contact_id) {
// Check if we should do HTML-based delete confirmation
- if ($_REQUEST['confirm']) {
+ if (!empty($_REQUEST['confirm'])) {
// <form> can't take arguments in its "action" parameter
// so add any arguments as hidden inputs
$query = explode_querystring($a->query_string);
]);
}
// Now check how the user responded to the confirmation query
- if ($_REQUEST['canceled']) {
+ if (!empty($_REQUEST['canceled'])) {
goaway(System::baseUrl() . '/' . $_SESSION['return_url']);
}
}
if (($type === 'profile') && (strlen($sec))) {
+ // heluecht: I don't know why we don't fail immediately when the user or contact hadn't been found.
+ // Since it doesn't make sense to continue from this point on, we now fail here. This should be safe.
+ if (!DBA::isResult($r)) {
+ System::httpExit(404, ["title" => L10n::t('Page not found.')]);
+ }
+
// URL reply
if ($dfrn_version < 2.2) {
$s = Network::fetchUrl($r[0]['poll']
function follow_post(App $a)
{
if (!local_user()) {
- notice(L10n::t('Permission denied.'));
- goaway($_SESSION['return_url']);
- // NOTREACHED
+ System::httpExit(403, ['title' => L10n::t('Access denied.')]);
}
if (isset($_REQUEST['cancel'])) {
break;
case ACTIVITY_FRIEND:
+ if (!isset($it['object'])) {
+ logger('Incomplete data: ' . json_encode($it) . ' - ' . System::callstack(20), LOGGER_DEBUG);
+ }
+
$xmlhead = "<" . "?xml version='1.0' encoding='UTF-8' ?" . ">";
$obj = XML::parseString($xmlhead . $it['object']);
$it['fname'] = $obj->title;
*/
public static function markForArchival(array $contact)
{
-
- if (!isset($contact['url'])) {
+ if (!isset($contact['url']) && !empty($contact['id'])) {
+ $fields = ['id', 'url', 'archive', 'self', 'term-date'];
+ $contact = DBA::selectFirst('contact', [], ['id' => $contact['id']]);
+ if (!DBA::isResult($contact)) {
+ return;
+ }
+ } elseif (!isset($contact['url'])) {
logger('Empty contact: ' . json_encode($contact) . ' - ' . System::callstack(20), LOGGER_DEBUG);
}
if ($contact['term-date'] <= NULL_DATE) {
DBA::update('contact', ['term-date' => DateTimeFormat::utcNow()], ['id' => $contact['id']]);
-
- if ($contact['url'] != '') {
- DBA::update('contact', ['term-date' => DateTimeFormat::utcNow()], ['`nurl` = ? AND `term-date` <= ? AND NOT `self`', normalise_link($contact['url']), NULL_DATE]);
- }
+ DBA::update('contact', ['term-date' => DateTimeFormat::utcNow()], ['`nurl` = ? AND `term-date` <= ? AND NOT `self`', normalise_link($contact['url']), NULL_DATE]);
} else {
/* @todo
* We really should send a notification to the owner after 2-3 weeks
* the whole process over again.
*/
DBA::update('contact', ['archive' => 1], ['id' => $contact['id']]);
-
- if ($contact['url'] != '') {
- DBA::update('contact', ['archive' => 1], ['nurl' => normalise_link($contact['url']), 'self' => false]);
- }
+ DBA::update('contact', ['archive' => 1], ['nurl' => normalise_link($contact['url']), 'self' => false]);
}
}
}
return;
}
+ if (!isset($contact['url']) && !empty($contact['id'])) {
+ $fields = ['id', 'url', 'batch'];
+ $contact = DBA::selectFirst('contact', [], ['id' => $contact['id']]);
+ if (!DBA::isResult($contact)) {
+ return;
+ }
+ }
+
// It's a miracle. Our dead contact has inexplicably come back to life.
$fields = ['term-date' => NULL_DATE, 'archive' => false];
DBA::update('contact', $fields, ['id' => $contact['id']]);
-
- if (!empty($contact['url'])) {
- DBA::update('contact', $fields, ['nurl' => normalise_link($contact['url'])]);
- }
+ DBA::update('contact', $fields, ['nurl' => normalise_link($contact['url'])]);
if (!empty($contact['batch'])) {
$condition = ['batch' => $contact['batch'], 'contact-type' => self::ACCOUNT_TYPE_RELAY];
}
$prof_data = [];
- $prof_data["addr"] = $data["addr"];
+
+ // The "addr" is not always part of the fetched data
+ if (!empty($data["addr"])) {
+ $prof_data["addr"] = $data["addr"];
+ }
+
$prof_data["nick"] = $data["nick"];
$prof_data["dfrn-request"] = $data["request"];
$prof_data["dfrn-confirm"] = $data["confirm"];
logger("transmit: ".$logid."-".$guid." to ".$dest_url." returns: ".$return_code);
if (!$return_code || (($return_code == 503) && (stristr($a->get_curl_headers(), "retry-after")))) {
- if (!$no_queue && ($contact['contact-type'] != Contact::ACCOUNT_TYPE_RELAY)) {
+ if (!$no_queue && !empty($contact['contact-type']) && ($contact['contact-type'] != Contact::ACCOUNT_TYPE_RELAY)) {
logger("queue message");
// queue message for redelivery
Queue::add($contact["id"], Protocol::DIASPORA, $envelope, $public_batch, $guid);
$x = Network::fetchUrl(get_server()."/lsearch?p=1&n=500&search=".urlencode($search));
$j = json_decode($x);
- if (count($j->results)) {
+ if (!empty($j->results)) {
foreach ($j->results as $jj) {
// Check if the contact already exists
$exists = q("SELECT `id`, `last_contact`, `last_failure`, `updated` FROM `gcontact` WHERE `nurl` = '%s'", normalise_link($jj->url));
<input type="hidden" name="religion" id="profile-edit-religion" value="{{$religion.2}}" />
<input type="hidden" id="likes-jot-text" name="likes" value="{{$likes.2}}" />
<input type="hidden" id="dislikes-jot-text" name="dislikes" value="{{$dislikes.2}}" />
+ <input type="hidden" name="marital" id="profile-edit-marital" value="{{$marital.2}}" />
<input type="hidden" name="with" id="profile-edit-with" value="{{$with.2}}" />
<input type="hidden" name="howlong" id="profile-edit-howlong" value="{{$howlong.2}}" />
+ <input type="hidden" name="sexual" id="profile-edit-sexual" value="{{$sexual.2}}" />
<input type="hidden" id="romance-jot-text" name="romance" value="{{$romance.2}}" />
<input type="hidden" id="work-jot-text" name="work" value="{{$work.2}}" />
<input type="hidden" id="education-jot-text" name="education" value="{{$education.2}}" />
<input type="hidden" name="religion" id="profile-edit-religion" value="{{$religion.2}}" />
<input type="hidden" id="likes-jot-text" name="likes" value="{{$likes.2}}" />
<input type="hidden" id="dislikes-jot-text" name="dislikes" value="{{$dislikes.2}}" />
+ <input type="hidden" name="marital" id="profile-edit-marital" value="{{$marital.2}}" />
<input type="hidden" name="with" id="profile-edit-with" value="{{$with.2}}" />
<input type="hidden" name="howlong" id="profile-edit-howlong" value="{{$howlong.2}}" />
+ <input type="hidden" name="sexual" id="profile-edit-sexual" value="{{$sexual.2}}" />
<input type="hidden" id="romance-jot-text" name="romance" value="{{$romance.2}}" />
<input type="hidden" id="work-jot-text" name="work" value="{{$work.2}}" />
<input type="hidden" id="education-jot-text" name="education" value="{{$education.2}}" />