[ Index ]

PHP Cross Reference of Joomla 2.5.4 DE

title

Body

[close]

/administrator/components/com_languages/helpers/ -> multilangstatus.php (source)

   1  <?php
   2  /**
   3   * @copyright    Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
   4   * @license        GNU General Public License version 2 or later; see LICENSE.txt
   5   */
   6  
   7  // No direct access
   8  defined('_JEXEC') or die;
   9  
  10  /**
  11   * Multilang status helper.
  12   *
  13   * @package        Joomla.Administrator
  14   * @subpackage    com_languages
  15   * @since        1.7.1
  16   */
  17  abstract class multilangstatusHelper
  18  {
  19  	public static function getHomes()
  20      {
  21          // Check for multiple Home pages
  22          $db        = JFactory::getDBO();
  23          $query    = $db->getQuery(true);
  24          $query->select('COUNT(*)');
  25          $query->from($db->quoteName('#__menu'));
  26          $query->where('home = 1');
  27          $query->where('published = 1');
  28          $query->where('client_id = 0');
  29          $db->setQuery($query);
  30          return $db->loadResult();
  31      }
  32  
  33      /**
  34       * @since  1.7.1
  35       * @deprecated  3.0
  36       */
  37  	public static function getLangfilter()
  38      {
  39          JLog::add('multilangstatusHelper::getLangfilter() is deprecated. Use JLanguageMultilang::isEnabled() instead. ', JLog::WARNING, 'deprecated');
  40          return JLanguageMultilang::isEnabled();
  41      }
  42  
  43  	public static function getLangswitchers()
  44      {
  45          // Check if switcher is published
  46          $db            = JFactory::getDBO();
  47          $query        = $db->getQuery(true);
  48          $query->select('COUNT(*)');
  49          $query->from($db->quoteName('#__modules'));
  50          $query->where('module = ' . $db->quote('mod_languages'));
  51          $query->where('published = 1');
  52          $query->where('client_id = 0');
  53          $db->setQuery($query);
  54          return $db->loadResult();
  55      }
  56  
  57  	public static function getContentlangs()
  58      {
  59          // Check for published Content Languages
  60          $db        = JFactory::getDBO();
  61          $query    = $db->getQuery(true);
  62          $query->select('a.lang_code AS lang_code');
  63          $query->select('a.published AS published');
  64          $query->from('#__languages AS a');
  65          $db->setQuery($query);
  66          return $db->loadObjectList();
  67      }
  68  
  69  	public static function getSitelangs()
  70      {
  71          // check for published Site Languages
  72          $db        = JFactory::getDBO();
  73          $query    = $db->getQuery(true);
  74          $query->select('a.element AS element');
  75          $query->from('#__extensions AS a');
  76          $query->where('a.type = '.$db->Quote('language'));
  77          $query->where('a.client_id = 0');
  78          $db->setQuery($query);
  79          return $db->loadObjectList('element');
  80      }
  81  
  82  	public static function getHomepages()
  83      {
  84          // Check for Home pages languages
  85          $db        = JFactory::getDBO();
  86          $query    = $db->getQuery(true);
  87          $query->select('language');
  88          $query->from($db->quoteName('#__menu'));
  89          $query->where('home = 1');
  90          $query->where('published = 1');
  91          $query->where('client_id = 0');
  92          $db->setQuery($query);
  93          return $db->loadObjectList('language');
  94      }
  95  
  96  	public static function getStatus()
  97      {
  98          //check for combined status
  99          $db        = JFactory::getDBO();
 100          $query    = $db->getQuery(true);
 101  
 102          // Select all fields from the languages table.
 103          $query->select('a.*', 'l.home');
 104          $query->select('a.published AS published');
 105          $query->select('a.lang_code AS lang_code');
 106          $query->from('#__languages AS a');
 107  
 108          // Select the language home pages
 109          $query->select('l.home AS home');
 110          $query->select('l.language AS home_language');
 111          $query->join('LEFT', '#__menu  AS l  ON  l.language = a.lang_code AND l.home=1  AND l.language <> \'*\'' );
 112          $query->select('e.enabled AS enabled');
 113          $query->select('e.element AS element');
 114          $query->join('LEFT', '#__extensions  AS e ON e.element = a.lang_code');
 115          $query->where('e.client_id = 0');
 116          $query->where('e.enabled = 1');
 117          $query->where('e.state = 0');
 118  
 119          $db->setQuery($query);
 120          return $db->loadObjectList();
 121      }
 122  
 123  	public static function getContacts()
 124      {
 125          $db = JFactory::getDBO();
 126          $query = $db->getQuery(true);
 127          $query->select('u.name, count(cd.language) as counted, MAX(cd.language='.$db->quote('*').') as all_languages');
 128          $query->from('#__users AS u');
 129          $query->leftJOIN('#__contact_details AS cd ON cd.user_id=u.id');
 130          $query->leftJOIN('#__languages as l on cd.language=l.lang_code');
 131          $query->where('EXISTS (SELECT * from #__content as c where  c.created_by=u.id)');
 132          $query->where('(l.published=1 or cd.language='.$db->quote('*').')');
 133          $query->where('cd.published=1');
 134          $query->group('u.id');
 135          $query->having('(counted !=' . count(JLanguageHelper::getLanguages()).' OR all_languages=1)');
 136          $query->having('(counted !=1 OR all_languages=0)');
 137          $db->setQuery($query);
 138          return $db->loadObjectList();
 139      }
 140  }


Generated: Tue Apr 3 11:40:28 2012 Cross-referenced by PHPXref 0.7.1