X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fpoke.php;h=fb1fae85d6727db111a98371171417d8b85bbebf;hb=e447375cddb847edbc9d4486be3938674ae66b8c;hp=3148896bc27a8fa624bd4732bdfdf692d9b8f324;hpb=753f92c2340e23f2397f9e5e506004af154a6189;p=friendica.git diff --git a/mod/poke.php b/mod/poke.php index 3148896bc2..fb1fae85d6 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -16,44 +16,46 @@ use Friendica\App; use Friendica\Core\Addon; use Friendica\Core\L10n; +use Friendica\Core\Logger; +use Friendica\Core\Renderer; use Friendica\Core\System; use Friendica\Core\Worker; -use Friendica\Database\DBM; +use Friendica\Database\DBA; use Friendica\Model\Item; +use Friendica\Util\Strings; +use Friendica\Util\XML; -require_once 'include/security.php'; -require_once 'include/items.php'; - -function poke_init(App $a) { - - if (! local_user()) { +function poke_init(App $a) +{ + if (!local_user()) { return; } $uid = local_user(); - $verb = notags(trim($_GET['verb'])); - if (! $verb) { + if (empty($_GET['verb'])) { return; } - $verbs = get_poke_verbs(); + $verb = Strings::escapeTags(trim($_GET['verb'])); + + $verbs = L10n::getPokeVerbs(); - if (! array_key_exists($verb,$verbs)) { + if (!array_key_exists($verb, $verbs)) { return; } $activity = ACTIVITY_POKE . '#' . urlencode($verbs[$verb][0]); $contact_id = intval($_GET['cid']); - if (! $contact_id) { + if (!$contact_id) { return; } - $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : 0); + $parent = (!empty($_GET['parent']) ? intval($_GET['parent']) : 0); - logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG); + Logger::log('poke: verb ' . $verb . ' contact ' . $contact_id, Logger::DEBUG); $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", @@ -61,50 +63,45 @@ function poke_init(App $a) { intval($uid) ); - if (! DBM::is_result($r)) { - logger('poke: no contact ' . $contact_id); + if (!DBA::isResult($r)) { + Logger::log('poke: no contact ' . $contact_id); return; } $target = $r[0]; - if($parent) { - $r = q("SELECT `uri`, `private`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` - FROM `item` WHERE `id` = %d AND `parent` = %d AND `uid` = %d LIMIT 1", - intval($parent), - intval($parent), - intval($uid) - ); - if (DBM::is_result($r)) { - $parent_uri = $r[0]['uri']; - $private = $r[0]['private']; - $allow_cid = $r[0]['allow_cid']; - $allow_gid = $r[0]['allow_gid']; - $deny_cid = $r[0]['deny_cid']; - $deny_gid = $r[0]['deny_gid']; + if ($parent) { + $fields = ['uri', 'private', 'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid']; + $condition = ['id' => $parent, 'parent' => $parent, 'uid' => $uid]; + $item = Item::selectFirst($fields, $condition); + + if (DBA::isResult($item)) { + $parent_uri = $item['uri']; + $private = $item['private']; + $allow_cid = $item['allow_cid']; + $allow_gid = $item['allow_gid']; + $deny_cid = $item['deny_cid']; + $deny_gid = $item['deny_gid']; } - } - else { - - $private = ((x($_GET,'private')) ? intval($_GET['private']) : 0); + } else { + $private = (!empty($_GET['private']) ? intval($_GET['private']) : 0); - $allow_cid = (($private) ? '<' . $target['id']. '>' : $a->user['allow_cid']); - $allow_gid = (($private) ? '' : $a->user['allow_gid']); - $deny_cid = (($private) ? '' : $a->user['deny_cid']); - $deny_gid = (($private) ? '' : $a->user['deny_gid']); + $allow_cid = ($private ? '<' . $target['id']. '>' : $a->user['allow_cid']); + $allow_gid = ($private ? '' : $a->user['allow_gid']); + $deny_cid = ($private ? '' : $a->user['deny_cid']); + $deny_gid = ($private ? '' : $a->user['deny_gid']); } $poster = $a->contact; - $uri = item_new_uri($a->get_hostname(),$uid); + $uri = Item::newURI($uid); $arr = []; - $arr['guid'] = get_guid(32); + $arr['guid'] = System::createUUID(); $arr['uid'] = $uid; $arr['uri'] = $uri; - $arr['parent-uri'] = (($parent_uri) ? $parent_uri : $uri); - $arr['type'] = 'activity'; + $arr['parent-uri'] = (!empty($parent_uri) ? $parent_uri : $uri); $arr['wall'] = 1; $arr['contact-id'] = $poster['id']; $arr['owner-name'] = $poster['name']; @@ -126,27 +123,22 @@ function poke_init(App $a) { $arr['origin'] = 1; $arr['body'] = '[url=' . $poster['url'] . ']' . $poster['name'] . '[/url]' . ' ' . L10n::t($verbs[$verb][0]) . ' ' . '[url=' . $target['url'] . ']' . $target['name'] . '[/url]'; - $arr['object'] = '' . ACTIVITY_OBJ_PERSON . '' . $target['name'] . '' . System::baseUrl() . '/contact/' . $target['id'] . ''; - $arr['object'] .= '' . xmlify('' . "\n"); + $arr['object'] = '' . ACTIVITY_OBJ_PERSON . '' . $target['name'] . '' . $target['url'] . ''; + $arr['object'] .= '' . XML::escape('' . "\n"); - $arr['object'] .= xmlify('' . "\n"); + $arr['object'] .= XML::escape('' . "\n"); $arr['object'] .= '' . "\n"; $item_id = Item::insert($arr); - if($item_id) { - Worker::add(PRIORITY_HIGH, "Notifier", "tag", $item_id); - } Addon::callHooks('post_local_end', $arr); return; } - - -function poke_content(App $a) { - - if (! local_user()) { +function poke_content(App $a) +{ + if (!local_user()) { notice(L10n::t('Permission denied.') . EOL); return; } @@ -154,41 +146,42 @@ function poke_content(App $a) { $name = ''; $id = ''; - if(intval($_GET['c'])) { - $r = q("SELECT `id`,`name` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", - intval($_GET['c']), - intval(local_user()) - ); - if (DBM::is_result($r)) { - $name = $r[0]['name']; - $id = $r[0]['id']; - } + if (empty($_GET['c'])) { + return; + } + + $contact = DBA::selectFirst('contact', ['id', 'name'], ['id' => $_GET['c'], 'uid' => local_user()]); + if (!DBA::isResult($contact)) { + return; } + $name = $contact['name']; + $id = $contact['id']; $base = System::baseUrl(); - $head_tpl = get_markup_template('poke_head.tpl'); - $a->page['htmlhead'] .= replace_macros($head_tpl,[ + $head_tpl = Renderer::getMarkupTemplate('poke_head.tpl'); + $a->page['htmlhead'] .= Renderer::replaceMacros($head_tpl,[ '$baseurl' => System::baseUrl(true), '$base' => $base ]); - $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : '0'); + $parent = (!empty($_GET['parent']) ? intval($_GET['parent']) : '0'); - $verbs = get_poke_verbs(); + $verbs = L10n::getPokeVerbs(); $shortlist = []; - foreach($verbs as $k => $v) - if($v[1] !== 'NOTRANSLATION') - $shortlist[] = [$k,$v[1]]; - + foreach ($verbs as $k => $v) { + if ($v[1] !== 'NOTRANSLATION') { + $shortlist[] = [$k, $v[1]]; + } + } - $tpl = get_markup_template('poke_content.tpl'); + $tpl = Renderer::getMarkupTemplate('poke_content.tpl'); - $o = replace_macros($tpl,[ + $o = Renderer::replaceMacros($tpl,[ '$title' => L10n::t('Poke/Prod'), '$desc' => L10n::t('poke, prod or do other things to somebody'), '$clabel' => L10n::t('Recipient'), @@ -202,5 +195,4 @@ function poke_content(App $a) { ]); return $o; - }