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

    0

    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
    |	НоменклатураПрисоединенныеФайлы.ПутьКФайлу КАК ПутьКФайлу,
    		  |	ПрисоединенныеФайлы.ХранимыйФайл КАК ХранимыйФайл
    		  |ИЗ
    		  |	ВремНоменклатура КАК ВремНоменклатура
    		  |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
    		  |			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПрисоединенныеФайлы КАК ПрисоединенныеФайлы
    		  |			ПО НоменклатураПрисоединенныеФайлы.Ссылка = ПрисоединенныеФайлы.ПрисоединенныйФайл
    		  |				И (НоменклатураПрисоединенныеФайлы.ТипХраненияФайла = ЗНАЧЕНИЕ(Перечисление.ТипыХраненияФайлов.ВИнформационнойБазе))
    		  |		ПО (НоменклатураПрисоединенныеФайлы.ВладелецФайла = ВремНоменклатура.Номенклатура)
    		  |			И ((НЕ НоменклатураПрисоединенныеФайлы.ПометкаУдаления))
    		  |ГДЕ
    		  |	((НЕ &ОтбиратьФайлы)
    		  |			ИЛИ &ОтбиратьФайлы
    		  |				И НоменклатураПрисоединенныеФайлы.Ссылка В (&МассивФайлов))
    		  |
    		  |УПОРЯДОЧИТЬ ПО
    		  |	Номенклатура
    		  |;
    		  |
    		  |////////////////////////////////////////////////////////////////////////////////
    		  |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    		  |	ВремНоменклатура.Номенклатура КАК Номенклатура,
    		  |	МАКСИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод
    		  |ПОМЕСТИТЬ ВремШтрихкодыДляКаталога
    		  |ИЗ
    		  |	ВремНоменклатура КАК ВремНоменклатура
    		  |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
    		  |		ПО ВремНоменклатура.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
    		  |			И (ШтрихкодыНоменклатуры.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
    		  |
    		  |СГРУППИРОВАТЬ ПО
    		  |	ВремНоменклатура.Номенклатура
    		  |;
    		  |
    		  |////////////////////////////////////////////////////////////////////////////////
    		  |ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
    		  |	Организации.Ссылка КАК Контрагент,
    		  |	Организации.Наименование,
    		  |	Организации.НаименованиеПолное,
    		  |	Организации.ЮрФизЛицо,
    		  |	Организации.КодПоЕДРПОУ,
    		  |	Организации.КонтактнаяИнформация.(
    		  |		Тип КАК Тип,
    		  |		Вид КАК Вид,
    		  |		Представление КАК Представление,
    		  |		ЗначенияПолей КАК ЗначенияПолей
    		  |	)
    		  |ИЗ
    		  |	Справочник.Организации КАК Организации
    		  |ГДЕ
    		  |	Организации.Ссылка = &ОрганизацияВладелецКаталога";
    
    	ТекстЗапроса = 
    		ТекстЗапроса + Символы.ПС + ";" + Символы.ПС
    		+ "ВЫБРАТЬ
    		  |	ВремНоменклатура.Номенклатура КАК Номенклатура,
    		  | ВремНоменклатура.ФормаКруг как ФормаКруг
    		  |	ВремНоменклатура.ПометкаУдаления КАК ПометкаУдаления,
    		  |	ВремНоменклатура.Родитель КАК Родитель,
    		  |	ВремНоменклатура.Код КАК Код,
    		  |	ВремНоменклатура.Наименование КАК Наименование,
    		  |	ВремНоменклатура.Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
    		  |	ВремНоменклатура.Номенклатура.Описание КАК Описание,

    Saldorian, 29 Мая 2017

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function color_search($color) {
         $arColor["COLOR"] = explode(",","aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,snow,springgreen,steelblue,tan,teal,thistle,tomato,turquoise,violet,wheat,white,whitesmoke,yellow,yellowgreen,black,dimgray,gray,darkgray,silver,lightgrey,gainsboro,whitesmoke,white,snow,rosybrown,lightcoral,indianred,brown,firebrick,maroon,darkred,red,salmon,mistyrose,tomato,darksalmon,coral,orangered,lightsalmon,sienna,seashell,saddlebrown,chocolate,peachpuff,sandybrown,linen,peru,bisque,darkorange,antiquewhite,tan,burlywood,blanchedalmond,navajowhite,papayawhip,moccasin,oldlace,wheat,orange,floralwhite,goldenrod,darkgoldenrod,cornsilk,gold,lemonchiffon,khaki,palegoldenrod,darkkhaki,ivory,beige,lightyellow,olive,yellow,olivedrab,yellowgreen,darkolivegreen,greenyellow,lawngreen,chartreuse,honeydew,darkseagreen,lightgreen,palegreen,forestgreen,limegreen,darkgreen,green,lime,seagreen,mediumseagreen,mintcream,springgreen,mediumspringgreen,mediumaquamarine,aquamarine,turquoise,lightseagreen,mediumturquoise,azure,paleturquoise,darkslategray,teal,darkcyan,aqua,cyan,lightcyan,darkturquoise,cadetblue,powderblue,lightblue,deepskyblue,skyblue,lightskyblue,steelblue,aliceblue,slategray,lightslategray,dodgerblue,lightsteelblue,cornflowerblue,royalblue,ghostwhite,lavender,midnightblue,navy,darkblue,mediumblue,blue,darkslateblue,slateblue,mediumslateblue,mediumpurple,blueviolet,indigo,darkorchid,darkviolet,mediumorchid,thistle,plum,violet,purple,darkmagenta,fuchsia,magenta,orchid,mediumvioletred,deeppink,hotpink,lavenderblush,palevioletred,crimson");
         if(in_array($color, $arColor["COLOR"])){
             return $color;
         }
     }

    scph77008, 25 Мая 2017

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

    0

    1. 1
    https://web.archive.org/web/20070125181458/http://2ch.ru/s/src/1158095011998.gif

    j123123, 21 Мая 2017

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    (is_null($roomCache)) ? 0 : $roomCache->getTotalRooms();
    
    if (is_null($roomCache)) {
        ($roomCache)) ? 0 : $roomCache->getTotalRooms(); 
    }

    Описания не будет, т.к. описать сие не могу.

    Zalex, 11 Мая 2017

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

    0

    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
    $URi = str_replace("/projects/GCore/", "", $URi);
    
      $U = preg_split('//', $URi, -1, PREG_SPLIT_NO_EMPTY);
    
      $URI = "";
      $is_get = 0;
      $get_key = "";
      $get_is_value = 0;
      $value = "";
    
      for( $i = 0; $i < count($U); $i++){
          if( $U[$i] == "?" || $is_get == 1){
              $char = $U[$i];
    
            if( $char != "?" ){
            if( $get_is_value == 0 || $char != "=" || $char != "&" ){
              $get_key = $get_key.$char;
            }else if( $char == "=" ){
              $value = $value.$char;
              $get_is_value = 1;
            }else if( $char == "&"){
    
              $_GET[$get_key] = $value;
              $get_key = "";
              $value = "";
              $get_is_value = 0;
            }
          }
    
          $is_get = 1;
          }else{
            $URI = $URI.$U[$i];
          }
      }

    Была проблема с .htaaccess, гет запросы не передавались, пришлось делать парсер гета))))

    Gameizeazy, 11 Мая 2017

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

    +3

    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
    //Функция возвращает упорядоченную строку значений параметров POST-запроса
    function getReqParams(){
        $reqparams = "";
        ksort($_POST);
        foreach ($_POST as $param => $valuep) {
            $reqparams = "$reqparams|$valuep";
        }
        return substr($reqparams,1);
    }
    
    //Извлечение цифровой подписи из заголовков запроса
    function getSign(){
        $HEADERS = getallheaders();
        foreach ($HEADERS as $header => $value) {
            if ($header == 'X-Api-Signature') {
                $SIGN_REQ = $value;
            }
        }
        return $SIGN_REQ;
    }

    QIWI Official Documentation

    Псс… посоны, у нас тут есть кусок из оф. документации QIWI. Зацените ))

    maxyc, 02 Сентября 2016

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

    0

    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
    public static function getTree($version, $lang = 'en')
        {
            $pt_root = KbTree::findOne(($version == 'pt2') ?
                KbTree::NODE_PT2 : KbTree::NODE_PT3);
    
            $list = $pt_root
                ->children()
                ->andWhere(['root' => ($version == 'pt2') ? KbTree::NODE_PT2 : KbTree::NODE_PT3])
                ->andWhere(['visible' => 1, 'pub' => 1])
                ->orderBy('lft ASC')
                ->all();
    
            $tree = [$pt_root->id => []];
            $currentLevel = 1;
            $levelsIds[$currentLevel] = $pt_root->id;
            $dic = [];
    
            foreach($list as $key => $_node)
            {
                if(isset($_node->level, $_node->id))
                {
                    $dic[$_node->id][] = $_node->getTranslateMessage($lang);
    
                    $dic[$_node->id][] = $_node->getFullAlias();
    
                    $currentLevel = $_node->level;
    
                    switch($_node->level) {
                        case 2:
                            $tree[$levelsIds[1]][$_node->id] = [];
                            break;
                        case 3:
                            $tree[$levelsIds[1]][$levelsIds[2]][$_node->id] = [];
                            break;
                        case 4:
                            $tree[$levelsIds[1]][$levelsIds[2]][$levelsIds[3]][$_node->id] = [];
                            break;
                        case 5:
                            $tree[$levelsIds[1]][$levelsIds[2]][$levelsIds[3]][$levelsIds[4]][$_node->id] = [];
                            break;
                        case 6:
                            $tree[$levelsIds[1]][$levelsIds[2]][$levelsIds[3]][$levelsIds[4]][$levelsIds[5]][$_node->id] = [];
                            break;
                    }
    
                    $levelsIds[$currentLevel] = $_node->id;
    
                }
    
            }
    
            return [$tree[$pt_root->id], $dic];
    
        }

    Получение дерева каталогов от PHP middle developer

    Kilimangaro, 29 Августа 2016

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (isset($response['initialize'])) {
    	$initialize = $response['initialize'];
    	unset($response['initialize']);
    	$response['initialize'] = $initialize;
    }

    cometchat
    (Как говорится, шаг вперед и два назад)

    slavavitrenko, 29 Августа 2016

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

    −2

    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
    if (COption::GetOptionString("vote", "VOTE_COMPATIBLE_OLD_TEMPLATE", "Y") == "N")
    	{
    		unset($arDisplayOptions[2]);
    		unset($arDisplayOptions[3]);
    		unset($arDisplayOptions[4]);
    		unset($arDisplayOptions[5]);
    		unset($arDisplayOptions[6]);
    	}
    	elseif ($old_module_version=="Y")
    	{
    		unset($arDisplayOptions[6]);
    	}
    	else
    	{
    		unset($arDisplayOptions[2]);
    		unset($arDisplayOptions[3]);
    		unset($arDisplayOptions[4]);
    		unset($arDisplayOptions[5]);
    	}

    bitrix/modules/vote/options.php:44

    maxyc, 29 Августа 2016

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

    −3

    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
    <?php
    abstract class Upload {//Клас загрузка файлов на сервер //Класс, который не имеет реализации.
    
        private $dir;//директория для загрузки
        private $mime_type;//Некий mime_type
    
        public function __construct($dir, $mime_type) {
            $this->dir = $dir;
            $this->mime_type = $mime_type;
        }
    
        public function UploadFile($file) {
            if (!$this->isSequrity($file)) return false;
            $dirupload = $_SERVER['DOCUMENT_ROOT']."/".$this->dir."/".$file['name'];
            return move_uploaded_file($file['tmp_name'], $dirupload);
        }
    
        protected function isSequrity($file) {
            $blacklist = array (".php", ".php3", ".php4", ".html", ".htm", ".exe", ".js", ".css");//Запрещено
            foreach ($blacklist as $item) {
                if (preg_match("/$item\$/i", $file["name"])) return false;
            }
            $type = $file["type"];//тип файла
            $mime_types = $this->mime_type;
            $i = 0;
            foreach ($mime_types as $k => $v) {
                if ($type == $v) break;//Если тип файла найден(равняется типу, что файл какого типа, то выходим из цикла.
                if ($i + 1 === count($this->mime_type)) return false;
                $i++;
            }
            $size = $file["size"];
            if ($size > 2048000) return false;
            return true;
        }
    }
    ?>

    Код мне прислал адепт пРуссакова. С вопросом, "че не раблотает?". Собственно орфография, пунктуация и стили сохранены. Если кто-то будет спрашивать "чем плохи видеокурсы?", просто скиньте линку на данный код.

    Keeper, 28 Августа 2016

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