コード例 #1
1
ファイル: helper.php プロジェクト: thangredweb/redCORE
 /**
  * Function for getting the list of languages
  *
  * @return	array  Language list
  */
 public static function getList()
 {
     $app = JFactory::getApplication();
     $languages = JLanguageHelper::getLanguages();
     $db = JFactory::getDbo();
     $Itemid = $app->input->getInt('Itemid', 0);
     $uri = new JURI(Juri::current());
     $uri->delVar('lang');
     $uri->delVar('Itemid');
     $location = htmlspecialchars($uri->getQuery());
     if (!empty($location)) {
         $location .= '&';
     }
     if (!$Itemid) {
         $active = $app->getMenu()->getActive();
         if ($active) {
             $Itemid = $active->id;
         }
     }
     // For every language we load menu items language specific alias and params
     foreach ($languages as $i => $language) {
         $db->forceLanguageTranslation = $language->lang_code;
         RMenu::resetJoomlaMenuItems();
         $db->forceLanguageTranslation = false;
         $languages[$i]->active = $language->lang_code == JFactory::getLanguage()->getTag();
         $languages[$i]->link = RRoute::_('index.php?' . $location . 'lang=' . $language->sef . ($Itemid > 0 ? '&Itemid=' . $Itemid : ''));
     }
     // After we are done we reset it the way it was
     RMenu::resetJoomlaMenuItems();
     return $languages;
 }
コード例 #2
1
function loadMultilangData($prepareElementCallback)
{
    $languages = JLanguageHelper::getLanguages();
    $app = JApplication::getInstance('site');
    $menu = $app->getMenu();
    $config = JFactory::getConfig();
    $sef = $config->get('sef', 0);
    $sefRewrite = $config->get('sef_rewrite', 0);
    $defaultLangCode = JFactory::getLanguage()->getDefault();
    $websites = array();
    //$websites['*'] = $menu->getDefault('*'); // TODO add?
    $languageFilterEnabled = JPluginHelper::isEnabled('system', 'languagefilter');
    if (!$languageFilterEnabled || $sef != '1') {
        // TODO check also if sef is enabled
        return $websites;
    }
    $oldLanguageFilterValue = $app->setLanguageFilter(true);
    // necessary that $menu->getDefault() works
    foreach ($languages as $language) {
        $langCode = $language->lang_code;
        $default = $menu->getDefault($langCode);
        if ($default && $default->language == $langCode) {
            $websites[$langCode] = $prepareElementCallback($language, $langCode, $defaultLangCode, $sefRewrite);
        }
    }
    $app->setLanguageFilter($oldLanguageFilterValue);
    return $websites;
}
コード例 #3
1
ファイル: helper.php プロジェクト: NavaINT1876/ccustoms
 /**
  * Get an HTML select list of the available languages.
  *
  * @return	string
  */
 public static function getLanguageList()
 {
     $languages = array();
     $languages = JLanguageHelper::createLanguageList(null, JPATH_ADMINISTRATOR, false, true);
     array_unshift($languages, JHtml::_('select.option', '', JText::_('JDEFAULT')));
     return JHtml::_('select.genericlist', $languages, 'lang', ' class="inputbox"', 'value', 'text', null);
 }
コード例 #4
0
 /**
  * @todo Implement testDetectLanguage()..
  */
 public function testDetectLanguage()
 {
     // This method returns the language that is active or which is by default
     $langCompareEqual = 'en-GB';
     $langCompareNotEqual = 'es-ES';
     $help = new JLanguageHelper();
     $lang = $help->detectLanguage();
     // in this case, returns default language
     // Todo impossible to verify this test in console test  because joomla cannot detect browser language
     /*        $this->assertEquals(
                     $langCompareEqual,
                     $lang
             );*/
     $this->assertNotEquals($langCompareNotEqual, $lang);
 }
