- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
$subqueries = array();
foreach ($bit_values AS $key => $bits)
{
$timelimit = (TIMENOW - (60 * 60 * 24 * $vbulletin->options['tagcloud_usagehistory']));
$query = "
SELECT tagcontent.tagid, tag.tagtext, COUNT(*) AS searchcount
FROM " . TABLE_PREFIX . "tagcontent AS tagcontent
INNER JOIN " . TABLE_PREFIX . "tag AS tag ON (tagcontent.tagid = tag.tagid) " .
implode("\n", $bits['join']) . "
WHERE tagcontent.contenttypeid IN (" . implode(",", $bit_ids[$key]) . ") AND
tagcontent.dateline > $timelimit AND " .
implode(" AND ", $bits['where']) . "
GROUP BY tagcontent.tagid, tag.tagtext
";
$subqueries[] = $query;
}
if (count($subqueries))
{
$query = "
SELECT data.tagid, data.tagtext, SUM(data.searchcount) AS searchcount
FROM
(" . implode(" UNION ALL ", $subqueries) . ") AS data
GROUP BY data.tagid, data.tagtext
ORDER BY searchcount DESC
LIMIT " . $vbulletin->options['tagcloud_tags'];
$tags_result = $vbulletin->db->query_read_slave($query);
while ($currenttag = $vbulletin->db->fetch_array($tags_result))
{
$tags["$currenttag[tagtext]"] = $currenttag;
$totals[$currenttag['tagid']] = $currenttag['searchcount'];
}
}
Из недр форума vbulletin. Много PHP кода, но сам говнокод именно в собираемом запросе.
Ну вот кем надо быть что бы в коммерческой системе такое писать?!
nonamez 07.02.2013 21:19 # +1
vagrand 07.02.2013 21:26 # 0
nonamez 07.02.2013 21:28 # +3
bormand 07.02.2013 21:38 # +3
Наверное даже так - чуть менее чем все успешные платные продукты написаны хреново.
nonamez 08.02.2013 09:41 # +1
eth0 08.02.2013 19:34 # +1
mac-t 12.02.2013 21:37 # 0
vagrand 12.02.2013 21:39 # 0
scriptin 13.02.2013 20:05 # +1
nixoid 07.02.2013 23:28 # −6
Хороший пример коммерческой системы с постоянно улучшающимся внутренним кодом - CMS bitrix.
Из некоммерческих - CMS Joomla!
vagrand 07.02.2013 23:37 # 0
nonamez 08.02.2013 09:42 # −1
nixoid 08.02.2013 10:16 # −3
guest 08.02.2013 12:43 # +4
bormand 08.02.2013 13:00 # +2
nixoid 08.02.2013 13:02 # −4
В последней версии 1 ветки ввели MVC вполне удачно. Код же первых версий - это тьма )
bormand 08.02.2013 13:43 # +2
64 килобайта прекрасного, понятного и легко поддерживаемого кода.
roman-kashitsyn 08.02.2013 14:45 # 0
sceleron
PA3yMHblu_nemyx 01.02.2019 16:12 # 0