Back to ContentLanguage class

Method existing

public static array
existing
(mixed $all = false, mixed $translate = false)
Get a list of the available content language items.
Parameters
  • bool $all True to include All (*)
  • bool $translate True to translate All
Returns
  • array
Since
  • 1.6
-
  • \Joomla\CMS\Form\Field\ContentlanguageField

Method existing - Source code

/**
 * Get a list of the available content language items.
 *
 * @param   boolean  $all        True to include All (*)
 * @param   boolean  $translate  True to translate All
 *
 * @return  array
 *
 * @see     \Joomla\CMS\Form\Field\ContentlanguageField
 * @since   1.6
 */
public static function existing($all = false, $translate = false)
{
    if (empty(static::$items)) {
        // Get the database object and a new query object.
        $db = Factory::getDbo();
        $query = $db->getQuery(true);
        // Build the query.
        $query->select([$db->quoteName('a.lang_code', 'value'), $db->quoteName('a.title', 'text'), $db->quoteName('a.title_native')])->from($db->quoteName('#__languages', 'a'))->where($db->quoteName('a.published') . ' >= 0')->order($db->quoteName('a.title'));
        // Set the query and load the options.
        $db->setQuery($query);
        static::$items = $db->loadObjectList();
    }
    if ($all) {
        $all_option = array(new CMSObject(array('value' => '*', 'text' => $translate ? Text::alt('JALL', 'language') : 'JALL_LANGUAGE')));
        return array_merge($all_option, static::$items);
    } else {
        return static::$items;
    }
}