Exemplo n.º 1
0
 protected function _set_transition_gift($gift_id, $category_id)
 {
     $data = array('gift_id' => (int) $gift_id, 'category_id' => (int) $category_id, 'ip' => $_SERVER["REMOTE_ADDR"], 'user_agent' => $_SERVER["HTTP_USER_AGENT"]);
     $stat = new stat();
     $stat->set_transition_to_gift($data);
     $stat->category_to_gift_stat($category_id, $gift_id);
 }
Exemplo n.º 2
0
// $REX[BARRIEREFREI] = true; gesetzt werden.
//
$REX[BF] = false;
// Wenn $REX[GG] = true; dann wird der
// Content aus den redaxo/include/generated/
// genommen
$REX[GG] = true;
// setzte pfad und includiere klassen und funktionen
$REX[HTDOCS_PATH] = "./";
include "./redaxo/include/master.inc.php";
// Starte einen neuen Artikel und setzte die aktuelle
// artikel id. wenn nicht vorhanden, nimm einen
// speziellen artikel. z.b. fehler seite oder home seite
if ($article_id == "") {
    $article_id = $REX[STARTARTIKEL_ID];
}
$REX_ARTICLE = new article();
if ($REX_ARTICLE->setArticleId($article_id)) {
    $REX_ARTICLE->getArticleTemplate();
} elseif ($REX_ARTICLE->setArticleId($REX[STARTARTIKEL_ID])) {
    $REX_ARTICLE->getArticleTemplate();
} else {
    echo "Kein Startartikel selektiert";
    #$REX[STATS] = 0;
}
// ------------------------------------------------------------ scriptzeit
// echo showmicrotime();
if ($REX[STATS] == 1) {
    $log = new stat();
    $log->writeLog($article_id);
}
 public function clicks2billsAction()
 {
     $user = new iuser();
     $stat = new stat();
     $pp = new project_partner();
     $partners = $pp->select($count, array('filter' => array('status' => 1)));
     foreach ($partners as $partner) {
         $add_cpc2click = 0;
         // Костыль для переноса стоимости клика из одного счета на клики из другого
         echo $partner->get('id') . ') ' . $partner->get('name') . '<br>';
         $billings = $user->get_billings($partner->get('user_id'), array('min_sum' => 0, 'min_unclosed' => 0, 'mindate' => '2013-10-01 00:00:00'));
         if (is_array($billings) && count($billings)) {
             echo 'Billings: ' . count($billings) . '<br>';
             foreach ($billings as $bill) {
                 echo $bill->id . ' ' . $bill->sum . ' ' . $bill->sum_closed . '<br><br>';
                 $clicks = $stat->select($count, array('filter' => array('partner_id' => $partner->get('id'), 'bill_id' => 0, 'dt_start_full' => date('Y-m-01 00:00:01', strtotime($bill->dt_operation)), 'dt_finish' => date('Y-m-d', time() - 60 * 60 * 24 * 2), 'double' => true), 'order' => '`datetime`', 'limit' => intval($bill->sum / 4)));
                 if (is_array($clicks) && count($clicks)) {
                     $ids = array();
                     foreach ($clicks as $id => $click) {
                         if ($add_cpc2click > 0) {
                             // Если деньги остались с прошлого раза - переносим
                             $click->cpc += $add_cpc2click;
                             $stat->set_cpc($click->id, $click->cpc);
                             $add_cpc2click = 0;
                         }
                         if ($bill->sum < $bill->sum_closed + $click->cpc) {
                             // Если текущий клик перекрывает счет
                             $add_cpc2click = $click->cpc - ($bill->sum - $bill->sum_closed);
                             // В следующий клик добавим разницу
                             $click->cpc = $bill->sum - $bill->sum_closed;
                             $stat->set_cpc($click->id, $click->cpc);
                         }
                         $ids[] = $id;
                         $bill->sum_closed += $click->cpc;
                         if ($bill->sum_closed == $bill->sum) {
                             break;
                         }
                         if ($click->id % 10 == 0) {
                             echo $bill->id . ' ' . $bill->sum . ' ' . $bill->sum_closed . '<br>';
                         }
                     }
                     if (is_array($ids) && count($ids)) {
                         $stat->set_bill_id($ids, $bill->id);
                         $user->update_sum_closed($bill->id, $bill->sum_closed);
                         echo $bill->id . ' ' . $bill->sum . ' ' . $bill->sum_closed . '<br><br>';
                     }
                 }
             }
         }
     }
     die('ok');
 }
Exemplo n.º 4
0
<?php

title($I18N->msg("stats_title"), "&nbsp;&nbsp;&nbsp;<a href=index.php?page=stats&sub=stats>" . $I18N->msg("statistics_header") . "</a> | <a href=index.php?page=stats&sub=auswertung>" . $I18N->msg("evaluation_header") . "</a>");
//
// REACTING
//
if ($funktion == 'evaluate') {
    $a = new stat();
    if ($a->evaluate($year, $month)) {
        $err_msg = $I18N->msg("eval_ok") . "<br>";
    } else {
        $err_msg = $I18N->msg("eval_error") . "<br>";
    }
}
//
// suche monate und jahre für die wir logs haben
$pfad = $REX[INCLUDE_PATH] . "/generated/logs/";
$months = array();
$years = array();
if (is_dir($pfad)) {
    if ($dh = opendir($pfad)) {
        while (($file = readdir($dh)) !== false) {
            if (strstr($file, ".log") == ".log") {
                $years[substr($file, 0, 4)] = TRUE;
                $months[substr($file, 5, 2)] = TRUE;
            }
        }
    }
    closedir($dh);
} else {
    echo $I18N->msg(error_no_dir, $this->path);