コード例 #5
0
ファイル: copyable.php プロジェクト: kedweber/com_moyo
 /**
  * @param KCommandContext $context
  */
 public function _actionCopy(KCommandContext $context)
 {
     foreach (KRequest::get('get.id', 'raw') as $item_id) {
         $this->count = 1;
         $items = array();
         $languages = JLanguageHelper::getLanguages();
         $model_identifier = clone $context->caller->getIdentifier();
         $model_identifier->path = array('model');
         $model_identifier->name = KInflector::pluralize($model_identifier->name);
         $isTranslatable = KService::get($model_identifier)->getTable()->hasBehavior('translatable');
         if ($isTranslatable) {
             foreach ($languages as $language) {
                 JFactory::getLanguage()->setLanguage($language->lang_code);
                 $item = $this->getService($model_identifier)->id($item_id)->getItem();
                 if ($item->original) {
                     $this->original_language = $language->lang_code;
                     $original = $item;
                 } else {
                     $items[$language->lang_code] = $item;
                 }
             }
         }
         JFactory::getLanguage()->setLanguage($this->original_language);
         $id = $this->_copyOriginal($original);
         if ($isTranslatable) {
             $this->_updateLanguages($id, $items);
         }
     }
 }
コード例 #6
0
 public function loadHomepages()
 {
     $app = JFactory::getApplication();
     if ($app->isAdmin()) {
         return;
     }
     // store default links in each language
     $defaultLanguage = shGetDefaultLang();
     jimport('joomla.language.helper');
     $languages = JLanguageHelper::getLanguages();
     $menu = JFactory::getApplication()->getMenu();
     foreach ($languages as $language) {
         $menuItem = $menu->getDefault($language->lang_code);
         if (!empty($menuItem)) {
             $this->homeLinks[$language->lang_code] = $this->_prepareLink($menuItem, $languages);
         }
     }
     // save default link
     $this->homeLink = $this->homeLinks[$defaultLanguage];
     // find about the "All" languages home link
     $menuItem = $menu->getDefault('*');
     if (!empty($menuItem)) {
         $this->allLangHomeLink = $this->_prepareLink($menuItem, $languages);
     }
 }
コード例 #7
0
	protected function getInput()
	{
		$this->params = $this->element->attributes();

		$size = (int) $this->get('size');
		$multiple = $this->get('multiple');
		$client = $this->get('client', 'SITE');

		jimport('joomla.language.helper');
		$langs = JLanguageHelper::createLanguageList($this->value, constant('JPATH_' . strtoupper($client)), true);
		$options = array();
		foreach ($langs as $lang)
		{
			if ($lang['value'])
			{
				$option = new stdClass;
				$option->value = $lang['value'];
				$option->text = $lang['text'] . ' [' . $lang['value'] . ']';
				$options[] = $option;
			}
		}

		require_once JPATH_PLUGINS . '/system/nnframework/helpers/html.php';

		return nnHtml::selectlist($options, $this->name, $this->value, $this->id, $size, $multiple);
	}
コード例 #8
0
ファイル: helper.php プロジェクト: akksi/jcg
 public static function getList(&$params)
 {
     $lang = JFactory::getLanguage();
     $languages = JLanguageHelper::getLanguages();
     $db = JFactory::getDBO();
     $app = JFactory::getApplication();
     $query = $db->getQuery(true);
     $query->select('id');
     $query->select('language');
     $query->from($db->nameQuote('#__menu'));
     $query->where('home=1');
     $db->setQuery($query);
     $homes = $db->loadObjectList('language');
     foreach ($languages as $i => &$language) {
         // Do not display language without frontend UI
         if (!JLanguage::exists($language->lang_code)) {
             unset($languages[$i]);
         } elseif (!isset($homes[$language->lang_code])) {
             unset($languages[$i]);
         } else {
             if ($app->getLanguageFilter()) {
                 $language->active = $language->lang_code == $lang->getTag();
                 if ($app->getCfg('sef') == '1') {
                     $itemid = isset($homes[$language->lang_code]) ? $homes[$language->lang_code]->id : $homes['*']->id;
                     $language->link = JRoute::_('index.php?lang=' . $language->sef . '&Itemid=' . $itemid);
                 } else {
                     $language->link = 'index.php?lang=' . $language->sef;
                 }
             } else {
                 $language->link = 'index.php';
             }
         }
     }
     return $languages;
 }
