示例#1
0
 /**
  * Gets the language of the user, including anonymous 
  *
  * @return The user language
  */
 public static function getUserLang()
 {
     $config = \OC::$server->getConfig();
     $lang = \OC_L10N::findLanguage();
     $userLang = $config->getUserValue(\OC_User::getUser(), 'core', 'lang', $lang);
     return $userLang;
 }
示例#2
0
 /**
  * @dataProvider findLanguageData
  */
 public function testFindLanguage($default, $preference, $expected)
 {
     OC_User::setUserId(null);
     if (is_null($default)) {
         OC_Config::deleteKey('default_language');
     } else {
         OC_Config::setValue('default_language', $default);
     }
     $_SERVER['HTTP_ACCEPT_LANGUAGE'] = $preference;
     $reflection = new \ReflectionClass('OC_L10N');
     $prop = $reflection->getProperty('language');
     $prop->setAccessible(1);
     $prop->setValue('');
     $prop->setAccessible(0);
     $this->assertSame($expected, OC_L10N::findLanguage());
 }
示例#3
0
 /**
  * @param string $renderAs
  * @param string $appId application id
  */
 public function __construct($renderAs, $appId = '')
 {
     // yes - should be injected ....
     $this->config = \OC::$server->getConfig();
     // Decide which page we show
     if ($renderAs == 'user') {
         parent::__construct('core', 'layout.user');
         if (in_array(OC_App::getCurrentApp(), ['settings', 'admin', 'help']) !== false) {
             $this->assign('bodyid', 'body-settings');
         } else {
             $this->assign('bodyid', 'body-user');
         }
         // Update notification
         if ($this->config->getSystemValue('updatechecker', true) === true && OC_User::isAdminUser(OC_User::getUser())) {
             $updater = new \OC\Updater(\OC::$server->getHTTPHelper(), \OC::$server->getConfig());
             $data = $updater->check();
             if (isset($data['version']) && $data['version'] != '' and $data['version'] !== array()) {
                 $this->assign('updateAvailable', true);
                 $this->assign('updateVersion', $data['versionstring']);
                 $this->assign('updateLink', $data['web']);
                 \OCP\Util::addScript('core', 'update-notification');
             } else {
                 $this->assign('updateAvailable', false);
                 // No update available or not an admin user
             }
         } else {
             $this->assign('updateAvailable', false);
             // Update check is disabled
         }
         // Add navigation entry
         $this->assign('application', '');
         $this->assign('appid', $appId);
         $navigation = OC_App::getNavigation();
         $this->assign('navigation', $navigation);
         $settingsNavigation = OC_App::getSettingsNavigation();
         $this->assign('settingsnavigation', $settingsNavigation);
         foreach ($navigation as $entry) {
             if ($entry['active']) {
                 $this->assign('application', $entry['name']);
                 break;
             }
         }
         foreach ($settingsNavigation as $entry) {
             if ($entry['active']) {
                 $this->assign('application', $entry['name']);
                 break;
             }
         }
         $userDisplayName = OC_User::getDisplayName();
         $this->assign('user_displayname', $userDisplayName);
         $this->assign('user_uid', OC_User::getUser());
         $this->assign('appsmanagement_active', strpos(\OC::$server->getRequest()->getRequestUri(), \OC::$server->getURLGenerator()->linkToRoute('settings.AppSettings.viewApps')) === 0);
         $this->assign('enableAvatars', $this->config->getSystemValue('enable_avatars', true));
         $this->assign('userAvatarSet', \OC_Helper::userAvatarSet(OC_User::getUser()));
     } else {
         if ($renderAs == 'error') {
             parent::__construct('core', 'layout.guest', '', false);
             $this->assign('bodyid', 'body-login');
         } else {
             if ($renderAs == 'guest') {
                 parent::__construct('core', 'layout.guest');
                 $this->assign('bodyid', 'body-login');
             } else {
                 parent::__construct('core', 'layout.base');
             }
         }
     }
     // Send the language to our layouts
     $this->assign('language', OC_L10N::findLanguage());
     if (empty(self::$versionHash)) {
         $v = OC_App::getAppVersions();
         $v['core'] = implode('.', \OC_Util::getVersion());
         self::$versionHash = md5(implode(',', $v));
     }
     $useAssetPipeline = self::isAssetPipelineEnabled();
     if ($useAssetPipeline) {
         $this->append('jsfiles', OC_Helper::linkToRoute('js_config', array('v' => self::$versionHash)));
         $this->generateAssets();
     } else {
         // Add the js files
         $jsFiles = self::findJavascriptFiles(OC_Util::$scripts);
         $this->assign('jsfiles', array(), false);
         if ($this->config->getSystemValue('installed', false) && $renderAs != 'error') {
             $this->append('jsfiles', OC_Helper::linkToRoute('js_config', array('v' => self::$versionHash)));
         }
         foreach ($jsFiles as $info) {
             $web = $info[1];
             $file = $info[2];
             $this->append('jsfiles', $web . '/' . $file . '?v=' . self::$versionHash);
         }
         // Add the css files
         $cssFiles = self::findStylesheetFiles(OC_Util::$styles);
         $this->assign('cssfiles', array());
         foreach ($cssFiles as $info) {
             $web = $info[1];
             $file = $info[2];
             $this->append('cssfiles', $web . '/' . $file . '?v=' . self::$versionHash);
         }
     }
 }
