/**
* Get a list of the available menus.
*
* @param int $clientId The client id
*
* @return array
*
* @since 1.6
*/
public static function menus($clientId = 0)
{
$key = serialize($clientId);
if (!isset(static::$menus[$key])) {
$db = Factory::getDbo();
$query = $db->getQuery(true)->select([$db->quoteName('id'), $db->quoteName('menutype', 'value'), $db->quoteName('title', 'text'), $db->quoteName('client_id')])->from($db->quoteName('#__menu_types'))->order([$db->quoteName('client_id'), $db->quoteName('title')]);
if (isset($clientId)) {
$clientId = (int) $clientId;
$query->where($db->quoteName('client_id') . ' = :client')->bind(':client', $clientId, ParameterType::INTEGER);
}
static::$menus[$key] = $db->setQuery($query)->loadObjectList();
}
return static::$menus[$key];
}