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

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

    +160

    1. 1
    2. 2
    3. 3
    var messageDiv = document.getElementById("information-dialog");
    $(messageDiv).html(html);
    messageDiv.style.display = "block";

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

    Комментарии (12)
  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. C++ / Говнокод #7939

    +160

    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
    #if !defined(_CONSOLE) && !defined(BOOTSTRAP_AGENT)
     g_scheduler.Init(&g_Schedule);
    #endif
    #if (defined(UNDER_CE) || defined(MC_AGENT)) && !defined(BOOTSTRAP_AGENT) /*&& !defined(_CONSOLE) */&& !defined(MC_APM_AGENT)
     m_collector.InitializeFromPDB(/*GetPdbFile()*/);
    #endif
    #if (defined(UNDER_CE) || defined(MC_AGENT)) && !defined(BOOTSTRAP_AGENT) && !defined(_CONSOLE) && !defined(MC_APM_AGENT)
     m_Alert.InitializeFromPDB();
    #endif
    #if !defined( _CONSOLE ) && !defined(BOOTSTRAP_AGENT)
     g_ScheduleEngine.Add( this ); // install scheduler
    #endif
    #if !defined(BOOTSTRAP_AGENT) && !defined(MC_APM_AGENT) && !defined(PRINTER_AGENT)
     g_manager.LoadFromPDB();
    #endif
    
    #if (defined(UNDER_CE) && !defined(BOOTSTRAP_AGENT)) || (defined(MC_AGENT) && !defined(_CONSOLE))
     WriteMCConnectionStatus(MCA_CONN_STATUS_INITIALIZING);
    #endif
     ASSERT(pData != NULL);
     DWORD dwRetries = 0;
    
     bool bFirstDevPkgInstalled = false; // for HHI agent only
     while (pData->nTask != PDT_QUIT)
     {
    #ifdef HHI_AGENT
    ..............

    без комментариев

    Alek86, 22 Сентября 2011

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

    +36

    1. 1
    2. 2
    3. 3
    $kd = strrpos("$fotofilenames[$i]", ".");
        $kf = substr("$fotofilenames[$i]", $kd+1, strlen("$fotofilenames[$i]")-$kd);
        $kf = strtolower($kf);

    вот так и живем.

    Специальная олимпиада по программированию для программистов PHP, VB и 1c (c)

    brainstorm, 22 Сентября 2011

    Комментарии (12)
  6. SQL / Говнокод #7933

    −862

    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
    SELECT POL_PREMIUM
       INTO i_csp
       FROM policy
       WHERE 
        policy_key = i_polkey AND 
        pol_status_cde = 1;
       
     SELECT POL_CLIENT_CDE
         INTO i_clientno
         FROM policy
       WHERE policy_key = i_polkey
       AND pol_status_cde = 1;
       
       SELECT POL_PLAN_CDE
         INTO i_plan
         FROM policy
       WHERE policy_key = i_polkey
       AND pol_status_cde = 1;
    
    SELECT 110
          INTO i_SecAllrks
          FROM DUAL;

    Запятые и знаки инициализации переменных придумали для трусов =) Имхо. Не вкурила зачем так делать.

    Dragon, 22 Сентября 2011

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

    +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
    <?php
    	class Cache
    {
    		var $secret;
    		function create($timexpire, $data, $catalog="cache/"){
    			$filename = $catalog.$this->cache().".cache";
    			$data = "$timexpire\n$data";
    			$fo = fopen($filename, "w");
    			fwrite($fo, $data);
    			fclose($fo);
    		}
    		function read($catalog = "cache/"){
    			$filename = $catalog.$this->cache().".cache";
    			if(file_exists($filename)){
    				$content = file($filename);
    				if(trim($content[0]) < time()){
    					return 0;
    				}
    				unset($content[0]);
    				return ltrim(implode('', $content));
    			}
    			return 0;
    		}
    		function clean($catalog = "cache/"){
    			if($data = glob($catalog."*")){
    				foreach($data as $o){
    					if(is_dir($o)){
    						$this->clean($o);
    					}else{
    						unlink($o);
    					}
    				}
    			}
    			rmdir($catalog);
    		}
    		function cache(){
    				$filename = $_SERVER['REQUEST_URI'];
    				if(isset($_POST)){
    					$filename .= implode('',$_POST);
    				}
    				return md5($this->secret.$filename);
    		}
    }
    ?>

    Мой класс для кеширования.
    Писал давно.

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

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    <? echo "$Welcome" ?> <? 	
    	$site = session_id();
    	 echo ", <b>" . $_SESSION["esb2b_username"] . "</b>" ;
    ?>

    Из одного китайско-арабского скрипта. Хорошо дан пробел после "Welcome".

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

    Комментарии (12)
  9. 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)
  10. PHP / Говнокод #7787

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public function editSetting($group, $data, $store_id = 0) {
    	$this->db->query("DELETE FROM " . DB_PREFIX . "setting WHERE store_id = '" . (int)$store_id . "' AND `group` = '" . $this->db->escape($group) . "'");
    	foreach ($data as $key => $value) {
    		if (!is_array($value)) {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '" . (int)$store_id . "', `group` = '" . $this->db->escape($group) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape($value) . "'");
    		} else {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '" . (int)$store_id . "', `group` = '" . $this->db->escape($group) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape(serialize($value)) . "', serialized = '1'");
    		}
    	}
    }

    Всё оттуда же (Open Cart).
    Оно бы вроде и ничего, если бы не id и автоинкрементом в таблице "setting". Вот так вот, каждый раз сохраняя настройки, мы прибиваем стопицот старых значений и заводим столько же совершенно новых, которые, тем не менее, в большинстве своём ничем не отличаются от старых.

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

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

    +963

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    private void SetStat(QALog stat, ArtIntLnkLog log)
        {
            stat.AllLinks += 1;
            if (log.Command == 5)
                stat.ErrLinks += 1;
            if (log.Command == 1)
                stat.SetLinks += 1;
            if (log.Command == 2)
                stat.ReSetLinks += 1;
        }

    Такое вот чудное обновление статистики, где константы, switch и инкрементация непонятно.

    f5f3e9, 31 Августа 2011

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