示例#4
0
 /**
  * @param string $renderAs
  * @param string $appId application id
  */
 public function __construct($renderAs, $appId = '')
 {
     // yes - should be injected ....
     $this->config = \OC::$server->getConfig();
     // Decide which page we show
     if ($renderAs == 'user') {
         parent::__construct('core', 'layout.user');
         if (in_array(\OC_App::getCurrentApp(), ['settings', 'admin', 'help']) !== false) {
             $this->assign('bodyid', 'body-settings');
         } else {
             $this->assign('bodyid', 'body-user');
         }
         // Code integrity notification
         $integrityChecker = \OC::$server->getIntegrityCodeChecker();
         if (!$integrityChecker->hasPassedCheck()) {
             \OCP\Util::addScript('core', 'integritycheck-failed-notification');
         }
         // Add navigation entry
         $this->assign('application', '');
         $this->assign('appid', $appId);
         $navigation = \OC_App::getNavigation();
         $this->assign('navigation', $navigation);
         $settingsNavigation = \OC_App::getSettingsNavigation();
         $this->assign('settingsnavigation', $settingsNavigation);
         foreach ($navigation as $entry) {
             if ($entry['active']) {
                 $this->assign('application', $entry['name']);
                 break;
             }
         }
         foreach ($settingsNavigation as $entry) {
             if ($entry['active']) {
                 $this->assign('application', $entry['name']);
                 break;
             }
         }
         $userDisplayName = \OC_User::getDisplayName();
         $appsMgmtActive = strpos(\OC::$server->getRequest()->getRequestUri(), \OC::$server->getURLGenerator()->linkToRoute('settings.AppSettings.viewApps')) === 0;
         if ($appsMgmtActive) {
             $l = \OC::$server->getL10N('lib');
             $this->assign('application', $l->t('Apps'));
         }
         $this->assign('user_displayname', $userDisplayName);
         $this->assign('user_uid', \OC_User::getUser());
         $this->assign('appsmanagement_active', $appsMgmtActive);
         $this->assign('enableAvatars', $this->config->getSystemValue('enable_avatars', true) === true);
         if (\OC_User::getUser() === false) {
             $this->assign('userAvatarSet', false);
         } else {
             $this->assign('userAvatarSet', \OC::$server->getAvatarManager()->getAvatar(\OC_User::getUser())->exists());
         }
     } else {
         if ($renderAs == 'error') {
             parent::__construct('core', 'layout.guest', '', false);
             $this->assign('bodyid', 'body-login');
         } else {
             if ($renderAs == 'guest') {
                 parent::__construct('core', 'layout.guest');
                 $this->assign('bodyid', 'body-login');
             } else {
                 parent::__construct('core', 'layout.base');
             }
         }
     }
     // Send the language to our layouts
     $this->assign('language', \OC_L10N::findLanguage());
     if (\OC::$server->getSystemConfig()->getValue('installed', false)) {
         if (empty(self::$versionHash)) {
             $v = \OC_App::getAppVersions();
             $v['core'] = implode('.', \OCP\Util::getVersion());
             self::$versionHash = md5(implode(',', $v));
         }
     } else {
         self::$versionHash = md5('not installed');
     }
     $useAssetPipeline = self::isAssetPipelineEnabled();
     if ($useAssetPipeline) {
         $this->append('jsfiles', \OC::$server->getURLGenerator()->linkToRoute('js_config', ['v' => self::$versionHash]));
         $this->generateAssets();
     } else {
         // Add the js files
         $jsFiles = self::findJavascriptFiles(\OC_Util::$scripts);
         $this->assign('jsfiles', array());
         if ($this->config->getSystemValue('installed', false) && $renderAs != 'error') {
             $this->append('jsfiles', \OC::$server->getURLGenerator()->linkToRoute('js_config', ['v' => self::$versionHash]));
         }
         foreach ($jsFiles as $info) {
             $web = $info[1];
             $file = $info[2];
             $this->append('jsfiles', $web . '/' . $file . '?v=' . self::$versionHash);
         }
         // Add the css files
         $cssFiles = self::findStylesheetFiles(\OC_Util::$styles);
         $this->assign('cssfiles', array());
         foreach ($cssFiles as $info) {
             $web = $info[1];
             $file = $info[2];
             $this->append('cssfiles', $web . '/' . $file . '?v=' . self::$versionHash);
         }
     }
 }
