static function fetchClassList($contentclass_version, $group_id, $asObject = true, $orderByArray = array('name')) { $versionCond = ''; $orderByClause = ''; $group_id = (int) $group_id; $classNameSqlFilter = eZContentClassName::sqlEmptyFilter(); if ($contentclass_version !== null) { $contentclass_version = (int) $contentclass_version; $versionCond = "AND class_group.contentclass_version='{$contentclass_version}'\n AND contentclass.version='{$contentclass_version}'\n"; } if ($orderByArray) { foreach (array_keys($orderByArray) as $key) { if (strcasecmp($orderByArray[$key], 'name') === 0) { $classNameSqlFilter = eZContentClassName::sqlAppendFilter('contentclass'); $orderByArray[$key] = $classNameSqlFilter['orderBy']; } } $orderByClause = 'ORDER BY ' . implode(', ', $orderByArray); } $db = eZDB::instance(); $sql = "SELECT contentclass.* {$classNameSqlFilter['nameField']}\n FROM ezcontentclass contentclass, ezcontentclass_classgroup class_group {$classNameSqlFilter['from']}\n WHERE contentclass.id=class_group.contentclass_id\n {$versionCond}\n AND class_group.group_id='{$group_id}' {$classNameSqlFilter['where']}\n {$orderByClause}"; $rows = $db->arrayQuery($sql); return eZPersistentObject::handleRows($rows, "eZContentClass", $asObject); }