1. PHP / Говнокод #2910

    +162.6

    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
    <?php
    
    
    if($_GET['id'] == 10 ){
    
    $location = "/articles/lyustry/lustra-na-kuhne/";
    }elseif($_GET['id'] == 13 and $_GET['id_type'] == 17){
    $location = "/market/interernye_svetilniki/lyustry/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 22 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/bolshie_lyustry/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 34 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/lyustry/bolee_6_rozhkov/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 2 ){
    $location = "/market/interernye_svetilniki/podvesnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 40 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/podvesnye/odinochnyj_podves/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 41 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/podvesnye/trojnoj_i_bolee/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 5 ){
    $location = "/market/interernye_svetilniki/nastenno-potolochnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 35 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/potolochnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 52 ){
    $location = "/market/interernye_svetilniki/vlagozawitnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 51 ){
    $location = "/market/interernye_svetilniki/podsvetka_kartin/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 7 ){
    $location = "/market/interernye_svetilniki/bra/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 37 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/bra/odnorozhkovye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 38 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/bra/dvuhrozhkovye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 39 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/bra/treh_i_bolee_rozhkovye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 1 ){
    $location = "/market/interernye_svetilniki/tochechnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 42 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/tochechnye/odinochnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 43 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/tochechnye/dvojnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 44 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/tochechnye/tri_i_bolee/";
    }
    elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 8){
    $location = "/market/interernye_svetilniki/nastolnye_lampy/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 46 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/nastolnye_lampy/ofisnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 47 and $_GET['act'] == 'sub_
    type'){
    $location = "/market/interernye_svetilniki/nastolnye_lampy/prikrovatnye_domashnie_ili_interernye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 6 ){
    $location = "/market/interernye_svetilniki/torshery/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 9 ){
    $location = "/market/ulichnye_svetilniki/";
    }...
    И так далее..

    Клиент поставил нашу CMS, на старой были ссылки типа /?id=10 и т.д. Сделал ему для примера скрипт редиректа с использованием switch case и вот что я увидел через две недели 0_0 Неприкрытый говнокод.

    VeroLom, 01 Апреля 2010

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

    +159.4

    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
    //возвращает массив без повторяющихся элементов (обязательно должен быть элемент [id])
    function arrayUnique($arr)
    	{	
    		$aResult = array();
    		$aIDs = array();
    		foreach($arr as $val)
    			if (!in_array($val['id'], $aIDs))
    			{
    				array_push($aIDs, $val['id']);
    				array_push($aResult, $val);
    			}
    		return $aResult;
    	}

    На входе массив массивов.
    Массивы равны, если все элементы одного массива равны элементам другого.
    На выходе должен быть массив уникальных массивов.
    По моему это попахивает.

    nechin, 31 Марта 2010

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

    +180

    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
    function writeTotalEntries()
        {
            $cnt = $this->totalentries;
            if ($cnt == 0) {
                return "записей нет";
            } elseif ($cnt == 1)
            {
                return "1 запись";
            } elseif ($cnt == 2)
            {
                return "2 записи";
            } elseif ($cnt == 3)
            {
                return "3 записи";
            } elseif ($cnt == 4)
            {
                return "4 записи";
            } elseif ($cnt == 5)
            {
                return "5 записей";
            } elseif ($cnt == 6)
            {
                return "6 записей";
            } elseif ($cnt == 7)
            {
                return "7 записей";
            } elseif ($cnt == 8)
            {
                return "8 записей";
            } elseif ($cnt == 9)
            {
                return "9 записей";
            } elseif (($cnt >= 10) && ($cnt <= 20))
            {
                return $cnt." записей";
            } elseif ($cnt%10 == 1)
            {
                return $cnt." запись";
            } else
            {
                return $cnt." записей";
            }
        }

    Было найдено в одном из проектов.

    Rpsl, 30 Марта 2010

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

    +182

    1. 1
    $submitted=trSubmit($dir,$db,$c,$tries,$dTracker,$Accs,$box,$dTkey,$writelog,$current_agent,$progressId,$prox_url,$prox_pwd,$max_tries_proxy,$max_tries_login,$max_tries_submit,$max_tries_captcha,$froot,$cats,$ts[$tkey],$cat[$tkey],$descr[$tkey],$shot[$tkey],$skips[$ts[$tkey]],$auth,$cookie,$ref,$check_enabled,$checks,$noProx,$cordebug,$debug);

    Спихнули тут на меня код мальчика, попросили "чуть чуть переписать". Типичный вызов функции.
    Хочется взять за такое и ударить по голове.

    dzugaru, 30 Марта 2010

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

    +185.4

    1. 1
    2. 2
    3. 3
    4. 4
    function epic_die(){
        mysql_close();
        die();
    }

    Автор не я)

    a13ks3y, 29 Марта 2010

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

    +148

    1. 1
    implode("','", array('product_gems'))

    почему бы не заменить такое просто строкой...

    darkmyan, 29 Марта 2010

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

    +167.2

    1. 1
    2. 2
    3. 3
    4. 4
    <?php
    class Xml {
    //Эта библиотека УГ, она не требуется
    }

    Волею судеб взялся за поддержку "сайтега", написанного каким-то малограмотным студентом.
    В процессе изучению сорцов я увидел много новых гениальных паттернов и практик, phpMyAdmin без пароля, который лежал прямо в корне и был доступен извне, полное отсутствие ясной мысли и трезого ума.

    Но сегодня наткнулся на класс, который меня просто добил.

    ps. Не формат, просто наболело.

    dig, 29 Марта 2010

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

    +169

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?php 
    function findAttribute($object, $attribute) { 
      foreach($object->attributes() as $a => $b) { 
        if ($a == $attribute) { 
          $return = $b; 
        } 
      } 
      if($return) { 
        return $return; 
      } 
    } 
    ?>

    так человек предлагает возвращать нужный аттрибут из xml ноды.
    http://ru.php.net/manual/en/simplexmlelement.attributes.php#42692

    striker, 29 Марта 2010

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

    +170.2

    1. 1
    2. 2
    3. 3
    ...
    <title><?php echo iconv('utf-8', 'windows-1251', 'Какой-то текст'); ?>
    ...

    и такие извращения для каждого куска текста в шаблоне
    вот такой вот оригинальный способ перевести шаблон в utf-8
    подозреваю, что человеку очень мешали BOM, от которых он не мог избавится, других причин не вижу

    develx0, 28 Марта 2010

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

    +167

    1. 1
    2. 2
    $is_alias=substr($_SERVER[SCRIPT_FILENAME],-strlen($_SERVER[SCRIPT_NAME])) != $_SERVER[SCRIPT_NAME] ? true : false;
    define('HOSTROOT',($is_alias ? $root_dir : realpath(substr($_SERVER[SCRIPT_FILENAME],0,-strlen($_SERVER[SCRIPT_NAME])))));

    Определяем путь до папки со скриптом. (c) RapidGet

    dmOx, 28 Марта 2010

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