コード例 #9
0
ファイル: languages.php プロジェクト: jtresca/nysurveyor
 function getInput($name, $id, $value, $params, $children, $j15 = 0)
 {
     $this->params = $params;
     $size = $this->def('size');
     $multiple = $this->def('multiple');
     $client = $this->def('client', 'SITE');
     $control = $name . '';
     $attribs = 'class="inputbox"';
     if ($multiple) {
         if (!is_array($value)) {
             $value = explode(',', $value);
         }
         $attribs .= ' multiple="multiple"';
         $control .= '[]';
     }
     jimport('joomla.language.helper');
     $options = JLanguageHelper::createLanguageList($value, constant('JPATH_' . strtoupper($client)), true);
     foreach ($options as $i => $option) {
         if ($option['value']) {
             $options[$i]['text'] = $option['text'] . ' [' . $option['value'] . ']';
         }
     }
     if ($size) {
         $attribs .= ' size="' . $size . '"';
     } else {
         $attribs .= ' size="' . (count($options) > 10 ? 10 : count($options)) . '"';
     }
     $list = JHTML::_('select.genericlist', $options, $control, $attribs, 'value', 'text', $value, $id);
     return $list;
 }
コード例 #10
0
ファイル: language.php プロジェクト: affiliatelk/ecc
 public function parseLang($vars)
 {
     if (Mijosef::getConfig()->multilang == 0) {
         return;
     }
     if (empty($vars['lang'])) {
         $lang = JRequest::getWord('lang', '');
         if (empty($lang)) {
             return;
         }
         $vars['lang'] = $lang;
     }
     $languages = JLanguageHelper::getLanguages('sef');
     $lang_code = $languages[$vars['lang']]->lang_code;
     // if current language, don't bother
     if ($lang_code == JFactory::getLanguage()->getTag()) {
         //self::checkHomepage($vars['lang']);
         return;
     }
     // Create a cookie
     $conf = JFactory::getConfig();
     $cookie_domain = $conf->get('config.cookie_domain', '');
     $cookie_path = $conf->get('config.cookie_path', '/');
     setcookie(JUtility::getHash('language'), $lang_code, time() + 365 * 86400, $cookie_path, $cookie_domain);
     // set the request var
     JRequest::setVar('language', $lang_code);
     // set current language
     jimport('joomla.language.language');
     $conf = JFactory::getConfig();
     $debug = $conf->get('debug_lang');
     $lang = JLanguage::getInstance($lang_code, $debug);
     JFactory::$language = $lang;
     self::$_lang = $vars['lang'];
 }
コード例 #11
0
ファイル: browser.php プロジェクト: thangredweb/redCORE
 /**
  * Get Uri
  *
  * @param   string  $url  URL
  *
  * @return  JUri
  */
 public function getUri($url = 'SERVER')
 {
     static $uriArray = array();
     if (!array_key_exists($url, $uriArray)) {
         // This will enable both SEF and non-SEF URI to be parsed properly
         $router = clone JRouter::getInstance('site');
         $uri = clone JUri::getInstance($url);
         $langCode = JLanguageHelper::detectLanguage();
         $lang = $uri->getVar('lang', $langCode);
         $uri->setVar('lang', $lang);
         $sefs = JLanguageHelper::getLanguages('lang_code');
         if (isset($sefs[$lang])) {
             $lang = $sefs[$lang]->sef;
             $uri->setVar('lang', $lang);
         }
         $router->setVars(array(), false);
         $query = $router->parse($uri);
         $query = array_merge($query, $uri->getQuery(true));
         $uri->setQuery($query);
         // We are removing format because of default value is csv if present and if not set
         // and we are never going to remember csv page in a browser history anyway
         $uri->delVar('format');
         $uriArray[$url] = $uri;
     }
     return $uriArray[$url];
 }
コード例 #12
0
ファイル: language.php プロジェクト: akksi/jcg
 /**
  * Method to get the field options.
  *
  * @return	array	The field option objects.
  * @since	1.6
  */
 protected function getOptions()
 {
     // Initialise variables.
     $app = JFactory::getApplication();
     // Detect the native language.
     $native = JLanguageHelper::detectLanguage();
     if (empty($native)) {
         $native = 'en-GB';
     }
     // Get a forced language if it exists.
     $forced = $app->getLocalise();
     if (!empty($forced['language'])) {
         $native = $forced['language'];
     }
     // If a language is already set in the session, use this instead
     $session = JFactory::getSession()->get('setup.options', array());
     if (!empty($session['language'])) {
         $native = $session['language'];
     }
     // Get the list of available languages.
     $options = JLanguageHelper::createLanguageList($native);
     if (!$options || JError::isError($options)) {
         $options = array();
     }
     // Set the default value from the native language.
     $this->value = $native;
     // Merge any additional options in the XML definition.
     $options = array_merge(parent::getOptions(), $options);
     return $options;
 }
