1. Список говнокодов пользователя Shock

    Всего: 11

  2. JavaScript / Говнокод #7434

    +179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    jQuery.atmosphere.request.transport = 'polling';
    if (jQuery.atmosphere.request.transport != 'websocket') {
    	jQuery.atmosphere.executeRequest();
    } else if (jQuery.atmosphere.request.transport == 'websocket') {
    	// ..
    }

    Сразу удар по двум яйцам.
    Сначала говорим, что transport = 'polling', а потом проверяем, не равен ли он случайно 'websocket'
    Второй удар - обычный else использовать, видимо, было не прикольно. Или у транспорта кроме "равен websocket" и "не равен websocket" может быть третье состояние? ;)

    Код актуальный и на данный момент присутствует в официальном репозитории, пруф: https://github.com/jfarcand/atmosphere/blob/master/modules/jquery/src/main/webapp/jquery/jquery.atmosphere.js#L493-503

    пс. А мы на работе удивляемся, почему 'websocket' у них не работает)

    Shock, 03 Августа 2011

    Комментарии (13)
  3. JavaScript / Говнокод #6446

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var Nothing = function () { return Nothing; }
    
    var NewNothing = new new new new new Nothing();
    
    console.log(NewNothing == Nothing); // true

    Небольшая фантазия. Но работает!)

    Shock, 22 Апреля 2011

    Комментарии (22)
  4. JavaScript / Говнокод #5796

    +177

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(msg == "" || msg == "{}"){
    	// странный баг, форма очищается, но не прячется
    	return;
    	$("#variants_div").html('');
    	$("variants_div").hide();
    }

    Даже Джумла первая была радостным кодом по сравнению с этим.

    Shock, 24 Февраля 2011

    Комментарии (6)
  5. JavaScript / Говнокод #5772

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    if(videoID == undefined || typeof videoID == 'undefined' || !videoID){
    	alert("Invalid video!");
    	return false;
    }

    Боги, спасите мою душу от этого проекта

    Shock, 22 Февраля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    if( empty( $page ) || empty( $_REQUEST['page'])) {
    	if( !empty($_REQUEST['amp;page'])) {
    		$page = $_REQUEST['amp;page'];

    из VirtueMart - компонента для Джумлы.
    интересно, почему нету проверок на $_REQUEST['amp;amp;page']; и $_REQUEST['amp;amp;amp;page']; ?

    Shock, 17 Октября 2010

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

    +159.6

    1. 1
    2. 2
    <p>Всего сообщений: <?=$msg->{0}[0]['count']?></p>
    <p>Новых: <?=$msg->{0}[0]['countNew']?></p>

    Вот честнейшее слово, именно так. Пока загадка, почему и откуда. как будет время — разберусь. Как будет время настроение — разберусь. Если кто-то наткнётся — прошу прощения.

    Shock, 10 Декабря 2009

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

    +157

    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
    <?php
        public function run()
        {
            $db = Registry::get('Db');
    
            $db->transaction(Db_Database::START);
    
            $success = $db->query()->update()
                ->table('forum_topics')
                ->set('PostsCount = PostsCount - 1')
                ->set('LastPostID = ('
                    . $db->query()
                        ->select()->fields('ID')
                        ->table('forum_posts')->order('ID', 1) // DESC
                        ->where('TopicID = %d', $this->post->topic->id)
                        ->limit(1)->compile()->getQuery()
                    . ')')
                ->set('FirstPostID = ('
                    . $db->query()
                        ->select()->fields('ID')
                        ->table('forum_posts')->order('ID')
                        ->where('TopicID = %d', $this->post->topic->id)
                        ->limit(1)->compile()->getQuery()
                    . ')')
                ->where('ID = %d', $this->post->topic->id)
                ->compile()->run()->success()
            && $db->query()->update()
                ->table('forum_cats')
                ->set('PostsCount = PostsCount - 1')
                ->set('LastTopicID = ('
                    . $db->query()
                        ->select()->fields('ID')
                        ->table('forum_topics')->order('LastPostID', 1) // DESC
                        ->where('CatID = %d', $this->post->topic->category->id)
                        ->limit(1)->compile()->getQuery()
                    . ')')
                ->where('ID = %d', $this->post->topic->category->id)
                ->compile()->run()->success()
            && $db->query()->update()
                ->table('forum_posts')
                ->set('Deleted = 1')
                ->where('ID = %d', $this->post->id)
                ->compile()->run()->success();
            $db->transaction($success ? Db_Database::COMMIT : Db_Database::ROLLBACK);
            return $success;
        }

    Вот такая вот жесть бывает. Изменение счетчиков на форуме (денормализация) с использованием альфа-версии кверибилдера. по-моему — устрашающе)

    Shock, 13 Октября 2009

    Комментарии (7)
  9. Куча / Говнокод #1912

    +65

    1. 1
    2. 2
    3. 3
    <div class="frame" style="width: 298px;//width: 350px;//padding-left: 20px;">
    	<!-- Content -->
    </div>

    Да-да, именно так, со слешами, в рабочем проекте и есть. решил не трогать

    Shock, 30 Сентября 2009

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

    +158.3

    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
    <?php
    
    function secure2() {
        secure();
    }
    
    function secure() {
        secure3();
    }
    
    function secure3() {
        if (!check_session()) {
            $cookie = try_cookie();
            tiny_login($cookie['login'], $cookie['pass'], 1);
            if (check_session()) {
                $ret = true;
            } else {
                $ret = false;
            }
        } else {
            $ret = true;
        }
    
        if (!$ret) {
            $_SESSION['loginerror'] = 'Ошибка авторизации';
            header('location:(ссылка)');
        }
    }
    
    ?>

    В догонку к http://govnokod.ru/1820 по просьбе в комментах
    Реальный код из реального проекта. Что самое интересное — используется secure2
    Как оно работает для меня — загадка.

    Shock, 19 Сентября 2009

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

    +163.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    function get_user() {
    	// функция перенесена в secure.func.php
    	$user = get_user();
    	return $user;
    }
    ?>

    Shock, 09 Сентября 2009

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