Esempio n. 1
0
function MAX_checkTracker($advertiserId, $trackerId)
{
    $allowed = false;
    if (MAX_checkGenericId($advertiserId) && MAX_checkGenericId($trackerId)) {
        if (OA_Permission::isAccount(OA_ACCOUNT_ADMIN)) {
            $allowed = count(Admin_DA::getTrackers(array('advertiser_id' => $advertiserId, 'tracker_id' => $trackerId)));
        } elseif (OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) {
            $allowed = count(Admin_DA::getTrackers(array('agency_id' => OA_Permission::getAgencyId(), 'advertiser_id' => $advertiserId, 'tracker_id' => $trackerId)));
        } elseif (OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
            $allowed = $advertiserId == OA_Permission::getEntityId() && count(Admin_DA::getTrackers(array('advertiser_id' => $advertiserId, 'tracker_id' => $trackerId)));
        }
    }
    return $allowed;
}
Esempio n. 2
0
 function generateJavascriptTrackerCode($trackerId)
 {
     $conf = $GLOBALS['_MAX']['CONF'];
     $variablemethod = 'default';
     $trackers = Admin_DA::getTrackers(array('tracker_id' => $trackerId), true);
     if (count($trackers)) {
         $variablemethod = $trackers[$trackerId]['variablemethod'];
     }
     $variables = Admin_DA::getVariables(array('trackerid' => $trackerId), true);
     $variablesQuerystring = '';
     $buffer = "<!--/*\n  *\n  *  OpenX JavaScript tracker code\n  *  - Generated with OpenX v" . OA_VERSION . "\n  *\n  *  To help prevent caching of the <noscript> beacon, if possible,\n  *  Replace %%RANDOM_NUMBER%% with a randomly generated number (or timestamp)\n  *\n  */-->\n";
     $varbuffer = '';
     if (!empty($variables)) {
         foreach ($variables as $id => $variable) {
             if (($variablemethod == 'default' || $variablemethod == 'js') && $variable['variablecode']) {
                 $varcode = stripslashes($variable['variablecode']);
                 $varbuffer .= "    {$varcode};\n";
             }
             $variablesQuerystring .= "&amp;{$variable['name']}=%%" . strtoupper($variable['name']) . "_VALUE%%";
         }
     }
     if (!empty($varbuffer)) {
         $varprefix = $conf['var']['prefix'];
         $buffer .= "\n<!--/*\n  *\n  *  In order for the adserver to track variables for this conversion,\n  *  they must be provided by the client.\n  *\n  *  Additional variables may be added, however they must be added\n  *  in the adserver as well before they will be logged.\n  *\n  *  The '%%VARIABLE_VALUE%%' should be replaced with the\n  *  actual values for this sale.\n  *\n  *  NOTE: In order to track variables from the <noscript> section,\n  *  the above replacement must be performed within the img tag as well.\n  *\n  *  The following values have been pre-configured in the adserver\n  *\n  */-->\n\n<script type='text/javascript'><!--//<![CDATA[\n";
         $buffer .= $varbuffer;
         $buffer .= "//]]>--></script>\n";
     }
     $buffer .= "\n<!--/*\n  *\n  *  Place this code at the top of your thank-you page, just after the <body> tag,\n  *  below any definitions of Javascript variables that need to be tracked.\n  *\n  */-->\n\n<script type='text/javascript'><!--//<![CDATA[\n    var {$varprefix}p=location.protocol=='https:'?'https:':'http:';\n    var {$varprefix}r=Math.floor(Math.random()*999999);\n    document.write (\"<\" + \"script language='JavaScript' \");\n    document.write (\"type='text/javascript' src='\"+{$varprefix}p);\n    document.write (\"" . MAX_commonConstructPartialDeliveryUrl($conf['file']['conversionjs']) . "\");\n    document.write (\"?trackerid={$trackerId}&amp;r=\"+{$varprefix}r+\"'><\" + \"\\/script>\");\n//]]>--></script><noscript>" . $this->_generateTrackerImageBeacon($trackerId) . "</noscript>";
     $buffer .= "\n";
     return $buffer;
 }
 /**
  * A private method to test to see if the current user has any trackers.
  *
  * @access private
  * @return boolean True if the current user has trackers, false otherwise.
  */
 function _hasTrackers()
 {
     if (OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
         $aParams = array('advertiser_id' => OA_Permission::getEntityId());
         $aTrackers = Admin_DA::getTrackers($aParams);
     } elseif (OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) {
         $aParams = array('agency_id' => OA_Permission::getEntityId());
         $aTrackers = Admin_DA::getTrackers($aParams);
     } elseif (OA_Permission::isAccount(OA_ACCOUNT_ADMIN)) {
         $aTrackers = Admin_DA::getTrackers(array());
     } elseif (OA_Permission::isAccount(OA_ACCOUNT_TRAFFICKER)) {
         $aTrackers = array();
         $aParams = array('publisher_id' => OA_Permission::getEntityId());
         $aPlacementZones = Admin_DA::getPlacementZones($aParams, false, 'placement_id');
         if (!empty($aPlacementZones)) {
             $aParams = array('placement_id' => implode(',', array_keys($aPlacementZones)));
             $aTrackers = array_merge($aTrackers, Admin_DA::getTrackers($aParams));
         }
         $aAdZones = Admin_DA::getAdZones($aParams, false, 'ad_id');
         if (!empty($aAdZones)) {
             $aParams = array('ad_id' => implode(',', array_keys($aAdZones)));
             $aTrackers = array_merge($aTrackers, Admin_DA::getTrackers($aParams));
         }
     }
     return !empty($aTrackers);
 }