示例#5
0
文件: personal.php 项目: nseps/core
OC_Util::addScript('settings', 'certificates');
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 {
示例#6
0
文件: util.php 项目: reverserob/core
 /**
  * add a translation JS file
  *
  * @param string $application application id
  * @param string $languageCode language code, defaults to the current language
  * @param bool $prepend prepend the Script to the beginning of the list 
  */
 public static function addTranslations($application, $languageCode = null, $prepend = false)
 {
     if (is_null($languageCode)) {
         $languageCode = \OC_L10N::findLanguage($application);
     }
     if (!empty($application)) {
         $path = "{$application}/l10n/{$languageCode}";
     } else {
         $path = "l10n/{$languageCode}";
     }
     //TODO eliminate double code
     if (!in_array($path, self::$scripts)) {
         if ($prepend === true) {
             array_unshift(self::$scripts, $path);
         } else {
             self::$scripts[] = $path;
         }
     }
 }
示例#7
0
文件: util.php 项目: Angelos0/core
 /**
  * add a translation JS file
  *
  * @param string $application application id
  * @param string $languageCode language code, defaults to the current language
  * @param bool $prepend prepend the Script to the beginning of the list 
  */
 public static function addTranslations($application, $languageCode = null, $prepend = false)
 {
     if (is_null($languageCode)) {
         $languageCode = \OC_L10N::findLanguage($application);
     }
     if (!empty($application)) {
         $path = "{$application}/l10n/{$languageCode}";
     } else {
         $path = "l10n/{$languageCode}";
     }
     self::addExternalResource($application, $prepend, $path, "script");
 }
示例#8
0
 /**
  * add a translation JS file
  *
  * @param string $application application id
  * @param string $languageCode language code, defaults to the current language
  */
 public static function addTranslations($application, $languageCode = null)
 {
     if (is_null($languageCode)) {
         $languageCode = \OC_L10N::findLanguage($application);
     }
     if (!empty($application)) {
         $path = "{$application}/l10n/{$languageCode}";
     } else {
         $path = "l10n/{$languageCode}";
     }
     if (!in_array($path, self::$scripts)) {
         self::$scripts[] = $path;
     }
 }
示例#9
0
 private function getEventData($e)
 {
     $event = array();
     // birthday
     if ($e['calendar'] == "birthday") {
         $event['type'] = "birthday";
         $event['title'] = $e['title'];
         if (OC_L10N::findLanguage() == "de" || OC_L10N::findLanguage() == "de_DE") {
             $event['date'] = $this->getNiceDateTime($e['start'], "d.m.y", true, "");
         } else {
             $event['date'] = $this->getNiceDateTime($e['start'], "m-d-y", true, "");
         }
         return $event;
     }
     // --------------------------------------------------------
     // no birthday, normal events
     $event['title'] = $this->cleanSpecialCharacter($e['title']);
     $event['color'] = $e['color'];
     $event['calendar'] = $e['calendar'];
     $event['location'] = $this->cleanSpecialCharacter($this->getProperty('LOCATION', $e['data']));
     // all day event => one day (no time output, one date)
     // start and end time = 00:00:00
     // startday = endday-1
     if (date("d.m.y H:i:s", $e['origStart']) == date("d.m.y H:i:s", $e['origEnd'] - 60 * 60 * 24) && date("H:i:s", $e['origStart']) == "00:00:00" && date("H:i:s", $e['origEnd']) == "00:00:00") {
         if (OC_L10N::findLanguage() == "de" || OC_L10N::findLanguage() == "de_DE") {
             $event['date'] = $this->getNiceDateTime($e['start'], "d.m.y", true, "");
         } else {
             $event['date'] = $this->getNiceDateTime($e['start'], "m-d-y", true, "");
         }
         // all day event => takes more than one day (no time output)
         // start and end time = 00:00:00
         // end - start > one day
     } elseif (date("H:i:s", $e['origStart']) == "00:00:00" && date("H:i:s", $e['origEnd'] - 60 * 60 * 24) == "00:00:00" && $e['origEnd'] - $e['origStart'] > 60 * 60 * 24) {
         // $e['end']-60*60*24 is for correct end day (end day before not at time 00:00:00)
         if (OC_L10N::findLanguage() == "de" || OC_L10N::findLanguage() == "de_DE") {
             $event['date'] = $this->getNiceDateTime($e['start'], "d.m.y", true, "") . " - " . $this->getNiceDateTime($e['end'] - 60 * 60 * 24, "d.m.y", true, "");
         } else {
             $event['date'] = $this->getNiceDateTime($e['start'], "m-d-y", true, "") . " - " . $this->getNiceDateTime($e['end'] - 60 * 60 * 24, "m-d-y", true, "");
         }
         // normal event => in one day (one date output)
     } elseif (date("d.m.y", $e['start']) == date("d.m.y", $e['end'])) {
         if (OC_L10N::findLanguage() == "de" || OC_L10N::findLanguage() == "de_DE") {
             $event['date'] = $this->getNiceDateTime($e['start'], "d.m.y", true, "H:i") . "Uhr - " . $this->getNiceDateTime($e['end'], "", false, "H:i") . 'Uhr';
         } else {
             $event['date'] = $this->getNiceDateTime($e['start'], "m-d-y", true, "H:i") . " - " . $this->getNiceDateTime($e['end'], "", false, "H:i");
         }
         // normal event => takes more than one day & all other (full output)
     } else {
         if (OC_L10N::findLanguage() == "de" || OC_L10N::findLanguage() == "de_DE") {
             $event['date'] = $this->getNiceDateTime($e['start'], "d.m.y", true, "H:i") . "Uhr - " . $this->getNiceDateTime($e['end'], "d.m.y", true, "H:i") . 'Uhr';
         } else {
             $event['date'] = $this->getNiceDateTime($e['start'], "m-d-y", true, "H:i") . " - " . $this->getNiceDateTime($e['end'], "m-d-y", true, "H:i");
         }
     }
     return $event;
 }
示例#10
0
if ($path_info == '/notify_feed/feed.rss') {
    $type = 'RSS2.0';
} else {
    if ($path_info == '/notify_feed/feed.atom') {
        $type = 'ATOM1.0';
    } else {
        header('HTTP/1.0 404 Not Found');
        exit;
    }
}
if (!isset($_SERVER["PHP_AUTH_USER"]) or !OCP\User::checkPassword($uid = $_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) {
    header('WWW-Authenticate: Basic realm="ownCloud Login"');
    header('HTTP/1.0 401 Unauthorized');
    exit;
}
$lang = OC_Preferences::getValue($uid, 'core', 'lang', OC_L10N::findLanguage());
$l = OC_L10N::get('notify', $lang);
//TODO: use different feed creator library (like Zend_Feed) and switch html flag to true
$notifications = OC_Notify::getNotifications($uid, 50, $lang, false);
$baseAddress = (isset($_SERVER["HTTPS"]) ? 'https://' : 'http://') . $_SERVER["SERVER_NAME"];
$rssURI = $baseAddress . $baseuri . 'feed.rss';
$atomURI = $baseAddress . $baseuri . 'feed.atom';
$feed = new UniversalFeedCreator();
$feed->title = $l->t('ownCloud notifications');
$feed->description = $l->t('ownCloud notification stream of the user "%s".', array($uid));
$feed->link = $baseAddress . OC::$WEBROOT;
$feed->syndicationURL = $baseAddress . $_SERVER["PHP_SELF"];
$feed->image = new FeedImage();
$feed->image->title = 'ownCloud';
$feed->image->url = $baseAddress . OCP\Util::imagePath('core', 'logo-inverted.png');
$feed->image->link = $feed->link;
示例#11
0
$defaults = new OC_Defaults();
// initialize themable default strings and urls
// Highlight navigation entry
OC_Util::addScript('settings', 'personal');
OC_Util::addStyle('settings', 'settings');
OC_Util::addScript('3rdparty', 'chosen/chosen.jquery.min');
OC_Util::addStyle('3rdparty', 'chosen');
\OC_Util::addScript('files', 'jquery.fileupload');
if (\OC_Config::getValue('enable_avatars', true) === true) {
    \OC_Util::addScript('3rdparty/Jcrop', 'jquery.Jcrop.min');
    \OC_Util::addStyle('3rdparty/Jcrop', 'jquery.Jcrop.min');
}
OC_App::setActiveNavigationEntry('personal');
$storageInfo = OC_Helper::getStorageInfo('/');
$email = OC_Preferences::getValue(OC_User::getUser(), 'settings', 'email', '');
$userLang = OC_Preferences::getValue(OC_User::getUser(), 'core', 'lang', OC_L10N::findLanguage());
$languageCodes = OC_L10N::findAvailableLanguages();
//check if encryption was enabled in the past
$enableDecryptAll = OC_Util::encryptedFiles();
// array of common languages
$commonlangcodes = array('en', 'es', 'fr', 'de', 'de_DE', 'ja_JP', 'ar', 'ru', 'nl', 'it', 'pt_BR', 'pt_PT', 'da', 'fi_FI', 'nb_NO', 'sv', 'zh_CN', 'ko');
$languageNames = (include 'languageCodes.php');
$languages = array();
$commonlanguages = array();
foreach ($languageCodes as $lang) {
    $l = OC_L10N::get('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]);
示例#12
0
*
* @author Xavier Beurois
* @copyright 2012 Xavier Beurois www.djazz-lab.net
* 
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either 
* version 3 of the License, or any later version.
* 
* This library 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 Lesser General Public 
* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
* 
*/
require_once '../../../lib/base.php';
OC_JSON::checkLoggedIn();
OC_JSON::checkAppEnabled('storage_charts');
$l = new OC_L10N('storage_charts', OC_L10N::findLanguage(array('en', 'fr')));
// Update and save the new configuration
if (is_numeric($_POST['s']) && in_array($_POST['k'], array('hu_size', 'hu_size_hus'))) {
    OC_DLStCharts::setUConfValue($_POST['k'], $_POST['s']);
    if (strcmp($_POST['k'], 'hu_size') == 0) {
        OC_JSON::encodedPrint(array('r' => OC_DLStChartsLoader::loadChart('clines_usse', $l)));
    } else {
        OC_JSON::encodedPrint(array('r' => OC_DLStChartsLoader::loadChart('chisto_us', $l)));
    }
}
示例#13
0
        ?>
"><?php 
        p($additionalparams['title']);
        ?>
</a>
                <?php 
    } else {
        p($additionalparams['title']);
    }
    ?>
                </h2>
        <?php 
}
// show date only if there are news
if (isset($additionalparams['title']) && $additionalparams['title'] != "" && isset($additionalparams['pubdate']) && $additionalparams['pubdate'] != "") {
    if (OC_L10N::findLanguage() == "de" || OC_L10N::findLanguage() == "de_DE") {
        ?>

                <div class='ocDashboard newsreader date'><?php 
        p(date("d.m.y", $additionalparams['pubdate']));
        ?>
 - <?php 
        print_unescaped(date("G:i", $additionalparams['pubdate']));
        ?>
 Uhr</div>

            <?php 
    } else {
        ?>

                <div class='ocDashboard newsreader date'><?php 
示例#14
0
* You should have received a copy of the GNU Affero General Public 
* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
* 
*/
// 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;
}