Esempio n. 1
0
 /**
  * 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;
 }