Exemplo n.º 1
0
     $count_questions = $r <= $percent_sessions[0] ? rand(0, count($test->all_questions) - 1) : count($test->all_questions) - 1;
     for ($q = 0; $q < $count_questions; $q++) {
         $question = $test->all_questions[$i];
         $answer = $question->all_answers[rand(0, count($question->all_answers) - 1)];
         stat_question_answered($session_id, $test->id, $partner_id, $day, $question->id, $answer->id, $test->all_questions[$i + 1]->id, $test->sms_enabled);
     }
     if ($r > $percent_sessions[0]) {
         $question = $test->all_questions[count($test->all_questions) - 1];
         $answer = $question->all_answers[rand(0, count($question->all_answers) - 1)];
         stat_test_finished($session_id, $test->id, $partner_id, $day, $question->id, $answer->id, $test->sms_enabled, random_string(REATESTER_SMS_CHAL_LENGTH), random_string(REATESTER_SMS_RESP_LENGTH));
         if ($r > $percent_sessions[1]) {
             stat_sms_received($session_id, $test->id, $partner_id, $day, $test->sms_enabled, 300, 200);
         }
     }
 }
 $daily_statistics_by_partner = group_by(DailyStatistics::query("ORDER BY day"), "partner_id");
 $payment_dates = array();
 for ($i = 0; $i < $payment_count; $i++) {
     $payment_dates[] = time() - rand(0, 60 * 60 * 24 * $time_range);
 }
 sort($payment_dates);
 $partner_last_payment = array();
 $partner_last_stat_index = array();
 for ($i = 0; $i < count($all_partners); $i++) {
     $partner_last_payment[] = null;
     $partner_last_stat_index[$i] = 0;
 }
 for ($i = 0; $i < $payment_count; $i++) {
     $payment = new Payment();
     $payment->transferred_at = $payment_dates[$i];
     $payment->partner_id = $all_partners[rand(0, count($all_partners) - 1)]->id;
Exemplo n.º 2
0
<?php

include '../lib/common.inc.php';
// $test = Test::get_from_request('index.php', "Извините, этот тест уже удален.");
$title = "Статистика";
$sum = "SUM(`count_free_starts`) AS `count_free_starts`, SUM(`count_free_finishes`) AS `count_free_finishes`, SUM(`count_starts`) AS `count_starts`, SUM(`count_finishes`) AS `count_finishes`, SUM(`count_smses`) AS `count_smses`, SUM(`service_earning`) AS `service_earning`, SUM(`partner_earning`) AS `partner_earning`";
$daily_stats = DailyStatistics::query("SELECT `day`, {$sum} FROM _T_ WHERE `day` >= DATE_ADD(NOW(), INTERVAL -1 MONTH) GROUP BY `day` ORDER BY `day`");
$partner_stats = DailyStatistics::query("SELECT `partner_id`, {$sum} FROM _T_ WHERE `day` >= DATE_ADD(NOW(), INTERVAL -1 MONTH) GROUP BY `partner_id`");
$partners = Partner::query_indexed('id', "SELECT `id`, `email` FROM _T_ WHERE `id` IN ?", collect_attrs($partner_stats, 'partner_id'));
foreach ($partner_stats as &$stat) {
    if (intval($stat->partner_id) == 0) {
        $stat->partner_email = "(нет)";
    } else {
        $stat->partner_email = $partners[$stat->partner_id]->email;
    }
}
$test_stats = DailyStatistics::query("SELECT `test_id`, {$sum} FROM _T_ WHERE `day` >= DATE_ADD(NOW(), INTERVAL -1 MONTH) GROUP BY `test_id`");
$tests = Test::query_indexed('id', "SELECT `id`, `name` FROM _T_ WHERE `id` IN ?", collect_attrs($test_stats, 'test_id'));
foreach ($test_stats as &$stat) {
    $stat->test_name = $tests[$stat->test_id]->name;
}
render('statistics.haml', array('test' => $test, 'daily_stats' => $daily_stats, 'partner_stats' => $partner_stats, 'test_stats' => $test_stats, 'tab' => 'statistics'));
Exemplo n.º 3
0
<?php

include '../lib/common.inc.php';
loginkit_require('logged-in');
$title = "Статистика";
$sum = "SUM(`count_free_starts`) AS `count_free_starts`, SUM(`count_free_finishes`) AS `count_free_finishes`, SUM(`count_starts`) AS `count_starts`, SUM(`count_finishes`) AS `count_finishes`, SUM(`count_smses`) AS `count_smses`, SUM(`partner_earning`) AS `partner_earning`";
$daily_stats = DailyStatistics::query("SELECT `day`, {$sum} FROM _T_ WHERE `day` >= DATE_ADD(NOW(), INTERVAL -1 MONTH) AND `partner_id`=? GROUP BY `day` ORDER BY `day`", $current_user->id);
$test_stats = DailyStatistics::query("SELECT `test_id`, {$sum} FROM _T_ WHERE `day` >= DATE_ADD(NOW(), INTERVAL -1 MONTH) AND `partner_id`=? GROUP BY `test_id`", $current_user->id);
$tests = Test::query_indexed('id', "SELECT `id`, `name` FROM _T_ WHERE `id` IN ?", collect_attrs($test_stats, 'test_id'));
foreach ($test_stats as &$stat) {
    $stat->test_name = $tests[$stat->test_id]->name;
}
render('statistics.haml', array('test' => $test, 'daily_stats' => $daily_stats, 'test_stats' => $test_stats, 'tab' => 'statistics'));