X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fdfrn_poll.php;h=85829926e154c70270e4b603453fef743b6feedf;hb=0ec44f3e8a73229c3aadea86f61b5571a701c6b7;hp=01477fd434b506261bbc932f85ac2f7bf5039a78;hpb=208a149a7b7e25dc84c39e5631cba11d41869bae;p=friendica.git diff --git a/mod/dfrn_poll.php b/mod/dfrn_poll.php index 01477fd434..85829926e1 100644 --- a/mod/dfrn_poll.php +++ b/mod/dfrn_poll.php @@ -3,13 +3,17 @@ /** * @file mod/dfrn_poll.php */ + use Friendica\App; use Friendica\Core\Config; +use Friendica\Core\L10n; use Friendica\Core\System; -use Friendica\Database\DBM; +use Friendica\Database\DBA; use Friendica\Module\Login; use Friendica\Protocol\DFRN; use Friendica\Protocol\OStatus; +use Friendica\Util\Network; +use Friendica\Util\XML; require_once 'include/items.php'; @@ -46,7 +50,7 @@ function dfrn_poll_init(App $a) if (($dfrn_id === '') && (!x($_POST, 'dfrn_id'))) { if (Config::get('system', 'block_public') && !local_user() && !remote_user()) { - http_status_exit(403); + System::httpExit(403); } $user = ''; @@ -55,7 +59,7 @@ function dfrn_poll_init(App $a) dbesc($a->argv[1]) ); if (!$r) { - http_status_exit(404); + System::httpExit(404); } $hidewall = ($r[0]['hidewall'] && !local_user()); @@ -96,13 +100,13 @@ function dfrn_poll_init(App $a) dbesc($a->argv[1]) ); - if (DBM::is_result($r)) { - $s = fetch_url($r[0]['poll'] . '?dfrn_id=' . $my_id . '&type=profile-check'); + if (DBA::is_result($r)) { + $s = Network::fetchUrl($r[0]['poll'] . '?dfrn_id=' . $my_id . '&type=profile-check'); logger("dfrn_poll: old profile returns " . $s, LOGGER_DATA); if (strlen($s)) { - $xml = parse_xml_string($s); + $xml = XML::parseString($s); if ((int) $xml->status === 1) { $_SESSION['authenticated'] = 1; @@ -116,6 +120,7 @@ function dfrn_poll_init(App $a) $_SESSION['visitor_home'] = $r[0]['url']; $_SESSION['visitor_handle'] = $r[0]['addr']; $_SESSION['visitor_visiting'] = $r[0]['uid']; + $_SESSION['my_url'] = $r[0]['url']; if (!$quiet) { info(L10n::t('%1$s welcomes %2$s', $r[0]['username'], $r[0]['name']) . EOL); } @@ -137,12 +142,12 @@ function dfrn_poll_init(App $a) if ($type === 'profile-check' && $dfrn_version < 2.2) { if ((strlen($challenge)) && (strlen($sec))) { - q("DELETE FROM `profile_check` WHERE `expire` < " . intval(time())); + DBA::delete('profile_check', ["`expire` < ?", time()]); $r = q("SELECT * FROM `profile_check` WHERE `sec` = '%s' ORDER BY `expire` DESC LIMIT 1", dbesc($sec) ); - if (!DBM::is_result($r)) { - xml_status(3, 'No ticket'); + if (!DBA::is_result($r)) { + System::xmlExit(3, 'No ticket'); // NOTREACHED } @@ -154,8 +159,8 @@ function dfrn_poll_init(App $a) $c = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1", intval($r[0]['cid']) ); - if (!DBM::is_result($c)) { - xml_status(3, 'No profile'); + if (!DBA::is_result($c)) { + System::xmlExit(3, 'No profile'); } $contact = $c[0]; @@ -182,7 +187,7 @@ function dfrn_poll_init(App $a) if ($final_dfrn_id != $orig_id) { logger('profile_check: ' . $final_dfrn_id . ' != ' . $orig_id, LOGGER_DEBUG); // did not decode properly - cannot trust this site - xml_status(3, 'Bad decryption'); + System::xmlExit(3, 'Bad decryption'); } header("Content-type: text/xml"); @@ -202,14 +207,14 @@ function dfrn_poll_init(App $a) break; } - q("DELETE FROM `profile_check` WHERE `expire` < " . intval(time())); + DBA::delete('profile_check', ["`expire` < ?", time()]); $r = q("SELECT * FROM `profile_check` WHERE `dfrn_id` = '%s' ORDER BY `expire` DESC", dbesc($dfrn_id)); - if (DBM::is_result($r)) { - xml_status(1); + if (DBA::is_result($r)) { + System::xmlExit(1); return; // NOTREACHED } - xml_status(0); + System::xmlExit(0); return; // NOTREACHED } } @@ -229,12 +234,12 @@ function dfrn_poll_post(App $a) if (strlen($challenge) && strlen($sec)) { logger('dfrn_poll: POST: profile-check'); - q("DELETE FROM `profile_check` WHERE `expire` < " . intval(time())); + DBA::delete('profile_check', ["`expire` < ?", time()]); $r = q("SELECT * FROM `profile_check` WHERE `sec` = '%s' ORDER BY `expire` DESC LIMIT 1", dbesc($sec) ); - if (!DBM::is_result($r)) { - xml_status(3, 'No ticket'); + if (!DBA::is_result($r)) { + System::xmlExit(3, 'No ticket'); // NOTREACHED } @@ -246,8 +251,8 @@ function dfrn_poll_post(App $a) $c = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1", intval($r[0]['cid']) ); - if (!DBM::is_result($c)) { - xml_status(3, 'No profile'); + if (!DBA::is_result($c)) { + System::xmlExit(3, 'No profile'); } $contact = $c[0]; @@ -274,7 +279,7 @@ function dfrn_poll_post(App $a) if ($final_dfrn_id != $orig_id) { logger('profile_check: ' . $final_dfrn_id . ' != ' . $orig_id, LOGGER_DEBUG); // did not decode properly - cannot trust this site - xml_status(3, 'Bad decryption'); + System::xmlExit(3, 'Bad decryption'); } header("Content-type: text/xml"); @@ -295,18 +300,14 @@ function dfrn_poll_post(App $a) dbesc($challenge) ); - if (!DBM::is_result($r)) { + if (!DBA::is_result($r)) { killme(); } $type = $r[0]['type']; $last_update = $r[0]['last_update']; - $r = q("DELETE FROM `challenge` WHERE `dfrn-id` = '%s' AND `challenge` = '%s'", - dbesc($dfrn_id), - dbesc($challenge) - ); - + DBA::delete('challenge', ['dfrn-id' => $dfrn_id, 'challenge' => $challenge]); $sql_extra = ''; switch ($direction) { @@ -328,7 +329,7 @@ function dfrn_poll_post(App $a) } $r = q("SELECT * FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 $sql_extra LIMIT 1"); - if (!DBM::is_result($r)) { + if (!DBA::is_result($r)) { killme(); } @@ -344,7 +345,7 @@ function dfrn_poll_post(App $a) $reputation = 0; $text = ''; - if (DBM::is_result($r)) { + if (DBA::is_result($r)) { $reputation = $r[0]['rating']; $text = $r[0]['reason']; @@ -411,7 +412,7 @@ function dfrn_poll_content(App $a) $status = 0; - $r = q("DELETE FROM `challenge` WHERE `expire` < " . intval(time())); + DBA::delete('challenge', ["`expire` < ?", time()]); if ($type !== 'profile') { $r = q("INSERT INTO `challenge` ( `challenge`, `dfrn-id`, `expire` , `type`, `last_update` ) @@ -456,7 +457,7 @@ function dfrn_poll_content(App $a) AND `user`.`nickname` = '%s' $sql_extra LIMIT 1", dbesc($nickname) ); - if (DBM::is_result($r)) { + if (DBA::is_result($r)) { $challenge = ''; $encrypted_id = ''; $id_str = $my_id . '.' . mt_rand(1000, 9999); @@ -480,7 +481,7 @@ function dfrn_poll_content(App $a) if (($type === 'profile') && (strlen($sec))) { // URL reply if ($dfrn_version < 2.2) { - $s = fetch_url($r[0]['poll'] + $s = Network::fetchUrl($r[0]['poll'] . '?dfrn_id=' . $encrypted_id . '&type=profile-check' . '&dfrn_version=' . DFRN_PROTOCOL_VERSION @@ -488,7 +489,7 @@ function dfrn_poll_content(App $a) . '&sec=' . $sec ); } else { - $s = post_url($r[0]['poll'], [ + $s = Network::post($r[0]['poll'], [ 'dfrn_id' => $encrypted_id, 'type' => 'profile-check', 'dfrn_version' => DFRN_PROTOCOL_VERSION, @@ -497,7 +498,7 @@ function dfrn_poll_content(App $a) ]); } - $profile = ((DBM::is_result($r) && $r[0]['nickname']) ? $r[0]['nickname'] : $nickname); + $profile = ((DBA::is_result($r) && $r[0]['nickname']) ? $r[0]['nickname'] : $nickname); switch ($destination_url) { case 'profile': @@ -519,7 +520,7 @@ function dfrn_poll_content(App $a) logger("dfrn_poll: sec profile: " . $s, LOGGER_DATA); if (strlen($s) && strstr($s, '