mysql_real_escape_string / Говнокод #12553 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 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 кода, но сам говнокод именно в собираемом запросе.
Ну вот кем надо быть что бы в коммерческой системе такое писать?!

Запостил: vagrand vagrand, (Updated )

Комментарии (19) RSS

  • если коммерческое - не значит охуенное. Вырезка из суперпупер шаблона WP get_template_part((include"". $slider ."slider.php"));
    Ответить
    • Ну так в том то и речь что люди продают систему, а сама система написана просто безобразно и так же само работает.
      Ответить
  • Нужно любить свое детище, кроме как пытаться заработать. Постоянный рефакторинг и еще раз рефакторинг.
    Хороший пример коммерческой системы с постоянно улучшающимся внутренним кодом - CMS bitrix.
    Из некоммерческих - CMS Joomla!
    Ответить
          • Я работаю с ним по той причине, что клиенты приходят с готовыми сайтами на нем, а на переход на bitrix уговорить получается не всех, к сожалению. Поэтому приходится часто доробатывать функционал, править глюки движка самому.
            В последней версии 1 ветки ввели MVC вполне удачно. Код же первых версий - это тьма )
            Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8