X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Facl.php;h=86eafe29028db053ed55d380db8869fa982ffb15;hb=a565406b478971565f7e4398af4bccd46b882101;hp=90e85040f03b8ec1a1fa77fd812c8089f084766b;hpb=cfa68c52b9117616fa95a4639ad74e7d220d193d;p=friendica.git diff --git a/mod/acl.php b/mod/acl.php index 90e85040f0..86eafe2902 100644 --- a/mod/acl.php +++ b/mod/acl.php @@ -6,12 +6,15 @@ use Friendica\App; use Friendica\Content\Widget; use Friendica\Core\ACL; use Friendica\Core\Addon; +use Friendica\Core\Logger; +use Friendica\Core\Protocol; use Friendica\Database\DBA; use Friendica\Model\Contact; use Friendica\Model\Item; +use Friendica\Util\Proxy as ProxyUtils; +use Friendica\Util\Strings; require_once 'include/dba.php'; -require_once 'mod/proxy.php'; function acl_content(App $a) { @@ -33,11 +36,11 @@ function acl_content(App $a) $search = $_REQUEST['query']; } - logger("Searching for ".$search." - type ".$type." conversation ".$conv_id, LOGGER_DEBUG); + Logger::log("Searching for ".$search." - type ".$type." conversation ".$conv_id, Logger::DEBUG); if ($search != '') { - $sql_extra = "AND `name` LIKE '%%" . dbesc($search) . "%%'"; - $sql_extra2 = "AND (`attag` LIKE '%%" . dbesc($search) . "%%' OR `name` LIKE '%%" . dbesc($search) . "%%' OR `nick` LIKE '%%" . dbesc($search) . "%%')"; + $sql_extra = "AND `name` LIKE '%%" . DBA::escape($search) . "%%'"; + $sql_extra2 = "AND (`attag` LIKE '%%" . DBA::escape($search) . "%%' OR `name` LIKE '%%" . DBA::escape($search) . "%%' OR `nick` LIKE '%%" . DBA::escape($search) . "%%')"; } else { /// @TODO Avoid these needless else blocks by putting variable-initialization atop of if() $sql_extra = $sql_extra2 = ''; @@ -82,10 +85,11 @@ function acl_content(App $a) WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` AND NOT `archive` AND `success_update` >= `failure_update` - AND `network` IN ('%s', '%s') $sql_extra2", + AND `network` IN ('%s', '%s', '%s') $sql_extra2", intval(local_user()), - dbesc(NETWORK_DFRN), - dbesc(NETWORK_DIASPORA) + DBA::escape(Protocol::ACTIVITYPUB), + DBA::escape(Protocol::DFRN), + DBA::escape(Protocol::DIASPORA) ); $contact_count = (int) $r[0]['c']; } elseif ($type == 'a') { @@ -123,7 +127,7 @@ function acl_content(App $a) $groups[] = [ 'type' => 'g', 'photo' => 'images/twopeople.png', - 'name' => htmlentities($g['name']), + 'name' => htmlspecialchars($g['name']), 'id' => intval($g['id']), 'uids' => array_map('intval', explode(',', $g['uids'])), 'link' => '', @@ -143,8 +147,8 @@ function acl_content(App $a) $sql_extra2 ORDER BY `name` ASC ", intval(local_user()), - dbesc(NETWORK_OSTATUS), - dbesc(NETWORK_STATUSNET) + DBA::escape(Protocol::OSTATUS), + DBA::escape(Protocol::STATUSNET) ); } elseif ($type == 'c') { $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr`, `forum`, `prv` FROM `contact` @@ -153,7 +157,7 @@ function acl_content(App $a) $sql_extra2 ORDER BY `name` ASC ", intval(local_user()), - dbesc(NETWORK_STATUSNET) + DBA::escape(Protocol::STATUSNET) ); } elseif ($type == 'f') { $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr`, `forum`, `prv` FROM `contact` @@ -163,17 +167,18 @@ function acl_content(App $a) $sql_extra2 ORDER BY `name` ASC ", intval(local_user()), - dbesc(NETWORK_STATUSNET) + DBA::escape(Protocol::STATUSNET) ); } elseif ($type == 'm') { $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr` FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` AND NOT `archive` - AND `success_update` >= `failure_update` AND `network` IN ('%s', '%s') + AND `success_update` >= `failure_update` AND `network` IN ('%s', '%s', '%s') $sql_extra2 ORDER BY `name` ASC ", intval(local_user()), - dbesc(NETWORK_DFRN), - dbesc(NETWORK_DIASPORA) + DBA::escape(Protocol::ACTIVITYPUB), + DBA::escape(Protocol::DFRN), + DBA::escape(Protocol::DIASPORA) ); } elseif ($type == 'a') { $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr`, `forum`, `prv` FROM `contact` @@ -184,7 +189,7 @@ function acl_content(App $a) ); } elseif ($type == 'x') { // autocomplete for global contact search (e.g. navbar search) - $search = notags(trim($_REQUEST['search'])); + $search = Strings::escapeTags(trim($_REQUEST['search'])); $mode = $_REQUEST['smode']; $r = ACL::contactAutocomplete($search, $mode); @@ -192,8 +197,8 @@ function acl_content(App $a) $contacts = []; foreach ($r as $g) { $contacts[] = [ - 'photo' => proxy_url($g['photo'], false, PROXY_SIZE_MICRO), - 'name' => $g['name'], + 'photo' => ProxyUtils::proxifyUrl($g['photo'], false, ProxyUtils::SIZE_MICRO), + 'name' => htmlspecialchars($g['name']), 'nick' => defaults($g, 'addr', $g['url']), 'network' => $g['network'], 'link' => $g['url'], @@ -214,8 +219,8 @@ function acl_content(App $a) foreach ($r as $g) { $entry = [ 'type' => 'c', - 'photo' => proxy_url($g['micro'], false, PROXY_SIZE_MICRO), - 'name' => htmlentities($g['name']), + 'photo' => ProxyUtils::proxifyUrl($g['micro'], false, ProxyUtils::SIZE_MICRO), + 'name' => htmlspecialchars($g['name']), 'id' => intval($g['id']), 'network' => $g['network'], 'link' => $g['url'], @@ -275,8 +280,8 @@ function acl_content(App $a) if (count($contact) > 0) { $unknown_contacts[] = [ 'type' => 'c', - 'photo' => proxy_url($contact['micro'], false, PROXY_SIZE_MICRO), - 'name' => htmlentities($contact['name']), + 'photo' => ProxyUtils::proxifyUrl($contact['micro'], false, ProxyUtils::SIZE_MICRO), + 'name' => htmlspecialchars($contact['name']), 'id' => intval($contact['cid']), 'network' => $contact['network'], 'link' => $contact['url'],