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); }
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); }