/** * Return all publications as an array of Publication objects. * * @param string $p_name * @param int $p_aliasId * @param array $p_sqlOptions * * @return array */ public static function GetPublications($p_name = null, $p_aliasId = null, $p_sqlOptions = null) { global $g_ado_db; if (is_null($p_sqlOptions)) { $p_sqlOptions = array(); } if (!isset($p_sqlOptions["ORDER BY"])) { $p_sqlOptions["ORDER BY"] = array("Name" => "ASC"); } $tmpPub = new Publication(); $columns = $tmpPub->getColumnNames(true); $queryStr = 'SELECT ' . implode(',', $columns) . ', Aliases.Name as Alias' . ', URLTypes.Name as URLType' . ', Languages.OrigName as NativeName' . ' FROM Publications, Languages, Aliases, URLTypes' . ' WHERE Publications.IdDefaultAlias = Aliases.Id ' . ' AND Publications.IdURLType = URLTypes.Id ' . ' AND Publications.IdDefaultLanguage = Languages.Id '; if (is_string($p_name)) { $queryStr .= " AND Publications.Name=" . $g_ado_db->escape($p_name); } if (is_numeric($p_aliasId)) { $queryStr .= " AND Publications.IdDefaultAlias={$p_aliasId}"; } $queryStr = DatabaseObject::ProcessOptions($queryStr, $p_sqlOptions); $publications = DbObjectArray::Create('Publication', $queryStr); return $publications; }