Пример #1
0
 function query($sql)
 {
     $ret = OA_Dal_Delivery_query($sql, 'rawDatabase');
     if (!$ret) {
         OA_bucketPrintError('rawDatabase');
     }
     return $ret;
 }
/**
 * This function logs the variable data passed in to a tracker impression
 *
 * @param array  $aVariables An array of the variable IDs and values to be logged.
 * @param int    $trackerId The tracker ID.
 * @param int    $serverConvId The associated conversion ID for these values.
 * @param string $serverRawIp The associated server identifier for these values.
 * @return bool True on success, false on failuer.
 */
function Plugin_deliveryLog_oxLogConversion_logConversionVariable_Delivery_logConversionVariable($aVariables, $trackerId, $serverConvId, $serverRawIp, $okToLog = true)
{
    if (!$okToLog) {
        return false;
    }
    // Initiate the connection to the database (before using mysql_real_escape_string)
    OA_Dal_Delivery_connect('rawDatabase');
    $table = $GLOBALS['_MAX']['CONF']['table']['prefix'] . 'data_bkt_a_var';
    if (empty($GLOBALS['_MAX']['NOW'])) {
        $GLOBALS['_MAX']['NOW'] = time();
    }
    $time = $GLOBALS['_MAX']['NOW'];
    $aRows = array();
    foreach ($aVariables as $aVariable) {
        $aRows[] = "(\n                        '" . OX_escapeString($serverConvId) . "',\n                        '" . OX_escapeString($serverRawIp) . "',\n                        '{$aVariable['variable_id']}',\n                        '" . OX_escapeString($aVariable['value']) . "',\n                        '" . gmdate('Y-m-d H:i:s', $time) . "'\n                    )";
    }
    if (empty($aRows)) {
        return;
    }
    $query = "\n        INSERT INTO\n            {$table}\n            (\n                server_conv_id,\n                server_ip,\n                tracker_variable_id,\n                value,\n                date_time\n            )\n        VALUES " . implode(',', $aRows);
    return OA_Dal_Delivery_query($query, 'rawDatabase');
}
/**
 * A function to log conversions.
 *
 * @param integer $trackerId The ID of the tracker for which the conversion is to be logged.
 * @param array $serverRawIp The "raw IP address" value to use for the conversion.
 * @param array $aConversion An array of the conversion details, as returned from the
 *                           MAX_trackerCheckForValidAction() function.
 * @return array An array...
 */
function Plugin_deliveryLog_oxLogConversion_logConversion_Delivery_logConversion($trackerId, $serverRawIp, $aConversion, $okToLog = true)
{
    if (!$okToLog) {
        return false;
    }
    // Initiate the connection to the database (before using mysql_real_escape_string)
    OA_Dal_Delivery_connect('rawDatabase');
    $table = $GLOBALS['_MAX']['CONF']['table']['prefix'] . 'data_bkt_a';
    if (empty($GLOBALS['_MAX']['NOW'])) {
        $GLOBALS['_MAX']['NOW'] = time();
    }
    $time = $GLOBALS['_MAX']['NOW'];
    $aValues = array('server_ip' => $serverRawIp, 'tracker_id' => (int) $trackerId, 'date_time' => gmdate('Y-m-d H:i:s', $time), 'action_date_time' => gmdate('Y-m-d H:i:s', $aConversion['dt']), 'creative_id' => (int) $aConversion['cid'], 'zone_id' => (int) $aConversion['zid'], 'ip_address' => $_SERVER['REMOTE_ADDR'], 'action' => $aConversion['action_type'], 'window' => $aConversion['window'], 'status' => $aConversion['status']);
    // Need to also escape identifier as "window" is reserved since PgSQL 8.4
    $aFields = array_map('OX_escapeIdentifier', array_keys($aValues));
    $aValues = array_map('OX_escapeString', $aValues);
    $query = "\n        INSERT INTO\n            {$table}\n            (" . implode(', ', $aFields) . ")\n        VALUES\n            ('" . implode("', '", $aValues) . "')\n    ";
    $result = OA_Dal_Delivery_query($query, 'rawDatabase');
    if (!$result) {
        return false;
    }
    $aResult = array('server_conv_id' => OA_Dal_Delivery_insertId('rawDatabase', $table, 'server_conv_id'), 'server_raw_ip' => $serverRawIp);
    return $aResult;
}
Пример #4
0
/**
 * This function retrieves the last run timestamp from auto maintenance
 *
 * @return string            The timestamp for the last time auto maintenance ran
 */
function OA_Dal_Delivery_getMaintenanceInfo()
{
    $conf = $GLOBALS['_MAX']['CONF'];
    $result = OA_Dal_Delivery_query("\n        SELECT\n            value AS maintenance_timestamp\n        FROM\n            " . OX_escapeIdentifier($conf['table']['prefix'] . $conf['table']['application_variable']) . "\n        WHERE name = 'maintenance_timestamp'\n    ");
    if (!is_resource($result)) {
        return defined('OA_DELIVERY_CACHE_FUNCTION_ERROR') ? OA_DELIVERY_CACHE_FUNCTION_ERROR : null;
    } else {
        $result = OA_Dal_Delivery_fetchAssoc($result);
        return $result['maintenance_timestamp'];
    }
}
Пример #5
0
function OX_bucket_updateTable($tableName, $aQuery, $increment = true, $counter = 'count')
{
    $prefix = $GLOBALS['_MAX']['CONF']['table']['prefix'];
    $query = OX_bucket_prepareUpdateQuery($prefix . $tableName, $aQuery, $increment, $counter);
    $result = OA_Dal_Delivery_query($query, 'rawDatabase');
    return $result;
}
Пример #6
0
function OA_bucketPrepareDb()
{
    if ($GLOBALS['_MAX']['CONF']['database']['type'] == 'pgsql') {
        OA_Dal_Delivery_query('SET SESSION synchronous_commit TO OFF', 'rawDatabase');
    }
}
Пример #7
0
function OX_bucket_updateTable($tableName, $aQuery, $increment = true, $counter = 'count')
{
    $prefix = $GLOBALS['_MAX']['CONF']['table']['prefix'];
    $query = OX_bucket_prepareUpdateQuery($prefix . $tableName, $aQuery, $increment, $counter);
    if (!empty($GLOBALS['_MAX']['CONF']['deliveryLog']['enabled'])) {
        require_once MAX_PATH . '/lib/OA.php';
        OA::debug('updating bucket ' . $query);
    }
    $result = OA_Dal_Delivery_query($query, 'rawDatabase');
    return $result;
}