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

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

    +154

    1. 1
    2. 2
    if (!empty($_GET[ret])) $_SESSION[ret] = $_GET[ret];
    else if (!empty($_SESSION[ret])) $_GET[ret] = $_SESSION[ret];

    Из разряда черной магии

    psycho-coder, 10 Декабря 2013

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

    +154

    1. 1
    2. 2
    $date = date("Y-m-01", strtotime("-1 month"));
    $like = substr($date, 0, 8) . "%";

    а потом $like вставляется в sql-код

    anton0xf, 09 Декабря 2013

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    abstract class Service_Gallery_Work extends Form_Service {
    
        public static function factory($object, $model_name = NULL)
        {
            return new self($object, $model_name);
        }
    ...

    ХИТ

    invision70, 05 Декабря 2013

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

    +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
    {
        xtype: 'splitbutton',
        // ...
    
        handler: function () {
            this.wasMenuShown = this.wasMenuShown ? (this.hideMenu(), false) : (this.showMenu(), true);
        },
        menu: {
            xtype: 'menu',
            items: []
        }
    }

    По мотивам: http://govnokod.ru/12172

    Написал. Задумался (запостил сюда). Переписал.

    Elvenfighter, 27 Ноября 2013

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

    +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
    class Icon extends IconBuilder
    {
    	public static function create($type, $white = false)
    	{
    		$class = __CLASS__;
    		return new $class($type, $white);
    	}
    
    	public function getType()
    	{
    		return $this->_type;
    	}
    
    	public function getWhite()
    	{
    		return $this->_white;
    	}
    }

    Код выдернут из Bootstrap.PHP http://allking.ru/bootstrap.php/
    Особое внимание уделить функции create и константе __CLASS__
    Вопрос: почему не обойтись просто self? В чем магия?

    З.Ы.: Пока писал, нашел в доках, что "волшебная" константа содержит так же пространство имен.
    Извиняюсь, что не узнал об этом раньше.
    Но я все же наложу сюда, с вопросом, даже учитывая всю эту информацию, почему мы не можем обойтись способами, исключающими использование константы?
    (все равно получается говнокод, хоть и работающий)

    oooZinka, 18 Ноября 2013

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function FindProxyForURL(url, host) {
      if (shExpMatch(host, "*.govnokod.ru")) {
          return "PROXY 178.63.104.146:80";
      }
      
      return "DIRECT";
    }

    Навеяно прочтением статьи http://en.wikipedia.org/wiki/Proxy_auto-config

    inkanus-gray, 30 Октября 2013

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <!-- END CONTENT CONTAINER -->
    		<?php include("mgr.footer.php"); ?>		
    	</div>
    </body>
    </html>
    <?php mysql_close($db); ?>

    Пример кода из админки одного индуского движка.

    Dinar, 21 Октября 2013

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

    +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
    /* Формируемый запрос через Ajax */
    function MakeSearchQuery() {
        searchQuery = "";
    
        if (SearchDataQuery.CityFrom != "") {
            searchQuery = "CityFrom=" + SearchDataQuery.CityFrom;
    
            if (SearchDataQuery.Country != "") {
                searchQuery += "&Country=" + SearchDataQuery.Country;
    
                if (SearchDataQuery.Station != "" && SearchDataQuery.Station != "&Station=") {
                    searchQuery += "&Station=" + SearchDataQuery.Station;
                }
                if (SearchDataQuery.Date != "" && SearchDataQuery.Date != "&Date=") {
                    searchQuery += "&Date=" + SearchDataQuery.Date;
                }
            }
        }
    }

    Формируемый Ajax запрос

    sladkijBubaleh, 04 Сентября 2013

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

    +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
    log_info('= Выгрузка метаданных =');
    $cnt = $x->metaCurrencies('/gooddata/'.$folder.'/'.$subfolder.'/x/currencies');
    $cnt = $x->metaRegions('/gooddata/'.$folder.'/'.$subfolder.'/x/regions');
    $cnt = $x->metaCountries('/gooddata/'.$folder.'/'.$subfolder.'/x/countries');
    $cnt = $x->metaSources('/gooddata/'.$folder.'/'.$subfolder.'/x/sources');
    $cnt = $x->metaGroups('/gooddata/'.$folder.'/'.$subfolder.'/x/groups');
    $cnt = $x->metaProviders('/gooddata/'.$folder.'/'.$subfolder.'/x/providers');
    $cnt = $x->metaPS('/gooddata/'.$folder.'/'.$subfolder.'/x/paymentsystems');
    $cnt = $x->metaProjects('/gooddata/'.$folder.'/'.$subfolder.'/x/projects');
    $cnt = $x->metaPayments('/gooddata/'.$folder.'/'.$subfolder.'/x/payments');
    $cnt = $x->metaGeotypes('/gooddata/'.$folder.'/'.$subfolder.'/x/geotypes');
    $cnt = $x->metaPartners('/gooddata/'.$folder.'/'.$subfolder.'/x/partners');
    $cnt = $x->metaEmployees('/gooddata/'.$folder.'/'.$subfolder.'/x/employees');
    $cnt = $x->metaForecast('/gooddata/'.$folder.'/'.$subfolder.'/x/forecast');
    $cnt = $x->metaClusters('/gooddata/'.$folder.'/'.$subfolder.'/x/clusters');
    $cnt = $x->metaPSContr('/gooddata/'.$folder.'/'.$subfolder.'/x/pspartners');
    $cnt = $x->metaClustersMatrix('/gooddata/'.$folder.'/'.$subfolder.'/x/clustersmatrix');
    $cnt = $x->metaAccounts('/gooddata/'.$folder.'/'.$subfolder.'/x/accounts');
    $cnt = $x->metaBalanceType('/gooddata/'.$folder.'/'.$subfolder.'/x/balancetypes');
    $cnt = $x->metaBalanceGame('/gooddata/'.$folder.'/'.$subfolder.'/x/balancegame');
    $cnt = $x->metaBalancePS('/gooddata/'.$folder.'/'.$subfolder.'/x/balanceps');
    $cnt = $x->metaBalancePSContr('/gooddata/'.$folder.'/'.$subfolder.'/x/balancepscontr');
    $cnt = $x->metaBalanceBank('/gooddata/'.$folder.'/'.$subfolder.'/x/balancebank');
    $cnt = $x->metaBalanceLost('/gooddata/'.$folder.'/'.$subfolder.'/x/balancelost');
    $cnt = $x->metaStatuses('/gooddata/'.$folder.'/'.$subfolder.'/x/statuses');
    $cnt = $x->metaTypes('/gooddata/'.$folder.'/'.$subfolder.'/x/types');
    $cnt = $x->metaSupervisors('/gooddata/'.$folder.'/'.$subfolder.'/x/supervisors');
    $cnt = $x->metaGames('/gooddata/'.$folder.'/'.$subfolder.'/x/games');
    $cnt = $x->metaProjectStatus('/gooddata/'.$folder.'/'.$subfolder.'/x/projectstatuses');
    
    log_info('= Создание временных папок на Webdav =');
    $path = $folder;
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path,'MKCOL',array());
    $path.= '/'.$subfolder;
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path,'MKCOL',array());
    $path.= '/x';
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path,'MKCOL',array());
    
    log_info('= Создание папок сетов =');
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/currencies','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/regions','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/countries','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/sources','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/groups','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/providers','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/paymentsystems','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/projects','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/payments','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/geotypes','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/partners','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/employees','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/forecast','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/clusters','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/pspartners','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/clustersmatrix','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/accounts','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/balancetypes','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/balancegame','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/balanceps','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/balancepscontr','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/balancebank','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/balancelost','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/types','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/statuses','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/supervisors','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/games','MKCOL',array());
    $res = simple_request(GOODDATA_WEBDAV.'/'.$path.'/projectstatuses','MKCOL',array());
    
    log_info('= Выгрузка данных =');
    $cnt = $x->exportCurrencies('dataset.currencies','/gooddata/'.$folder.'/'.$subfolder.'/x/currencies');
    log_info(' - currencies');
    $cnt = $x->exportRegions('dataset.regions','/gooddata/'.$folder.'/'.$subfolder.'/x/regions');
    log_info(' - regions');
    $cnt = $x->exportCountries('dataset.countries','/gooddata/'.$folder.'/'.$subfolder.'/x/countries');
    log_info(' - countries');
    $cnt = $x->exportSources('dataset.sources','/gooddata/'.$folder.'/'.$subfolder.'/x/sources');
    log_info(' - sources');
    //и дальше в таком же духе 600 строк

    Цыклы, массивы? Не, не слышал

    dimkich, 04 Сентября 2013

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function isError() {
            if($this->error!="") return true;
            else return false;
        }
     function isOk() {
            if($this->error=="") return true;
            else return false;
        }

    Зато мы используем ООП

    Tairesh, 13 Августа 2013

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