1. PHP / Говнокод #14345

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    $db = new Db();
                    $db->prepare('SELECT `ID`, `Title`, `Date`, `Active` FROM `videos` WHERE `UserID` = :userId AND `is_temporary` = 0 ORDER BY `Date` DESC')
                            ->bindInt(':userId', $userId)
                            ->execute();
                    $dbResult = $db->fetchAll();
                    if (empty($dbResult)) return array();
                    $orderDir = strtoupper($orderDir);
                    if (!in_array($orderDir, array('DESC', 'ASC'))) $orderDir = 'DESC';
                    if (empty($filter) && $orderDir == 'DESC') return ArrayHelper::extract($dbResult, 'ID', ArrayHelper::INT);
                    $db->prepare('CREATE TEMPORARY TABLE `videos_tmp` (
                                            `id` INT(11),
                                            `title` VARCHAR(256),
                                            `date` DATETIME,
                                            `active` VARCHAR(1)
                                    ) ENGINE = MEMORY
                                CHARACTER SET utf8
                                COLLATE utf8_general_ci')
                            ->execute();
                    foreach ($dbResult as $row) {
                            $db->prepare('INSERT INTO `videos_tmp` (`id`, `title`, `date`, `active`) VALUES (:id, :title, :date, :active)')
                                    ->bindInt(':id', $row['ID'])
                                    ->bindStr(':title', $row['Title'])
                                    ->bindStr(':date', $row['Date'])
                                    ->bindStr(':active', $row['Active'])
                                    ->execute();
                    }
                    $sql = 'SELECT `id` FROM `videos_tmp` WHERE 1';
                    if (isset($filter['active'])) $sql .= ' AND `Active` = :active';
                    if (isset($filter['search'])) $sql .= ' AND `title` LIKE :search';
                    if (isset($filter['fromDate'])) $sql .= ' AND `Date` >= :fromDate';
                    if (isset($filter['toDate'])) $sql .= ' AND `Date` <= :toDate';
                    $sql .= ' ORDER BY `Date` ' . $orderDir;
                    $stmt = $db->prepare($sql);
                    if (isset($filter['active'])) $stmt->bindStr(':active', $filter['active']);
                    if (isset($filter['search'])) $stmt->bindStr(':search', '%' . $filter['search'] . '%');
                    if (isset($filter['fromDate'])) $stmt->bindStr(':fromDate', $filter['fromDate']);
                    if (isset($filter['toDate'])) $stmt->bindStr(':toDate', $filter['toDate']);
                    $stmt->execute();
                    $dbResult = $db->fetchAll();
                    $db->prepare('DROP TABLE `videos_tmp`')->execute();

    Извиняюсь, что так много, но какого слоника надо было делать выборку, создавать временную таблицу и делать выборку снова - загадка.

    begmst, 10 Января 2014

    Комментарии (29)
  2. PHP / Говнокод #14342

    +148

    1. 1
    <link rel="stylesheet" href="css/css.css" type="text/css" />

    Ехал Гитлер через Гитлер,
    Гитлер Гитлер Гитлер Гитлер!

    cahbtexhuk, 10 Января 2014

    Комментарии (10)
  3. PHP / Говнокод #14339

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    function t($text, $parameters = null) {
            $lang = empty($_COOKIE['lang']) ? 'ru' : $_COOKIE['lang'];
            $result = !array_key_exists($text, Application_Model_Translate::$lang_package) || ($lang == 'ru') ? $text :
                    Application_Model_Translate::$lang_package[$text][(int) ($lang == 'en')];
            if (isset($parameters)) {
                    if (!is_array($parameters))
                            $parameters = array($parameters);
                    foreach ($parameters as &$param)
                            $param = addslashes($param);
                    eval('$result = sprintf($result, "'. implode('","', $parameters) . '");');
            }
            return $result;
    }

    Groovy, 10 Января 2014

    Комментарии (43)
  4. PHP / Говнокод #14329

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function get_the_fucking_first_image_from_the_fucking_content_DUDE_is_this_really_so_hard($content)
    {
       preg_match_all('/(<img .*? src=\"\/images.*?\">?)/', $content, $result);
       return $result[0][0];
    }

    мне кажется, коллега задолбался

    russling, 08 Января 2014

    Комментарии (17)
  5. PHP / Говнокод #14319

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    // Сначала было 
    $result['routes'][0]['legs'][0]['start_address'].split(',');
    // Повтыкал с минуту, исправил на 
    $result['routes'][0]['legs'][0]['start_address'].explode(',');

    NodeJS головного мозга...

    nonamez, 06 Января 2014

    Комментарии (11)
  6. PHP / Говнокод #14304

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    class core {
    public static function txt($var){
    $var = trim($var);
    $var = stripslashes($var);
    $var = str_replace("\00", '', $var);
    $var = htmlspecialchars($var, ENT_QUOTES, 'UTF-8');
    $var = str_replace("%", "\%", $var);
    $var = str_replace("_", "\_", $var);
    $var = iconv('utf-8', 'windows-1251', $var);
    $var = iconv('windows-1251', 'utf-8', $var);
    return $var;
    }
    public static function nik($id){
    global $dbs;
    $nick = $dbs->query("SELECT * FROM `users` WHERE `id` = '$id'")->fetch_assoc();
    if(empty($nick)){
    $us = '[Удален]';
    }else{
    $us = ($nick['onl']<time()-600?'<font color="red">[off]</font>':'<font color="green">[on]</font>').' <a href="/'.$nick['login'].'" style="color:black;"><b>'.$nick['login'].'</b></a>';
    }
    return $us;
    }
    /*.....и еще куча срани*/

    Вот он ООП, ну и оптимизция))

    Ruslyakan, 31 Декабря 2013

    Комментарии (107)
  7. PHP / Говнокод #14302

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?php
    
    echo 'С Новым Годом!';
    
    ?>

    xss, 30 Декабря 2013

    Комментарии (10)
  8. PHP / Говнокод #14287

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    35. 35
    36. 36
    37. 37
    38. 38
    <?php
    namespace Custom\Entity;
    
    class slideshow{
        const IBLOCK_ID = SLIDER_ON_INDEX_IBLOCK_ID;
    
        static function getLabel($type){
            $label = "";
            switch($type){
                case NEW_OF_DAY_ENUM_ID_PROPERTY_MAIN_ARTICLES_IBLOCK_ID:
                    $label = '<img class="sticker news_of_day" src="/static/img/labels/news_of_day_l.png"><img class="sticker news_of_day_r" src="/static/img/labels/news_of_day_r.png">';
                    break;
                case HOT_ENUM_ID_PROPERTY_MAIN_ARTICLES_IBLOCK_ID:
                    $label = '<img class="sticker hot infoBlock rsABlock rsNoDrag" src="/static/img/labels/hot.png">';
                    break;
                case SLUH_ENUM_ID_PROPERTY_MAIN_ARTICLES_IBLOCK_ID:
                    $label = '<img class="sticker infoBlock infoBlockLeftBlack rsABlock rsNoDrag" src="/static/img/labels/gossip.png">';
                    break;
                case ITEM_ENUM_ID_PROPERTY_MAIN_ARTICLES_IBLOCK_ID:
                    $label = '<img class="sticker thing_of_week infoBlock rsABlock rsNoDrag" src="/static/img/labels/thing_of_week.png">';
                    break;
                case POPULAR_ENUM_ID_PROPERTY_MAIN_ARTICLES_IBLOCK_ID:
                    $label = '<img class="sticker most_popular infoBlock rsABlock rsNoDrag" src="/static/img/labels/most_popular.png">';
                    break;
                case CHOOSE_ENUM_ID_PROPERTY_MAIN_ARTICLES_IBLOCK_ID:
                    $label = '<img class="sticker editors_choice infoBlock" src="/static/img/labels/editors_choice.png">';
                    break;
                case BEST_ENUM_ID_PROPERTY_MAIN_ARTICLES_IBLOCK_ID:
                    $label = '<img class="sticker the_best infoBlock rsABlock rsNoDrag" src="/static/img/labels/the_best.png">';
                    break;
                case NEW_ENUM_ID_PROPERTY_MAIN_ARTICLES_IBLOCK_ID:
                    $label = '<img class="sticker new infoBlock rsABlock rsNoDrag" src="/static/img/labels/new.png">';
                    break;
            }
            return $label;
        }
    }
    ?>

    И еще один замечательный пример ChinaCode от "грамотных разработчиков на битриксе, которые знают неймспейсы". Особенно порадовал css-класс rsNoDrag, хотя по большому счету надо было бы данный класс назвать "NoDrugs" и взять на вооружение данным "пейсателям".

    sturm, 26 Декабря 2013

    Комментарии (3)
  9. PHP / Говнокод #14284

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    public static function getAssoc($constBlock,$const){
            if (defined($constBlock)){
                $arLabels = unserialize($const);
                $assoc = array(
                    $arLabels['news_day'] => array(
                        'img' => array(
                            0 => array(
                                'class' => 'sticker infoBlock news_of_day',
                                'big' => '/static/img/labels/news_of_day.png',
                                'small' => '/static/img/labels/news_of_day_s.png'
                            ),
                            /*1 => array(
                                'class' => 'sticker news_of_day_r',
                                'big' => '/static/img/labels/news_of_day_r.png',
                                'small' => '/static/img/labels/news_of_day_s_r.png'
                            ),*/
                        )
                    ),
                    $arLabels['hot'] => array(
                        'img' => array(
                            0 => array(
                                'class' => 'sticker hot infoBlock',
                                'big' => '/static/img/labels/hot.png',
                                'small' => '/static/img/labels/hot_s.png'
                            )
                        )
                    ),
                    $arLabels['gossip'] => array(
                        'img' => array(
                            0 => array(
                                'class' => 'sticker infoBlock gossip',
                                'big' => '/static/img/labels/gossip.png',
                                'small' => '/static/img/labels/gossip_s.png'
                            )
                        )
                    ),
                    $arLabels['thing_of_week'] => array(
                        'img' => array(
                            0 => array(
                                'class' => 'sticker thing_of_week infoBlock',
                                'big' => '/static/img/labels/thing_of_week.png',
                                'small' => '/static/img/labels/thing_of_week_s.png'
                            )
                        )
                    ),
                    ...
                    ...
                    ...
                    ...
                    ...
                    $arLabels['new_role'] => array(
                        'img' => array(
                            0 => array(
                                'class' => 'sticker new_role infoBlock',
                                'big' => '/static/img/labels/new_role.png',
                                'small' => '/static/img/labels/new_role_s.png'
                            )
                        )
                    )
                );
            }
            return $assoc;
        }

    Так пишут "грамотные разработчики на битриксе" (они знают неймспейсы). Естественно, что все методы в классах должны быть статическими. Это по-битриксовому, значит правильно. Заполнение массива ChinaStyle, т.е. вручную - это тоже правильно, ибо тоже по-битриксовому. И конечно же, вся эта НЁХ должна храниться в текущем методе. "Циклы? Нет, не слышали... Запросы к базе данных? Битрикс говорит, что это плохо, поэтому мы с уверенностью эти лекции проебали. Зато мы знаем неймспейсы!"

    sturm, 26 Декабря 2013

    Комментарии (1)
  10. PHP / Говнокод #14283

    +155

    1. 1
    2. 2
    $actions = new BlogsActions;
    return $actions::model();

    платили бы им за строчки кода...

    CRRaD, 26 Декабря 2013

    Комментарии (0)