function compute_ratio($stimulus_word, $cooccurring_word)
{
    $result = array();
    $window_frequency_sql = "SELECT COUNT(keywords) FROM keywords_from_userinfo WHERE keywords LIKE '% " . $stimulus_word . " %' and keywords LIKE '% " . $cooccurring_word . " %';";
    $window_frequency = query_count($window_frequency_sql);
    $cooccurring_word_total_frequency_sql = "SELECT COUNT(keywords) FROM keywords_from_userinfo WHERE keywords LIKE '% " . $cooccurring_word . " %';";
    $cooccurring_word_total_frequency = query_count($cooccurring_word_total_frequency_sql);
    $residual_frequency = $cooccurring_word_total_frequency - $window_frequency;
    $total_window_size_sql = "SELECT COUNT(keywords) FROM keywords_from_userinfo WHERE keywords LIKE '% " . $stimulus_word . " %';";
    $total_window_size = query_count($total_window_size_sql);
    $residual_window_size = $total_window_size - $window_frequency;
    $total_corpus_size_sql = "SELECT COUNT(keywords) FROM keywords_from_userinfo";
    $total_corpus_size = query_count($total_corpus_size_sql);
    $residual_corpus_size = $total_corpus_size - $total_window_size - $cooccurring_word_total_frequency + $window_frequency;
    $ratio = 0;
    if ($window_frequency == 0) {
        $ratio = 0;
    } else {
        if ($residual_frequency == 0 || $residual_window_size == 0) {
            $ratio = 1000;
            // represent infinite
        } else {
            $ratio = 2 * ($window_frequency * log($window_frequency) + $residual_window_size * log($residual_window_size) + $residual_frequency * log($residual_frequency) + $residual_corpus_size * log($residual_corpus_size) + $total_corpus_size * log($total_corpus_size) - ($window_frequency + $residual_window_size) * log($window_frequency + $residual_window_size) - ($window_frequency + $residual_frequency) * log($window_frequency + $residual_frequency) - ($residual_window_size + $residual_corpus_size) * log($residual_window_size + $residual_corpus_size) - ($residual_frequency + $residual_corpus_size) * log($residual_frequency + $residual_corpus_size));
        }
    }
    $result['window_frequency'] = $window_frequency;
    $result['total_window_size'] = $total_window_size;
    $result['residual_window_size'] = $residual_window_size;
    $result['cooccurring_word_total_frequency'] = $cooccurring_word_total_frequency;
    $result['residual_frequency'] = $residual_frequency;
    $result['residual_corpus_size'] = $residual_corpus_size;
    $result['total_corpus_size'] = $total_corpus_size;
    $result['ratio'] = $ratio;
    return $result;
}
Exemplo n.º 2
0
 public function display_asset_definition($repo)
 {
     $query = "SELECT * FROM asset WHERE asset_id = '" . escape($repo) . "'";
     if (!query_count($query)) {
         $this->store_asset($repo);
     }
     $r = query_assoc($query);
     if (!is_array($r)) {
         die("{'error':'No Asset'}");
     }
     $arr = array('asset_ids' => array($r['public_id']), 'contract_url' => $r['contract_url'], 'name_short' => $r['name_short'], 'name' => $r['name'], 'issuer' => $r['issuer'], 'description' => $r['description'], 'description_mime' => $r['description_mime'], 'type' => $r['type'], 'divisibility' => $r['divisibility'], 'link_to_website' => $r['link_to_website'], 'icon_url' => $r['icon_url'], 'image_url' => $r['image_url'], 'version' => $r['version']);
     return json_encode($arr);
 }
