/**
  * 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;
 }
Ejemplo n.º 4
0
 /**
  * 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');
 }
Ejemplo n.º 5
0
 /**
  * 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');
 }
Ejemplo n.º 6
0
 /**
  * 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');
 }
Ejemplo n.º 7
0
 /**
  * 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');
 }
Ejemplo n.º 8
0
 /**
  * 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');
 }
Ejemplo n.º 9
0
 /**
  * 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');
 }
Ejemplo n.º 10
0
 /**
  * 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');
 }