Publication::GetPublications PHP Method

GetPublications() public static method

Return all publications as an array of Publication objects.
public static GetPublications ( string $p_name = null, integer $p_aliasId = null, array $p_sqlOptions = null ) : array
$p_name string
$p_aliasId integer
$p_sqlOptions array
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;
    }

Usage Example

Exemplo n.º 1
0
/**
 * Check if the alias given is already in use.  If so, a user error message
 * is created.
 *
 * @param mixed $p_alias
 * 		Can be a string or an int.
 * @return void
 */
function camp_is_alias_conflicting($p_alias)
{
	global $ADMIN;

	if (!is_numeric($p_alias)) {
		// The alias given is a name, which means it doesnt exist yet.
		// Check if the name conflicts with any existing alias names.
		$aliases = Alias::GetAliases(null, null, $p_alias);
		$alias = array_pop($aliases);
		if ($alias) {
			$pubId = $alias->getPublicationId();
			$pubObj = new Publication($pubId);
			$pubLink = "<A HREF=\"/$ADMIN/pub/edit.php?Pub=$pubId\">". $pubObj->getName() ."</A>";
			$msg = getGS("The publication alias you specified conflicts with publication '$1'.", $pubLink);
			camp_html_add_msg($msg);
		}
	} else {
		// The alias given is a number, which means it already exists.
		// Check if the alias ID is already in use by another publication.
		$aliases = Alias::GetAliases($p_alias);
		$alias = array_pop($aliases);
		if ($alias) {
			$pubs = Publication::GetPublications(null, $alias->getId());
			if (count($pubs) > 0) {
				$pubObj = array_pop($pubs);
				$pubLink = "<A HREF=\"/$ADMIN/pub/edit.php?Pub=".$pubObj->getPublicationId().'">'. $pubObj->getName() ."</A>";
				$msg = getGS("The publication alias you specified conflicts with publication '$1'.", $pubLink);
				camp_html_add_msg($msg);
			}
		}
	}
}
All Usage Examples Of Publication::GetPublications