X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=view%2Ftheme%2Ffrio%2Ftheme.php;h=3f401612e2e0222533155d98733e3cca52c2d198;hb=d59cd7dfa4fff840dcab640ab5c194ededf7fc0b;hp=559fc94a27020e06c3047aa6a3a1abe5b1fb3dfb;hpb=465e1d6a5ca86794d3359536fcf2735889fbbc03;p=friendica.git diff --git a/view/theme/frio/theme.php b/view/theme/frio/theme.php index 559fc94a27..3f401612e2 100644 --- a/view/theme/frio/theme.php +++ b/view/theme/frio/theme.php @@ -1,5 +1,4 @@ ReadMe. @@ -9,11 +8,15 @@ */ use Friendica\App; +use Friendica\Content\Text\Plaintext; +use Friendica\Content\Widget; +use Friendica\Core\Addon; use Friendica\Core\Config; +use Friendica\Core\L10n; use Friendica\Core\PConfig; use Friendica\Core\System; use Friendica\Database\DBM; -use Friendica\Object\Image; +use Friendica\Model\Profile; $frio = "view/theme/frio"; @@ -52,24 +55,24 @@ EOT; function frio_install() { - register_hook('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links'); - register_hook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu'); - register_hook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu'); - register_hook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav'); - register_hook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup'); - register_hook('display_item', 'view/theme/frio/theme.php', 'frio_display_item'); + Addon::registerHook('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links'); + Addon::registerHook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu'); + Addon::registerHook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu'); + Addon::registerHook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav'); + Addon::registerHook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup'); + Addon::registerHook('display_item', 'view/theme/frio/theme.php', 'frio_display_item'); logger("installed theme frio"); } function frio_uninstall() { - unregister_hook('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links'); - unregister_hook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu'); - unregister_hook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu'); - unregister_hook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav'); - unregister_hook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup'); - unregister_hook('display_item', 'view/theme/frio/theme.php', 'frio_display_item'); + Addon::unregisterHook('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links'); + Addon::unregisterHook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu'); + Addon::unregisterHook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu'); + Addon::unregisterHook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav'); + Addon::unregisterHook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup'); + Addon::unregisterHook('display_item', 'view/theme/frio/theme.php', 'frio_display_item'); logger("uninstalled theme frio"); } @@ -88,13 +91,11 @@ function frio_uninstall() */ function frio_item_photo_links(App $a, &$body_info) { - $phototypes = Image::supportedTypes(); - $occurence = 1; - $p = bb_find_open_close($body_info['html'], ""); - + $occurence = 0; + $p = Plaintext::getBoundariesPosition($body_info['html'], ""); while ($p !== false && ($occurence++ < 500)) { $link = substr($body_info['html'], $p['start'], $p['end'] - $p['start']); - $matches = array(); + $matches = []; preg_match("/\/photos\/[\w]+\/image\/([\w]+)/", $link, $matches); if ($matches) { @@ -110,7 +111,7 @@ function frio_item_photo_links(App $a, &$body_info) $body_info['html'] = str_replace($link, $newlink, $body_info['html']); } - $p = bb_find_open_close($body_info['html'], "", $occurence); + $p = Plaintext::getBoundariesPosition($body_info['html'], "", $occurence); } } @@ -197,7 +198,7 @@ function frio_contact_photo_menu(App $a, &$args) function frio_remote_nav($a, &$nav) { // get the homelink from $_XSESSION - $homelink = get_my_url(); + $homelink = Profile::getMyURL(); if (!$homelink) { $homelink = defaults($_SESSION, 'visitor_home', ''); } @@ -233,39 +234,39 @@ function frio_remote_nav($a, &$nav) $r[0]['name'] = $a->user['username']; } elseif (!local_user() && remote_user()) { $r = q("SELECT `name`, `nick`, `micro` AS `photo` FROM `contact` WHERE `id` = %d", intval(remote_user())); - $nav['remote'] = t("Guest"); - } elseif (get_my_url()) { + $nav['remote'] = L10n::t("Guest"); + } elseif (Profile::getMyURL()) { $r = q("SELECT `name`, `nick`, `photo` FROM `gcontact` WHERE `addr` = '%s' AND `network` = 'dfrn'", dbesc($webbie)); - $nav['remote'] = t("Visitor"); + $nav['remote'] = L10n::t("Visitor"); } else { $r = false; } if (DBM::is_result($r)) { - $nav['userinfo'] = array( + $nav['userinfo'] = [ 'icon' => (DBM::is_result($r) ? $r[0]['photo'] : "images/person-48.jpg"), 'name' => $r[0]['name'], - ); + ]; } if (!local_user() && !empty($server_url)) { - $nav['logout'] = Array($server_url . '/logout', t('Logout'), "", t('End this session')); + $nav['logout'] = [$server_url . '/logout', L10n::t('Logout'), "", L10n::t('End this session')]; // user menu - $nav['usermenu'][] = Array($server_url . '/profile/' . $a->user['nickname'], t('Status'), "", t('Your posts and conversations')); - $nav['usermenu'][] = Array($server_url . '/profile/' . $a->user['nickname'] . '?tab=profile', t('Profile'), "", t('Your profile page')); - $nav['usermenu'][] = Array($server_url . '/photos/' . $a->user['nickname'], t('Photos'), "", t('Your photos')); - $nav['usermenu'][] = Array($server_url . '/videos/' . $a->user['nickname'], t('Videos'), "", t('Your videos')); - $nav['usermenu'][] = Array($server_url . '/events/', t('Events'), "", t('Your events')); + $nav['usermenu'][] = [$server_url . '/profile/' . $a->user['nickname'], L10n::t('Status'), "", L10n::t('Your posts and conversations')]; + $nav['usermenu'][] = [$server_url . '/profile/' . $a->user['nickname'] . '?tab=profile', L10n::t('Profile'), "", L10n::t('Your profile page')]; + $nav['usermenu'][] = [$server_url . '/photos/' . $a->user['nickname'], L10n::t('Photos'), "", L10n::t('Your photos')]; + $nav['usermenu'][] = [$server_url . '/videos/' . $a->user['nickname'], L10n::t('Videos'), "", L10n::t('Your videos')]; + $nav['usermenu'][] = [$server_url . '/events/', L10n::t('Events'), "", L10n::t('Your events')]; // navbar links - $nav['network'] = array($server_url . '/network', t('Network'), "", t('Conversations from your friends')); - $nav['events'] = Array($server_url . '/events', t('Events'), "", t('Events and Calendar')); - $nav['messages'] = array($server_url . '/message', t('Messages'), "", t('Private mail')); - $nav['settings'] = array($server_url . '/settings', t('Settings'), "", t('Account settings')); - $nav['contacts'] = array($server_url . '/contacts', t('Contacts'), "", t('Manage/edit friends and contacts')); + $nav['network'] = [$server_url . '/network', L10n::t('Network'), "", L10n::t('Conversations from your friends')]; + $nav['events'] = [$server_url . '/events', L10n::t('Events'), "", L10n::t('Events and Calendar')]; + $nav['messages'] = [$server_url . '/message', L10n::t('Messages'), "", L10n::t('Private mail')]; + $nav['settings'] = [$server_url . '/settings', L10n::t('Settings'), "", L10n::t('Account settings')]; + $nav['contacts'] = [$server_url . '/contacts', L10n::t('Contacts'), "", L10n::t('Manage/edit friends and contacts')]; $nav['sitename'] = $a->config['sitename']; } } @@ -291,46 +292,47 @@ function frio_acl_lookup(App $a, &$results) // we introduce a new search type, r should do the same query like it's // done in /mod/contacts for connections - if ($results["type"] == "r") { - $searching = false; - if ($search) { - $search_hdr = $search; - $search_txt = dbesc(protect_sprintf(preg_quote($search))); - $searching = true; - } - $sql_extra = ''; - if ($searching) { - $sql_extra .= " AND (`attag` LIKE '%%" . dbesc($search_txt) . "%%' OR `name` LIKE '%%" . dbesc($search_txt) . "%%' OR `nick` LIKE '%%" . dbesc($search_txt) . "%%') "; - } + if ($results["type"] !== "r") { + return; + } - if ($nets) { - $sql_extra .= sprintf(" AND network = '%s' ", dbesc($nets)); - } + $searching = false; + if ($results["search"]) { + $search_txt = dbesc(protect_sprintf(preg_quote($results["search"]))); + $searching = true; + } - $r = q("SELECT COUNT(*) AS `total` FROM `contact` - WHERE `uid` = %d AND NOT `self` AND NOT `pending` $sql_extra ", - intval($_SESSION['uid'])); - if (DBM::is_result($r)) { - $total = $r[0]["total"]; - } + $sql_extra = ''; + if ($searching) { + $sql_extra .= " AND (`attag` LIKE '%%" . dbesc($search_txt) . "%%' OR `name` LIKE '%%" . dbesc($search_txt) . "%%' OR `nick` LIKE '%%" . dbesc($search_txt) . "%%') "; + } - $sql_extra3 = unavailable_networks(); + if ($nets) { + $sql_extra .= sprintf(" AND network = '%s' ", dbesc($nets)); + } - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `pending` $sql_extra $sql_extra3 ORDER BY `name` ASC LIMIT 100 ", - intval($_SESSION['uid']) - ); + $r = q("SELECT COUNT(*) AS `total` FROM `contact` + WHERE `uid` = %d AND NOT `self` AND NOT `pending` $sql_extra ", intval($_SESSION['uid'])); + if (DBM::is_result($r)) { + $total = $r[0]["total"]; + } - $contacts = array(); + $sql_extra3 = Widget::unavailableNetworks(); - if (DBM::is_result($r)) { - foreach ($r as $rr) { - $contacts[] = _contact_detail_for_template($rr); - } - } + $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `pending` $sql_extra $sql_extra3 ORDER BY `name` ASC LIMIT %d, %d ", + intval($_SESSION['uid']), intval($results['start']), intval($results['count']) + ); - $results["items"] = $contacts; - $results["tot"] = $total; + $contacts = []; + + if (DBM::is_result($r)) { + foreach ($r as $rr) { + $contacts[] = _contact_detail_for_template($rr); + } } + + $results["items"] = $contacts; + $results["tot"] = $total; } /** @@ -346,14 +348,14 @@ function frio_acl_lookup(App $a, &$results) function frio_display_item(App $a, &$arr) { // Add subthread to the item menu - $subthread = array(); + $subthread = []; if (local_user() == $arr['item']['uid'] && $arr['item']['parent'] == $arr['item']['id'] && !$arr['item']['self']) { - $subthread = array( + $subthread = [ 'menu' => 'follow_thread', - 'title' => t('Follow Thread'), + 'title' => L10n::t('Follow Thread'), 'action' => 'dosubthread(' . $arr['item']['id'] . '); return false;', 'href' => '#' - ); + ]; } $arr['output']['subthread'] = $subthread; }