コード例 #13
0
ファイル: association.php プロジェクト: eshiol/joomla-cms
 /**
  * Method to display in frontend the associations for a given article
  *
  * @param   integer  $id  Id of the article
  *
  * @return  array   An array containing the association URL and the related language object
  *
  * @since  __DEPLOY_VERSION__
  */
 public static function displayAssociations($id)
 {
     $return = array();
     if ($associations = self::getAssociations($id)) {
         $levels = JFactory::getUser()->getAuthorisedViewLevels();
         $languages = JLanguageHelper::getLanguages();
         foreach ($languages as $language) {
             // Do not display language when no association
             if (empty($associations[$language->lang_code])) {
                 continue;
             }
             // Do not display language without frontend UI
             if (!array_key_exists($language->lang_code, JLanguageMultilang::getSiteLangs())) {
                 continue;
             }
             // Do not display language without specific home menu
             if (!array_key_exists($language->lang_code, JLanguageMultilang::getSiteHomePages())) {
                 continue;
             }
             // Do not display language without authorized access level
             if (isset($language->access) && $language->access && !in_array($language->access, $levels)) {
                 continue;
             }
             $return[$language->lang_code] = array('item' => $associations[$language->lang_code], 'language' => $language);
         }
     }
     return $return;
 }
コード例 #14
0
ファイル: language.php プロジェクト: kosir/wp-pipes
 /**
  * Method to get the field options.
  *
  * @return  array  The field option objects.
  *
  * @since   11.1
  */
 protected function getOptions()
 {
     // Initialize some field attributes.
     $client = (string) $this->element['client'];
     if ($client != 'site' && $client != 'administrator') {
         $client = 'site';
     }
     // Merge any additional options in the XML definition.
     $options = array_merge(parent::getOptions(), JLanguageHelper::createLanguageList($this->value, constant('JPATH_' . strtoupper($client)), true, true));
     // Set the default value active language
     if ($langParams = JComponentHelper::getParams('com_languages')) {
         switch ((string) $this->value) {
             case 'site':
             case 'frontend':
             case '0':
                 $this->value = $langParams->get('site', 'en-GB');
                 break;
             case 'admin':
             case 'administrator':
             case 'backend':
             case '1':
                 $this->value = $langParams->get('administrator', 'en-GB');
                 break;
             case 'active':
             case 'auto':
                 $lang = JFactory::getLanguage();
                 $this->value = $lang->getTag();
                 break;
             default:
                 break;
         }
     }
     return $options;
 }
コード例 #15
0
ファイル: multilang.php プロジェクト: smhnaji/sdnet
 /**
  * Method to get the field input markup.
  *
  * @return  string  The field input markup.
  *
  * @since   11.1
  */
 protected function getInput()
 {
     $html = array();
     $thisid = $this->id;
     $values = $this->value;
     $class = $this->class;
     $languages = JLanguageHelper::getLanguages();
     foreach ($languages as $lang) {
         $language = new JLanguage($lang->lang_code);
         $this->class = $class . ($language->isRTL() ? ' rtl' : ' ltr');
         $this->element['label'] = $lang->title;
         $this->name = 'jform[' . $this->fieldname . '][' . $lang->lang_code . ']';
         $this->id = $thisid . '_' . $lang->lang_code;
         $this->value = array_key_exists($lang->lang_code, $values) ? $values[$lang->lang_code] : '';
         $html[] = '<div class="control-group">';
         $html[] = '<div class="control-label">';
         $html[] = parent::getLabel();
         $html[] = '</div>';
         $html[] = '<div class="controls">';
         $html[] = parent::getInput();
         $html[] = '</div>';
         $html[] = '</div>';
     }
     return implode($html);
 }
