X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=view%2Ftheme%2Fvier%2Ftheme.php;h=65612623d2d9200e7693e0d9f130db9641e45dbe;hb=3546f5b189891e9fc0f0338f8b691b991fa7a549;hp=06e43a129ab51f6084bd31f4120aef874f4b3d08;hpb=9e9429b56d85626259e89d6373e59f9307be9c78;p=friendica.git diff --git a/view/theme/vier/theme.php b/view/theme/vier/theme.php index 06e43a129a..65612623d2 100644 --- a/view/theme/vier/theme.php +++ b/view/theme/vier/theme.php @@ -1,5 +1,22 @@ . + * * Name: Vier * Version: 1.2 * Author: Fabio @@ -12,25 +29,30 @@ use Friendica\App; use Friendica\Content\ForumManager; use Friendica\Core\Addon; -use Friendica\Core\Config; -use Friendica\Core\L10n; -use Friendica\Core\PConfig; use Friendica\Core\Renderer; use Friendica\Core\Search; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; -use Friendica\Model\GContact; -use Friendica\Util\Proxy as ProxyUtils; use Friendica\Util\Strings; +/* + * This script can be included even when the app is in maintenance mode which requires us to avoid any config call + */ + function vier_init(App $a) { - $a->theme_events_in_profile = false; - Renderer::setActiveTemplateEngine('smarty3'); - if (!empty($a->argv[0]) && ($a->argv[0] . ($a->argv[1] ?? '')) === ('profile' . $a->user['nickname']) || $a->argv[0] === 'network' && local_user()) { + $args = DI::args(); + + if ( + DI::mode()->has(App\Mode::MAINTENANCEDISABLED) + && ( + $args->get(0) === 'profile' && $args->get(1) === ($a->getLoggedInUserNickname() ?? '') + || $args->get(0) === 'network' && DI::userSession()->getLocalUserId() + ) + ) { vier_community_info(); DI::page()['htmlhead'] .= "\n"; @@ -82,7 +104,7 @@ EOT; // Hide the left menu bar /// @TODO maybe move this static array out where it should belong? - if (empty(DI::page()['aside']) && in_array($a->argv[0], ["community", "events", "help", "delegation", "notifications", + if (empty(DI::page()['aside']) && in_array($args->get(0), ["community", "calendar", "help", "delegation", "notifications", "probe", "webfinger", "login", "invite", "credits"])) { DI::page()['htmlhead'] .= ""; } @@ -90,14 +112,14 @@ EOT; function get_vier_config($key, $default = false, $admin = false) { - if (local_user() && !$admin) { - $result = DI::pConfig()->get(local_user(), "vier", $key); + if (DI::userSession()->getLocalUserId() && !$admin) { + $result = DI::pConfig()->get(DI::userSession()->getLocalUserId(), "vier", $key); if (!is_null($result)) { return $result; } } - $result = Config::get("vier", $key); + $result = DI::config()->get("vier", $key); if (!is_null($result)) { return $result; } @@ -107,8 +129,6 @@ function get_vier_config($key, $default = false, $admin = false) function vier_community_info() { - $a = DI::app(); - $show_pages = get_vier_config("show_pages", 1); $show_profiles = get_vier_config("show_profiles", 1); $show_helpers = get_vier_config("show_helpers", 1); @@ -122,19 +142,19 @@ function vier_community_info() // comunity_profiles if ($show_profiles) { - $r = GContact::suggestionQuery(local_user(), 0, 9); + $contacts = Contact\Relation::getCachedSuggestions(DI::userSession()->getLocalUserId(), 0, 9); $tpl = Renderer::getMarkupTemplate('ch_directory_item.tpl'); - if (DBA::isResult($r)) { - $aside['$comunity_profiles_title'] = L10n::t('Community Profiles'); + if (DBA::isResult($contacts)) { + $aside['$comunity_profiles_title'] = DI::l10n()->t('Community Profiles'); $aside['$comunity_profiles_items'] = []; - foreach ($r as $rr) { + foreach ($contacts as $contact) { $entry = Renderer::replaceMacros($tpl, [ - '$id' => $rr['id'], - '$profile_link' => 'follow/?url='.urlencode($rr['url']), - '$photo' => ProxyUtils::proxifyUrl($rr['photo'], false, ProxyUtils::SIZE_MICRO), - '$alt_text' => $rr['name'], + '$id' => $contact['id'], + '$profile_link' => 'contact/follow?url=' . urlencode($contact['url']), + '$photo' => Contact::getMicro($contact), + '$alt_text' => $contact['name'], ]); $aside['$comunity_profiles_items'][] = $entry; } @@ -143,98 +163,53 @@ function vier_community_info() // last 9 users if ($show_lastusers) { - $publish = (Config::get('system', 'publish_all') ? '' : " AND `publish` = 1 "); - $order = " ORDER BY `register_date` DESC "; + $condition = ['blocked' => false]; + if (!DI::config()->get('system', 'publish_all')) { + $condition['publish'] = true; + } $tpl = Renderer::getMarkupTemplate('ch_directory_item.tpl'); - $r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname` - FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` - WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $order LIMIT %d , %d ", - 0, - 9 - ); + $profiles = DBA::selectToArray('owner-view', [], $condition, ['order' => ['register_date' => true], 'limit' => [0, 9]]); - if (DBA::isResult($r)) { - $aside['$lastusers_title'] = L10n::t('Last users'); + if (DBA::isResult($profiles)) { + $aside['$lastusers_title'] = DI::l10n()->t('Last users'); $aside['$lastusers_items'] = []; - foreach ($r as $rr) { - $profile_link = 'profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']); + foreach ($profiles as $profile) { + $profile_link = 'profile/' . ((strlen($profile['nickname'])) ? $profile['nickname'] : $profile['uid']); $entry = Renderer::replaceMacros($tpl, [ - '$id' => $rr['id'], + '$id' => $profile['id'], '$profile_link' => $profile_link, - '$photo' => DI::baseUrl()->remove($rr['thumb']), - '$alt_text' => $rr['name']]); + '$photo' => DI::baseUrl()->remove($profile['thumb']), + '$alt_text' => $profile['name']]); $aside['$lastusers_items'][] = $entry; } } } //right_aside FIND FRIENDS - if ($show_friends && local_user()) { + if ($show_friends && DI::userSession()->getLocalUserId()) { $nv = []; - $nv['findpeople'] = L10n::t('Find People'); - $nv['desc'] = L10n::t('Enter name or interest'); - $nv['label'] = L10n::t('Connect/Follow'); - $nv['hint'] = L10n::t('Examples: Robert Morgenstein, Fishing'); - $nv['findthem'] = L10n::t('Find'); - $nv['suggest'] = L10n::t('Friend Suggestions'); - $nv['similar'] = L10n::t('Similar Interests'); - $nv['random'] = L10n::t('Random Profile'); - $nv['inv'] = L10n::t('Invite Friends'); - $nv['directory'] = L10n::t('Global Directory'); + $nv['findpeople'] = DI::l10n()->t('Find People'); + $nv['desc'] = DI::l10n()->t('Enter name or interest'); + $nv['label'] = DI::l10n()->t('Connect/Follow'); + $nv['hint'] = DI::l10n()->t('Examples: Robert Morgenstein, Fishing'); + $nv['findthem'] = DI::l10n()->t('Find'); + $nv['suggest'] = DI::l10n()->t('Friend Suggestions'); + $nv['similar'] = DI::l10n()->t('Similar Interests'); + $nv['random'] = DI::l10n()->t('Random Profile'); + $nv['inv'] = DI::l10n()->t('Invite Friends'); + $nv['directory'] = DI::l10n()->t('Global Directory'); $nv['global_dir'] = Search::getGlobalDirectory(); - $nv['local_directory'] = L10n::t('Local Directory'); + $nv['local_directory'] = DI::l10n()->t('Local Directory'); $aside['$nv'] = $nv; } //Community_Pages at right_aside - if ($show_pages && local_user()) { - $cid = $_GET['cid'] ?? null; - - //sort by last updated item - $lastitem = true; - - $contacts = ForumManager::getList($a->user['uid'], $lastitem, true, true); - $total = count($contacts); - $visible_forums = 10; - - if (count($contacts)) { - $id = 0; - - foreach ($contacts as $contact) { - $selected = (($cid == $contact['id']) ? ' forum-selected' : ''); - - $entry = [ - 'url' => 'network?cid=' . $contact['id'], - 'external_url' => Contact::magicLink($contact['url']), - 'name' => $contact['name'], - 'cid' => $contact['id'], - 'selected' => $selected, - 'micro' => DI::baseUrl()->remove(ProxyUtils::proxifyUrl($contact['micro'], false, ProxyUtils::SIZE_MICRO)), - 'id' => ++$id, - ]; - $entries[] = $entry; - } - - - $tpl = Renderer::getMarkupTemplate('widget_forumlist_right.tpl'); - - $page = Renderer::replaceMacros( - $tpl, - [ - '$title' => L10n::t('Forums'), - '$forums' => $entries, - '$link_desc' => L10n::t('External link to forum'), - '$total' => $total, - '$visible_forums' => $visible_forums, - '$showmore' => L10n::t('show more')] - ); - - $aside['$page'] = $page; - } + if ($show_pages && DI::userSession()->getLocalUserId()) { + $aside['$page'] = ForumManager::widget('network/forum', DI::userSession()->getLocalUserId());; } // END Community Page @@ -242,34 +217,28 @@ function vier_community_info() if ($show_helpers) { $r = []; - $helperlist = Config::get("vier", "helperlist"); + $helperlist = DI::config()->get("vier", "helperlist"); $helpers = explode(",", $helperlist); if ($helpers) { - $query = ""; - foreach ($helpers as $index => $helper) { - if ($query != "") { - $query .= ","; - } - - $query .= "'".DBA::escape(Strings::normaliseLink(trim($helper)))."'"; + foreach ($helpers as $helper) { + $urls[] = Strings::normaliseLink(trim($helper)); } - - $r = q("SELECT `url`, `name` FROM `gcontact` WHERE `nurl` IN (%s)", $query); + $r = DBA::selectToArray('contact', ['url', 'name'], ['uid' => 0, 'nurl' => $urls]); } foreach ($r as $index => $helper) { $r[$index]["url"] = Contact::magicLink($helper["url"]); } - $r[] = ["url" => "help/Quick-Start-guide", "name" => L10n::t("Quick Start")]; + $r[] = ["url" => "help/Quick-Start-guide", "name" => DI::l10n()->t("Quick Start")]; $tpl = Renderer::getMarkupTemplate('ch_helpers.tpl'); if ($r) { $helpers = []; - $helpers['title'] = ["", L10n::t('Help'), "", ""]; + $helpers['title'] = ["", DI::l10n()->t('Help'), "", ""]; $aside['$helpers_items'] = []; @@ -340,7 +309,7 @@ function vier_community_info() $r[] = ["photo" => "images/wordpress.png", "name" => "Wordpress"]; } - if (function_exists("imap_open") && !Config::get("system", "imap_disabled") && !Config::get("system", "dfrn_only")) { + if (function_exists("imap_open") && !DI::config()->get("system", "imap_disabled")) { $r[] = ["photo" => "images/mail.png", "name" => "E-Mail"]; } @@ -348,7 +317,7 @@ function vier_community_info() if (DBA::isResult($r)) { $con_services = []; - $con_services['title'] = ["", L10n::t('Connect Services'), "", ""]; + $con_services['title'] = ["", DI::l10n()->t('Connect Services'), "", ""]; $aside['$con_services'] = $con_services; foreach ($r as $rr) { @@ -367,3 +336,25 @@ function vier_community_info() $tpl = Renderer::getMarkupTemplate('communityhome.tpl'); DI::page()['right_aside'] = Renderer::replaceMacros($tpl, $aside); } + +/** + * @param int|null $uid + * @return null + * @see \Friendica\Core\Theme::getBackgroundColor() + * @TODO Implement this function + */ +function vier_get_background_color(int $uid = null) +{ + return null; +} + +/** + * @param int|null $uid + * @return null + * @see \Friendica\Core\Theme::getThemeColor() + * @TODO Implement this function + */ +function vier_get_theme_color(int $uid = null) +{ + return null; +}