1. Лучший говнокод

    В номинации:
    За время:
  2. JavaScript / Говнокод #16460

    +154

    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
    var SomeObject = {
    	ToggleUploadButton: function () {
    		/// <summary>Отобразить или спрятать кнопку загрузки</summary>
    		var arr = this._ImageList.getElementsByTagName("LI");
    		if (arr.length > 0)
    			$(this._UploadPanel).removeAttr("disabled");
    		else $(this._UploadPanel).attr("disabled", "disabled");
    	},
    	OnButtonClick: function (e) {
    		/// <summary>Обаботка события нажатия на кнопку "Загрузить". Проходим по всем миниатюрам из списка, читаем у каждой свойство file (добавленное при создании) и начинаем загрузку, создавая экземпляры объекта uploaderObject. По мере загрузки, обновляем показания progress bar, через обработчик onprogress, по завершении выводим информацию.</summary>
    		if (!this.IsUploadCompatible)
    			return true;
    
    		if ($(this._UploadPanel).attr('disabled') !== undefined) return false;
    
    		//...
    	}
    }

    Вот таким красивым способом проверяем на наличие файлов в контейнере для загрузки...

    TauSigma, 01 Августа 2014

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

    +154

    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
    function parseString($str) {
         $op = array();
        $pairs = explode("&", $str);
        foreach ($pairs as $pair) {
            list($k, $v) = array_map("urldecode", explode("=", trim($pair)));
            $op[$k] = $v;
        }
        return $op;
    }
    
    if (!isset($HTTP_RAW_POST_DATA))
    {
            $HTTP_RAW_POST_DATA = file_get_contents("php://input");
    }

    И это уже не в первый раз. А когда надо отправить форму, то php-шники делают это через raw socket.

    cottonzoom, 30 Июля 2014

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

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public function quizAction(){
            $gsession = new Zend_Session_Namespace('global');
            $showQuiz = true;
            if($gsession->__isset('quizCompleted')) {
                if($this->getParam('restart-quiz', false)) {
                    $gsession->__unset('quiz');
                    $gsession->__unset('quizCompleted');
    
                }else{ /* ... */ }
            }
            // ...
        }

    Вызов магических методов напрямую

    baldrs, 28 Июля 2014

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

    +154

    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
    for ($i = 0; $i < count($total_data); $i++) {
                        if ($total_data[$i]['title'] == "Сумма") {
                            $sum = (float) $total_data[$i]['value'];
                            $tdata = array();
                            $tdata[count($total_data)]['title'] = "Сумма со скидкой";
                            $tdata[count($total_data)]['code'] = "discount_total";
                            $tdata[count($total_data)]['value'] = $sum;
                            $tdata[count($total_data)]['text'] = $this->currency->format($sum);
                            $tdata[count($total_data)]['sort_order'] = "2";
                            $total_data = array_merge($total_data, $tdata);
                            $id_sum = $i;
                            $sub_total = $sum;
                        }
                        if ($total_data[$i]['title'] == "Итого") {
                            $id_discount = count($total_data) - 1;
                            $total_data[$i]['value'] = (float) $total_data[$i]['value'] - (float) $total_data[$id_sum]['value'] + (float) $total_data[$id_discount]['value'];
                            $total_data[$i]['text'] = $this->currency->format($total_data[$i]['value']);
                        }
                    }

    true2trance, 24 Июля 2014

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

    +154

    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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    /*
         * BANERS
         */
        $IMG="<div class=\"tovMain\" id=\"bnList1_imgBlock\"></div>
              <script type=\"text/javascript\">
                var bnList1_images=[";
        $banerId=$res->show1Var("s_rzd","page='".PAGE_BANER."'","id");
        $imgPreRes=$res->showTabAsPage("s_cnt","rzdId='".$banerId."' AND image>'' AND `show`='Y'","image","id",0);
        foreach($imgPreRes as $imgRes){
            $IMG.="'{ROOTPATH}images/".$imgRes["image"]."',";
        }
        $IMG=substr($IMG,0,-1);
        $IMG.="];
                var bnList1_old_image='';
                var bnList1_x=10;
                var bnList1_y=3;
                var bnList1_mercaniy=2;
                var bnList1_speed=500;
                var bnList1_speed1=800;
                var bnList1_w=Math.round(document.getElementById(\"bnList1_imgBlock\").offsetWidth/bnList1_x);
                var bnList1_h=Math.round(document.getElementById(\"bnList1_imgBlock\").offsetHeight/bnList1_y);
            
                var tek=0;
                bnList1Listing(bnList1_images[tek]);
                setInterval(\"tek=(bnList1_images.length>(tek+1)?tek+1:0);bnList1Listing(bnList1_images[tek]);\",5000);
                
                for(var i=1;i<=bnList1_x;i++){
                    for(var j=1;j<=bnList1_y;j++){
                        bnList1CreateBlocks(\"bnList1_block_\"+i+\"_\"+j+\"_1\",bnList1_w,bnList1_h,bnList1_w*(i-1),bnList1_h*(j-1));
                        bnList1CreateBlocks(\"bnList1_block_\"+i+\"_\"+j+\"_2\",bnList1_w,bnList1_h,bnList1_w*(i-1),bnList1_h*(j-1));
                    }
                }
            </script>";
        /*$rndBanerId=array_rand($imgPreRes);
        $img=$imgPreRes[$rndBanerId]["image"];
        $IMG="<div class=\"tovMain\" id=\"slideshow\">
                <img src=\"{ROOTPATH}images/empty.gif\" alt=\"\" />
                <img src=\"{ROOTPATH}img.php?image=".$img."&w=656&h=189\" alt=\"\" />
              </div>"; // Простая сквозная картинка
        //$HD_IMG="<div class=\"tovMain\">".($cntRes->hdImg())."</div>"; // Сменяющиеся картинки
         * s
         */
        $BANER=$cntRes->site_simpleStr(PAGE_BANER,"text");
            $content=str_replace("{BANER}",$BANER,$content);
            $content=str_replace("{IMG}",$IMG,$content);
        
        /*
         * IMAG
         */
        $TOVMAIN=$imagRes->showAsTovList("main");
            $content=str_replace("{TOVMAIN}",$TOVMAIN,$content);
        unset($TOVMAIN);
            
        /*
         * CONTENT
         */
        
        $NAV_ROW=$cntRes->site_nav();
        $STR=$cntRes->site_pageHd();
        $STR.=$cntRes->site_imagFilter();
        $STR.=$cntRes->site_cont();
        $SUB_STR=$cntRes->commonStr();
            $content=str_replace("{NAV_ROW}",$NAV_ROW,$content);
            $content=str_replace("{STR}",$STR,$content);
            $content=str_replace("{SUB_STR}",$SUB_STR,$content);
        unset($STR,$SUB_STR);
    
                $content=str_replace("{BACK}",BACK,$content);
                $content=str_replace("{UP}",UP,$content);
                $content=str_replace("{SEND}",SEND,$content);
                $content=str_replace("{FORM_SEND_ZAG}",FORM_SEND_ZAG,$content);
                $content=str_replace("{FORM_NAME}",FORM_NAME,$content);
                $content=str_replace("{FORM_POSTADDR}",FORM_POSTADDR,$content);
                $content=str_replace("{FORM_PHONE}",FORM_PHONE,$content);
                $content=str_replace("{FORM_EML}",FORM_EML,$content);
                $content=str_replace("{FORM_MSG}",FORM_MSG,$content);
                $content=str_replace("{FORM_SEND_SUCCESS}",FORM_SEND_SUCCESS,$content);
                $content=str_replace("{FORM_SEND_ERROR}",FORM_SEND_ERROR,$content);
                $content=str_replace("{REQUIRED_FIELDS}",REQUIRED_FIELDS,$content);
                $content=str_replace("{MAIN}",MAIN,$content);
      if(__lang=="en"){
        $content=str_replace("logo.png","logo_en.png",$content);
      }

    templates/default/template.php
    Знакомьтесь, "DEFAULT SITE TEMPLATE" (Кусок 2-й) ;)

    RuJack, 21 Июля 2014

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

    +154

    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
    [ITEAM] => Array
            (
                [0] => Array
                    (
                        [CITY_NAME] => value
                        [CITY_DETAIL_URL] => value
                        [OBJECT_NAME] => value
                        [OBJECT_ID] => 2487
                        [DATE_CREATE] => 02.07.2006
                        [STATUS] => Y
                        [PAID_STATUS] => Y
                        [DATEIL_OBJECT_URL] => value
                    )
    
                [1] => Array
                    (
                        [CITY_NAME] => value
                        [CITY_DETAIL_URL] => value
                        [OBJECT_NAME] => value
                        [OBJECT_ID] => 2489
                        [DATE_CREATE] => 02.07.2006
                        [STATUS] => Y
                        [PAID_STATUS] => N
                        [DATEIL_OBJECT_URL] => value
                    )

    Битрикс!!
    Особое внимание на ключи:
    ITEAM и DATEIL_OBJECT_URL )))

    http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=3014

    #bitrix #black chi

    waspar, 17 Июля 2014

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

    +154

    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
    <script type="text/javascript">
        if (parent && parent != window && (browser.msie || browser.opera || browser.mozilla || browser.chrome || browser.safari || browser.iphone)) {
          document.getElementsByTagName('body')[0].innerHTML = '';
        } else {
          domReady();
          updateMoney(0);
    gSearch.init();
    if (window.qArr && qArr[5]) qArr[5] = [5, "by item", "", "goods", 0x00000100];
    if (browser.iphone || browser.ipad || browser.ipod) {
      setStyle(bodyNode, {webkitTextSizeAdjust: 'none'});
    }
    if (0) {
      hide('support_link_td');
    }
    var ts_input = ge('ts_input'), oldFF = browser.mozilla && parseInt(browser.version) < 8;
    if (browser.mozilla && !oldFF) {
      setStyle(ts_input, {padding: (vk.rtl ? '3px 20px 6px 40px' : '3px 41px 6px 20px')});
    }
    placeholderSetup(ts_input, {back: false, reload: true});
    if (browser.opera || browser.msie || browser.mozilla) {
      setStyle(ts_input, {padding: (vk.rtl ? '4px 20px 5px 40px' : '4px 41px 5px 20px')});
    } else if (browser.chrome || browser.safari) {
      setStyle(ts_input, {padding: (vk.rtl ? '4px 21px 5px 40px' : '4px 40px 5px 21px')});
    }
    
    ...
    
    window.tsHintsEnabled = 1;;setTimeout(function() {  try {    var elem = ge(String.fromCharCode.apply(null,[118,107,98,95,97,100,118]));    if (elem) {      ajax.post('/al_profile.php', {act: 'pro', section: 1, hash: '3f8471898e6269d08b'}, {onDone: function() {}, onFail: function() { return true; }});    }  } catch (e) {}}, 5000);
    __adsLoaded = false;
    
    ...
    
    cur.lang = extend(cur.lang || {}, {
      wall_link_label: 'Link',
      wall_my_friends_only: 'Only your friends can see this post',

    Перестала грузиться понятно какая соцсеточка, от нечего делать опять полез в сорцы html. Вперемешку инициализация поиска, битмаски и какой-то qArr[5], уконтрапупивание всего body по непонятному условию, стилизация, if(0), табуляция в соответствии с каким-то особым стандартом, локализация, вторая половина которой зачем-то подтягивается отдельным файлом. Про установку всех переменных прямо в window явно и неявно молчу.

    Fike, 08 Июля 2014

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if($product_info['meta_description']) {
    				$this->document->setDescription($product_info['meta_description']);
    			} elseif ($pos == true) {
    				$this->document->setDescription('Сертифицированный товар (уценка): '.mb_convert_case($product_info['name'], MB_CASE_LOWER, "UTF-8").' за '.(int)$product_info['price'].' грн. Бесплатные доставка по Киеву и Украине от интернет магазина');
    			} else {
    				$this->document->setDescription('Сертифицированный товар: '.mb_convert_case($product_info['name'], MB_CASE_LOWER, "UTF-8").' за '.(int)$product_info['price'].' грн. Бесплатные доставка по Киеву и Украине от интернет магазина');
    			}

    Дали сайт на OpenCart на доработку , вот такой код я нашел в контроллере

    heetap, 25 Июня 2014

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    // Return limit*2 items max, try to fit as good as possible
    vakgebieden = _.take(vakgebieden, limit);
    trefwoorden = _.take(trefwoorden, limit * 2 - vakgebieden.length);
    vakgebieden = _.take(vakgebieden, limit * 2 - trefwoorden.length);

    quall, 25 Июня 2014

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

    +154

    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
    $this->db->from("admin_sidebar");
            $this->db->where("folder", 1);
            $this->db->order_by("sort", "asc");
            $query = $this->db->get();
            $data[0] = $query->result();
            $this->db->from("admin_sidebar");
            $this->db->where("folder", 2);
            $this->db->order_by("sort", "asc");
            $query = $this->db->get();
            $data[1] = $query->result();
            $this->db->from("admin_sidebar");
            $this->db->where("folder", 3);
            $this->db->order_by("sort", "asc");
            $query = $this->db->get();
            $data[2] = $query->result();
            $this->db->from("admin_sidebar");
            $this->db->where("folder", 4);
            $this->db->order_by("sort", "asc");
            $query = $this->db->get();
            $data[3] = $query->result();
            $this->db->from("admin_sidebar");
            $this->db->where("folder", 5);
            $this->db->order_by("sort", "asc");
            $query = $this->db->get();
            $data[4] = $query->result();

    asdozzz, 19 Июня 2014

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