/** * A method to return an array of account IDs of the account(s) that * should "own" any audit trail entries for this entity type; these * are NOT related to the account ID of the currently active account * (which is performing some kind of action on the entity), but is * instead related to the type of entity, and where in the account * heirrachy the entity is located. * * @return array An array containing up to three indexes: * - "OA_ACCOUNT_ADMIN" or "OA_ACCOUNT_MANAGER": * Contains the account ID of the manager account * that needs to be able to see the audit trail * entry, or, the admin account, if the entity * is a special case where only the admin account * should see the entry. * - "OA_ACCOUNT_ADVERTISER": * Contains the account ID of the advertiser account * that needs to be able to see the audit trail * entry, if such an account exists. * - "OA_ACCOUNT_TRAFFICKER": * Contains the account ID of the trafficker account * that needs to be able to see the audit trail * entry, if such an account exists. */ function getOwningAccountIds() { // Campaign trackers don't have an account_id, get it from // the parent tracker (stored in the "trackers" table) using // the "trackerid" key -- note, this could equally be done // via the parent campaign, but the end result is the same return parent::getOwningAccountIds('trackers', 'trackerid'); }
/** * A private method to return the account ID of the * account that should "own" audit trail entries for * this entity type; NOT related to the account ID * of the currently active account performing an * action. * * @return integer The account ID to insert into the * "account_id" column of the audit trail * database table. */ function getOwningAccountIds() { $accountType = OA_Permission::getAccountType(false); switch ($accountType) { case OA_ACCOUNT_ADMIN: return parent::_getOwningAccountIdsByAccountId($accountId = OA_Permission::getAccountId()); case OA_ACCOUNT_ADVERTISER: $parentTable = 'clients'; $parentKeyName = 'clientid'; break; case OA_ACCOUNT_TRAFFICKER: $parentTable = 'affiliates'; $parentKeyName = 'affiliateid'; break; case OA_ACCOUNT_MANAGER: $parentTable = 'agency'; $parentKeyName = 'agencyid'; break; } return parent::getOwningAccountIds($parentTable, $parentKeyName); }
/** * A method to return an array of account IDs of the account(s) that * should "own" any audit trail entries for this entity type; these * are NOT related to the account ID of the currently active account * (which is performing some kind of action on the entity), but is * instead related to the type of entity, and where in the account * heirrachy the entity is located. * * @return array An array containing up to three indexes: * - "OA_ACCOUNT_ADMIN" or "OA_ACCOUNT_MANAGER": * Contains the account ID of the manager account * that needs to be able to see the audit trail * entry, or, the admin account, if the entity * is a special case where only the admin account * should see the entry. * - "OA_ACCOUNT_ADVERTISER": * Contains the account ID of the advertiser account * that needs to be able to see the audit trail * entry, if such an account exists. * - "OA_ACCOUNT_TRAFFICKER": * Contains the account ID of the trafficker account * that needs to be able to see the audit trail * entry, if such an account exists. */ function getOwningAccountIds() { // Placement/zone associations are a special case, as both the // advertiser and the website accounts should be able to see // the audit entries, so the results of two calls need to be // merged $aAdvertiserAccountIds = array(); if (!empty($this->placement_id)) { // Placement/zone assocs don't have an account_id, get it from // the parent campaign (stored in the "campaigns" table) using // the "placement_id" key $aAdvertiserAccountIds = parent::getOwningAccountIds('campaigns', 'placement_id'); } $aWebsiteAccountIds = array(); if (!empty($this->zone_id)) { // Placement/zone assocs don't have an account_id, get it from // the parent zone (stored in the "zones" table) using // the "zone_id" key $aWebsiteAccountIds = parent::getOwningAccountIds('zones', 'zone_id'); } // Check that the manager account IDs match from the two results if (isset($aAdvertiserAccountIds[OA_ACCOUNT_MANAGER]) && isset($aWebsiteAccountIds[OA_ACCOUNT_MANAGER])) { if ($aAdvertiserAccountIds[OA_ACCOUNT_MANAGER] != $aWebsiteAccountIds[OA_ACCOUNT_MANAGER]) { $message = "Cannot locate owning account IDs for ad/zone association, as manager account IDs, " . "do not match, where ad ID was {$this->ad_id} and zone ID was {$this->zone_id}."; MAX::raiseError($message, PEAR_LOG_ERR); } } // Merge the arrays and return $aResult = array_merge($aAdvertiserAccountIds, $aWebsiteAccountIds); return $aResult; }
/** * A method to return an array of account IDs of the account(s) that * should "own" any audit trail entries for this entity type; these * are NOT related to the account ID of the currently active account * (which is performing some kind of action on the entity), but is * instead related to the type of entity, and where in the account * heirrachy the entity is located. * * @return array An array containing up to three indexes: * - "OA_ACCOUNT_ADMIN" or "OA_ACCOUNT_MANAGER": * Contains the account ID of the manager account * that needs to be able to see the audit trail * entry, or, the admin account, if the entity * is a special case where only the admin account * should see the entry. * - "OA_ACCOUNT_ADVERTISER": * Contains the account ID of the advertiser account * that needs to be able to see the audit trail * entry, if such an account exists. * - "OA_ACCOUNT_TRAFFICKER": * Contains the account ID of the trafficker account * that needs to be able to see the audit trail * entry, if such an account exists. */ function getOwningAccountIds() { // Banners don't have an account_id, get it from the parent // campaign (stored in the "campaigns" table) using the // "campaignid" key return parent::getOwningAccountIds('campaigns', 'campaignid'); }
/** * A method to return an array of account IDs of the account(s) that * should "own" any audit trail entries for this entity type; these * are NOT related to the account ID of the currently active account * (which is performing some kind of action on the entity), but is * instead related to the type of entity, and where in the account * heirrachy the entity is located. * * @return array An array containing up to three indexes: * - "OA_ACCOUNT_ADMIN" or "OA_ACCOUNT_MANAGER": * Contains the account ID of the manager account * that needs to be able to see the audit trail * entry, or, the admin account, if the entity * is a special case where only the admin account * should see the entry. * - "OA_ACCOUNT_ADVERTISER": * Contains the account ID of the advertiser account * that needs to be able to see the audit trail * entry, if such an account exists. * - "OA_ACCOUNT_TRAFFICKER": * Contains the account ID of the trafficker account * that needs to be able to see the audit trail * entry, if such an account exists. */ function getOwningAccountIds() { // Zones don't have an account_id, get it from the parent // website account (stored in the "affiliates" table) using // the "affiliateid" key return parent::getOwningAccountIds('affiliates', 'affiliateid'); }
/** * A method to return an array of account IDs of the account(s) that * should "own" any audit trail entries for this entity type; these * are NOT related to the account ID of the currently active account * (which is performing some kind of action on the entity), but is * instead related to the type of entity, and where in the account * heirrachy the entity is located. * * @return array An array containing up to three indexes: * - "OA_ACCOUNT_ADMIN" or "OA_ACCOUNT_MANAGER": * Contains the account ID of the manager account * that needs to be able to see the audit trail * entry, or, the admin account, if the entity * is a special case where only the admin account * should see the entry. * - "OA_ACCOUNT_ADVERTISER": * Contains the account ID of the advertiser account * that needs to be able to see the audit trail * entry, if such an account exists. * - "OA_ACCOUNT_TRAFFICKER": * Contains the account ID of the trafficker account * that needs to be able to see the audit trail * entry, if such an account exists. */ function getOwningAccountIds() { // Campaigns don't have an account_id, get it from the parent // advertiser account (stored in the "clients" table) using // the "clientid" key return parent::getOwningAccountIds('clients', 'clientid'); }
/** * A method to return an array of account IDs of the account(s) that * should "own" any audit trail entries for this entity type; these * are NOT related to the account ID of the currently active account * (which is performing some kind of action on the entity), but is * instead related to the type of entity, and where in the account * heirrachy the entity is located. * * @return array An array containing up to three indexes: * - "OA_ACCOUNT_ADMIN" or "OA_ACCOUNT_MANAGER": * Contains the account ID of the manager account * that needs to be able to see the audit trail * entry, or, the admin account, if the entity * is a special case where only the admin account * should see the entry. * - "OA_ACCOUNT_ADVERTISER": * Contains the account ID of the advertiser account * that needs to be able to see the audit trail * entry, if such an account exists. * - "OA_ACCOUNT_TRAFFICKER": * Contains the account ID of the trafficker account * that needs to be able to see the audit trail * entry, if such an account exists. */ function getOwningAccountIds() { // A channel can be "owned" by a manager account, or // by an advertiser account if (!empty($this->affiliateid)) { // The channel is owned by an advertiser account, but // channels don't have an account_id, so get it from the // parent advertiser account (stored in the "affiliates" // table) using the "affiliateid" key return parent::getOwningAccountIds('affiliates', 'affiliateid'); } // The channel is owned by a manager account, but // channels don't have an account_id, so get it from the // parent manager account (stored in the "agency" table) using // the "agencyid" key return parent::getOwningAccountIds('agency', 'agencyid'); }
/** * A method to return an array of account IDs of the account(s) that * should "own" any audit trail entries for this entity type; these * are NOT related to the account ID of the currently active account * (which is performing some kind of action on the entity), but is * instead related to the type of entity, and where in the account * heirrachy the entity is located. * * @return array An array containing up to three indexes: * - "OA_ACCOUNT_ADMIN" or "OA_ACCOUNT_MANAGER": * Contains the account ID of the manager account * that needs to be able to see the audit trail * entry, or, the admin account, if the entity * is a special case where only the admin account * should see the entry. * - "OA_ACCOUNT_ADVERTISER": * Contains the account ID of the advertiser account * that needs to be able to see the audit trail * entry, if such an account exists. * - "OA_ACCOUNT_TRAFFICKER": * Contains the account ID of the trafficker account * that needs to be able to see the audit trail * entry, if such an account exists. */ function getOwningAccountIds() { // Delivery limitations don't have an account_id, get it from // the parent banner (stored in the "banners" table) using // the "bannerid" key return parent::getOwningAccountIds('banners', 'bannerid'); }
/** * A method to return an array of account IDs of the account(s) that * should "own" any audit trail entries for this entity type; these * are NOT related to the account ID of the currently active account * (which is performing some kind of action on the entity), but is * instead related to the type of entity, and where in the account * heirrachy the entity is located. * * @return array An array containing up to three indexes: * - "OA_ACCOUNT_ADMIN" or "OA_ACCOUNT_MANAGER": * Contains the account ID of the manager account * that needs to be able to see the audit trail * entry, or, the admin account, if the entity * is a special case where only the admin account * should see the entry. * - "OA_ACCOUNT_ADVERTISER": * Contains the account ID of the advertiser account * that needs to be able to see the audit trail * entry, if such an account exists. * - "OA_ACCOUNT_TRAFFICKER": * Contains the account ID of the trafficker account * that needs to be able to see the audit trail * entry, if such an account exists. */ function getOwningAccountIds() { // Variables don't have an account_id, get it from the // parent tracker (stored in the "trackers" table) using // the "trackerid" key return parent::getOwningAccountIds('trackers', 'trackerid'); }
/** * A method to return an array of account IDs of the account(s) that * should "own" any audit trail entries for this entity type; these * are NOT related to the account ID of the currently active account * (which is performing some kind of action on the entity), but is * instead related to the type of entity, and where in the account * heirrachy the entity is located. * * @return array An array containing up to three indexes: * - "OA_ACCOUNT_ADMIN" or "OA_ACCOUNT_MANAGER": * Contains the account ID of the manager account * that needs to be able to see the audit trail * entry, or, the admin account, if the entity * is a special case where only the admin account * should see the entry. * - "OA_ACCOUNT_ADVERTISER": * Contains the account ID of the advertiser account * that needs to be able to see the audit trail * entry, if such an account exists. * - "OA_ACCOUNT_TRAFFICKER": * Contains the account ID of the trafficker account * that needs to be able to see the audit trail * entry, if such an account exists. */ function getOwningAccountIds() { // Extra "affiliate" info doesn't have an account_id, get it // from the parent advertiser account (stored in the "affiliates" // table) using the "affiliateid" key return parent::getOwningAccountIds('affiliates', 'affiliateid'); }