Exemplo n.º 3
0
Arquivo: trdl.php Projeto: happyj/qcn
}
//$main_query = $q->get_select_query($entries_to_show, $start_at);
if (!$bUseCSV && !$bDownloadAll && $entries_to_show) {
    if ($start_at) {
        $main_query = $query . " limit {$start_at},{$entries_to_show}";
    } else {
        $main_query = $query . " limit {$entries_to_show}";
    }
} else {
    $main_query = $query;
}
//$count = 1e6;
//print "<BR><BR>$query<BR><BR>";
if (!$bUseCSV && !$bDownloadAll) {
    // don't count for big query
    $count = query_count($query);
    // CMC HERE
    //print "<BR><BR>" . $query . "<BR><BR>";
    if ($count < $start_at + $entries_to_show) {
        $entries_to_show = $count - $start_at;
    }
    $last = $start_at + $entries_to_show;
}
// query count
// For display, convert query string characters < and > into 'html form' so
// that they will be displayed.
//
//$html_text=str_replace('<', '&lt;', str_replace('>', '&gt;', $main_query));
//echo "<p>Query: <b>$html_text</b><p>\n";
echo "\n<script type=\"text/javascript\">\n   \nfunction SetAllCheckBoxes(FormName, FieldName, CheckValue)\n{\n\tif(!document.forms[FormName])\n\t\treturn;\n\tvar objCheckBoxes = document.forms[FormName].elements[FieldName];\n\tif(!objCheckBoxes)\n\t\treturn;\n\tvar countCheckBoxes = objCheckBoxes.length;\n\tif(!countCheckBoxes)\n\t\tobjCheckBoxes.checked = CheckValue;\n\telse\n\t\t// set the check value for all check boxes\n\t\tfor(var i = 0; i < countCheckBoxes; i++)\n\t           if (! objCheckBoxes[i].disabled)\n                      objCheckBoxes[i].checked = CheckValue;\n}\n</script>\n<HR>\n";
$start_1_offset = $start_at + 1;
Exemplo n.º 4
0
 protected function store_user($user_array)
 {
     if (is_numeric($user_array['github_id'])) {
         $exists = query_count("SELECT * FROM user WHERE github_id = '" . $user_array['github_id'] . "'");
         if ($exists) {
             $q = "UPDATE user SET ";
             foreach ($user_array as $k => $v) {
                 $q .= $k . " = '" . escape($v) . "', ";
             }
             $q .= " last_update = NOW() WHERE github_id = '" . $user_array['github_id'] . "'";
             query($q);
         } else {
             $q = "INSERT INTO user(";
             foreach ($user_array as $k => $v) {
                 $q .= $k . ', ';
             }
             $q .= "last_update) VALUES (";
             foreach ($user_array as $k => $v) {
                 $q .= "'" . escape($v) . "', ";
             }
             $q .= "NOW())";
             query($q);
         }
     } else {
         die;
     }
     $_SESSION['user'] = $user_array;
     return 1;
 }
Exemplo n.º 5
0
            $week->new_user_growth_fmt = round($week->new_user_growth * 100) . '%';
            $week->churn = $last_week->active_user_count > 0 ? (double) $week->gone_user_count / $last_week->active_user_count : 0;
            $week->churn_fmt = round($week->churn * 100) . '%';
        }
        $last_week = $week;
    }
    array_shift($weeks);
    // remove the first week, it was only used to compute futher stats
    return $weeks;
}
function format_grouped_stats($period_length, $period_count, $name, $title)
{
    $weeks = grouped_stats($period_length, $period_count);
    return inv_table($title, array('start_fmt' => '', 'users_this_week' => "Total this {$name}", 'active_user_count' => 'Active users', 'new_user_count' => 'New active users', 'gone_user_count' => 'Previously active users gone', 'growth_fmt' => '% increase in active users (growth)', 'delta' => '∆ active users', 'new_user_growth_fmt' => '% increase in new users', 'churn_fmt' => '% previously active users gone (churn)'), $weeks);
}
$count = query_count('SELECT COUNT(DISTINCT ip) AS count FROM stats');
$by_date = query_rows('SELECT date, COUNT(DISTINCT ip) AS count FROM stats GROUP BY date ORDER BY date');
$by_ver_30 = query_rows('SELECT version, COUNT(DISTINCT ip) AS count FROM stats WHERE date > DATE_SUB(NOW(), INTERVAL 30 DAY) GROUP BY version ORDER BY version');
$by_ver_7 = query_rows('SELECT version, COUNT(DISTINCT ip) AS count FROM stats WHERE date > DATE_SUB(NOW(), INTERVAL 7 DAY) GROUP BY version ORDER BY version');
$by_ver_2 = query_rows('SELECT version, COUNT(DISTINCT ip) AS count FROM stats WHERE date > DATE_SUB(NOW(), INTERVAL 2 DAY) GROUP BY version ORDER BY version');
$latest = query_rows('SELECT time, version, ip, agent FROM stats ORDER BY time DESC LIMIT 10');
foreach ($latest as &$row) {
    $row->time_fmt = strftime('%Y-%m-%d %H:%M', $row->time);
}
$data = array();
foreach ($by_date as $row) {
    $data[] = $row->count;
}
$data = array_slice($data, -30 * 3);
array_pop($data);
echo html_tag('h1', array(), "Total unique IPs: {$count}");
Exemplo n.º 6
0
 public function check_status($addr)
 {
     $q = "SELECT * FROM incoming WHERE input_address = '" . escape($addr) . "' ORDER BY incoming_id DESC";
     if (!query_count($q)) {
         return -1;
     } else {
         $arr = query_assoc($q);
         $this->transaction_hash = $arr['transaction_hash'];
         query("UPDATE address SET status = ' " . escape($arr['confirmations']) . "' WHERE input_address = '" . escape($addr) . "'");
         return $arr['confirmations'];
     }
 }