cache tag map data
git-svn-id: file:///home/shish/svn/shimmie2/trunk@453 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
parent
0b555d0926
commit
5444810cae
@ -88,21 +88,21 @@ class TagList extends Extension {
|
||||
global $config;
|
||||
|
||||
$tags_min = $config->get_int('tags_min');
|
||||
$result = $database->Execute(
|
||||
"SELECT tag,count FROM tags WHERE count > ? ORDER BY tag",
|
||||
array($tags_min));
|
||||
$tag_data = $database->cache_execute(300, "
|
||||
SELECT
|
||||
tag,
|
||||
FLOOR(LOG(LOG(count - ? + 1)+1)*1.5*100)/100 AS scaled
|
||||
FROM tags
|
||||
WHERE count > ?
|
||||
ORDER BY tag
|
||||
", array($tags_min, $tags_min))->GetArray();
|
||||
|
||||
$html = "";
|
||||
while(!$result->EOF) {
|
||||
$row = $result->fields;
|
||||
foreach($tag_data as $row) {
|
||||
$h_tag = html_escape($row['tag']);
|
||||
$count = $row['count'];
|
||||
if($count > 1) {
|
||||
$size = floor(log(log($row['count'] - $tags_min + 1)+1)*1.5*100)/100;
|
||||
$link = $this->tag_link($row['tag']);
|
||||
$html .= " <a style='font-size: ${size}em' href='$link'>$h_tag</a> \n";
|
||||
}
|
||||
$result->MoveNext();
|
||||
$size = $row['scaled'];
|
||||
$link = $this->tag_link($row['tag']);
|
||||
$html .= " <a style='font-size: ${size}em' href='$link'>$h_tag</a> \n";
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
@ -112,14 +112,13 @@ class TagList extends Extension {
|
||||
global $config;
|
||||
|
||||
$tags_min = $config->get_int('tags_min');
|
||||
$result = $database->Execute(
|
||||
$tag_data = $database->cache_execute(300,
|
||||
"SELECT tag,count FROM tags WHERE count > ? ORDER BY tag",
|
||||
array($tags_min));
|
||||
array($tags_min))->GetArray();
|
||||
|
||||
$html = "";
|
||||
$lastLetter = 0;
|
||||
while(!$result->EOF) {
|
||||
$row = $result->fields;
|
||||
foreach($tag_data as $row) {
|
||||
$h_tag = html_escape($row['tag']);
|
||||
$count = $row['count'];
|
||||
if($lastLetter != strtolower(substr($h_tag, 0, 1))) {
|
||||
@ -128,7 +127,6 @@ class TagList extends Extension {
|
||||
}
|
||||
$link = $this->tag_link($row['tag']);
|
||||
$html .= "<a href='$link'>$h_tag ($count)</a>\n";
|
||||
$result->MoveNext();
|
||||
}
|
||||
|
||||
return $html;
|
||||
@ -139,24 +137,22 @@ class TagList extends Extension {
|
||||
global $config;
|
||||
|
||||
$tags_min = $config->get_int('tags_min');
|
||||
$result = $database->Execute(
|
||||
"SELECT tag,count FROM tags WHERE count > ? ORDER BY count DESC, tag ASC",
|
||||
array($tags_min)
|
||||
);
|
||||
$tag_data = $database->cache_execute(300,
|
||||
"SELECT tag,count,FLOOR(LOG(count)) AS scaled FROM tags WHERE count > ? ORDER BY count DESC, tag ASC",
|
||||
array($tags_min))->GetArray();
|
||||
|
||||
$html = "Results grouped by log<sub>e</sub>(n)";
|
||||
$lastLog = 0;
|
||||
while(!$result->EOF) {
|
||||
$row = $result->fields;
|
||||
foreach($tag_data as $row) {
|
||||
$h_tag = html_escape($row['tag']);
|
||||
$count = $row['count'];
|
||||
if($lastLog != floor(log($count))) {
|
||||
$lastLog = floor(log($count));
|
||||
$scaled = $row['scaled'];
|
||||
if($lastLog != $scaled) {
|
||||
$lastLog = $scaled;
|
||||
$html .= "<p>$lastLog<br>";
|
||||
}
|
||||
$link = $this->tag_link($row['tag']);
|
||||
$html .= "<a href='$link'>$h_tag ($count)</a>\n";
|
||||
$result->MoveNext();
|
||||
}
|
||||
|
||||
return $html;
|
||||
|
Loading…
x
Reference in New Issue
Block a user