Esempio n. 1
0
function dt_table($_function, $_filters = array())
{
    $config =& SlimStatConfig::get_instance();
    $col = SlimStat::my_esc($_function) . "(FROM_UNIXTIME(`dt`" . ($config->dt_offset_secs != 0 ? "+" . $config->dt_offset_secs : "") . "))";
    $thead = array("first" => array(isset($config->i18n->fields[$col]) ? $config->i18n->fields[$col] : $col), "last" => array($config->i18n->hits));
    $tbody = array();
    if ($config->show_visits && !isset($_filters["filter_visit"])) {
        $thead["last"][] = $config->i18n->visits;
    }
    if ($config->show_uniques) {
        $thead["last"][] = $config->i18n->uniques;
    }
    $results = SlimStat::_get_table_data($col . " AS `col`", "", "`col`", "col", $_filters);
    foreach ($results as $result) {
        $row = array("first" => array(), "last" => array());
        $row["first"][] = isset($config->i18n->name_lookups[$col]) && isset($config->i18n->name_lookups[$col][$result["col"]]) ? $config->i18n->name_lookups[$col][$result["col"]] : $result["col"];
        $row["last"][] = $result["hits"];
        if ($config->show_visits && !isset($_filters["filter_visit"])) {
            $row["last"][] = $result["visits"];
        }
        if ($config->show_uniques) {
            $row["last"][] = $result["uniques"];
        }
        $tbody[] = $row;
    }
    return SlimStat::render_table($thead, $tbody, true);
}
Esempio n. 2
0
function recent_table($_cols, $_truncate, $_where_clause = "", $_filters = array())
{
    $config =& SlimStatConfig::get_instance();
    $thead = array("first" => array(isset($config->i18n->fields[$_cols["display"]]) ? $config->i18n->fields[$_cols["display"]] : $_cols["display"]), "last" => array(" ", $config->i18n->when));
    $tbody = array();
    $col_query = is_array($_cols) ? array_merge($_cols, array("dt")) : array($_cols, "dt");
    $results = SlimStat::_get_table_data($col_query, $_where_clause, implode(", ", $col_query), "dt", $_filters);
    foreach ($results as $result) {
        $display_value = $result[$_cols["display"]];
        if (isset($config->i18n->name_lookups[$_cols["display"]])) {
            if (is_array($config->i18n->name_lookups[$_cols["display"]]) && isset($config->i18n->name_lookups[$_cols["display"]][$display_value])) {
                $display_value = $config->i18n->name_lookups[$_cols["display"]][$display_value];
            } elseif (is_string($config->i18n->name_lookups[$_cols["display"]])) {
                $display_value = eval(str_replace("VALUE", $display_value, $config->i18n->name_lookups[$_cols["display"]]));
            }
        }
        $title_value = $result[$_cols["title"]];
        if (isset($config->i18n->name_lookups[$_cols["title"]])) {
            if (is_array($config->i18n->name_lookups[$_cols["title"]]) && isset($config->i18n->name_lookups[$_cols["title"]][$title_value])) {
                $title_value = $config->i18n->name_lookups[$_cols["title"]][$title_value];
            } elseif (is_string($config->i18n->name_lookups[$_cols["title"]])) {
                $title_value = eval(str_replace("VALUE", $title_value, $config->i18n->name_lookups[$_cols["title"]]));
            }
        }
        $row = array("first" => array(), "last" => array());
        $str = "<a href=\"?filter_" . $_cols["display"] . "=" . urlencode($result[$_cols["display"]]);
        $str .= "\" title=\"" . $config->i18n->link_title("details_filtered", "FIELD", strtolower($config->i18n->fields[$_cols["display"]])) . "\">";
        $str .= SlimStat::truncate(utf8_encode($display_value), $_truncate - SlimStat::strlen($config->i18n->when)) . "</a>";
        $row["first"][] = $str;
        $str = "<a href=\"" . $result[$_cols["href"]] . "\" class=\"external\" rel=\"nofollow\"";
        $str .= " title=\"" . $config->i18n->link_title("external", "FIELD", strtolower($config->i18n->fields[$_cols["href"]])) . "\">";
        $str .= "<img src=\"external.gif\" width=\"9\" height=\"9\" alt=\"\" /></a>";
        $row["last"][] = $str;
        $row["last"][] = $config->i18n->time_label($result["dt"], time());
        $tbody[] = $row;
    }
    return SlimStat::render_table($thead, $tbody);
}