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

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

    +159

    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
    if (isset($this->request->post['config_image_manufacturer_height'])) {
    			$this->data['config_image_manufacturer_height'] = $this->request->post['config_image_manufacturer_height'];
    		} else {
    			$this->data['config_image_manufacturer_height'] = $this->config->get('config_image_manufacturer_height');
    		}
    
    		if (isset($this->request->post['config_image_additional_width'])) {
    			$this->data['config_image_additional_width'] = $this->request->post['config_image_additional_width'];
    		} else {
    			$this->data['config_image_additional_width'] = $this->config->get('config_image_additional_width');
    		}
    		
    		if (isset($this->request->post['config_image_additional_height'])) {
    			$this->data['config_image_additional_height'] = $this->request->post['config_image_additional_height'];
    		} else {
    			$this->data['config_image_additional_height'] = $this->config->get('config_image_additional_height');
    		}
    		
    		if (isset($this->request->post['config_image_related_width'])) {
    			$this->data['config_image_related_width'] = $this->request->post['config_image_related_width'];
    		} else {
    			$this->data['config_image_related_width'] = $this->config->get('config_image_related_width');
    		}
    		
    		if (isset($this->request->post['config_image_related_height'])) {
    			$this->data['config_image_related_height'] = $this->request->post['config_image_related_height'];
    		} else {
    			$this->data['config_image_related_height'] = $this->config->get('config_image_related_height');
    		}
    		
    		if (isset($this->request->post['config_image_compare_width'])) {
    			$this->data['config_image_compare_width'] = $this->request->post['config_image_compare_width'];
    		} else {
    			$this->data['config_image_compare_width'] = $this->config->get('config_image_compare_width');
    		}

    Всего лишь небольшой кусок кода из админки OpenCart-а.
    Люди! OpenCart - гамно.

    cybervantyz, 06 Сентября 2011

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

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $("html > body a#order_check").click(function(){
    	if($("html > body a#order_check").is(".active") && !$("html > body div#order_check_b").is(":hidden")){
    		$("#order_check").removeClass("active")
    		$("#order_check_b").hide()
    	}
    	if(!$("html > body a#order_check").is(".active") && $("html > body div#order_check_b").is(":hidden")){
    		$("html > body #order_check").addClass("active")
    		$("html > body #order_check_b").show()
    	}
    })

    Connor, 06 Сентября 2011

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

    +159

    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
    <?php 
    function greeting($_lang="ru", $_offset=""){ 
        //// Функция greeting 
        //// Возвращает приветствие 
         
        // Языковые переменные 
        $lang = array( 
            'ru' => array( 
                'morning' => 'Доброе утро!', 
                'afternoon' => 'Добрый день!', 
                'evening' => 'Добрый вечер!', 
                'night' => 'Доброй ночи!' 
            ), 
            'en' => array( 
                'morning' => 'Good morning!', 
                'afternoon' => 'Good afternoon!', 
                'evening' => 'Good evening!', 
                'night' => 'Good night!' 
            ) 
        ); 
         
        if(empty($_offset)){ 
            // Если время на Вашем сервере отличается от Вашего, поменяйте сдвиг в переменной $offset 
            $_offset = 0; 
        } 
        if(empty($_lang)){ 
            // язык по умолчанию 
            $_lang = 'ru'; 
        } 
             
        // $curr_hour = текущий час 
        $curr_hour = date('G', time() + (60 * 60 * $_offset)); 
         
        if($curr_hour >= "5" && $curr_hour <= "11"){ 
            // если текущий час больше 5 и менее 11 
            return $lang[$_lang]['morning']; 
        }elseif($curr_hour >= "12" && $curr_hour <= "17"){ 
            // если текущий час больше 12 и менее 17 
            return $lang[$_lang]['afternoon']; 
        }elseif($curr_hour >= "18" && $curr_hour <= "20"){ 
            // если текущий час больше 18 и менее 20 
            return $lang[$_lang]['evening']; 
        }else{ 
            // все другие случаи 
            return $lang[$_lang]['night']; 
        } 
    } 
    ?>

    Концептуально новый серьезный подход к приветствию пользователя.

    7ion, 04 Сентября 2011

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

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if (strlen($_POST["NEW_PASSWORD"]) <= 0)
    					$arResult["ERROR"][] = GetMessage("STOF_ERROR_REG_FLAG1");
    
    				if (strlen($_POST["NEW_PASSWORD"]) > 0 && strlen($_POST["NEW_PASSWORD_CONFIRM"]) <= 0)
    					$arResult["ERROR"][] = GetMessage("STOF_ERROR_REG_FLAG1");
    
    				if (strlen($_POST["NEW_PASSWORD"]) > 0
    					&& strlen($_POST["NEW_PASSWORD_CONFIRM"]) > 0
    					&& $_POST["NEW_PASSWORD"] != $_POST["NEW_PASSWORD_CONFIRM"])
    					$arResult["ERROR"][] = GetMessage("STOF_ERROR_REG_PASS");

    Взято из Битрикса /bitrix/components/bitrix/sale.order.ajax/component.php

    Потрясающие идентификаторы мессаджей. Ну а то, что прочитать код без слома глаз нельзя отдельная песня.
    В целом там такого внутри много.

    zima, 29 Августа 2011

    Комментарии (6)
  6. C++ / Говнокод #7688

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    //Я думал тоже так сделать, но иногда для параметра нужны дополнительные аргументы. Например есть operator()(float, int preciseness). С запятыми такого не сделаешь. Я это применил в своих массивах. Можно написать так:
    Array<int> arr;
    arr.Init(), 5, 7, 65, 99, 267; //Инициализирует массива числами, перечисленными через запятую
    //Кстати, сделал такое добавление в массив:
    arr.Insert(0), 5, 7, 3; //Добавляет числа вначало массива
    arr.Insert($), 888, 25, 76; //Добавляет в конец
    arr.Insert($/2), 65, 23; //В середину
    //Знак доллара сделал для схожести с языком D. Теперь не надо писать arr.length, можно писать $. Вообще, это должно быть медленнее, но компилятор оптимизирует и по тестам получается так же.
    //P. S. В govnokod.ru не заносить.

    http://www.gamedev.ru/code/forum/?id=148200&page=6#m76

    CPPGovno, 29 Августа 2011

    Комментарии (105)
  7. C++ / Говнокод #7660

    +159

    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
    Obj = 0;
      while (dsmodel1.tellg () < LEN)
      {
        dsmodel1.read ( (char*)&ID, 2);
        dsmodel1.read ( (char*)&length, 4);
    
        switch (ID)
        {
        case 0x4d4d: break;
        case 0xb000: break;
        case 0xb002: break;
        case 0xb010: 
    
          char ch;
                do
                {
                    dsmodel1.read ( (char*)&ch, 1);
                }while (ch != '\0' && !dsmodel1.eof ());
    
          dsmodel1.ignore (4);
          dsmodel1.read ( (char*)&father_id [Obj], 2); // айди родительского объекта в иерархии
    
          break;
    
        case 0xb013:
    
          dsmodel1.read ( (char*)&(pivot [Obj].x), 4);   //координаты точки, вокруг которой будет вращаться объект
          dsmodel1.read ( (char*)&(pivot [Obj].y), 4);
          dsmodel1.read ( (char*)&(pivot [Obj].z), 4);
          break;
    
    
        case 0xb020:                                                                             // это поле описывает перенос объекта
          dsmodel1.ignore (10);
          number_of_keys [Obj] = new DWORD;
    
          dsmodel1.read ( (char*)&(number_of_keys [Obj][0]), 4);  //сколько кадров анимации будет у объекта
          key_number [Obj] = new DWORD [number_of_keys [Obj][0]];
          frameTran [Obj] = new D3DXVECTOR3 [number_of_keys [Obj][0]];
    
          how_much_to_ignore = 0;
    
          accel_flags = 0;
          for (i = 0; i < number_of_keys [Obj][0]; i++)
          {
            dsmodel1.read ( (char*)&(key_number [Obj][i]), 4);  
            dsmodel1.read ( (char*)&(accel_flags), 2);              //это флаги сплайнов, в этом примере всегда = 0
    
            if (accel_flags && (1 << 15)) how_much_to_ignore++;
            if (accel_flags && (1 << 14)) how_much_to_ignore++;
            if (accel_flags && (1 << 13)) how_much_to_ignore++;
    //...
     dsmodel1.read ( (char*)&(frameRot [Obj][i].y), 4);    // как я понял он должен быть помещен в точку pivot (она считывалась выше в поле 0хb013)
    //...
    case 0xb030:
          dsmodel1.read ( (char*)&(hierarchy_id [Obj]), 2);            // номер объекта в иерархии, в нашем примере = номеру объекта по порядку считывания

    Полный код:

    http://www.gamedev.ru/code/forum/?id=151570

    CPPGovno, 26 Августа 2011

    Комментарии (11)
  8. C++ / Говнокод #7538

    +159

    1. 1
    Наконец-то http://goo.gl/SjgUj

    absolut, 13 Августа 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    var path = [
        (this.gridSetId || this.projection.projCode.replace(":", "_")) + "_" + this.zeroPad(z, 2),
        //this.zeroPad(halfX, digits) + "_" + this.zeroPad(halfY, digits),
    /*
    * ОООООООЧЕНЬ ГРЯЗНО!!!!!!!!!!!!
    * */
        this.zeroPad(halfX, 1) + "_" + this.zeroPad(halfY, 1),
        this.zeroPad(x, 2 * digits) + "_" + this.zeroPad(y, 2 * digits) + "." + this.type
    ].join("/");

    musuk, 12 Августа 2011

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

    +159

    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
    #настройка	
    $file = file_get_contents('data/other/addsite.xml');
    $count = 80;	
    
    function getDatabase($name,$file){
    $DATABASE = file_get_contents('database/'.$file.'.dat');
    $DATABASE = explode('|',substr($DATABASE,0,-1));
    foreach($DATABASE as $datavalue){
    $datavalue = explode('==',$datavalue);
    $names = $datavalue[0];
    $value = $datavalue[1];
    $arr["$names"] = $value;
    }
    
    return $arr["$name"];
    }
    
    #обработка
    preg_match_all("/<name>(.+?)<\/name>/",$file,$matches);
    preg_match_all("/comment id\=\"(.+?)\"/",$file,$matchesid);
    
    if(!isset($matches[1]))die('ничего не найдено =(');
    if(!isset($matchesid[1]))die('ничего не найдено =(');
    
    $matchesid = array_reverse($matchesid[1]);
    $matches = array_reverse($matches[1]);
    $urls=array();
    
    foreach($matches as $url){
    	if(!$count)break;
    	$count--;
    
    if(!strpos(' '.$url,'http://')){
    $url = 'http://'.$url;
    }
    
            $parts = parse_url($url);
            if(substr($parts['host'],0,4)=='www.'){
            $purl = substr($parts['host'],4);
            } else {
            $purl = $parts['host'];
            }
    	if(isset($purl)){$urls[] = $purl;}
    	}
    
    $text = '';
    $count2=0;
    
    $ids=array();
    
    $countf=80;
    foreach($matchesid as $id){
    	if(!$countf)break;
    	$countf--;
    	$ids[] = $id;
    }
    
    foreach($urls as $href){
        $count2++;
    
    $idd = $ids["$count2"-1];
    $statuss = getDatabase('uweb'.$idd,'checker');
    
    $statusx = "<img src=\"/data/files/".$statuss.".png\" align=\"absmiddle\" />";
    
    
    	$text.="<span id=\"check$idd\">$statusx</span> <a href='http://$href/' target='_blank' rel='nofollow'>http://$href/</a>".($count2%20==0?'</td><td valign="top" width="25%" align="left">':'<br/>');
    	}
    # вывод
    echo "<table width='100%'><tr><td valign='top' width='25%' align='left'>".$text."</td></tr></table>";

    Студия "раскрутки" сайтов uweb.su

    substr, 06 Августа 2011

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

    +159

    1. 1
    myInter_s5_dd_cart = window.setInterval("s5_getdropheight()",1);

    Модуль корзины virtuemart от shape5. Аццки грузит проц.

    constantined, 29 Июля 2011

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