joomla-platform / libraries / joomla / html / html / contentlanguage.php

<?php
/**
 * @package     Joomla.Platform
 * @subpackage  HTML
 *
 * @copyright   Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE
 */

defined('JPATH_PLATFORM') or die;

/**
 * Utility class working with content language select lists
 *
 * @static
 * @package     Joomla.Platform
 * @subpackage  HTML
 * @since       11.1
 */
abstract class JHtmlContentLanguage
{
    /**
     * @var array   Cached array of the content language items.
     */
    protected static $items = null;

    /**
     * Get a list of the available content language items.
     *
     * @return  string
     * @since   11.1
     */
    public static function existing($all = false, $translate=false)
    {
        if (empty(self::$items)) {
            // Get the database object and a new query object.
            $db     = JFactory::getDBO();
            $query  = $db->getQuery(true);

            // Build the query.
            $query->select('a.lang_code AS value, a.title AS text, a.title_native');
            $query->from('#__languages AS a');
            $query->where('a.published >= 0');
            $query->order('a.title');

            // Set the query and load the options.
            $db->setQuery($query);
            self::$items = $db->loadObjectList();
            if ($all) {
                array_unshift(self::$items, new JObject(array('value'=>'*','text'=>$translate ? JText::alt('JALL','language') : 'JALL_LANGUAGE')));
            }

            // Detect errors
            if ($db->getErrorNum()) {
                JError::raiseWarning(500, $db->getErrorMsg());
            }
        }
        return self::$items;
    }
}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.