use Friendica\Core\Addon;
use Friendica\Core\Renderer;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Util\Strings;
-class Details extends BaseAdminModule
+class Details extends BaseAdmin
{
public static function post(array $parameters = [])
{
use Friendica\Core\Addon;
use Friendica\Core\Renderer;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
-class Index extends BaseAdminModule
+class Index extends BaseAdmin
{
public static function content(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\Database\DBA;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Model;
-class Contact extends BaseAdminModule
+class Contact extends BaseAdmin
{
public static function post(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Util\Strings;
-class Server extends BaseAdminModule
+class Server extends BaseAdmin
{
public static function post(array $parameters = [])
{
use Friendica\Database\DBA;
use Friendica\Database\DBStructure;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
-class DBSync extends BaseAdminModule
+class DBSync extends BaseAdmin
{
public static function content(array $parameters = [])
{
use Friendica\Content\Feature;
use Friendica\Core\Renderer;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
-class Features extends BaseAdminModule
+class Features extends BaseAdmin
{
public static function post(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\Database\DBA;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
-class Federation extends BaseAdminModule
+class Federation extends BaseAdmin
{
public static function content(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\DI;
use Friendica\Model\Item;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Util\Strings;
-class Delete extends BaseAdminModule
+class Delete extends BaseAdmin
{
public static function post(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\DI;
use Friendica\Model;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
/**
* @author Hypolite Petovan <mrpetovan@gmail.com>
*/
-class Source extends BaseAdminModule
+class Source extends BaseAdmin
{
public static function content(array $parameters = [])
use Friendica\Core\Renderer;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Util\Strings;
use Psr\Log\LogLevel;
-class Settings extends BaseAdminModule
+class Settings extends BaseAdmin
{
public static function post(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Util\Strings;
-class View extends BaseAdminModule
+class View extends BaseAdmin
{
public static function content(array $parameters = [])
{
namespace Friendica\Module\Admin;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
-class PhpInfo extends BaseAdminModule
+class PhpInfo extends BaseAdmin
{
public static function rawContent(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\Database\DBA;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Util\Arrays;
use Friendica\Util\DateTimeFormat;
*
* @return string
*/
-class Queue extends BaseAdminModule
+class Queue extends BaseAdmin
{
public static function content(array $parameters = [])
{
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Module\Register;
use Friendica\Protocol\PortableContact;
use Friendica\Util\BasePath;
require_once __DIR__ . '/../../../boot.php';
-class Site extends BaseAdminModule
+class Site extends BaseAdmin
{
public static function post(array $parameters = [])
{
use Friendica\Database\DBStructure;
use Friendica\DI;
use Friendica\Model\Register;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Network\HTTPException\InternalServerErrorException;
use Friendica\Util\ConfigFileLoader;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Network;
-class Summary extends BaseAdminModule
+class Summary extends BaseAdmin
{
public static function content(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\Core\Theme;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Util\Strings;
-class Details extends BaseAdminModule
+class Details extends BaseAdmin
{
public static function post(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Util\Strings;
-class Embed extends BaseAdminModule
+class Embed extends BaseAdmin
{
public static function init(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\Core\Theme;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Util\Strings;
-class Index extends BaseAdminModule
+class Index extends BaseAdmin
{
public static function content(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\DI;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
-class Tos extends BaseAdminModule
+class Tos extends BaseAdmin
{
public static function post(array $parameters = [])
{
use Friendica\DI;
use Friendica\Model\Register;
use Friendica\Model\User;
-use Friendica\Module\BaseAdminModule;
+use Friendica\Module\BaseAdmin;
use Friendica\Util\Strings;
use Friendica\Util\Temporal;
-class Users extends BaseAdminModule
+class Users extends BaseAdmin
{
public static function post(array $parameters = [])
{
--- /dev/null
+<?php
+
+namespace Friendica\Module;
+
+use Friendica\BaseModule;
+use Friendica\Core\Addon;
+use Friendica\Core\Renderer;
+use Friendica\Core\Session;
+use Friendica\DI;
+use Friendica\Network\HTTPException\ForbiddenException;
+
+require_once 'boot.php';
+
+/**
+ * This abstract module is meant to be extended by all modules that are reserved to administrator users.
+ *
+ * It performs a blanket permission check in all the module methods as long as the relevant `parent::method()` is
+ * called in the inheriting module.
+ *
+ * Additionally, it puts together the administration page aside with all the administration links.
+ *
+ * @package Friendica\Module
+ */
+abstract class BaseAdmin extends BaseModule
+{
+ public static function post(array $parameters = [])
+ {
+ if (!is_site_admin()) {
+ return;
+ }
+
+ // do not allow a page manager to access the admin panel at all.
+ if (!empty($_SESSION['submanage'])) {
+ return;
+ }
+ }
+
+ public static function rawContent(array $parameters = [])
+ {
+ if (!is_site_admin()) {
+ return '';
+ }
+
+ if (!empty($_SESSION['submanage'])) {
+ return '';
+ }
+
+ return '';
+ }
+
+ public static function content(array $parameters = [])
+ {
+ if (!is_site_admin()) {
+ notice(DI::l10n()->t('Please login to continue.'));
+ Session::set('return_path', DI::args()->getQueryString());
+ DI::baseUrl()->redirect('login');
+ }
+
+ if (!empty($_SESSION['submanage'])) {
+ throw new ForbiddenException(DI::l10n()->t('Submanaged account can\'t access the administation pages. Please log back in as the master account.'));
+ }
+
+ // Header stuff
+ DI::page()['htmlhead'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('admin/settings_head.tpl'), []);
+
+ /*
+ * Side bar links
+ */
+
+ // array(url, name, extra css classes)
+ // not part of $aside to make the template more adjustable
+ $aside_sub = [
+ 'information' => [DI::l10n()->t('Information'), [
+ 'overview' => ['admin' , DI::l10n()->t('Overview') , 'overview'],
+ 'federation' => ['admin/federation' , DI::l10n()->t('Federation Statistics') , 'federation']
+ ]],
+ 'configuration' => [DI::l10n()->t('Configuration'), [
+ 'site' => ['admin/site' , DI::l10n()->t('Site') , 'site'],
+ 'users' => ['admin/users' , DI::l10n()->t('Users') , 'users'],
+ 'addons' => ['admin/addons' , DI::l10n()->t('Addons') , 'addons'],
+ 'themes' => ['admin/themes' , DI::l10n()->t('Themes') , 'themes'],
+ 'features' => ['admin/features' , DI::l10n()->t('Additional features') , 'features'],
+ 'tos' => ['admin/tos' , DI::l10n()->t('Terms of Service') , 'tos'],
+ ]],
+ 'database' => [DI::l10n()->t('Database'), [
+ 'dbsync' => ['admin/dbsync' , DI::l10n()->t('DB updates') , 'dbsync'],
+ 'deferred' => ['admin/queue/deferred', DI::l10n()->t('Inspect Deferred Workers'), 'deferred'],
+ 'workerqueue' => ['admin/queue' , DI::l10n()->t('Inspect worker Queue') , 'workerqueue'],
+ ]],
+ 'tools' => [DI::l10n()->t('Tools'), [
+ 'contactblock' => ['admin/blocklist/contact', DI::l10n()->t('Contact Blocklist') , 'contactblock'],
+ 'blocklist' => ['admin/blocklist/server' , DI::l10n()->t('Server Blocklist') , 'blocklist'],
+ 'deleteitem' => ['admin/item/delete' , DI::l10n()->t('Delete Item') , 'deleteitem'],
+ ]],
+ 'logs' => [DI::l10n()->t('Logs'), [
+ 'logsconfig' => ['admin/logs/', DI::l10n()->t('Logs') , 'logs'],
+ 'logsview' => ['admin/logs/view' , DI::l10n()->t('View Logs') , 'viewlogs'],
+ ]],
+ 'diagnostics' => [DI::l10n()->t('Diagnostics'), [
+ 'phpinfo' => ['admin/phpinfo' , DI::l10n()->t('PHP Info') , 'phpinfo'],
+ 'probe' => ['probe' , DI::l10n()->t('probe address') , 'probe'],
+ 'webfinger' => ['webfinger' , DI::l10n()->t('check webfinger') , 'webfinger'],
+ 'itemsource' => ['admin/item/source' , DI::l10n()->t('Item Source') , 'itemsource'],
+ 'babel' => ['babel' , DI::l10n()->t('Babel') , 'babel'],
+ ]],
+ ];
+
+ $t = Renderer::getMarkupTemplate('admin/aside.tpl');
+ DI::page()['aside'] .= Renderer::replaceMacros($t, [
+ '$admin' => ['addons_admin' => Addon::getAdminList()],
+ '$subpages' => $aside_sub,
+ '$admtxt' => DI::l10n()->t('Admin'),
+ '$plugadmtxt' => DI::l10n()->t('Addon Features'),
+ '$h_pending' => DI::l10n()->t('User registrations waiting for confirmation'),
+ '$admurl' => 'admin/'
+ ]);
+
+ return '';
+ }
+}
+++ /dev/null
-<?php
-
-namespace Friendica\Module;
-
-use Friendica\BaseModule;
-use Friendica\Core\Addon;
-use Friendica\Core\Renderer;
-use Friendica\Core\Session;
-use Friendica\DI;
-use Friendica\Network\HTTPException\ForbiddenException;
-
-require_once 'boot.php';
-
-/**
- * This abstract module is meant to be extended by all modules that are reserved to administrator users.
- *
- * It performs a blanket permission check in all the module methods as long as the relevant `parent::method()` is
- * called in the inheriting module.
- *
- * Additionally, it puts together the administration page aside with all the administration links.
- *
- * @package Friendica\Module
- */
-abstract class BaseAdminModule extends BaseModule
-{
- public static function post(array $parameters = [])
- {
- if (!is_site_admin()) {
- return;
- }
-
- // do not allow a page manager to access the admin panel at all.
- if (!empty($_SESSION['submanage'])) {
- return;
- }
- }
-
- public static function rawContent(array $parameters = [])
- {
- if (!is_site_admin()) {
- return '';
- }
-
- if (!empty($_SESSION['submanage'])) {
- return '';
- }
-
- return '';
- }
-
- public static function content(array $parameters = [])
- {
- if (!is_site_admin()) {
- notice(DI::l10n()->t('Please login to continue.'));
- Session::set('return_path', DI::args()->getQueryString());
- DI::baseUrl()->redirect('login');
- }
-
- if (!empty($_SESSION['submanage'])) {
- throw new ForbiddenException(DI::l10n()->t('Submanaged account can\'t access the administation pages. Please log back in as the master account.'));
- }
-
- // Header stuff
- DI::page()['htmlhead'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('admin/settings_head.tpl'), []);
-
- /*
- * Side bar links
- */
-
- // array(url, name, extra css classes)
- // not part of $aside to make the template more adjustable
- $aside_sub = [
- 'information' => [DI::l10n()->t('Information'), [
- 'overview' => ['admin' , DI::l10n()->t('Overview') , 'overview'],
- 'federation' => ['admin/federation' , DI::l10n()->t('Federation Statistics') , 'federation']
- ]],
- 'configuration' => [DI::l10n()->t('Configuration'), [
- 'site' => ['admin/site' , DI::l10n()->t('Site') , 'site'],
- 'users' => ['admin/users' , DI::l10n()->t('Users') , 'users'],
- 'addons' => ['admin/addons' , DI::l10n()->t('Addons') , 'addons'],
- 'themes' => ['admin/themes' , DI::l10n()->t('Themes') , 'themes'],
- 'features' => ['admin/features' , DI::l10n()->t('Additional features') , 'features'],
- 'tos' => ['admin/tos' , DI::l10n()->t('Terms of Service') , 'tos'],
- ]],
- 'database' => [DI::l10n()->t('Database'), [
- 'dbsync' => ['admin/dbsync' , DI::l10n()->t('DB updates') , 'dbsync'],
- 'deferred' => ['admin/queue/deferred', DI::l10n()->t('Inspect Deferred Workers'), 'deferred'],
- 'workerqueue' => ['admin/queue' , DI::l10n()->t('Inspect worker Queue') , 'workerqueue'],
- ]],
- 'tools' => [DI::l10n()->t('Tools'), [
- 'contactblock' => ['admin/blocklist/contact', DI::l10n()->t('Contact Blocklist') , 'contactblock'],
- 'blocklist' => ['admin/blocklist/server' , DI::l10n()->t('Server Blocklist') , 'blocklist'],
- 'deleteitem' => ['admin/item/delete' , DI::l10n()->t('Delete Item') , 'deleteitem'],
- ]],
- 'logs' => [DI::l10n()->t('Logs'), [
- 'logsconfig' => ['admin/logs/', DI::l10n()->t('Logs') , 'logs'],
- 'logsview' => ['admin/logs/view' , DI::l10n()->t('View Logs') , 'viewlogs'],
- ]],
- 'diagnostics' => [DI::l10n()->t('Diagnostics'), [
- 'phpinfo' => ['admin/phpinfo' , DI::l10n()->t('PHP Info') , 'phpinfo'],
- 'probe' => ['probe' , DI::l10n()->t('probe address') , 'probe'],
- 'webfinger' => ['webfinger' , DI::l10n()->t('check webfinger') , 'webfinger'],
- 'itemsource' => ['admin/item/source' , DI::l10n()->t('Item Source') , 'itemsource'],
- 'babel' => ['babel' , DI::l10n()->t('Babel') , 'babel'],
- ]],
- ];
-
- $t = Renderer::getMarkupTemplate('admin/aside.tpl');
- DI::page()['aside'] .= Renderer::replaceMacros($t, [
- '$admin' => ['addons_admin' => Addon::getAdminList()],
- '$subpages' => $aside_sub,
- '$admtxt' => DI::l10n()->t('Admin'),
- '$plugadmtxt' => DI::l10n()->t('Addon Features'),
- '$h_pending' => DI::l10n()->t('User registrations waiting for confirmation'),
- '$admurl' => 'admin/'
- ]);
-
- return '';
- }
-}
--- /dev/null
+<?php
+
+namespace Friendica\Module;
+
+use Friendica\BaseModule;
+use Friendica\Content\ContactSelector;
+use Friendica\Content\Pager;
+use Friendica\Core\Renderer;
+use Friendica\Core\Search;
+use Friendica\DI;
+use Friendica\Model;
+use Friendica\Network\HTTPException;
+use Friendica\Object\Search\ContactResult;
+use Friendica\Object\Search\ResultList;
+use Friendica\Util\Proxy as ProxyUtils;
+
+/**
+ * Base class for search modules
+ */
+class BaseSearch extends BaseModule
+{
+ /**
+ * Performs a contact search with an optional prefix
+ *
+ * @param string $search Search query
+ * @param string $prefix A optional prefix (e.g. @ or !) for searching
+ *
+ * @return string
+ * @throws HTTPException\InternalServerErrorException
+ * @throws \ImagickException
+ */
+ public static function performContactSearch($search, $prefix = '')
+ {
+ $a = DI::app();
+ $config = DI::config();
+
+ $type = Search::TYPE_ALL;
+
+ $localSearch = $config->get('system', 'poco_local_search');
+
+ $search = $prefix . $search;
+
+ if (!$search) {
+ return '';
+ }
+
+ $header = '';
+
+ if (strpos($search, '@') === 0) {
+ $search = substr($search, 1);
+ $type = Search::TYPE_PEOPLE;
+ $header = DI::l10n()->t('People Search - %s', $search);
+
+ if (strrpos($search, '@') > 0) {
+ $results = Search::getContactsFromProbe($search);
+ }
+ }
+
+ if (strpos($search, '!') === 0) {
+ $search = substr($search, 1);
+ $type = Search::TYPE_FORUM;
+ $header = DI::l10n()->t('Forum Search - %s', $search);
+ }
+
+ $args = DI::args();
+ $pager = new Pager($args->getQueryString());
+
+ if ($localSearch && empty($results)) {
+ $pager->setItemsPerPage(80);
+ $results = Search::getContactsFromLocalDirectory($search, $type, $pager->getStart(), $pager->getItemsPerPage());
+ } elseif (strlen($config->get('system', 'directory')) && empty($results)) {
+ $results = Search::getContactsFromGlobalDirectory($search, $type, $pager->getPage());
+ $pager->setItemsPerPage($results->getItemsPage());
+ }
+
+ return self::printResult($results, $pager, $header);
+ }
+
+ /**
+ * Prints a human readable search result
+ *
+ * @param ResultList $results
+ * @param Pager $pager
+ * @param string $header
+ *
+ * @return string The result
+ * @throws HTTPException\InternalServerErrorException
+ * @throws \ImagickException
+ */
+ protected static function printResult(ResultList $results, Pager $pager, $header = '')
+ {
+ if ($results->getTotal() == 0) {
+ info(DI::l10n()->t('No matches'));
+ return '';
+ }
+
+ $id = 0;
+ $entries = [];
+ foreach ($results->getResults() as $result) {
+
+ // in case the result is a contact result, add a contact-specific entry
+ if ($result instanceof ContactResult) {
+
+ $alt_text = '';
+ $location = '';
+ $about = '';
+ $accountType = '';
+ $photo_menu = [];
+
+ // If We already know this contact then don't show the "connect" button
+ if ($result->getCid() > 0 || $result->getPCid() > 0) {
+ $connLink = "";
+ $connTxt = "";
+ $contact = Model\Contact::getById(
+ ($result->getCid() > 0) ? $result->getCid() : $result->getPCid()
+ );
+
+ if (!empty($contact)) {
+ $photo_menu = Model\Contact::photoMenu($contact);
+ $details = Contact::getContactTemplateVars($contact);
+ $alt_text = $details['alt_text'];
+ $location = $contact['location'];
+ $about = $contact['about'];
+ $accountType = Model\Contact::getAccountType($contact);
+ } else {
+ $photo_menu = [];
+ }
+ } else {
+ $connLink = DI::baseUrl()->get() . '/follow/?url=' . $result->getUrl();
+ $connTxt = DI::l10n()->t('Connect');
+
+ $photo_menu['profile'] = [DI::l10n()->t("View Profile"), Model\Contact::magicLink($result->getUrl())];
+ $photo_menu['follow'] = [DI::l10n()->t("Connect/Follow"), $connLink];
+ }
+
+ $photo = str_replace("http:///photo/", Search::getGlobalDirectory() . "/photo/", $result->getPhoto());
+
+ $entry = [
+ 'alt_text' => $alt_text,
+ 'url' => Model\Contact::magicLink($result->getUrl()),
+ 'itemurl' => $result->getItem(),
+ 'name' => $result->getName(),
+ 'thumb' => ProxyUtils::proxifyUrl($photo, false, ProxyUtils::SIZE_THUMB),
+ 'img_hover' => $result->getTags(),
+ 'conntxt' => $connTxt,
+ 'connlnk' => $connLink,
+ 'photo_menu' => $photo_menu,
+ 'details' => $location,
+ 'tags' => $result->getTags(),
+ 'about' => $about,
+ 'account_type' => $accountType,
+ 'network' => ContactSelector::networkToName($result->getNetwork(), $result->getUrl()),
+ 'id' => ++$id,
+ ];
+ $entries[] = $entry;
+ }
+ }
+
+ $tpl = Renderer::getMarkupTemplate('viewcontact_template.tpl');
+ return Renderer::replaceMacros($tpl, [
+ 'title' => $header,
+ '$contacts' => $entries,
+ '$paginate' => $pager->renderFull($results->getTotal()),
+ ]);
+ }
+}
+++ /dev/null
-<?php
-
-namespace Friendica\Module;
-
-use Friendica\BaseModule;
-use Friendica\Content\ContactSelector;
-use Friendica\Content\Pager;
-use Friendica\Core\Renderer;
-use Friendica\Core\Search;
-use Friendica\DI;
-use Friendica\Model;
-use Friendica\Network\HTTPException;
-use Friendica\Object\Search\ContactResult;
-use Friendica\Object\Search\ResultList;
-use Friendica\Util\Proxy as ProxyUtils;
-
-/**
- * Base class for search modules
- */
-class BaseSearchModule extends BaseModule
-{
- /**
- * Performs a contact search with an optional prefix
- *
- * @param string $search Search query
- * @param string $prefix A optional prefix (e.g. @ or !) for searching
- *
- * @return string
- * @throws HTTPException\InternalServerErrorException
- * @throws \ImagickException
- */
- public static function performContactSearch($search, $prefix = '')
- {
- $a = DI::app();
- $config = DI::config();
-
- $type = Search::TYPE_ALL;
-
- $localSearch = $config->get('system', 'poco_local_search');
-
- $search = $prefix . $search;
-
- if (!$search) {
- return '';
- }
-
- $header = '';
-
- if (strpos($search, '@') === 0) {
- $search = substr($search, 1);
- $type = Search::TYPE_PEOPLE;
- $header = DI::l10n()->t('People Search - %s', $search);
-
- if (strrpos($search, '@') > 0) {
- $results = Search::getContactsFromProbe($search);
- }
- }
-
- if (strpos($search, '!') === 0) {
- $search = substr($search, 1);
- $type = Search::TYPE_FORUM;
- $header = DI::l10n()->t('Forum Search - %s', $search);
- }
-
- $args = DI::args();
- $pager = new Pager($args->getQueryString());
-
- if ($localSearch && empty($results)) {
- $pager->setItemsPerPage(80);
- $results = Search::getContactsFromLocalDirectory($search, $type, $pager->getStart(), $pager->getItemsPerPage());
- } elseif (strlen($config->get('system', 'directory')) && empty($results)) {
- $results = Search::getContactsFromGlobalDirectory($search, $type, $pager->getPage());
- $pager->setItemsPerPage($results->getItemsPage());
- }
-
- return self::printResult($results, $pager, $header);
- }
-
- /**
- * Prints a human readable search result
- *
- * @param ResultList $results
- * @param Pager $pager
- * @param string $header
- *
- * @return string The result
- * @throws HTTPException\InternalServerErrorException
- * @throws \ImagickException
- */
- protected static function printResult(ResultList $results, Pager $pager, $header = '')
- {
- if ($results->getTotal() == 0) {
- info(DI::l10n()->t('No matches'));
- return '';
- }
-
- $id = 0;
- $entries = [];
- foreach ($results->getResults() as $result) {
-
- // in case the result is a contact result, add a contact-specific entry
- if ($result instanceof ContactResult) {
-
- $alt_text = '';
- $location = '';
- $about = '';
- $accountType = '';
- $photo_menu = [];
-
- // If We already know this contact then don't show the "connect" button
- if ($result->getCid() > 0 || $result->getPCid() > 0) {
- $connLink = "";
- $connTxt = "";
- $contact = Model\Contact::getById(
- ($result->getCid() > 0) ? $result->getCid() : $result->getPCid()
- );
-
- if (!empty($contact)) {
- $photo_menu = Model\Contact::photoMenu($contact);
- $details = Contact::getContactTemplateVars($contact);
- $alt_text = $details['alt_text'];
- $location = $contact['location'];
- $about = $contact['about'];
- $accountType = Model\Contact::getAccountType($contact);
- } else {
- $photo_menu = [];
- }
- } else {
- $connLink = DI::baseUrl()->get() . '/follow/?url=' . $result->getUrl();
- $connTxt = DI::l10n()->t('Connect');
-
- $photo_menu['profile'] = [DI::l10n()->t("View Profile"), Model\Contact::magicLink($result->getUrl())];
- $photo_menu['follow'] = [DI::l10n()->t("Connect/Follow"), $connLink];
- }
-
- $photo = str_replace("http:///photo/", Search::getGlobalDirectory() . "/photo/", $result->getPhoto());
-
- $entry = [
- 'alt_text' => $alt_text,
- 'url' => Model\Contact::magicLink($result->getUrl()),
- 'itemurl' => $result->getItem(),
- 'name' => $result->getName(),
- 'thumb' => ProxyUtils::proxifyUrl($photo, false, ProxyUtils::SIZE_THUMB),
- 'img_hover' => $result->getTags(),
- 'conntxt' => $connTxt,
- 'connlnk' => $connLink,
- 'photo_menu' => $photo_menu,
- 'details' => $location,
- 'tags' => $result->getTags(),
- 'about' => $about,
- 'account_type' => $accountType,
- 'network' => ContactSelector::networkToName($result->getNetwork(), $result->getUrl()),
- 'id' => ++$id,
- ];
- $entries[] = $entry;
- }
- }
-
- $tpl = Renderer::getMarkupTemplate('viewcontact_template.tpl');
- return Renderer::replaceMacros($tpl, [
- 'title' => $header,
- '$contacts' => $entries,
- '$paginate' => $pager->renderFull($results->getTotal()),
- ]);
- }
-}
--- /dev/null
+<?php
+
+namespace Friendica\Module;
+
+use Friendica\BaseModule;
+use Friendica\Content\Feature;
+use Friendica\Core\Renderer;
+use Friendica\DI;
+
+class BaseSettings extends BaseModule
+{
+ public static function content(array $parameters = [])
+ {
+ $a = DI::app();
+
+ $tpl = Renderer::getMarkupTemplate('settings/head.tpl');
+ DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
+ '$ispublic' => DI::l10n()->t('everybody')
+ ]);
+
+ $tabs = [];
+
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Account'),
+ 'url' => 'settings',
+ 'selected' => (($a->argc == 1) && ($a->argv[0] === 'settings') ? 'active' : ''),
+ 'accesskey' => 'o',
+ ];
+
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Two-factor authentication'),
+ 'url' => 'settings/2fa',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === '2fa') ? 'active' : ''),
+ 'accesskey' => 'o',
+ ];
+
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Profile'),
+ 'url' => 'settings/profile',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'profile') ? 'active' : ''),
+ 'accesskey' => 'p',
+ ];
+
+ if (Feature::get()) {
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Additional features'),
+ 'url' => 'settings/features',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''),
+ 'accesskey' => 't',
+ ];
+ }
+
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Display'),
+ 'url' => 'settings/display',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'display') ? 'active' : ''),
+ 'accesskey' => 'i',
+ ];
+
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Social Networks'),
+ 'url' => 'settings/connectors',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'connectors') ? 'active' : ''),
+ 'accesskey' => 'w',
+ ];
+
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Addons'),
+ 'url' => 'settings/addon',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'addon') ? 'active' : ''),
+ 'accesskey' => 'l',
+ ];
+
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Delegations'),
+ 'url' => 'settings/delegation',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'delegation') ? 'active' : ''),
+ 'accesskey' => 'd',
+ ];
+
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Connected apps'),
+ 'url' => 'settings/oauth',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'oauth') ? 'active' : ''),
+ 'accesskey' => 'b',
+ ];
+
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Export personal data'),
+ 'url' => 'settings/userexport',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'userexport') ? 'active' : ''),
+ 'accesskey' => 'e',
+ ];
+
+ $tabs[] = [
+ 'label' => DI::l10n()->t('Remove account'),
+ 'url' => 'removeme',
+ 'selected' => (($a->argc == 1) && ($a->argv[0] === 'removeme') ? 'active' : ''),
+ 'accesskey' => 'r',
+ ];
+
+
+ $tabtpl = Renderer::getMarkupTemplate("generic_links_widget.tpl");
+ DI::page()['aside'] = Renderer::replaceMacros($tabtpl, [
+ '$title' => DI::l10n()->t('Settings'),
+ '$class' => 'settings-widget',
+ '$items' => $tabs,
+ ]);
+ }
+}
+++ /dev/null
-<?php
-
-namespace Friendica\Module;
-
-use Friendica\BaseModule;
-use Friendica\Content\Feature;
-use Friendica\Core\Renderer;
-use Friendica\DI;
-
-class BaseSettingsModule extends BaseModule
-{
- public static function content(array $parameters = [])
- {
- $a = DI::app();
-
- $tpl = Renderer::getMarkupTemplate('settings/head.tpl');
- DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
- '$ispublic' => DI::l10n()->t('everybody')
- ]);
-
- $tabs = [];
-
- $tabs[] = [
- 'label' => DI::l10n()->t('Account'),
- 'url' => 'settings',
- 'selected' => (($a->argc == 1) && ($a->argv[0] === 'settings') ? 'active' : ''),
- 'accesskey' => 'o',
- ];
-
- $tabs[] = [
- 'label' => DI::l10n()->t('Two-factor authentication'),
- 'url' => 'settings/2fa',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === '2fa') ? 'active' : ''),
- 'accesskey' => 'o',
- ];
-
- $tabs[] = [
- 'label' => DI::l10n()->t('Profile'),
- 'url' => 'settings/profile',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'profile') ? 'active' : ''),
- 'accesskey' => 'p',
- ];
-
- if (Feature::get()) {
- $tabs[] = [
- 'label' => DI::l10n()->t('Additional features'),
- 'url' => 'settings/features',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''),
- 'accesskey' => 't',
- ];
- }
-
- $tabs[] = [
- 'label' => DI::l10n()->t('Display'),
- 'url' => 'settings/display',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'display') ? 'active' : ''),
- 'accesskey' => 'i',
- ];
-
- $tabs[] = [
- 'label' => DI::l10n()->t('Social Networks'),
- 'url' => 'settings/connectors',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'connectors') ? 'active' : ''),
- 'accesskey' => 'w',
- ];
-
- $tabs[] = [
- 'label' => DI::l10n()->t('Addons'),
- 'url' => 'settings/addon',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'addon') ? 'active' : ''),
- 'accesskey' => 'l',
- ];
-
- $tabs[] = [
- 'label' => DI::l10n()->t('Delegations'),
- 'url' => 'settings/delegation',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'delegation') ? 'active' : ''),
- 'accesskey' => 'd',
- ];
-
- $tabs[] = [
- 'label' => DI::l10n()->t('Connected apps'),
- 'url' => 'settings/oauth',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'oauth') ? 'active' : ''),
- 'accesskey' => 'b',
- ];
-
- $tabs[] = [
- 'label' => DI::l10n()->t('Export personal data'),
- 'url' => 'settings/userexport',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'userexport') ? 'active' : ''),
- 'accesskey' => 'e',
- ];
-
- $tabs[] = [
- 'label' => DI::l10n()->t('Remove account'),
- 'url' => 'removeme',
- 'selected' => (($a->argc == 1) && ($a->argv[0] === 'removeme') ? 'active' : ''),
- 'accesskey' => 'r',
- ];
-
-
- $tabtpl = Renderer::getMarkupTemplate("generic_links_widget.tpl");
- DI::page()['aside'] = Renderer::replaceMacros($tabtpl, [
- '$title' => DI::l10n()->t('Settings'),
- '$class' => 'settings-widget',
- '$items' => $tabs,
- ]);
- }
-}
use Friendica\Content\Widget;
use Friendica\DI;
-use Friendica\Module\BaseSearchModule;
+use Friendica\Module\BaseSearch;
use Friendica\Module\Security\Login;
use Friendica\Util\Strings;
/**
* Directory search module
*/
-class Directory extends BaseSearchModule
+class Directory extends BaseSearch
{
public static function content(array $parameters = [])
{
use Friendica\Model\Contact;
use Friendica\Model\Item;
use Friendica\Model\Term;
-use Friendica\Module\BaseSearchModule;
+use Friendica\Module\BaseSearch;
use Friendica\Network\HTTPException;
use Friendica\Util\Strings;
-class Index extends BaseSearchModule
+class Index extends BaseSearch
{
public static function content(array $parameters = [])
{
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\User;
-use Friendica\Module\BaseSettingsModule;
+use Friendica\Module\BaseSettings;
use Friendica\Network\HTTPException;
use Friendica\Util\Strings;
/**
* Account delegation settings module
*/
-class Delegation extends BaseSettingsModule
+class Delegation extends BaseSettings
{
public static function post(array $parameters = [])
{
use Friendica\Model\Profile;
use Friendica\Model\ProfileField;
use Friendica\Model\User;
-use Friendica\Module\BaseSettingsModule;
+use Friendica\Module\BaseSettings;
use Friendica\Module\Security\Login;
use Friendica\Network\HTTPException;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Strings;
use Friendica\Util\Temporal;
-class Index extends BaseSettingsModule
+class Index extends BaseSettings
{
public static function post(array $parameters = [])
{
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Photo;
-use Friendica\Module\BaseSettingsModule;
+use Friendica\Module\BaseSettings;
use Friendica\Network\HTTPException;
-class Crop extends BaseSettingsModule
+class Crop extends BaseSettings
{
public static function post(array $parameters = [])
{
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Photo;
-use Friendica\Module\BaseSettingsModule;
+use Friendica\Module\BaseSettings;
use Friendica\Network\HTTPException;
use Friendica\Object\Image;
use Friendica\Util\Images;
use Friendica\Util\Strings;
-class Index extends BaseSettingsModule
+class Index extends BaseSettings
{
public static function post(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\DI;
use Friendica\Model\TwoFactor\AppSpecificPassword;
-use Friendica\Module\BaseSettingsModule;
+use Friendica\Module\BaseSettings;
use Friendica\Module\Security\Login;
/**
*
* @package Friendica\Module\TwoFactor
*/
-class AppSpecific extends BaseSettingsModule
+class AppSpecific extends BaseSettings
{
private static $appSpecificPassword = null;
use Friendica\Model\TwoFactor\AppSpecificPassword;
use Friendica\Model\TwoFactor\RecoveryCode;
use Friendica\Model\User;
-use Friendica\Module\BaseSettingsModule;
+use Friendica\Module\BaseSettings;
use Friendica\Module\Security\Login;
use PragmaRX\Google2FA\Google2FA;
-class Index extends BaseSettingsModule
+class Index extends BaseSettings
{
public static function post(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\DI;
use Friendica\Model\TwoFactor\RecoveryCode;
-use Friendica\Module\BaseSettingsModule;
+use Friendica\Module\BaseSettings;
use Friendica\Module\Security\Login;
/**
*
* @package Friendica\Module\TwoFactor
*/
-class Recovery extends BaseSettingsModule
+class Recovery extends BaseSettings
{
public static function init(array $parameters = [])
{
use Friendica\Core\Renderer;
use Friendica\Core\Session;
use Friendica\DI;
-use Friendica\Module\BaseSettingsModule;
+use Friendica\Module\BaseSettings;
use Friendica\Module\Security\Login;
use PragmaRX\Google2FA\Google2FA;
*
* @package Friendica\Module\TwoFactor\Settings
*/
-class Verify extends BaseSettingsModule
+class Verify extends BaseSettings
{
public static function init(array $parameters = [])
{
use Friendica\Database\DBA;
use Friendica\Database\DBStructure;
use Friendica\DI;
-use Friendica\Module\BaseSettingsModule;
+use Friendica\Module\BaseSettings;
/**
* Module to export user data
**/
-class UserExport extends BaseSettingsModule
+class UserExport extends BaseSettings
{
/**
* Handle the request to export data.