コード例 #16
0
ファイル: language.php プロジェクト: Tommar/remate
 /**
  * Method to get the field options.
  *
  * @return  array  The field option objects.
  *
  * @since   1.6
  */
 protected function getOptions()
 {
     $app = JFactory::getApplication();
     // Detect the native language.
     $native = JLanguageHelper::detectLanguage();
     if (empty($native)) {
         $native = 'en-GB';
     }
     // Get a forced language if it exists.
     $forced = $app->getLocalise();
     if (!empty($forced['language'])) {
         $native = $forced['language'];
     }
     // If a language is already set in the session, use this instead
     $model = new InstallationModelSetup();
     $options = $model->getOptions();
     if (isset($options['language'])) {
         $native = $options['language'];
     }
     // Get the list of available languages.
     $options = JLanguageHelper::createLanguageList($native);
     if (!$options || $options instanceof Exception) {
         $options = array();
     } else {
         usort($options, array($this, '_sortLanguages'));
     }
     // Set the default value from the native language.
     $this->value = $native;
     // Merge any additional options in the XML definition.
     $options = array_merge(parent::getOptions(), $options);
     return $options;
 }
コード例 #17
0
ファイル: language.php プロジェクト: joebushi/joomla
 /**
  * Method to get a list of options for a list input.
  *
  * @return	array		An array of JHtml options.
  */
 protected function _getOptions()
 {
     jimport('joomla.language.helper');
     $client = (string) $this->_element->attributes()->client;
     $options = array_merge(parent::_getOptions(), JLanguageHelper::createLanguageList($this->value, constant('JPATH_' . strtoupper($client)), true));
     return $options;
 }
コード例 #18
0
ファイル: view.html.php プロジェクト: Gskflute/joomla25
 function display($tpl = null)
 {
     JHTML::_('behavior.keepalive');
     require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_k2' . DS . 'models' . DS . 'categories.php';
     $model = new K2ModelCategories();
     $categories = $model->categoriesTree(NULL, false, false);
     $options = array();
     $options[] = JHTML::_('select.optgroup', JText::_('K2MART_CREATE_NEW_K2_CATEGORY'));
     $options[] = JHTML::_('select.option', 0, JText::_('K2MART_TYPE_CATEGORY_NAME'));
     $options[] = JHTML::_('select.optgroup', JText::_('K2MART_USE_EXISTING_K2_CATEGORY'));
     foreach ($categories as $category) {
         $options[] = JHTML::_('select.option', $category->value, $category->text);
     }
     $lists['category'] = JHTML::_('select.genericlist', $options, 'catid', 'class="inputbox"', 'value', 'text', 0);
     $vmLanguages = vmConfig::get('active_languages', array());
     if (count($vmLanguages) > 1) {
         jimport('joomla.language.helper');
         $languages = JLanguageHelper::createLanguageList(NULL, constant('JPATH_SITE'), true);
         foreach ($languages as $key => &$language) {
             if (!in_array($language['value'], $vmLanguages)) {
                 unset($languages[$key]);
             }
         }
         $lists['language'] = JHTML::_('select.genericlist', $languages, 'vmlang', '', 'value', 'text', NULL, 'vmlang');
     }
     $this->assignRef('lists', $lists);
     $this->loadHelper('html');
     K2martHTMLHelper::title('K2MART_VIRTUEMART_MIGRATOR');
     K2martHTMLHelper::toolbar();
     K2martHTMLHelper::subMenu();
     parent::display($tpl);
 }
コード例 #19
0
ファイル: Ezset.php プロジェクト: lyrasoft/lyrasoft.github.io
 /**
  * Detect is this page are frontpage?
  *
  * @return  boolean Is frontpage?
  */
 public static function isHome()
 {
     $langPath = null;
     $tag = null;
     $lang = \JFactory::getLanguage();
     // For multi language
     if (\JPluginHelper::isEnabled('system', 'languagefilter')) {
         $tag = $lang->getTag();
         $langCodes = \JLanguageHelper::getLanguages('lang_code');
         $langPath = $langCodes[$tag]->sef;
     }
     $uri = \JUri::getInstance();
     $root = $uri::root(true);
     // Get site route
     $route = StringHelper::substr($uri->getPath(), StringHelper::strlen($root));
     // Remove index.php
     $route = str_replace('index.php', '', $route);
     // If Multiple language enabled, we check first part of URI is language code or not.
     if ($langPath) {
         $params = ExtensionHelper::getParams('plg_system_languagefilter');
         if ($tag == $lang->getDefault() && $params->get('remove_default_prefix', 0)) {
             $langPath = '';
         }
         // If route equals lang path, means it is home route.
         if (trim($route, '/') == $langPath && !$uri->getVar('option')) {
             return true;
         }
     } else {
         if (!trim($route, '/') && !$uri->getVar('option')) {
             return true;
         }
     }
     return false;
 }
