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

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    public function &entityFactory() {
        $entityObject = new stdClass();
        return $entityObject;
    }

    shmaltorhbooks, 27 Сентября 2011

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

    +161

    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
    if (!GetCurrentCurrency()) { print $_lang[ErrorGetCurrentCurrency]; mclose(); exit; }
    
    @set_time_limit(0);
    
    $company_name=GetSetting('company_name');
    $company_url=GetSetting('company_url');
    $billing_url=GetSetting('billing_url');
    $support_url=GetSetting('support_url');
    $manager_email=GetSetting('manager_email');
    
    $cronAutoSuspend = GetSetting('cronAutoSuspend');
    $cronSendAdminEndOrder = GetSetting('cronSendAdminEndOrder');
    $cronSendClientBillRemind = GetSetting('cronSendClientBillRemind');
    $cronSendClientBillRemindDays = GetSetting('cronSendClientBillRemindDays');
    $cronSendClientEndOrderRemind = GetSetting('cronSendClientEndOrderRemind');
    $cronSendClientEndOrderRemindDays = GetSetting('cronSendClientEndOrderRemindDays');
    $cronSendClientEndOrderDomainRemind = GetSetting('cronSendClientEndOrderDomainRemind');
    $cronSendClientEndOrderDomainRemindDays = GetSetting('cronSendClientEndOrderDomainRemindDays');
    $cronDeleteBill = GetSetting('cronDeleteBill');
    $cronDeleteBillDay = GetSetting('cronDeleteBillDay');
    $cronDeleteNeobrabOrdersWithoutBills = GetSetting('cronDeleteNeobrabOrdersWithoutBills');
    $cronDeleteNeobrabOrdersDomainsWithoutBills = GetSetting('cronDeleteNeobrabOrdersDomainsWithoutBills');
    $cronDeleteOrder = GetSetting('cronDeleteOrder');
    $cronDeleteOrderDay = GetSetting('cronDeleteOrderDay');
    $cronAutoDelete = GetSetting('cronAutoDelete');
    $cronDeleteOrderDomain = GetSetting('cronDeleteOrderDomain');
    $cronDeleteOrderDomainDay = GetSetting('cronDeleteOrderDomainDay');
    $cronCloseTickets = GetSetting('cronCloseTickets');
    $cronCloseTicketsDay = GetSetting('cronCloseTicketsDay');
    $cronDeleteTickets = GetSetting('cronDeleteTickets');
    $cronDeleteTicketsDay = GetSetting('cronDeleteTicketsDay');
    $cronDeleteUserLogs = GetSetting('cronDeleteUserLogs');
    $cronDeleteUserLogsDay = GetSetting('cronDeleteUserLogsDay');
    $cronDeleteAdminLogs = GetSetting('cronDeleteAdminLogs');
    $cronDeleteAdminLogsDay = GetSetting('cronDeleteAdminLogsDay');
    $cronSendClientEndOrderShopRemind = GetSetting('cronSendClientEndOrderShopRemind');
    $cronSendClientEndOrderShopRemindDays = GetSetting('cronSendClientEndOrderShopRemindDays');
    $cronDeleteNeobrabOrdersShopWithoutBills = GetSetting('cronDeleteNeobrabOrdersShopWithoutBills');
    $cronDeleteOrderShop = GetSetting('cronDeleteOrderShop');
    $cronDeleteOrderShopDay = GetSetting('cronDeleteOrderShopDay');
    $cronSendClientEndTestRemind = GetSetting('cronSendClientEndTestRemind');
    $cronSendClientEndTestRemindDays = GetSetting('cronSendClientEndTestRemindDays');
    
    $autoRenewEnable=GetSetting("autoRenewEnable");
    $autoRenewClientChange=GetSetting("autoRenewClientChange");
    $autoRenewDay=GetSetting("autoRenewDay");
    $autoRenewDomainDay=GetSetting("autoRenewDomainDay");
    $autoRenewShopDay=GetSetting("autoRenewShopDay");
    
    $attachPDFtoBill = GetSetting("attachPDFtoBill");
    
    $cronSendClientEndTestRemind = GetSetting('cronSendClientEndTestRemind');
    $cronSendClientEndTestRemindDays = GetSetting('cronSendClientEndTestRemindDays');
    $cronAutoDeleteTest = GetSetting('cronAutoDeleteTest');
    
    
    
    if ($cronCloseTickets and intval($cronCloseTicketsDay) > 0) {
    
    и так дальше с каждой переменной ~ 1500 строк кода

    Равшан,где сериализация?
    Где сериализация кодя я тебя спашиваю?!

    - Где сериализация, насяльника, где?

    tertychniy, 23 Сентября 2011

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

    +161

    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
    function checkEmail(form){	
        var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
        if(pattern.test(form.email.value)  &&  (!((form.fio.value=="")||(form.email.value=="")||(form.message.value=="")) ))
    	{   
    	//Возвращаем правду
    	return true;  
        }
    	
    	else
    	{   
    	//Выводим на экран сообщение
    	alert("Вы заполнили не все поля и/или неверно заполнили поле e-mail");
        //Возвращаем ложь
        return false;
        }
    }

    Валидаторы валидируют. Форматирование сохранено.

    telnet, 21 Сентября 2011

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if($total>1) {
        Error_Reporting(E_ALL & ~E_NOTICE);
        echo "<tr><td colspan='4'><div align='center'> <br />";
        echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$p.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
        echo "</div></tr></td>";
    }

    И это все к конце скрипта

    cephuo, 19 Сентября 2011

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

    +161

    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
    // getter для поля в конфиге. Очень костылёвый гавноалгоритм. Потом обязательно переделать!
        public function read($section, $key){
           if($section == true or $this->prefix == true){
             if(isset($this->arr[$this->prefix.$section][$key])){
                return $this->arr[$this->prefix.$section][$key];
             } else {
                return false;
             }
           } else {
             if(isset($this->arr[$this->prefix.$section][$key])){
                return $this->arr[$this->prefix.$section][$key];
            } else {
                return false;
            }
           }
        }

    Все правильно сделал.

    djumpen, 15 Сентября 2011

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $name = $data->fields["name"];             
    $name = str_replace("\n","",$name);
    $name = str_replace("\r","",$name);
    $name = str_replace("\\","\\\\",$name);
    $name = preg_replace("/'/","&#39",str_replace("\n","",str_replace("\"",""",$name)));

    2, 3 и 4 строчки похожи на серию ударов по мозгу, а последняя на кровавое комбо :)

    Enjoy, 14 Сентября 2011

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

    +161

    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
    template<typename T,typename FIELD_T>
    struct type_has_field{
      typedef char yes_type;
      struct no_type{char padding[8];};
      template<class U>
      static yes_type check_sig1(
        U*,
        FIELD_T(U::*)=&U::field          // !!!Most importantly!!!
      );
      template<class U>
      static no_type check_sig1(...);
      static const bool value=sizeof(check_sig1<T>(0))==sizeof(yes_type);
    };

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

    CPPGovno, 10 Сентября 2011

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $url = $_SERVER['REQUEST_URI'].'/';
    $counter = substr_count($url, 'page=');
    if($counter!=0){
    preg_match('/(page=)(.*?)(\/)/', $url, $pag);
    $sim_o = array('page=', '/');
    $sim_z= array('','');
    $pag = str_replace($sim_o, $sim_z, $pag);
    $page = $pag[0];
    echo $page;
    }

    Проверяем наличие GET и выводим его же.

    OJA, 10 Сентября 2011

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

    +161

    1. 1
    $period = in_array($bullRegionId,array_keys($periods)) ? $periods[$bullRegionId]['text'] : $periods['default']['text'];

    Интересна сама проверка на существование ключа, не правда ли? :-)
    Код мой. Коллега учуял, что от него несколько плохо пахнет и предложил запостить сюда))

    Nemoden, 09 Сентября 2011

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

    +161

    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
    <select onchange="goTo();" id="navSelect">
    <option value="/way_to_hell/">Вопросы-ответы</option>
    .
    .
    .
    </select>
    
    <script>
    function goTo()
    {
      var objSel = document.getElementById("navSelect");
      window.location = objSel.options[objSel.selectedIndex].value;
    }
    
    </script>
    
    
    
    //можно вообще вот так:
    <select onchange="window.location = this.options[this.selectedIndex].value">

    dr_fet, 08 Сентября 2011

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