From e3e2b0e6d0ea479c9817a289598c192213e0ef8f Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 16 Oct 2019 21:22:27 -0400 Subject: [PATCH] Remove mod/hovercard file --- mod/hovercard.php | 151 ---------------------------------------------- 1 file changed, 151 deletions(-) delete mode 100644 mod/hovercard.php diff --git a/mod/hovercard.php b/mod/hovercard.php deleted file mode 100644 index d5951dbe00..0000000000 --- a/mod/hovercard.php +++ /dev/null @@ -1,151 +0,0 @@ - - * License: GNU AFFERO GENERAL PUBLIC LICENSE (Version 3) - */ - -use Friendica\App; -use Friendica\Core\Config; -use Friendica\Core\Renderer; -use Friendica\Core\System; -use Friendica\Database\DBA; -use Friendica\Model\Contact; -use Friendica\Model\GContact; -use Friendica\Util\Proxy as ProxyUtils; -use Friendica\Util\Strings; - -function hovercard_init(App $a) -{ - // Just for testing purposes - $_GET['mode'] = 'minimal'; -} - -function hovercard_content() -{ - $profileurl = $_REQUEST['profileurl'] ?? ''; - $datatype = ($_REQUEST['datatype'] ?? '') ?: 'json'; - - // Get out if the system doesn't have public access allowed - if (intval(Config::get('system', 'block_public'))) { - throw new \Friendica\Network\HTTPException\ForbiddenException(); - } - - // Return the raw content of the template. We use this to make templates usable for js functions. - // Look at hovercard.js (function getHoverCardTemplate()). - // This part should be moved in its own module. Maybe we could make more templates accessible. - // (We need to discuss possible security leaks before doing this) - if ($datatype == 'tpl') { - $templatecontent = get_template_content('hovercard.tpl'); - echo $templatecontent; - exit(); - } - - // If a contact is connected the url is internally changed to 'redir/CID'. We need the pure url to search for - // the contact. So we strip out the contact id from the internal url and look in the contact table for - // the real url (nurl) - if (strpos($profileurl, 'redir/') === 0) { - $cid = intval(substr($profileurl, 6)); - $remote_contact = DBA::selectFirst('contact', ['nurl'], ['id' => $cid]); - $profileurl = $remote_contact['nurl'] ?? ''; - } - - $contact = []; - // if it's the url containing https it should be converted to http - $nurl = Strings::normaliseLink(GContact::cleanContactUrl($profileurl)); - if (!$nurl) { - return; - } - - // Search for contact data - // Look if the local user has got the contact - if (local_user()) { - $contact = Contact::getDetailsByURL($nurl, local_user()); - } - - // If not then check the global user - if (!count($contact)) { - $contact = Contact::getDetailsByURL($nurl); - } - - // Feeds url could have been destroyed through "cleanContactUrl", so we now use the original url - if (!count($contact) && local_user()) { - $nurl = Strings::normaliseLink($profileurl); - $contact = Contact::getDetailsByURL($nurl, local_user()); - } - - if (!count($contact)) { - $nurl = Strings::normaliseLink($profileurl); - $contact = Contact::getDetailsByURL($nurl); - } - - if (!count($contact)) { - return; - } - - // Get the photo_menu - the menu if possible contact actions - if (local_user()) { - $actions = Contact::photoMenu($contact); - } else { - $actions = []; - } - - // Move the contact data to the profile array so we can deliver it to - $profile = [ - 'name' => $contact['name'], - 'nick' => $contact['nick'], - 'addr' => ($contact['addr'] ?? '') ?: $contact['url'], - 'thumb' => ProxyUtils::proxifyUrl($contact['thumb'], false, ProxyUtils::SIZE_THUMB), - 'url' => Contact::magicLink($contact['url']), - 'nurl' => $contact['nurl'], // We additionally store the nurl as identifier - 'location' => $contact['location'], - 'gender' => $contact['gender'], - 'about' => $contact['about'], - 'network_link' => Strings::formatNetworkName($contact['network'], $contact['url']), - 'tags' => $contact['keywords'], - 'bd' => $contact['birthday'] <= DBA::NULL_DATE ? '' : $contact['birthday'], - 'account_type' => Contact::getAccountType($contact), - 'actions' => $actions, - ]; - if ($datatype == 'html') { - $tpl = Renderer::getMarkupTemplate('hovercard.tpl'); - $o = Renderer::replaceMacros($tpl, [ - '$profile' => $profile, - ]); - - return $o; - } else { - System::jsonExit($profile); - } -} - -/** - * @brief Get the raw content of a template file - * - * @param string $template The name of the template - * @param string $root Directory of the template - * - * @return string|bool Output the raw content if existent, otherwise false - * @throws Exception - */ -function get_template_content($template, $root = '') -{ - // We load the whole template system to get the filename. - // Maybe we can do it a little bit smarter if I get time. - $templateEngine = Renderer::getTemplateEngine(); - $template = $templateEngine->getTemplateFile($template, $root); - - $filename = $template->filename; - - // Get the content of the template file - if (file_exists($filename)) { - $content = file_get_contents($filename); - - return $content; - } - - return false; -}