X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fdirfind.php;h=a5b77312f35d03ba078a8700b67220a7acfea2ef;hb=bd13a73b2be3f14fa02f28d7848abffe596f9cc5;hp=cf58098ab96014a5a5d7e0cad307757b1f066270;hpb=0e01568ccd5b5ce081eff83e2ed0b888e0b6db55;p=friendica.git diff --git a/mod/dirfind.php b/mod/dirfind.php index cf58098ab9..a5b77312f3 100644 --- a/mod/dirfind.php +++ b/mod/dirfind.php @@ -30,7 +30,7 @@ function dirfind_init(App $a) { return; } - if (! x($a->page,'aside')) { + if (empty($a->page['aside'])) { $a->page['aside'] = ''; } @@ -46,15 +46,15 @@ function dirfind_content(App $a, $prefix = "") { $local = Config::get('system','poco_local_search'); - $search = $prefix.Strings::removeTags(trim(defaults($_REQUEST, 'search', ''))); + $search = $prefix.Strings::escapeTags(trim(defaults($_REQUEST, 'search', ''))); $header = ''; if (strpos($search,'@') === 0) { $search = substr($search,1); $header = L10n::t('People Search - %s', $search); - if ((valid_email($search) && Network::isEmailDomainValid($search)) || - (substr(normalise_link($search), 0, 7) == "http://")) { + if ((filter_var($search, FILTER_VALIDATE_EMAIL) && Network::isEmailDomainValid($search)) || + (substr(Strings::normaliseLink($search), 0, 7) == "http://")) { $user_data = Probe::uri($search); $discover_user = (in_array($user_data["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::OSTATUS, Protocol::DIASPORA])); } @@ -121,25 +121,25 @@ function dirfind_content(App $a, $prefix = "") { /// @TODO These 2 SELECTs are not checked on validity with DBA::isResult() $count = q("SELECT count(*) AS `total` FROM `gcontact` - WHERE NOT `hide` AND `network` IN ('%s', '%s', '%s') AND + WHERE NOT `hide` AND `network` IN ('%s', '%s', '%s', '%s') AND ((`last_contact` >= `last_failure`) OR (`updated` >= `last_failure`)) AND (`url` LIKE '%s' OR `name` LIKE '%s' OR `location` LIKE '%s' OR `addr` LIKE '%s' OR `about` LIKE '%s' OR `keywords` LIKE '%s') $extra_sql", - DBA::escape(Protocol::DFRN), DBA::escape($ostatus), DBA::escape($diaspora), - DBA::escape(Strings::escapeTags($search2)), DBA::escape(Strings::escapeTags($search2)), DBA::escape(Strings::escapeTags($search2)), - DBA::escape(Strings::escapeTags($search2)), DBA::escape(Strings::escapeTags($search2)), DBA::escape(Strings::escapeTags($search2))); + DBA::escape(Protocol::ACTIVITYPUB), DBA::escape(Protocol::DFRN), DBA::escape($ostatus), DBA::escape($diaspora), + DBA::escape(Strings::escapeHtml($search2)), DBA::escape(Strings::escapeHtml($search2)), DBA::escape(Strings::escapeHtml($search2)), + DBA::escape(Strings::escapeHtml($search2)), DBA::escape(Strings::escapeHtml($search2)), DBA::escape(Strings::escapeHtml($search2))); $results = q("SELECT `nurl` FROM `gcontact` - WHERE NOT `hide` AND `network` IN ('%s', '%s', '%s') AND + WHERE NOT `hide` AND `network` IN ('%s', '%s', '%s', '%s') AND ((`last_contact` >= `last_failure`) OR (`updated` >= `last_failure`)) AND (`url` LIKE '%s' OR `name` LIKE '%s' OR `location` LIKE '%s' OR `addr` LIKE '%s' OR `about` LIKE '%s' OR `keywords` LIKE '%s') $extra_sql GROUP BY `nurl` ORDER BY `updated` DESC LIMIT %d, %d", - DBA::escape(Protocol::DFRN), DBA::escape($ostatus), DBA::escape($diaspora), - DBA::escape(Strings::escapeTags($search2)), DBA::escape(Strings::escapeTags($search2)), DBA::escape(Strings::escapeTags($search2)), - DBA::escape(Strings::escapeTags($search2)), DBA::escape(Strings::escapeTags($search2)), DBA::escape(Strings::escapeTags($search2)), + DBA::escape(Protocol::ACTIVITYPUB), DBA::escape(Protocol::DFRN), DBA::escape($ostatus), DBA::escape($diaspora), + DBA::escape(Strings::escapeHtml($search2)), DBA::escape(Strings::escapeHtml($search2)), DBA::escape(Strings::escapeHtml($search2)), + DBA::escape(Strings::escapeHtml($search2)), DBA::escape(Strings::escapeHtml($search2)), DBA::escape(Strings::escapeHtml($search2)), $pager->getStart(), $pager->getItemsPerPage()); $j = new stdClass(); $j->total = $count[0]["total"]; @@ -179,21 +179,19 @@ function dirfind_content(App $a, $prefix = "") { // Add found profiles from the global directory to the local directory Worker::add(PRIORITY_LOW, 'DiscoverPoCo', "dirsearch", urlencode($search)); - } else { + } elseif (strlen(Config::get('system','directory'))) { $p = (($pager->getPage() != 1) ? '&p=' . $pager->getPage() : ''); - if (strlen(Config::get('system','directory'))) { - $x = Network::fetchUrl(get_server() . '/lsearch?f=' . $p . '&search=' . urlencode($search)); - } + $x = Network::fetchUrl(get_server() . '/lsearch?f=' . $p . '&search=' . urlencode($search)); $j = json_decode($x); - $pager->setItemsPerPage($j->items_page); } if (!empty($j->results)) { $id = 0; + $entries = []; foreach ($j->results as $jj) { $alt_text = ""; @@ -235,7 +233,7 @@ function dirfind_content(App $a, $prefix = "") { 'alt_text' => $alt_text, 'url' => Model\Contact::magicLink($jj->url), 'itemurl' => $itemurl, - 'name' => htmlentities($jj->name), + 'name' => $jj->name, 'thumb' => ProxyUtils::proxifyUrl($jj->photo, false, ProxyUtils::SIZE_THUMB), 'img_hover' => $jj->tags, 'conntxt' => $conntxt,