コード例 #20
0
ファイル: multilangstatus.php プロジェクト: 01J/skazkipronebo
 public static function getContacts()
 {
     $db = JFactory::getDbo();
     $query = $db->getQuery(true)->select('u.name, count(cd.language) as counted, MAX(cd.language=' . $db->quote('*') . ') as all_languages')->from('#__users AS u')->join('LEFT', '#__contact_details AS cd ON cd.user_id=u.id')->join('LEFT', '#__languages as l on cd.language=l.lang_code')->where('EXISTS (SELECT * from #__content as c where  c.created_by=u.id)')->where('(l.published=1 or cd.language=' . $db->quote('*') . ')')->where('cd.published=1')->group('u.id')->having('(counted !=' . count(JLanguageHelper::getLanguages()) . ' OR all_languages=1)')->having('(counted !=1 OR all_languages=0)');
     $db->setQuery($query);
     return $db->loadObjectList();
 }
コード例 #21
0
ファイル: icalevent.php プロジェクト: site4com/prometheus
 /**
  * Auto-populate the model state.
  *
  * Note. Calling getState in this method will result in recursion.
  *
  * @return  void
  * @since    3.0
  */
 protected function preprocessForm(JForm $form, $data, $group = 'jevents')
 {
     // Association content items
     $app = JFactory::getApplication();
     $assoc = false && JLanguageAssociations::isEnabled() && JFactory::getApplication()->isAdmin();
     if ($assoc) {
         $languages = JLanguageHelper::getLanguages('lang_code');
         $addform = new SimpleXMLElement('<form />');
         $fields = $addform->addChild('fields');
         $fields->addAttribute('name', 'associations');
         $fieldset = $fields->addChild('fieldset');
         $fieldset->addAttribute('name', 'item_associations');
         $fieldset->addAttribute('description', 'COM_JEVENTS_ITEM_ASSOCIATIONS_FIELDSET_DESC');
         $add = false;
         foreach ($languages as $tag => $language) {
             if (empty($data->language) || $tag != $data->language) {
                 $add = true;
                 $field = $fieldset->addChild('field');
                 $field->addAttribute('name', $tag);
                 $field->addAttribute('type', 'modal_article');
                 $field->addAttribute('language', $tag);
                 $field->addAttribute('label', $language->title);
                 $field->addAttribute('translate_label', 'false');
                 $field->addAttribute('edit', 'true');
                 $field->addAttribute('clear', 'true');
             }
         }
         if ($add) {
             $form->load($addform, false);
         }
     }
     parent::preprocessForm($form, $data, $group);
 }
コード例 #22
0
ファイル: xmap.php プロジェクト: b2un0/joomla-component-mapx
 /**
  * there is currently no fu***ing other way to get the short language code in Joomla :(
  *
  * @return string
  */
 public static function getLanguageCode()
 {
     if (is_null(self::$languageCode)) {
         $languages = JLanguageHelper::getLanguages('lang_code');
         self::$languageCode = $languages[JFactory::getLanguage()->getTag()]->sef;
     }
     return self::$languageCode;
 }
コード例 #23
0
ファイル: helper.php プロジェクト: joebushi/joomla
 /**
  * Get an HTML select list of the available languages.
  *
  * @return	string
  */
 public static function getLanguageList()
 {
     jimport('joomla.language.helper');
     $languages = array();
     $languages = JLanguageHelper::createLanguageList(null);
     array_unshift($languages, JHtml::_('select.option', '', JText::_('Default')));
     return JHtml::_('select.genericlist', $languages, 'lang', ' class="inputbox"', 'value', 'text', null);
 }
コード例 #24
0
ファイル: languages.php プロジェクト: ramdesh/joomla-platform
 public function fetchElement($name, $value, &$node, $control_name)
 {
     $client = $node->attributes('client');
     jimport('joomla.language.helper');
     $languages = JLanguageHelper::createLanguageList($value, constant('JPATH_' . strtoupper($client)), true);
     array_unshift($languages, JHtml::_('select.option', '', JText::_('JOPTION_SELECT_LANGUAGE')));
     return JHtml::_('select.genericlist', $languages, $control_name . '[' . $name . ']', array('id' => $control_name . $name, 'list.attr' => 'class="inputbox"', 'list.select' => $value));
 }
