/** * Get options array for locale dropdown * * @param bool $translatedName translation flag * @return array * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ protected function _getOptionLocales($translatedName = false) { $currentLocale = $this->localeResolver->getLocale(); $locales = \ResourceBundle::getLocales('') ?: []; $languages = (new LanguageBundle())->get($currentLocale)['Languages']; $countries = (new RegionBundle())->get($currentLocale)['Countries']; $options = []; $allowedLocales = $this->_config->getAllowedLocales(); foreach ($locales as $locale) { if (!in_array($locale, $allowedLocales)) { continue; } $language = \Locale::getPrimaryLanguage($locale); $country = \Locale::getRegion($locale); if (!$languages[$language] || !$countries[$country]) { continue; } if ($translatedName) { $label = ucwords(\Locale::getDisplayLanguage($locale, $locale)) . ' (' . \Locale::getDisplayRegion($locale, $locale) . ') / ' . $languages[$language] . ' (' . $countries[$country] . ')'; } else { $label = $languages[$language] . ' (' . $countries[$country] . ')'; } $options[] = ['value' => $locale, 'label' => $label]; } return $this->_sortOptionArray($options); }
/** * {@inheritdoc} */ public function execute(BlockContextInterface $blockContext, Response $response = null) { $pages = $this->em->getAllSortBy('updatedAt'); $draftPageCount = 0; $reviewPageCount = 0; $publishedPageCount = 0; $reviewPages = array(); $draftPages = array(); foreach ($pages as $page) { /** @var \Networking\InitCmsBundle\Model\PageInterface $page */ if ($page->hasPublishedVersion()) { $publishedPageCount++; } if ($page->isReview()) { $reviewPageCount++; $draftPageCount++; $reviewPages[\Locale::getDisplayLanguage($page->getLocale())][] = $page; } if ($page->isDraft()) { $draftPageCount++; $draftPages[\Locale::getDisplayLanguage($page->getLocale())][] = $page; } } return $this->renderResponse($blockContext->getTemplate(), array('block' => $blockContext->getBlock(), 'draft_pages' => $draftPageCount, 'review_pages' => $reviewPageCount, 'published_pages' => $publishedPageCount, 'pages' => $pages, 'reviewPages' => $reviewPages, 'draftPages' => $draftPages), $response); }
public function __construct($em = false, $lang = 'de') { $this->em = $em; // we want to ignore the name passed parent::__construct('user'); $this->setAttribute('method', 'post'); $this->add(array('type' => 'Zend\\Form\\Element\\Hidden', 'name' => 'id')); $this->setHydrator(new DoctrineHydrator($em))->setObject(new User()); $this->add(array('name' => 'email', 'type' => 'Zend\\Form\\Element\\Text', 'options' => array('label' => _('Email')))); $this->add(array('name' => 'name', 'type' => 'Zend\\Form\\Element\\Text', 'options' => array('label' => _('Full name')))); $this->add(array('name' => 'username', 'type' => 'Zend\\Form\\Element\\Text', 'options' => array('label' => _('Username')))); $this->add(array('name' => 'postalcode', 'type' => 'Zend\\Form\\Element\\Text', 'options' => array('label' => _('ZIP')))); $this->add(array('name' => 'locality', 'type' => 'Zend\\Form\\Element\\Text', 'options' => array('label' => _('Locality')))); $this->add(array('name' => 'mobilephone', 'type' => 'Zend\\Form\\Element\\Text', 'options' => array('label' => _('Mobile number')))); $this->add(array('type' => 'Zend\\Form\\Element\\Select', 'name' => 'locale', 'options' => array('label' => _('Language'), 'value_options' => array('de' => \Locale::getDisplayLanguage('de', 'de'), 'en' => \Locale::getDisplayLanguage('en', 'en'), 'fr' => \Locale::getDisplayLanguage('fr', 'fr'), 'it' => \Locale::getDisplayLanguage('it', 'it'))))); $this->add(array('type' => 'Zend\\Form\\Element\\Select', 'name' => 'role', 'options' => array('label' => _('Role'), 'value_options' => array('registered' => 'Minimal', 'client' => 'Klient', 'marketing' => 'Marketing', 'receptionist' => 'Rezeption', 'salesSupport' => 'Verkaufs-Unterstützung', 'consultant' => 'Verkauf', 'editor' => 'Editor', 'admin' => 'Administrator')))); /* $addressFieldset = new AddressFieldset($em, $lang); $this->add(array( 'type' => 'Zend\Form\Element\Collection', 'name' => 'addresses', 'options' => array( 'count' => 1, 'target_element' => $addressFieldset, //'should_create_template' => true ) ));*/ }
/** * localization options array * * @param array $opts options array * * @return array */ public static function getLocalizationOptions($opts) { $locales = array(); foreach ($opts as $opt) { $locales[$opt] = \Locale::getDisplayLanguage($opt); } return $locales; }
/** * New email * * @param Request $request * @return \Symfony\Component\HttpFoundation\Response */ public function newAction(Request $request) { $handler = $this->get('lexik_mailer.form.handler.email'); $form = $handler->createForm(); if ($handler->processForm($form, $request)) { return $this->redirect($this->generateUrl('lexik_mailer.email_list')); } return $this->render('LexikMailerBundle:Email:new.html.twig', array_merge(array('form' => $form->createView(), 'layout' => $this->container->getParameter('lexik_mailer.base_layout'), 'lang' => \Locale::getDisplayLanguage($handler->getLocale())), $this->getAdditionalParameters())); }
/** * @return Generator|array */ protected function getLangRows() { foreach ($this->getLanguages() as $locale) { $primaryLanguage = Locale::getPrimaryLanguage($locale); $displayLanguage = Locale::getDisplayLanguage($locale, $primaryLanguage); $displayLanguage = mb_convert_case($displayLanguage, MB_CASE_TITLE, "UTF-8"); (yield [$primaryLanguage, $displayLanguage, $locale, 10]); } }
/** * Return option array * * @return array */ public function toOptionArray() { $languages = []; foreach ($this->_helper->getLanguageCodes() as $languageCode) { $localeCode = $this->_helper->convertLanguageCodeToLocaleCode($languageCode); $translationForSpecifiedLanguage = \Locale::getDisplayLanguage($localeCode, $localeCode); $translationForDefaultLanguage = \Locale::getDisplayLanguage($localeCode); $label = sprintf('%s / %s (%s)', $this->_uppercaseFilter->filter($translationForSpecifiedLanguage), $translationForDefaultLanguage, $languageCode); $languages[] = ['value' => $languageCode, 'label' => $label]; } return $languages; }
public static function getAvailableLanguages() { $langs = array(); //TODO make directory not absolute path? $lang_codes = glob('/usr/share/grase/locale/??', GLOB_ONLYDIR); foreach ($lang_codes as $code) { $lang['display'] = \Locale::getDisplayLanguage(basename($code), 'en'); $lang['code'] = basename($code); $langs[] = $lang; } return $langs; }
/** * Returns detailed informations from the language table * If no detail is given a complete table is returned * * @param string $locale Normalized locale * @param boolean $invert Invert output of the data * @param string|array $detail Detail to return information for * @return array */ public static function getDisplayLanguage($locale, $invert = false, $detail = null) { if ($detail !== null) { return Locale::getDisplayLanguage($locale); } else { $list = ZFLocale::getLocaleList(); foreach ($list as $key => $value) { $list[$key] = Locale::getDisplayLanguage($key); } if ($invert) { array_flip($list); } return $list; } }
/** * Set the current locale. * * @param string $locale The locale * @return LocaleManager */ public function setLocale($locale) { // Always use caninicalized locales $locale = Locale::canonicalize($locale); // If the given locale matches the current locale, nothing to do. if (strcmp($locale, $this->locale) === 0) { return $this; } // Set locale information $localeVariants = [$locale . '.UTF-8', $locale, \Locale::getDisplayLanguage($locale, 'en')]; if (false === setlocale(LC_ALL, $localeVariants)) { throw new LocaleNotAvailableException(sprintf('The locale "%s" is not available on the system.', $locale)); } // Store the locale $this->locale = Locale::canonicalize($locale); return $this; }
/** * Render all available languages * * @param string $id the id to the content document to build translations for * @param array $languageUrls optional to not generate routes: list of language code to array with url, fullname and completion */ public function languagesAction($id, $languageUrls = false) { if ($languageUrls === false) { $languageUrls = array(); $available = $this->chooser->getDefaultLocalesOrder(); if (count($available) < 2) { //nothing to choose from, don't show language chooser return new Response(); } $content = $this->om->find(null, $id); foreach ($available as $lang) { $languageUrls[$lang]['fullname'] = \Locale::getDisplayLanguage($lang, $lang); $languageUrls[$lang]['url'] = $this->router->generate('', array('_locale' => $lang, 'content' => $content)); // TODO: check for availability of this url in this lang and add to the language info. // we could also provide a variant that walks up the tree to link only existing languages if no fallback is desired } } return $this->templating->renderResponse('SymfonyCmfMultilangContentBundle:LanguageSelector:languageselector.html.twig', array('languageUrls' => $languageUrls)); }
/** * {@inheritdoc} */ public function execute(BlockContextInterface $blockContext, Response $response = null) { $pages = $this->em->getAllSortBy('updatedAt', 'DESC', Query::HYDRATE_ARRAY); $draftPageCount = 0; $reviewPageCount = 0; $publishedPageCount = 0; $reviewPages = array(); $draftPages = array(); foreach ($pages as $page) { if (array_key_exists('snapshots', $page) && count($page['snapshots']) > 0) { $publishedPageCount++; } if ($page['status'] == PageInterface::STATUS_REVIEW) { $reviewPageCount++; $draftPageCount++; $reviewPages[\Locale::getDisplayLanguage($page['locale'])][] = $page; } if ($page['status'] == PageInterface::STATUS_DRAFT) { $draftPageCount++; $draftPages[\Locale::getDisplayLanguage($page['locale'])][] = $page; } } return $this->renderResponse($blockContext->getTemplate(), array('block' => $blockContext->getBlock(), 'draft_pages' => $draftPageCount, 'review_pages' => $reviewPageCount, 'published_pages' => $publishedPageCount, 'pages' => $pages, 'reviewPages' => $reviewPages, 'draftPages' => $draftPages), $response); }
/** * Return the language name corresponding to the given ISO code * NB: the name is localized if the intl extension is installed, otherwise it is returned in English * @param string $iso * @return string */ function displayLanguage($iso) { if (!$iso) { return ''; } return class_exists('Locale') ? \Locale::getDisplayLanguage($iso, $this->locale()) : constant('ISO::LC_' . $iso); }
/** * Display language * * @return string */ public function displayLanguage() { return \Locale::getDisplayLanguage($this->getLang()); }
/** * Get the language name. * @param string $locale Locale to be used with {@link http://php.net/manual/locale.getdisplaylanguage.php}. * @return string */ public function getLanguageName($locale) { $localeToUse = $this->showForeignLanguageNames === true ? $locale : $this->getLocale(); $languageName = \Locale::getDisplayLanguage($locale, $localeToUse); if ($this->showFirstUppercase === true) { if (!extension_loaded('mbstring')) { throw new \RuntimeException('PHP extension "mbstring" is not loaded. Either load it or disable the "showFirstUppercase" option.'); } $encoding = mb_detect_encoding($languageName); $languageName = mb_strtoupper(mb_substr($languageName, 0, 1, $encoding), $encoding) . mb_substr($languageName, 1, mb_strlen($languageName, $encoding), $encoding); } return $languageName; }
public function isoToCountryName($iso) { return \Locale::getDisplayLanguage($iso, $this->container->getParameter('default_locale')); }
/** * @return Response */ public function translationNotFoundAction(Request $request) { $params = array('language' => \Locale::getDisplayLanguage($request->getLocale()), 'admin_pool' => $this->getAdminPool()); return $this->render($this->container->getParameter('networking_init_cms.no_translation_template'), $params); }
/** * Find a single book plus all kinds of details. * @param string $lang the user's language code * @param int $id the Calibre book ID * @return array the book, its authors, series, tags, formats, languages, ids and comment. */ function titleDetails($lang, $id) { $book = $this->title($id); if (is_null($book)) { return NULL; } $author_ids = $this->findPrepared('BookAuthorLink', 'SELECT * FROM books_authors_link WHERE book=:id', array('id' => $id)); $authors = array(); foreach ($author_ids as $aid) { $author = $this->findOne('Author', 'SELECT * FROM authors WHERE id=:id', array('id' => $aid->author)); array_push($authors, $author); } $series_ids = $this->findPrepared('BookSeriesLink', 'SELECT * FROM books_series_link WHERE book=:id', array('id' => $id)); $series = array(); foreach ($series_ids as $aid) { $this_series = $this->findOne('Series', 'SELECT * FROM series WHERE id=:id', array('id' => $aid->series)); array_push($series, $this_series); } $tag_ids = $this->findPrepared('BookTagLink', 'SELECT * FROM books_tags_link WHERE book=:id', array('id' => $id)); $tags = array(); foreach ($tag_ids as $tid) { $tag = $this->findOne('Tag', 'SELECT * FROM tags WHERE id=:id', array('id' => $tid->tag)); array_push($tags, $tag); } $langcodes = $this->getLanguages($id); if (extension_loaded('intl')) { $langtexts = array(); foreach ($langcodes as $langcode) { $bol = Locale::getDisplayLanguage($langcode, $lang); array_push($langtexts, $bol); } $language = join(', ', $langtexts); } else { $language = null; } $formats = $this->findPrepared('Data', 'SELECT * FROM data WHERE book=:id', array('id' => $id)); $comment = $this->findOne('Comment', 'SELECT * FROM comments WHERE book=:id', array('id' => $id)); $ids = $this->findPrepared('Identifier', 'SELECT * FROM identifiers WHERE book=:id', array('id' => $id)); if (is_null($comment)) { $comment_text = ''; } else { $comment_text = $comment->text; } $customColumns = $this->customColumns($id); return array('book' => $book, 'authors' => $authors, 'series' => $series, 'tags' => $tags, 'formats' => $formats, 'comment' => $comment_text, 'language' => $language, 'langcodes' => $langcodes, 'custom' => $customColumns, 'ids' => $ids); }
private function getTranslatedLocalCode($localeCode) { return \Locale::getDisplayLanguage($localeCode, $this->userLocale); }
/** * Get the language name in the used locale * * @param string $language the iso code of the language * @return string */ public function getLanguageName($language) { return \Locale::getDisplayLanguage($language, $this->session->getLocale()); }
/** * Returns the language of a locale after localizing it in the default or some other locale. * * @param CULocale $inLocale **OPTIONAL. Default is** *the application's default locale*. The locale in which the * language is to be localized. * * @return CUStringObject The locale's localized language. */ public function dispLanguage(CULocale $inLocale = null) { $strInLocale = isset($inLocale) ? $inLocale->m_name : self::defaultLocaleName(); return Locale::getDisplayLanguage($this->m_name, $strInLocale); }
/** * Get language name. * * If param $inLocale is not set the result will be in the local original language. * * @param Locale|string $inLocale [optional] Set the locale to display value in. * * @return string */ public function getLanguageName($inLocale = null) { $inLocale = Locale::sanitizeLocale($inLocale, $this->locale); return \Locale::getDisplayLanguage($this->locale, $inLocale); }
/** * * * @param string $Path * @param Gdn_Controller $Controller */ public function init($Path, $Controller) { $Smarty = $this->smarty(); // Get a friendly name for the controller. $ControllerName = get_class($Controller); if (StringEndsWith($ControllerName, 'Controller', true)) { $ControllerName = substr($ControllerName, 0, -10); } // Get an ID for the body. $BodyIdentifier = strtolower($Controller->ApplicationFolder . '_' . $ControllerName . '_' . Gdn_Format::alphaNumeric(strtolower($Controller->RequestMethod))); $Smarty->assign('BodyID', htmlspecialchars($BodyIdentifier)); //$Smarty->assign('Config', Gdn::Config()); // Assign some information about the user. $Session = Gdn::session(); if ($Session->isValid()) { $User = array('Name' => htmlspecialchars($Session->User->Name), 'Photo' => '', 'CountNotifications' => (int) val('CountNotifications', $Session->User, 0), 'CountUnreadConversations' => (int) val('CountUnreadConversations', $Session->User, 0), 'SignedIn' => true); $Photo = $Session->User->Photo; if ($Photo) { if (!isUrl($Photo)) { $Photo = Gdn_Upload::url(changeBasename($Photo, 'n%s')); } } else { $Photo = UserModel::getDefaultAvatarUrl($Session->User); } $User['Photo'] = $Photo; } else { $User = false; /*array( 'Name' => '', 'CountNotifications' => 0, 'SignedIn' => FALSE);*/ } $Smarty->assign('User', $User); // Make sure that any datasets use arrays instead of objects. foreach ($Controller->Data as $Key => $Value) { if ($Value instanceof Gdn_DataSet) { $Controller->Data[$Key] = $Value->resultArray(); } elseif ($Value instanceof stdClass) { $Controller->Data[$Key] = (array) $Value; } } $BodyClass = val('CssClass', $Controller->Data, '', true); $Sections = Gdn_Theme::section(null, 'get'); if (is_array($Sections)) { foreach ($Sections as $Section) { $BodyClass .= ' Section-' . $Section; } } $Controller->Data['BodyClass'] = $BodyClass; // Set the current locale for themes to take advantage of. $Locale = Gdn::locale()->Locale; $CurrentLocale = array('Key' => $Locale, 'Lang' => str_replace('_', '-', Gdn::locale()->language(true))); if (class_exists('Locale')) { $CurrentLocale['Language'] = Locale::getPrimaryLanguage($Locale); $CurrentLocale['Region'] = Locale::getRegion($Locale); $CurrentLocale['DisplayName'] = Locale::getDisplayName($Locale, $Locale); $CurrentLocale['DisplayLanguage'] = Locale::getDisplayLanguage($Locale, $Locale); $CurrentLocale['DisplayRegion'] = Locale::getDisplayRegion($Locale, $Locale); } $Smarty->assign('CurrentLocale', $CurrentLocale); $Smarty->assign('Assets', (array) $Controller->Assets); // 2016-07-07 Linc: Request used to return blank for homepage. // Now it returns defaultcontroller. This restores BC behavior. $isHomepage = val('isHomepage', $Controller->Data); $Path = $isHomepage ? "" : Gdn::request()->path(); $Smarty->assign('Path', $Path); $Smarty->assign('Homepage', $isHomepage); // true/false // Assign the controller data last so the controllers override any default data. $Smarty->assign($Controller->Data); $security = new SmartySecurityVanilla($Smarty); $security->php_handling = Smarty::PHP_REMOVE; $security->allow_constants = false; $security->allow_super_globals = false; $security->streams = null; $security->setPhpFunctions(array_merge($security->php_functions, ['array', 'category', 'checkPermission', 'inSection', 'inCategory', 'ismobile', 'multiCheckPermission', 'getValue', 'setValue', 'url', 'useragenttype'])); $security->php_modifiers = array_merge($security->php_functions, array('sprintf')); $Smarty->enableSecurity($security); }
/** * Gets an array with all the enabled languages in the CRM in the following form: * [ "en_US" => "en_US (american english)", "es_ES" => "es_ES (spanish)", ... ] */ public static function getAvailableLanguages() { $files = scandir(\creamy\CRMUtils::creamyBaseDirectoryPath(false) . CRM_LANGUAGE_BASE_DIR); $result = array(); $ignoreLocales = array("datatables"); foreach ($files as $file) { if (!is_dir($file) && !\creamy\CRMUtils::startsWith($file, ".") && !in_array($file, $ignoreLocales)) { $localeCodeForFile = str_replace("_", "-", $file); $languageForLocale = utf8_decode(\Locale::getDisplayLanguage($localeCodeForFile)); $result[$file] = "{$file} ({$languageForLocale})"; } } return $result; }
function showQvitter() { $logged_in_user_nickname = ''; $logged_in_user_obj = false; $logged_in_user = common_current_user(); if ($logged_in_user) { $logged_in_user_nickname = $logged_in_user->nickname; $logged_in_user_obj = ApiAction::twitterUserArray($logged_in_user->getProfile()); } $registrationsclosed = false; if (common_config('site', 'closed') == 1 || common_config('site', 'inviteonly') == 1) { $registrationsclosed = true; } // check if the client's ip address is blocked for registration if (is_array(QvitterPlugin::settings("blocked_ips"))) { $client_ip_is_blocked = in_array($_SERVER['REMOTE_ADDR'], QvitterPlugin::settings("blocked_ips")); } $sitetitle = common_config('site', 'name'); $siterootdomain = common_config('site', 'server'); $qvitterpath = Plugin::staticPath('Qvitter', ''); $apiroot = common_path('api/', StatusNet::isHTTPS()); $attachmentroot = common_path('attachment/', StatusNet::isHTTPS()); $instanceurl = common_path('', StatusNet::isHTTPS()); // user's browser's language setting $user_browser_language = 'en'; // use english if we can't find the browser language if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { $user_browser_language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); } common_set_returnto(''); // forget this // if this is a profile we add a link header for LRDD Discovery (see WebfingerPlugin.php) if (substr_count($_SERVER['REQUEST_URI'], '/') == 1) { $nickname = substr($_SERVER['REQUEST_URI'], 1); if (preg_match("/^[a-zA-Z0-9]+\$/", $nickname) == 1) { $acct = 'acct:' . $nickname . '@' . common_config('site', 'server'); $url = common_local_url('webfinger') . '?resource=' . $acct; foreach (array(Discovery::JRD_MIMETYPE, Discovery::XRD_MIMETYPE) as $type) { header('Link: <' . $url . '>; rel="' . Discovery::LRDD_REL . '"; type="' . $type . '"'); } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title><?php print $sitetitle; ?> </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0"> <link rel="stylesheet" type="text/css" href="<?php print $qvitterpath; ?> css/qvitter.css?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/css/qvitter.css')); ?> " /> <link rel="stylesheet" type="text/css" href="<?php print $qvitterpath; ?> css/jquery.minicolors.css" /> <link rel="shortcut icon" type="image/x-icon" href="<?php print $qvitterpath; print QvitterPlugin::settings("favicon"); ?> "> <?php // if qvitter is a webapp and this is a users url we add feeds if (substr_count($_SERVER['REQUEST_URI'], '/') == 1) { $nickname = substr($_SERVER['REQUEST_URI'], 1); if (preg_match("/^[a-zA-Z0-9]+\$/", $nickname) == 1) { $user = User::getKV('nickname', $nickname); if (!isset($user->id)) { //error_log("QVITTER: Could not get user id for user with nickname: $nickname – REQUEST_URI: ".$_SERVER['REQUEST_URI']); } else { print '<link title="Notice feed for ' . $nickname . ' (Activity Streams JSON)" type="application/stream+json" href="' . $instanceurl . 'api/statuses/user_timeline/' . $user->id . '.as" rel="alternate">' . "\n"; print ' <link title="Notice feed for ' . $nickname . ' (RSS 1.0)" type="application/rdf+xml" href="' . $instanceurl . $nickname . '/rss" rel="alternate">' . "\n"; print ' <link title="Notice feed for ' . $nickname . ' (RSS 2.0)" type="application/rss+xml" href="' . $instanceurl . 'api/statuses/user_timeline/' . $user->id . '.rss" rel="alternate">' . "\n"; print ' <link title="Notice feed for ' . $nickname . ' (Atom)" type="application/atom+xml" href="' . $instanceurl . 'api/statuses/user_timeline/' . $user->id . '.atom" rel="alternate">' . "\n"; print ' <link title="FOAF for ' . $nickname . '" type="application/rdf+xml" href="' . $instanceurl . $nickname . '/foaf" rel="meta">' . "\n"; print ' <link href="' . $instanceurl . $nickname . '/microsummary" rel="microsummary">' . "\n"; // maybe openid if (array_key_exists('OpenID', StatusNet::getActivePlugins())) { print ' <link rel="openid2.provider" href="' . common_local_url('openidserver') . '"/>' . "\n"; print ' <link rel="openid2.local_id" href="' . $user->getProfile()->profileurl . '"/>' . "\n"; print ' <link rel="openid2.server" href="' . common_local_url('openidserver') . '"/>' . "\n"; print ' <link rel="openid2.delegate" href="' . $user->getProfile()->profileurl . '"/>' . "\n"; } } } } elseif (substr($_SERVER['REQUEST_URI'], 0, 7) == '/group/') { $group_id_or_name = substr($_SERVER['REQUEST_URI'], 7); if (stristr($group_id_or_name, '/id')) { $group_id_or_name = substr($group_id_or_name, 0, strpos($group_id_or_name, '/id')); $group = User_group::getKV('id', $group_id_or_name); if ($group instanceof User_group) { $group_name = $group->nickname; $group_id = $group_id_or_name; } } else { $group = Local_group::getKV('nickname', $group_id_or_name); if ($group instanceof Local_group) { $group_id = $group->group_id; $group_name = $group_id_or_name; } } if (preg_match("/^[a-zA-Z0-9]+\$/", $group_id_or_name) == 1 && isset($group_name) && isset($group_id)) { ?> <link rel="alternate" href="<?php echo htmlspecialchars(common_local_url('ApiTimelineGroup', array('id' => $group_id, 'format' => 'as'))); ?> " type="application/stream+json" title="Notice feed for '<?php echo htmlspecialchars($group_name); ?> ' group (Activity Streams JSON)" /> <link rel="alternate" href="<?php echo htmlspecialchars(common_local_url('grouprss', array('nickname' => $group_name))); ?> " type="application/rdf+xml" title="Notice feed for '<?php echo htmlspecialchars($group_name); ?> ' group (RSS 1.0)" /> <link rel="alternate" href="<?php echo htmlspecialchars(common_local_url('ApiTimelineGroup', array('id' => $group_id, 'format' => 'rss'))); ?> " type="application/rss+xml" title="Notice feed for '<?php echo htmlspecialchars($group_name); ?> ' group (RSS 2.0)" /> <link rel="alternate" href="<?php echo htmlspecialchars(common_local_url('ApiTimelineGroup', array('id' => $group_id, 'format' => 'atom'))); ?> " type="application/atom+xml" title="Notice feed for '<?php echo htmlspecialchars($group_name); ?> ' group (Atom)" /> <link rel="meta" href="<?php echo htmlspecialchars(common_local_url('foafgroup', array('nickname' => $group_name))); ?> " type="application/rdf+xml" title="FOAF for '<?php echo htmlspecialchars($group_name); ?> ' group" /> <?php } } // oembed discovery for local notices if (substr($_SERVER['REQUEST_URI'], 0, 8) == '/notice/' && $this->arg('notice') && array_key_exists('Oembed', StatusNet::getActivePlugins())) { $notice = Notice::getKV('id', $this->arg('notice')); if ($notice instanceof Notice) { if ($notice->isLocal()) { try { $notice_url = $notice->getUrl(); print '<link title="oEmbed" href="' . common_local_url('apiqvitteroembednotice', array('id' => $notice->id, 'format' => 'json')) . '?url=' . urlencode($notice_url) . '" type="application/json+oembed" rel="alternate">'; print '<link title="oEmbed" href="' . common_local_url('apiqvitteroembednotice', array('id' => $notice->id, 'format' => 'xml')) . '?url=' . urlencode($notice_url) . '" type="application/xml+oembed" rel="alternate">'; } catch (Exception $e) { // } } } } ?> <script> /* @licstart The following is the entire license notice for the JavaScript code in this page. Copyright (C) 2015 Hannes Mannerheim and other contributors This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. @licend The above is the entire license notice for the JavaScript code in this page. */ window.usersLanguageCode = <?php print json_encode($user_browser_language); ?> ; window.usersLanguageNameInEnglish = <?php print json_encode(Locale::getDisplayLanguage($user_browser_language, 'en')); ?> ; window.englishLanguageData = <?php print file_get_contents(QVITTERDIR . '/locale/en.json'); ?> ; window.defaultAvatarStreamSize = <?php print json_encode(Avatar::defaultImage(AVATAR_STREAM_SIZE)); ?> ; window.defaultAvatarProfileSize = <?php print json_encode(Avatar::defaultImage(AVATAR_PROFILE_SIZE)); ?> ; window.textLimit = <?php print json_encode((int) common_config('site', 'textlimit')); ?> ; window.registrationsClosed = <?php print json_encode($registrationsclosed); ?> ; window.thisSiteThinksItIsHttpButIsActuallyHttps = <?php // this is due to a crazy setup at quitter.se, sorry about that $siteSSL = common_config('site', 'ssl'); if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' && $siteSSL == 'never') { $this_site_thinks_it_is_http_but_is_actually_https = true; print 'true'; } else { $this_site_thinks_it_is_http_but_is_actually_https = false; print 'false'; } ?> ; window.siteTitle = <?php print json_encode($sitetitle); ?> ; window.loggedIn = <?php $logged_in_user_json = json_encode($logged_in_user_obj); $logged_in_user_json = str_replace('http:\\/\\/quitter.se\\/', 'https:\\/\\/quitter.se\\/', $logged_in_user_json); print $logged_in_user_json; ?> ; window.timeBetweenPolling = <?php print QvitterPlugin::settings("timebetweenpolling"); ?> ; window.apiRoot = <?php $api_root = common_path("api/", StatusNet::isHTTPS()); if ($this_site_thinks_it_is_http_but_is_actually_https) { $api_root = str_replace('http://', 'https://', $api_root); } print '\'' . $api_root . '\''; ?> ; window.fullUrlToThisQvitterApp = '<?php print $qvitterpath; ?> '; window.siteRootDomain = '<?php print $siterootdomain; ?> '; window.siteInstanceURL = '<?php print $instanceurl; ?> '; window.defaultLinkColor = '<?php print QvitterPlugin::settings("defaultlinkcolor"); ?> '; window.defaultBackgroundColor = '<?php print QvitterPlugin::settings("defaultbackgroundcolor"); ?> '; window.siteBackground = '<?php print QvitterPlugin::settings("sitebackground"); ?> '; window.enableWelcomeText = <?php print json_encode(QvitterPlugin::settings("enablewelcometext")); ?> ; window.customWelcomeText = <?php print json_encode(QvitterPlugin::settings("customwelcometext")); ?> ; window.urlShortenerAPIURL = '<?php print QvitterPlugin::settings("urlshortenerapiurl"); ?> '; window.urlShortenerSignature = '<?php print QvitterPlugin::settings("urlshortenersignature"); ?> '; window.commonSessionToken = '<?php print common_session_token(); ?> '; window.siteMaxThumbnailSize = <?php print common_config('thumbnail', 'maxsize'); ?> ; window.siteAttachmentURLBase = '<?php print $attachmentroot; ?> '; window.siteEmail = '<?php print common_config('site', 'email'); ?> '; window.siteLicenseTitle = '<?php print common_config('license', 'title'); ?> '; window.siteLicenseURL = '<?php print common_config('license', 'url'); ?> '; window.customTermsOfUse = <?php print json_encode(QvitterPlugin::settings("customtermsofuse")); ?> ; window.siteLocalOnlyDefaultPath = <?php print common_config('public', 'localonly') ? 'true' : 'false'; ?> ; <?php // Get all topics in Qvitter's namespace in Profile_prefs if ($logged_in_user) { try { $qvitter_profile_prefs = Profile_prefs::getNamespace(Profile::current(), 'qvitter'); } catch (Exception $e) { $qvitter_profile_prefs = array(); } if (count($qvitter_profile_prefs) > 0) { $topic_data = new stdClass(); foreach ($qvitter_profile_prefs as $pref) { $topic_data->{$pref->topic} = $pref->data; } print 'window.qvitterProfilePrefs = ' . json_encode($topic_data) . ';'; } else { print 'window.qvitterProfilePrefs = false;'; } } ?> // available language files and their last update time window.availableLanguages = {<?php // scan all files in the locale directory and create a json object with their change date added $available_languages = array_diff(scandir(QVITTERDIR . '/locale'), array('..', '.')); foreach ($available_languages as $lankey => $lan) { $lancode = substr($lan, 0, strpos($lan, '.')); // for the paranthesis containing language region to work with rtl in ltr enviroment and vice versa, we add a // special rtl or ltr html char after the paranthesis // this list is incomplete, but if any rtl language gets a regional translation, it will probably be arabic $rtl_or_ltr_special_char = '‎'; $base_lancode = substr($lancode, 0, strpos($lancode, '_')); if ($base_lancode == 'ar' || $base_lancode == 'fa' || $base_lancode == 'he') { $rtl_or_ltr_special_char = '‏'; } // also make an array with all language names, to use for generating menu $languagecodesandnames[$lancode]['english_name'] = Locale::getDisplayLanguage($lancode, 'en'); $languagecodesandnames[$lancode]['name'] = Locale::getDisplayLanguage($lancode, $lancode); if (Locale::getDisplayRegion($lancode, $lancode)) { $languagecodesandnames[$lancode]['name'] .= ' (' . Locale::getDisplayRegion($lancode, $lancode) . ')' . $rtl_or_ltr_special_char; } // ahorita meme only on quitter.es if ($lancode == 'es_ahorita') { if ($siterootdomain == 'quitter.es') { $languagecodesandnames[$lancode]['name'] = 'español (ahorita)'; } else { unset($available_languages[$lankey]); unset($languagecodesandnames[$lancode]); continue; } } print "\n" . ' "' . $lancode . '": "' . $lan . '?changed=' . date('YmdHis', filemtime(QVITTERDIR . '/locale/' . $lan)) . '",'; } ?> }; </script> <?php // event for other plugins to use to add head elements to qvitter Event::handle('QvitterEndShowHeadElements', array($this)); ?> </head> <body style="background-color:<?php print QvitterPlugin::settings("defaultbackgroundcolor"); ?> "> <?php // add an accessibility toggle link to switch to standard UI, if we're logged in if ($logged_in_user) { print '<a id="accessibility-toggle-link" href="#"></a>'; } ?> <input id="upload-image-input" class="upload-image-input" type="file" name="upload-image-input"> <div class="topbar"> <a href="<?php // if we're logged in, the logo links to the home stream // if logged out it links to the site's public stream if ($logged_in_user) { print $instanceurl . $logged_in_user_nickname . '/all'; } else { print $instanceurl . 'main/public'; } ?> "><div id="logo"></div></a><?php // menu for logged in users if ($logged_in_user) { ?> <a id="settingslink"> <div class="dropdown-toggle"> <div class="nav-session" style="background-image:url('<?php print htmlspecialchars($logged_in_user_obj['profile_image_url_profile_size']); ?> ')"></div> </div> </a><?php } ?> <div id="top-compose" class="hidden"></div> <ul class="quitter-settings dropdown-menu"> <li class="dropdown-caret right"> <span class="caret-outer"></span> <span class="caret-inner"></span> </li> <li class="fullwidth"><a id="logout"></a></li> <li class="fullwidth dropdown-divider"></li> <li class="fullwidth"><a id="edit-profile-header-link"></a></li> <li class="fullwidth"><a id="settings" href="<?php print $instanceurl; ?> settings/profile" donthijack></a></li> <li class="fullwidth"><a id="faq-link"></a></li> <li class="fullwidth"><a id="shortcuts-link"></a></li> <?php if (common_config('invite', 'enabled') && !common_config('site', 'closed')) { ?> <li class="fullwidth"><a id="invite-link" href="<?php print $instanceurl; ?> main/invite"></a></li> <?php } ?> <li class="fullwidth"><a id="classic-link"></a></li> <li class="fullwidth language dropdown-divider"></li> <?php // languages foreach ($languagecodesandnames as $lancode => $lan) { print '<li class="language"><a class="language-link" title="' . $lan['english_name'] . '" data-lang-code="' . $lancode . '">' . $lan['name'] . '</a></li>'; } ?> <li class="fullwidth language dropdown-divider"></li> <li class="fullwidth"><a href="https://git.gnu.io/h2p/Qvitter/tree/master/locale" target="_blank" id="add-edit-language-link"></a></li> </ul> <div class="global-nav"> <div class="global-nav-inner"> <div class="container"> <div id="search"> <input type="text" spellcheck="false" autocomplete="off" name="q" placeholder="Sök" id="search-query" class="search-input"> <span class="search-icon"> <button class="icon nav-search" type="submit" tabindex="-1"> <span> Sök </span> </button> </span> </div> <ul class="language-dropdown"> <li class="dropdown"> <a class="dropdown-toggle"> <small></small> <span class="current-language"></span> <b class="caret"></b> </a> <ul class="dropdown-menu"> <li class="dropdown-caret right"> <span class="caret-outer"></span> <span class="caret-inner"></span> </li> <?php // languages foreach ($languagecodesandnames as $lancode => $lan) { print '<li><a class="language-link" title="' . $lan['english_name'] . '" data-lang-code="' . $lancode . '">' . $lan['name'] . '</a></li>'; } ?> </ul> </li> </ul> </div> </div> </div> </div> <div id="no-js-error">Please enable javascript to use this site.<script>var element = document.getElementById('no-js-error'); element.parentNode.removeChild(element);</script></div> <div id="page-container"> <?php $site_notice = common_config('site', 'notice'); if (!empty($site_notice)) { print '<div id="site-notice">' . common_config('site', 'notice') . '</div>'; } // welcome text, login and register container if logged out if ($logged_in_user === null) { ?> <div class="front-welcome-text <?php if ($registrationsclosed) { print 'registrations-closed'; } ?> "></div> <div id="login-register-container"> <div id="login-content"> <form id="form_login" class="form_settings" action="<?php print common_local_url('qvitterlogin'); ?> " method="post"> <div id="username-container"> <input id="nickname" name="nickname" type="text" value="<?php print $logged_in_user_nickname; ?> " tabindex="1" /> </div> <table class="password-signin"><tbody><tr> <td class="flex-table-primary"> <div class="placeholding-input"> <input id="password" name="password" type="password" tabindex="2" value="" /> </div> </td> <td class="flex-table-secondary"> <button class="submit" type="submit" id="submit-login" tabindex="4"></button> </td> </tr></tbody></table> <div id="remember-forgot"> <input type="checkbox" id="rememberme" name="rememberme" value="yes" tabindex="3" checked="checked"> <span id="rememberme_label"></span> · <a id="forgot-password" href="<?php print $instanceurl; ?> main/recoverpassword" ></a> <input type="hidden" id="token" name="token" value="<?php print common_session_token(); ?> "> <?php if (array_key_exists('OpenID', StatusNet::getActivePlugins())) { print '<a href="' . $instanceurl . 'main/openid" id="openid-login" title="OpenID" donthijack>OpenID</a>'; } ?> </div> </form> </div> <?php if ($registrationsclosed === false && $client_ip_is_blocked === false) { ?> <div class="front-signup"> <h2></h2> <div class="signup-input-container"><input placeholder="" type="text" name="user[name]" autocomplete="off" class="text-input" id="signup-user-name"></div> <div class="signup-input-container"><input placeholder="" type="text" name="user[email]" autocomplete="off" id="signup-user-email"></div> <div class="signup-input-container"><input placeholder="" type="password" name="user[user_password]" class="text-input" id="signup-user-password"></div> <button id="signup-btn-step1" class="signup-btn" type="submit"></button> </div> <div id="other-servers-link"></div><?php } ?> <div id="qvitter-notice-logged-out"><?php print common_config('site', 'qvitternoticeloggedout'); ?> </div> </div><?php } // box containing the logged in users queet count and compose form if ($logged_in_user) { ?> <div id="user-container" style="display:none;"> <div id="user-header" style="background-image:url('<?php print htmlspecialchars($logged_in_user_obj['cover_photo']); ?> ')"> <div id="mini-edit-profile-button"></div> <div class="profile-header-inner-overlay"></div> <div id="user-avatar-container"><img id="user-avatar" src="<?php print htmlspecialchars($logged_in_user_obj['profile_image_url_profile_size']); ?> " /></div> <div id="user-name"><?php print htmlspecialchars($logged_in_user_obj['name']); ?> </div> <div id="user-screen-name"><?php print htmlspecialchars($logged_in_user_obj['screen_name']); ?> </div> </div> <ul id="user-body"> <li><a href="<?php print $instanceurl . $logged_in_user->nickname; ?> " id="user-queets"><span class="label"></span><strong><?php print $logged_in_user_obj['statuses_count']; ?> </strong></a></li> <li><a href="<?php print $instanceurl . $logged_in_user->nickname; ?> /subscriptions" id="user-following"><span class="label"></span><strong><?php print $logged_in_user_obj['friends_count']; ?> </strong></a></li> <li><a href="<?php print $instanceurl . $logged_in_user->nickname; ?> /groups" id="user-groups"><span class="label"></span><strong><?php print $logged_in_user_obj['groups_count']; ?> </strong></a></li> </ul> <div id="user-footer"> <div id="user-footer-inner"> <div id="queet-box" class="queet-box queet-box-syntax" data-start-text=""></div> <div class="syntax-middle"></div> <div class="syntax-two" contenteditable="true"></div> <div class="mentions-suggestions"></div> <div class="queet-toolbar"> <div class="queet-box-extras"> <button class="upload-image"></button> <button class="shorten disabled">URL</button> </div> <div class="queet-button"> <span class="queet-counter"></span> <button></button> </div> </div> </div> </div> <div id="main-menu" class="menu-container"><?php if ($logged_in_user) { ?> <a href="<?php print $instanceurl . $logged_in_user->nickname; ?> /all" class="stream-selection friends-timeline"><i class="chev-right"></i></a> <a href="<?php print $instanceurl . $logged_in_user->nickname; ?> /notifications" class="stream-selection notifications"><span id="unseen-notifications"></span><i class="chev-right"></i></a> <a href="<?php print $instanceurl . $logged_in_user->nickname; ?> /replies" class="stream-selection mentions"><i class="chev-right"></i></a> <a href="<?php print $instanceurl . $logged_in_user->nickname; ?> " class="stream-selection my-timeline"><i class="chev-right"></i></a> <a href="<?php print $instanceurl . $logged_in_user->nickname; ?> /favorites" class="stream-selection favorites"><i class="chev-right"></i></a> <a href="<?php print $instanceurl; ?> main/public" class="stream-selection public-timeline"><i class="chev-right"></i></a> <a href="<?php print $instanceurl; ?> main/all" class="stream-selection public-and-external-timeline"><i class="chev-right"></i></a> <?php } ?> </div> <div class="menu-container" id="bookmark-container"></div> <div class="menu-container" id="history-container"></div> <div id="clear-history"></div> <div id="qvitter-notice"><?php print common_config('site', 'qvitternotice'); ?> </div> </div><?php } ?> <div id="feed"> <div id="feed-header"> <div id="feed-header-inner"> <h2></h2> <div class="reload-stream"></div> </div> </div> <div id="new-queets-bar-container" class="hidden"><div id="new-queets-bar"></div></div> <div id="feed-body"></div> </div> <div id="hidden-html"><?php // adds temporary support for microformats and linkbacks on the notice page if (substr($_SERVER['REQUEST_URI'], 0, 8) == '/notice/' && $this->arg('notice')) { echo '<ol class="notices xoxo">'; if ($notice instanceof Notice) { $widget = new NoticeListItem($notice, $this); $widget->show(); $this->flush(); } echo '</ol>'; } Event::handle('QvitterHiddenHtml', array($this)); ?> </div> <div id="footer"><div id="footer-spinner-container"></div></div> </div> <script type="text/javascript" src="<?php print $qvitterpath; ?> js/lib/jquery-2.1.4.min.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/lib/jquery-2.1.4.min.js')); ?> "></script> <script type="text/javascript" src="<?php print $qvitterpath; ?> js/lib/jquery-ui.min.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/lib/jquery-ui.min.js')); ?> "></script> <script type="text/javascript" src="<?php print $qvitterpath; ?> js/lib/jquery.minicolors.min.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/lib/jquery.minicolors.min.js')); ?> "></script> <script type="text/javascript" src="<?php print $qvitterpath; ?> js/lib/jquery.jWindowCrop.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/lib/jquery.jWindowCrop.js')); ?> "></script> <script type="text/javascript" src="<?php print $qvitterpath; ?> js/lib/load-image.min.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/lib/load-image.min.js')); ?> "></script> <script type="text/javascript" src="<?php print $qvitterpath; ?> js/lib/xregexp-all-3.0.0-pre.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/lib/xregexp-all-3.0.0-pre.js')); ?> "></script> <script type="text/javascript" src="<?php print $qvitterpath; ?> js/lib/lz-string.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/lib/lz-string.js')); ?> "></script> <script type="text/javascript" src="<?php print $qvitterpath; ?> js/lib/bowser.min.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/lib/bowser.min.js')); ?> "></script> <script charset="utf-8" type="text/javascript" src="<?php print $qvitterpath; ?> js/dom-functions.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/dom-functions.js')); ?> "></script> <script charset="utf-8" type="text/javascript" src="<?php print $qvitterpath; ?> js/misc-functions.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/misc-functions.js')); ?> "></script> <script charset="utf-8" type="text/javascript" src="<?php print $qvitterpath; ?> js/ajax-functions.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/ajax-functions.js')); ?> "></script> <script charset="utf-8" type="text/javascript" src="<?php print $qvitterpath; ?> js/stream-router.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/stream-router.js')); ?> "></script> <script charset="utf-8" type="text/javascript" src="<?php print $qvitterpath; ?> js/qvitter.js?changed=<?php print date('YmdHis', filemtime(QVITTERDIR . '/js/qvitter.js')); ?> "></script> <?php // event for other plugins to add scripts to qvitter Event::handle('QvitterEndShowScripts', array($this)); // we might have custom javascript in the config file that we want to add if (QvitterPlugin::settings('js')) { print '<script type="text/javascript">' . QvitterPlugin::settings('js') . '</script>'; } ?> <div id="dynamic-styles"> <style> a, a:visited, a:active, ul.stats li:hover a, ul.stats li:hover a strong, #user-body a:hover div strong, #user-body a:hover div div, .permalink-link:hover, .stream-item.expanded > .queet .stream-item-expand, .stream-item-footer .with-icn .requeet-text a b:hover, .queet-text span.attachment.more, .stream-item-header .created-at a:hover, .stream-item-header a.account-group:hover .name, .queet:hover .stream-item-expand, .show-full-conversation:hover, #new-queets-bar, .menu-container div, .cm-mention, .cm-tag, .cm-group, .cm-url, .cm-email, div.syntax-middle span, #user-body strong, ul.stats, .stream-item:not(.temp-post) ul.queet-actions li .icon:not(.is-mine):hover:before, .show-full-conversation, #user-body #user-queets:hover .label, #user-body #user-groups:hover .label, #user-body #user-following:hover .label, ul.stats a strong, .queet-box-extras button, #openid-login:hover:after, .post-to-group { color:/*COLORSTART*/<?php print QvitterPlugin::settings("defaultlinkcolor"); ?> /*COLOREND*/; } #unseen-notifications, .stream-item.notification.not-seen > .queet::before, #top-compose, #logo, .queet-toolbar button, #user-header, .profile-header-inner, .topbar, .menu-container, .member-button.member, .external-follow-button.following, .qvitter-follow-button.following, .save-profile-button, .crop-and-save-button, .topbar .global-nav.show-logo:before, .topbar .global-nav.pulse-logo:before, .dropdown-menu li:not(.dropdown-caret) a:hover { background-color:/*BACKGROUNDCOLORSTART*/<?php print QvitterPlugin::settings("defaultlinkcolor"); ?> /*BACKGROUNDCOLOREND*/; } .queet-box-syntax[contenteditable="true"]:focus, .stream-item.selected-by-keyboard::before { border-color:/*BORDERCOLORSTART*/#999999/*BORDERCOLOREND*/; } #user-footer-inner, .inline-reply-queetbox, #popup-faq #faq-container p.indent { background-color:/*LIGHTERBACKGROUNDCOLORSTART*/rgb(205,230,239)/*LIGHTERBACKGROUNDCOLOREND*/; } #user-footer-inner, .queet-box, .queet-box-syntax[contenteditable="true"], .inline-reply-queetbox, span.inline-reply-caret, .stream-item.expanded .stream-item.first-visible-after-parent, #popup-faq #faq-container p.indent, .post-to-group, .quoted-notice:hover, .oembed-item:hover, .stream-item:hover:not(.expanded) .quoted-notice:hover, .stream-item:hover:not(.expanded) .oembed-item:hover { border-color:/*LIGHTERBORDERCOLORSTART*/rgb(155,206,224)/*LIGHTERBORDERCOLOREND*/; } span.inline-reply-caret .caret-inner { border-bottom-color:/*LIGHTERBORDERBOTTOMCOLORSTART*/rgb(205,230,239)/*LIGHTERBORDERBOTTOMCOLOREND*/; } .modal-close .icon, .chev-right, .close-right, button.icon.nav-search, .member-button .join-text i, .external-member-button .join-text i, .external-follow-button .follow-text i, .qvitter-follow-button .follow-text i, #logo, .upload-cover-photo, .upload-avatar, .upload-background-image, button.shorten i, .reload-stream, .topbar .global-nav:before, .stream-item.notification.repeat .dogear, .stream-item.notification.like .dogear, .ostatus-link, .close-edit-profile-window { background-image: url("<?php print QvitterPlugin::settings("sprite"); ?> "); background-size: 500px 1329px; } @media (max-width: 910px) { #search-query, .menu-container a, .menu-container a.current, .stream-selection.friends-timeline:after, .stream-selection.notifications:after, .stream-selection.my-timeline:after, .stream-selection.public-timeline:after { background-image: url("<?php print QvitterPlugin::settings("sprite"); ?> "); background-size: 500px 1329px; } } </style> </div> </body> </html> <?php }
/** * Returns the current language display name * * @return string The locale language to display */ public function getDisplayLanguage() { return \Locale::getDisplayLanguage($this->current, $this->current); }
/** * @return string */ public function __invoke($language) { return \Locale::getDisplayLanguage($language); }
public function pageSettingsAction($id = null, $uniqid = null) { /** @var Request $request */ $request = $this->container->get('request_stack')->getCurrentRequest(); // the key used to lookup the template $templateKey = 'edit'; if ($id === null) { $id = $request->get($this->admin->getIdParameter()); } $object = $this->admin->getObject($id); if (!$object) { throw new NotFoundHttpException(sprintf('unable to find the object with id : %s', $id)); } if (false === $this->admin->isGranted('EDIT', $object)) { throw new AccessDeniedException(); } $this->admin->setSubject($object); /** @var $form \Symfony\Component\Form\Form */ $form = $this->admin->getForm(); $form->setData($object); $view = $form->createView(); // set the theme for the current Admin Form $this->get('twig')->getExtension('form')->renderer->setTheme($view, $this->admin->getFormTheme()); return $this->render($this->admin->getTemplate($templateKey), array('action' => 'edit', 'form' => $view, 'object' => $object, 'language' => \Locale::getDisplayLanguage($object->getLocale()))); }
/** * * * @param $Path * @param $Controller */ public function init($Path, $Controller) { $Smarty = $this->smarty(); // Get a friendly name for the controller. $ControllerName = get_class($Controller); if (StringEndsWith($ControllerName, 'Controller', true)) { $ControllerName = substr($ControllerName, 0, -10); } // Get an ID for the body. $BodyIdentifier = strtolower($Controller->ApplicationFolder . '_' . $ControllerName . '_' . Gdn_Format::alphaNumeric(strtolower($Controller->RequestMethod))); $Smarty->assign('BodyID', $BodyIdentifier); //$Smarty->assign('Config', Gdn::Config()); // Assign some information about the user. $Session = Gdn::session(); if ($Session->isValid()) { $User = array('Name' => $Session->User->Name, 'Photo' => '', 'CountNotifications' => (int) val('CountNotifications', $Session->User, 0), 'CountUnreadConversations' => (int) val('CountUnreadConversations', $Session->User, 0), 'SignedIn' => true); $Photo = $Session->User->Photo; if ($Photo) { if (!IsUrl($Photo)) { $Photo = Gdn_Upload::Url(ChangeBasename($Photo, 'n%s')); } } else { if (function_exists('UserPhotoDefaultUrl')) { $Photo = UserPhotoDefaultUrl($Session->User, 'ProfilePhoto'); } elseif ($ConfigPhoto = C('Garden.DefaultAvatar')) { $Photo = Gdn_Upload::url($ConfigPhoto); } else { $Photo = Asset('/applications/dashboard/design/images/defaulticon.png', true); } } $User['Photo'] = $Photo; } else { $User = false; /*array( 'Name' => '', 'CountNotifications' => 0, 'SignedIn' => FALSE);*/ } $Smarty->assign('User', $User); // Make sure that any datasets use arrays instead of objects. foreach ($Controller->Data as $Key => $Value) { if ($Value instanceof Gdn_DataSet) { $Controller->Data[$Key] = $Value->resultArray(); } elseif ($Value instanceof stdClass) { $Controller->Data[$Key] = (array) $Value; } } $BodyClass = val('CssClass', $Controller->Data, '', true); $Sections = Gdn_Theme::section(null, 'get'); if (is_array($Sections)) { foreach ($Sections as $Section) { $BodyClass .= ' Section-' . $Section; } } $Controller->Data['BodyClass'] = $BodyClass; // Set the current locale for themes to take advantage of. $Locale = Gdn::locale()->Locale; $CurrentLocale = array('Key' => $Locale, 'Lang' => str_replace('_', '-', $Locale)); if (class_exists('Locale')) { $CurrentLocale['Language'] = Locale::getPrimaryLanguage($Locale); $CurrentLocale['Region'] = Locale::getRegion($Locale); $CurrentLocale['DisplayName'] = Locale::getDisplayName($Locale, $Locale); $CurrentLocale['DisplayLanguage'] = Locale::getDisplayLanguage($Locale, $Locale); $CurrentLocale['DisplayRegion'] = Locale::getDisplayRegion($Locale, $Locale); } $Smarty->assign('CurrentLocale', $CurrentLocale); $Smarty->assign('Assets', (array) $Controller->Assets); $Smarty->assign('Path', Gdn::request()->path()); // Assign the controller data last so the controllers override any default data. $Smarty->assign($Controller->Data); $Smarty->Controller = $Controller; // for smarty plugins $Smarty->security = true; $Smarty->security_settings['IF_FUNCS'] = array_merge($Smarty->security_settings['IF_FUNCS'], array('Category', 'CheckPermission', 'InSection', 'InCategory', 'MultiCheckPermission', 'GetValue', 'SetValue', 'Url')); $Smarty->security_settings['MODIFIER_FUNCS'] = array_merge($Smarty->security_settings['MODIFIER_FUNCS'], array('sprintf')); $Smarty->secure_dir = array($Path); }
/** * Get the language from a locale code * * @param string $code * * @return string */ public function getDisplayLanguage($code) { return \Locale::getDisplayLanguage($code); }