Esempio n. 4
0
 function _duplicateTracker($aTracker, $checkUniqueNames = false)
 {
     $trackerId = $aTracker['tracker_id'];
     unset($aTracker['tracker_id']);
     if ($checkUniqueNames) {
         $aTrackers = Admin_DA::getTrackers(array('advertiser_id' => $aTracker['advertiser_id']));
         Admin_DA::_getUniqueName($aTracker, $aTrackers, @$GLOBALS['strCopy']);
     }
     // Massage to real field names
     Admin_DA::_switch($aTracker, 'advertiser_id', 'clientid');
     Admin_DA::_switch($aTracker, 'name', 'trackername');
     $newTrackerId = Admin_DA::addTracker($aTracker);
     if (PEAR::isError($newTrackerId)) {
         return PEAR::raiseError('failed to add tracker in ' . __FILE__ . ',' . __LINE__);
     }
     $aPlacementTrackers = Admin_DA::getPlacementTrackers(array('tracker_id' => $trackerId));
     foreach ($aPlacementTrackers as $aPlacementTracker) {
         $aPlacementTracker['tracker_id'] = $newTrackerId;
         Admin_DA::duplicatePlacementTracker($aPlacementTracker);
     }
     $aVariables = Admin_DA::getVariables(array('tracker_id' => $trackerId));
     foreach ($aVariables as $aVariable) {
         $aVariable['tracker_id'] = $newTrackerId;
         Admin_DA::duplicateVariable($aVariable);
     }
     return $newTrackerId;
 }
 function _getPublishers()
 {
     if (OA_Permission::isAccount(OA_ACCOUNT_ADMIN)) {
         if ($this->_filter == FILTER_TRACKER_PRESENT) {
             $aParams = array();
             $aTrackers = Admin_DA::getTrackers($aParams, false, 'advertiser_id');
             $aParams = array('advertiser_id' => implode(',', array_keys($aTrackers)));
             $aPlacementZones = Admin_DA::getPlacementZones($aParams, false, 'zone_id');
             $aAdZones = Admin_DA::getAdZones($aParams, false, 'zone_id');
             $aParams = array('zone_id' => implode(',', array_keys($aPlacementZones + $aAdZones)));
             $aPublishers = Admin_DA::getPublishers($aParams);
         } else {
             $aParams = array();
             $aPublishers = Admin_DA::getPublishers($aParams);
         }
     } elseif (OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) {
         if ($this->_filter == FILTER_TRACKER_PRESENT) {
             $aParams = array('agency_id' => OA_Permission::getEntityId());
             $aTrackers = Admin_DA::getTrackers($aParams, false, 'advertiser_id');
             $aParams = array('advertiser_id' => implode(',', array_keys($aTrackers)));
             $aPlacementZones = Admin_DA::getPlacementZones($aParams, false, 'zone_id');
             $aAdZones = Admin_DA::getAdZones($aParams, false, 'zone_id');
             $aParams = array('zone_id' => implode(',', array_keys($aPlacementZones + $aAdZones)));
             $aPublishers = Admin_DA::getPublishers($aParams);
         } else {
             $aParams = array('agency_id' => OA_Permission::getEntityId());
             $aPublishers = Admin_DA::getPublishers($aParams);
         }
     } elseif (OA_Permission::isAccount(OA_ACCOUNT_TRAFFICKER)) {
         if ($this->_filter == FILTER_TRACKER_PRESENT) {
             $aParams = array('agency_id' => OA_Permission::getAgencyId());
             $aTrackers = Admin_DA::getTrackers($aParams, false, 'advertiser_id');
             $aParams = array('advertiser_id' => implode(',', array_keys($aTrackers)));
             $aPlacementZones = Admin_DA::getAdZones($aParams, false, 'zone_id');
             $aAdZones = Admin_DA::getAdZones($aParams, false, 'zone_id');
             $aParams = array('publisher_id' => OA_Permission::getEntityId(), 'zone_id' => implode(',', array_keys($aPlacementZones + $aAdZones)));
             $aPublishers = Admin_DA::getPublishers($aParams);
         } else {
             $aParams = array('publisher_id' => OA_Permission::getEntityId());
             $aPublishers = Admin_DA::getPublishers($aParams);
         }
     } elseif (OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
         $aPublishers = array();
         if ($this->_filter == FILTER_TRACKER_PRESENT) {
             $aParams = array('advertiser_id' => OA_Permission::getEntityId());
             $aTrackers = Admin_DA::getTrackers($aTrackers, 'advertiser_id');
             if (!empty($aTrackers)) {
                 $aParams = array('advertiser_id' => OA_Permission::getEntityId(), 'placement_anonymous' => 'f');
                 $aPlacementZones = Admin_DA::getPlacementZones($aParams, false, 'zone_id');
                 $aAdZones = Admin_DA::getAdZones($aParams, false, 'zone_id');
                 $aZones = $aPlacementZones + $aAdZones;
                 if (!empty($aZones)) {
                     $aParams = array('zone_id' => implode(',', array_keys($aZones)));
                     $aPublishers = Admin_DA::getPublishers($aParams);
                 }
             }
         } else {
             $aParams = array('advertiser_id' => OA_Permission::getEntityId(), 'placement_anonymous' => 'f');
             $aPlacementZones = Admin_DA::getPlacementZones($aParams, false, 'zone_id');
             $aAdZones = Admin_DA::getAdZones($aParams, false, 'zone_id');
             $aZones = $aPlacementZones + $aAdZones;
             if (!empty($aZones)) {
                 $aParams = array('zone_id' => implode(',', array_keys($aZones)));
                 $aPublishers = Admin_DA::getPublishers($aParams);
             }
         }
     }
     // order the array by publisher name
     foreach ($aPublishers as $key => $row) {
         $name[$key] = strtolower($row['name']);
     }
     array_multisort($name, SORT_ASC, $aPublishers);
     // rewrite the array to preserve key
     foreach ($aPublishers as $row) {
         $aPublishersTmp[$row['publisher_id']] = $row;
     }
     $aPublishers = $aPublishersTmp;
     return $aPublishers;
 }