/** * Gets all the available languages * * @param string $defaultLang Current used language * * @return array An array of the form: * ['languages' => <languages>, * 'commonlanguages' => <common_languages>, * 'activelanguage' => <active_language>] * where: * - languages is an array with all the ownCloud languages (except the * common ones) of the form: * [['code' => <lang_code>, 'name' => <translated_lang_name], ...] * - commonlanguages is an array with the common ownCloud languages * - active_language is the current used language * * @remarks: This code was taken from: * * <ownCloudRoot>/settings/personal.php * Unfortunatelly there isn't an utility for this at the * moment of writting */ public function getAvailableLanguages($defaultLang) { $userLang = $defaultLang; //It would be nice this method to be a public method (not static) of //L10N $languageCodes = \OC_L10N::findAvailableLanguages(); // array of common languages $commonlangcodes = array('en', 'es', 'fr', 'de', 'de_DE', 'ja', 'ar', 'ru', 'nl', 'it', 'pt_BR', 'pt_PT', 'da', 'fi_FI', 'nb_NO', 'sv', 'tr', 'zh_CN', 'ko'); //This is also an ugly hack, but it was taken from the OwnCloud core lib $languageNames = (include \OC::$SERVERROOT . '/settings/languageCodes.php'); $languages = array(); $commonlanguages = array(); $server = $this->app->getContainer()->getServer(); foreach ($languageCodes as $lang) { $l = $server->getL10N('settings', $lang); if (substr($l->t('__language_name__'), 0, 1) !== '_') { //first check if the language name is in the translation file $ln = array('code' => $lang, 'name' => (string) $l->t('__language_name__')); } elseif (isset($languageNames[$lang])) { $ln = array('code' => $lang, 'name' => $languageNames[$lang]); } else { //fallback to language code $ln = array('code' => $lang, 'name' => $lang); } // put apropriate languages into apropriate arrays, to print them // sorted used language -> common languages -> divider -> other //languages if ($lang === $userLang) { $userLang = $ln; } elseif (in_array($lang, $commonlangcodes)) { $commonlanguages[array_search($lang, $commonlangcodes)] = $ln; } else { $languages[] = $ln; } } ksort($commonlanguages); // sort now by displayed language not the iso-code usort($languages, function ($a, $b) { return strcmp($a['name'], $b['name']); }); return array('languages' => $languages, 'commonlanguages' => $commonlanguages, 'activelanguage' => $userLang); }
OC_Util::addStyle('settings', 'settings'); \OC_Util::addVendorScript('strengthify/jquery.strengthify'); \OC_Util::addVendorStyle('strengthify/strengthify'); \OC_Util::addScript('files', 'jquery.iframe-transport'); \OC_Util::addScript('files', 'jquery.fileupload'); if ($config->getSystemValue('enable_avatars', true) === true) { \OC_Util::addVendorScript('jcrop/js/jquery.Jcrop'); \OC_Util::addVendorStyle('jcrop/css/jquery.Jcrop'); } // Highlight navigation entry OC::$server->getNavigationManager()->setActiveEntry('personal'); $storageInfo = OC_Helper::getStorageInfo('/'); $user = OC::$server->getUserManager()->get(OC_User::getUser()); $email = $user->getEMailAddress(); $userLang = $config->getUserValue(OC_User::getUser(), 'core', 'lang', OC_L10N::findLanguage()); $languageCodes = OC_L10N::findAvailableLanguages(); // array of common languages $commonLangCodes = array('en', 'es', 'fr', 'de', 'de_DE', 'ja', 'ar', 'ru', 'nl', 'it', 'pt_BR', 'pt_PT', 'da', 'fi_FI', 'nb_NO', 'sv', 'tr', 'zh_CN', 'ko'); $languageNames = (include 'languageCodes.php'); $languages = array(); $commonLanguages = array(); foreach ($languageCodes as $lang) { $l = \OC::$server->getL10N('settings', $lang); // TRANSLATORS this is the language name for the language switcher in the personal settings and should be the localized version if (substr($l->t('__language_name__'), 0, 1) !== '_') { //first check if the language name is in the translation file $ln = array('code' => $lang, 'name' => (string) $l->t('__language_name__')); } elseif (isset($languageNames[$lang])) { $ln = array('code' => $lang, 'name' => $languageNames[$lang]); } else { //fallback to language code
* */ // Check if we are a user OCP\User::checkLoggedIn(); OCP\App::checkAppEnabled('conversations'); OCP\App::setActiveNavigationEntry('conversations'); // register js and css OCP\Util::addscript('conversations', 'conversations'); OCP\Util::addScript('conversations', 'jquery.infinitescroll.min'); OCP\Util::addScript('conversations', 'jquery.autosize.min'); OCP\Util::addScript('conversations', 'jquery.timeago'); OCP\Util::addstyle('conversations', 'style'); // add timeago translations $lang = OC_L10N::findLanguage('conversations'); // TODO: may find a better solution than file_exists if (in_array($lang, OC_L10N::findAvailableLanguages('conversations')) && file_exists('./apps/conversations/js/jquery.timeago.' . $lang . '.js')) { OCP\Util::addScript('conversations', 'jquery.timeago.' . $lang); } // rooms $rooms = OC_Conversations::getRooms(); $updates = OC_Conversations::updateCheck(); $rooms = array_merge_recursive($rooms, $updates); // get the page that is requested. Needed for endless scrolling $count = 5; if (isset($_GET['page'])) { $page = intval($_GET['page']) - 1; } else { $page = 0; } $nextpage = \OCP\Util::linkToAbsolute('conversations', 'index.php', array('page' => $page + 2)); $tmpl = new OCP\Template('conversations', 'main', 'user');