1. Список говнокодов пользователя arbora

    Всего: 2

  2. PHP / Говнокод #12875

    +147

    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
    <?/**
        * Возвращаем все товары по фильтру
        * @author Алексей Чигинцев
        * Доработал и убрал участки еблизма: Арбора Сергей
    	* Почувствовал, что могу все улучшить, но все разъебал еще хуже чем было изначально: Влад Черноскутов
        * Ниче не знаю техничкой роблю: Алексей MOSkvin
        * имхо: Вадим стиль руки хуй
        * @param array $options - список используемых параметров
        * @return array|false - массив товаров либо false
        */
        function getGoodsFilter($options = array(),$_FILTER) {
          	$price_expr = '`price`';$_sub = $_out = array();$sql = $_sub_child = '';
            $cat = new Catalog(self::$db);
            $cat->load();
            $filter_query = self::parseFilterQuery($_FILTER);
            if ($options['SS'] && (!$options['first'] && !$options['second'] && !$options['last']))
            {//получаем всех детей
                $_sub_child = $cat->get_child(41);        
                if($options['id_man'][0]!=''){$whereand1 = $filter_query;}else{$whereand1 ="";}
                if($options['sort_type']){$order1 = ' ORDER BY `'.$options['sort_field'].'` '.$options['sort_type'];
                } else {$order1 =""; }
                if (!empty($_sub_child)){$i=0;
                	foreach ($_sub_child as $v){
    	                if($i<count($_sub_child)-1){$_sub_chil .= $v.','; $i++; }else{$_sub_chil .= $v; }}
    	                if($whereand1!=""){$_sub[] = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE `is_dollar`= "0" `cid` IN('.$_sub_chil .') '.$whereand1.$order1);
                    }else{$_sub[] = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE `is_dollar`= "0" cid` IN('.$_sub_chil .') AND name` LIKE "%'.mysql_real_escape_string($options['SS']).'%" '.$order1
                    	);}}
                if ($_sub){ foreach($_sub as $v){if (!empty($v)){ 
                    		foreach ($v as $v_child){ 
                                $_out[$v_child['id']] = $v_child; 
                    }}}}
                if (!empty($_out)) return $_out;
                    else return false;
            }elseif ($options['SS'] && ($options['first'] || $options['second'] || $options['last']))    
                { 	$whereand1 = "";
                    if($options['id_man'][0]){$whereand1 = $filter_query;}
                    if($options['sort_type']){
                    $order1 = ' ORDER BY `'.$options['sort_field'].'` '.$options['sort_type'];}else{$order1 ="";}    
                    $_where_price = false;
                    if ($options['last']){switch ($options['last']){
                        case 1: $_where_price .= ' '.$whereand1.'AND ((`is_dollar`=0 AND (`price` > 0 AND `price` <= 25000)) OR (`is_dollar`=1 AND (`price` > 0 AND `price` <= '.__dollar(25000).'))) '.$order1; break;
                        case 2: $_where_price .= ' '.$whereand1.'AND ((`is_dollar`=0 AND (`price` > 25000 AND `price` <= 50000)) OR (`is_dollar`=1 AND (`price` > '.__dollar(25000).' AND `price` <= '.__dollar(50000).'))) '.$order1; break;
                        case 3: $_where_price .= ' '.$whereand1.'AND ((`is_dollar`=0 AND `price` > 50000) OR (`is_dollar`=1 AND (`price` > '.__dollar(50000).')))'.$order1; break;
                        default: $where_price = false; break;
                    }}$_sub_child = $cat->get_child($options['first']);
                        if (!$_sub_child){$_out = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE 
    	                                    `name` LIKE "%'.mysql_real_escape_string($options['SS']).'%" 
    	                                    AND `is_dollar`= "0" AND  `cid`='.intval($options['first']).' 
    	                                ' . ($options['second'] ? ' AND `id_man`='.intval($options['second']).' ' : '') . '
    	                                ' . ($_where_price ? $_where_price : '') . ''.$whereand1.$order1);
                            if (!empty($_out)) return $_out;else return false;
                        }else{foreach ($_sub_child as $v){
                                    $_sub[] = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE 
                                        `name` LIKE "%'.mysql_real_escape_string($options['SS']).'%" 
                                        AND `is_dollar`= "0"  AND  `cid`='.intval($v).' 
                                    ' . ($options['second'] ? ' AND `id_man`='.intval($options['second']).' ' : '') . '
                                    ' . ($_where_price ? $_where_price : '') . '');
                                }if ($_sub){foreach ($_sub as $v){if (!empty($v)){
                                            foreach ($v as $v_child){   
                                            	$_out[$v_child['id']] = $v_child; 
                                        	}}}}
                                if (!empty($_out)) return $_out;else return false;
                    }}elseif (!$options['SS'] && ($options['first'] || $options['second'] || $options['last'])){
                            $_where_price = false;$whereand1 = "";
                            if($options['id_man'][0]){$whereand1 = $filter_query;}
                            if($options['sort_type']){$order1 = ' ORDER BY CAST(`' .$options['sort_field'].'` AS SIGNED) '.$options['sort_type'];}else{$order1 ="";}        
    						if ($options['last']){switch ($options['last']){
                                    case 1: $_where_price .= ' '.$whereand1.'AND (`is_dollar`=1 AND (`price` > 0 AND `price` <= '.__dollar(25000).')) '; break;
    								case 2: $_where_price .= ' '.$whereand1.'AND (`is_dollar`=1 AND (`price` > '.__dollar(25000).' AND `price` <= '.__dollar(50000).')) '; break;
    								case 3: $_where_price .= ' '.$whereand1.'AND (`is_dollar`=1 AND (`price` > '.__dollar(50000).'))'; break;
                                    default: $where_price = false; break;
                            }}
                            //получаем детей для $options['first'] - если дети есть ищем по их массиву
                            $_sub_child = $cat->get_child($options['first']);
                        }else return false;}

    Работаю в веб-студии, расклад такой:
    1) Чувак-извращенец как-то поднял сайт с фильтром по каталогу, уволился.
    2) Пришел второй чувак, ему поручили фикс этого творения - сломал все что работало.
    3) Пришел я, починил все необычными костылями, вроде как работало
    4) Пришел еще один чувак, доработал до мульти выбора в фильтре)) - все слетело, поставил мега крутые костыли, они и представлены
    5) Пришел очередной чувак и порешал все, терь работает, но все костыли живут и будут жить))))))

    arbora, 10 Апреля 2013

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

    +155

    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
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    function poisk_potomok_item ($id_otca, $glubina, $i_array)
                  {
                   global /*$style,*/ $kol_n, $sm, $fire;
    
                   if ($glubina==$max_vlog) return 1;
    
                   switch ($glubina)
                        {
                         case "1":
                          {
                           $base_style="menu2_level3";
                           break;
                          }
                         case "2":
                          {
                           $base_style="menu2_level4";
                           break;
                          }
                         case "3":
                          {
                           $base_style="menu2_level5";
                           break;
                          }
                         case "4":
                          {
                           $base_style="menu2_level6";
                           break;
                          }
                         case "5":
                          {
                           $base_style="menu2_level7";
                           break;
                          }
                         case "6":
                          {
                           $base_style="menu2_level8";
                           break;
                          }
                         case "7":
                          {
                           $base_style="menu2_level8";
                           break;
                          }
                        }
                   for ($j=1; $j<=$kol_n; $j++)
                      {
                       $mas5=explode(" ~ ", $i_array[$j]);
                       if ($mas5[1]==$id_otca and $mas5[2]=="1")
                         {
                          $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><a href=\"?r=item&gs=".$mas5[0]."\" class=\"menu2_2\">".$mas5[4]."</a></td></tr></table>";
    
                          for($kkkk=count($sm);$kkkk > 0; $kkkk--)
                             {
                              if ($mas5[0]==$sm[$kkkk])
                                {
                                 if ($mas5[0]==$sm[1])
                                   {
                                    $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><span class=\"menu2_2a\">".$mas5[4]."</span></td></tr></table>";
                                    
                                     $new_gl=$glubina+1;
    
                                     $gi=poisk_potomok_item ($mas5[0],$new_gl, $i_array);
                                    
                                     if ($gi != "") {$style_pot.=$fire.$gi.$fire;}
                                   }
                                 else
                                   {
                                  //  $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><a href=\"?r=item&gs=".$mas5[0]."\" class=\"menu2_2\">".$mas5[4]."</a></td></tr></table>";
                                    $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><span class=\"menu2_2a\">".$mas5[4]."</span></td></tr></table>";
    
                                    $new_gl=$glubina+1;
    
                                     $gi=poisk_potomok_item ($mas5[0],$new_gl, $i_array);
    
                                     if ($gi != "") {$style_pot.=$fire.$gi.$fire;}
    
                                   }
                                }
                             }
    
                          $style.=$style_pot;
    
                         }
                  }
    
                 return $style;
                  }

    В одной из ведущих веб-студий Екатеринбурга, директор 5 лет назад был кодером)))
    вот одно их его творений..

    Обратите внимание на идентификаторы, такие как poisk_potomok_item, $id_otca, $glubina, $i_array.
    Вообще, как человек, директор - норм чувак, но кажется мне придется пересмотреть свои взгляды...

    Если человек называет функцию так: "poisk_potomok_item" - ему явно жить труднее остальных людей)))))

    arbora, 21 Февраля 2013

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