コード例 #25
0
ファイル: view.html.php プロジェクト: Gskflute/joomla25
 function display($tpl = null)
 {
     JHTML::_('core');
     $mainframe = JFactory::getApplication();
     $option = JRequest::getCmd('option');
     $view = JRequest::getCmd('view');
     $limit = $mainframe->getUserStateFromRequest("{$option}.{$view}.limit", 'limit', 15, 'int');
     $limitstart = $mainframe->getUserStateFromRequest("{$option}.{$view}.limitstart", 'limitstart', 0, 'int');
     $ordering = $mainframe->getUserStateFromRequest("{$option}.{$view}.ordering", 'filter_order', 'virtuemart_product_id', 'cmd');
     $orderingDir = $mainframe->getUserStateFromRequest("{$option}.{$view}.orderingDir", 'filter_order_Dir', 'DESC', 'word');
     $published = $mainframe->getUserStateFromRequest("{$option}.{$view}.published", 'published', '-1', 'cmd');
     $catid = $mainframe->getUserStateFromRequest("{$option}.{$view}.catid", 'catid', 0, 'int');
     $search = $mainframe->getUserStateFromRequest("{$option}.{$view}.search", 'search', '', 'string');
     $search = JString::strtolower($search);
     $model = $this->getModel('virtuemart');
     $model->setState('ordering', $ordering);
     $model->setState('orderingDir', $orderingDir);
     $model->setState('published', $published);
     $model->setState('catid', $catid);
     $model->setState('search', $search);
     $model->setState('limit', $limit);
     $model->setState('limitstart', $limitstart);
     $products = $model->getData();
     $this->assignRef('rows', $products);
     $total = $model->getTotal();
     jimport('joomla.html.pagination');
     $pagination = new JPagination($total, $limitstart, $limit);
     $this->assignRef('pagination', $pagination);
     $filters = array();
     $filters['search'] = $search;
     $filters['ordering'] = $ordering;
     $filters['orderingDir'] = $orderingDir;
     $options = array();
     $options[] = JHTML::_('select.option', -1, JText::_('K2MART_ANY'));
     $options[] = JHTML::_('select.option', 1, JText::_('K2MART_PUBLISHED'));
     $options[] = JHTML::_('select.option', 0, JText::_('K2MART_UNPUBLISHED'));
     $filters['published'] = JHTML::_('select.genericlist', $options, 'published', 'onchange="this.form.submit();"', 'value', 'text', $published);
     $filters['category'] = $model->getCategories();
     if (count(vmconfig::get('active_languages')) > 1) {
         $params = JComponentHelper::getParams('com_languages');
         $defaultLanguage = $params->get('site', 'en-GB');
         jimport('joomla.language.helper');
         $lang = $mainframe->getUserStateFromRequest("{$option}.{$view}.vmlang", 'vmlang', $defaultLanguage, 'string');
         $languages = JLanguageHelper::createLanguageList($defaultLanguage, constant('JPATH_SITE'), true);
         $activeVmLangs = vmconfig::get('active_languages');
         foreach ($languages as $k => &$joomlaLang) {
             if (!in_array($joomlaLang['value'], $activeVmLangs)) {
                 unset($languages[$k]);
             }
         }
         $filters['language'] = JHTML::_('select.genericlist', $languages, 'vmlang', 'onchange="this.form.submit();"', 'value', 'text', $lang, 'vmlang');
     }
     $this->assignRef('filters', $filters);
     $template = $mainframe->getTemplate();
     $this->assignRef('template', $template);
     parent::display($tpl);
 }
コード例 #26
0
	/**
	 * Test...
	 *
	 * @covers JLanguageHelper::detectLanguage
	 * @todo Implement testDetectLanguage().
	 *
	 * @return void
	 */
	public function testDetectLanguage()
	{
		$lang = JLanguageHelper::detectLanguage();

		// Since we're running in a CLI context we can only check the defualt value
		$this->assertNull(
			$lang
		);
	}
コード例 #27
0
 public static function getList(&$params)
 {
     $user = JFactory::getUser();
     $lang = JFactory::getLanguage();
     $app = JFactory::getApplication();
     $menu = $app->getMenu();
     // Get menu home items
     $homes = array();
     foreach ($menu->getMenu() as $item) {
         if ($item->home) {
             $homes[$item->language] = $item;
         }
     }
     // Load associations
     $assoc = isset($app->menu_associations) ? $app->menu_associations : 0;
     if ($assoc) {
         $active = $menu->getActive();
         if ($active) {
             $associations = MenusHelper::getAssociations($active->id);
         }
     }
     $levels = $user->getAuthorisedViewLevels();
     $languages = JLanguageHelper::getLanguages();
     // Filter allowed languages
     foreach ($languages as $i => &$language) {
         // Do not display language without frontend UI
         if (!JLanguage::exists($language->lang_code)) {
             unset($languages[$i]);
         } elseif (!isset($homes[$language->lang_code])) {
             unset($languages[$i]);
         } elseif (isset($language->access) && $language->access && !in_array($language->access, $levels)) {
             unset($languages[$i]);
         } else {
             $language->active = $language->lang_code == $lang->getTag();
             if ($app->getLanguageFilter()) {
                 if (isset($associations[$language->lang_code]) && $menu->getItem($associations[$language->lang_code])) {
                     $itemid = $associations[$language->lang_code];
                     if ($app->getCfg('sef') == '1') {
                         $language->link = JRoute::_('index.php?lang=' . $language->sef . '&Itemid=' . $itemid);
                     } else {
                         $language->link = 'index.php?lang=' . $language->sef . '&amp;Itemid=' . $itemid;
                     }
                 } else {
                     if ($app->getCfg('sef') == '1') {
                         $itemid = isset($homes[$language->lang_code]) ? $homes[$language->lang_code]->id : $homes['*']->id;
                         $language->link = JRoute::_('index.php?lang=' . $language->sef . '&Itemid=' . $itemid);
                     } else {
                         $language->link = 'index.php?lang=' . $language->sef;
                     }
                 }
             } else {
                 $language->link = JRoute::_('&Itemid=' . $homes['*']->id);
             }
         }
     }
     return $languages;
 }
コード例 #28
0
 /**
  * Fetch the language list element
  *
  * @param   string       $name          Element name
  * @param   string       $value         Element value
  * @param   JXMLElement  &$node         JXMLElement node object containing the settings for the element
  * @param   string       $control_name  Control name
  *
  * @return  string
  *
  * @deprecated    12.1   Use JFormFieldLanguage
  * @note    When updating note that JFormFieldLanguage has no s.
  * @since   11.1
  */
 public function fetchElement($name, $value, &$node, $control_name)
 {
     // Deprecation warning.
     JLog::add('JElementLanguages::fetchElement() is deprecated.', JLog::WARNING, 'deprecated');
     $client = $node->attributes('client');
     $languages = JLanguageHelper::createLanguageList($value, constant('JPATH_' . strtoupper($client)), true);
     array_unshift($languages, JHtml::_('select.option', '', JText::_('JOPTION_SELECT_LANGUAGE')));
     return JHtml::_('select.genericlist', $languages, $control_name . '[' . $name . ']', array('id' => $control_name . $name, 'list.attr' => 'class="inputbox"', 'list.select' => $value));
 }
コード例 #29
0
ファイル: helper.php プロジェクト: 01J/skazkipronebo
 /**
  * Get an HTML select list of the available languages.
  *
  * @return  string
  */
 public static function getLanguageList()
 {
     $languages = JLanguageHelper::createLanguageList(null, JPATH_ADMINISTRATOR, false, true);
     if (count($languages) <= 1) {
         return '';
     }
     array_unshift($languages, JHtml::_('select.option', '', JText::_('JDEFAULTLANGUAGE')));
     return JHtml::_('select.genericlist', $languages, 'lang', ' class="advancedSelect"', 'value', 'text', null);
 }
コード例 #30
0
ファイル: languagesef.php プロジェクト: sankam-nikolya/lptt
 /**
  * Method to get the field input markup.
  *
  * @return	string	The field input markup.
  * @since	1.6
  */
 protected function getInput()
 {
     $languageSef = array();
     $lang_codes = JLanguageHelper::getLanguages('lang_code');
     $languageSef[] = JHTML::_('select.option', '', '-' . JText::_('PLG_EASYLANGUAGE_SELECT_LANG') . '-');
     foreach ($lang_codes as $lang) {
         $languageSef[] = JHTML::_('select.option', $lang->sef, $lang->title);
     }
     return JHTML::_('select.genericlist', $languageSef, $this->name, '', 'value', 'text', $this->value);
 }