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

    +156

    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
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    /////////////////////////////////// функция обработки операционной системы + поисковые системы
    function getOS($userAgent) {
    // Создадим список операционных систем в виде элементов массива
    $oses = array (
            'iPhone' => '(iPhone)',
    		'Android' => '(android)',
    		'iPad' => '(iPad)',
    		'Blackberry OS' => '(rim)',
            'Windows 3.11' => 'Win16',
            'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
            'Windows 98' => '(Windows 98)|(Win98)',
            'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
            'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
            'Windows 2003' => '(Windows NT 5.2)',
            'Windows Vista' => '(Windows NT 6.0)|(Windows Vista)',
            'Windows 7' => '(Windows NT 6.1)|(Windows 7)',
    		'Windows 8' => '(Windows NT 6.2)|(Windows 8)',
            'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
            'Windows ME' => 'Windows ME',
            'Open BSD'=>'OpenBSD',
            'Sun OS'=>'SunOS',
            'Linux'=>'(Linux)|(X11)',
            'Safari' => '(Safari)',
            'Macintosh'=>'(Mac_PowerPC)|(Macintosh)',
            'QNX'=>'QNX',
            'BeOS'=>'BeOS',
            'OS/2'=>'OS/2',
    		'Google' => '(Googlebot)',
    		'Yahoo! | AOL' => '(Slurp) | (Yahoo! Slurp) | (Yammybot)',
    		'MSN | Live' => '(MSNBot)',
    		'Ask' => '(Teoma)',
    		'AltaVista' => '(Scooter)',
    		'Alexa' => '(ia_archiver)',
    		'Lycos' => '(Lycos)',
    		'Яндекс' => '(Yandex)',
    		'Рамблер' => '(StackRambler)',
    		'Мэйл.ру' => '(Mail.Ru)',
    		'Aport' => '(Aport)',
            'Search Bot'=>'(nuhk)|(Openbot)|(Slurp/cat)'
    );
      
    foreach($oses as $os=>$pattern){
    if(eregi($pattern, $userAgent)) { // Пройдемся по массиву $oses для поиска соответствующей операционной системы.
    return $os;
    }
    }
    return 'Unknown'; // Хрен его знает, чего у него на десктопе стоит.
    }
    $oc = getOS($_SERVER['HTTP_USER_AGENT']);
    
    
    /////////////////////////////////// #64х64 ава
    function avatar_path($id_user){
    global $ava;
    $ava=glob($_SERVER['DOCUMENT_ROOT'].'/files/ava/'.$id_user.'*');
    if ($ava)return str_replace($_SERVER['DOCUMENT_ROOT'],'',$ava[0]);
    else
    return false;
    }
    ///////////////////////////////////
    function apicms_ava64($users) {
    $ava = avatar_path($users);
    if ($ava){
    echo '<img src="'.$ava.'" alt=""  width="64" height="64"/>';
    }else{
    #если ава не загружена то выводим эту
    echo '<img src="/files/ava/0.png" width="64" height="64">';
    }
    }
    ///////////////////////////////////
    function apicms_ava32($users) {
    $ava = avatar_path($users);
    if ($ava){
    echo '<img src="'.$ava.'" alt=""  width="32" height="32"/>';
    }else{
    #если ава не загружена то выводим эту
    echo '<img src="/files/ava/0.png" width="32" height="32">';
    }
    }
    ///////////////////////////////////
    function apicms_ava40($users) {
    $ava = avatar_path($users);
    if ($ava){
    echo '<img src="'.$ava.'" alt=""  width="40" height="40"/>';
    }else{
    #если ава не загружена то выводим эту
    echo '<img src="/files/ava/0.png" width="40" height="40">';
    }
    }
    ///////////////////////////////////
    #Вывод ошибок
    function apicms_error($var){
    if (!empty($var))echo '<div class="error"><a>'. $var .'</a></div>';
    }

    Из ядра новой "рывалюционной" cms от "известного на весь интернет" автора Евгения Медянкина Kyber. Адрес заповедника говнокода таков: http://apicms.ru

    Strannik1941, 06 Мая 2014

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

    +151

    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
    if (!empty($_POST["favoriteColor"])) {
        switch($_POST["favoriteColor"]) {
            case "Lightred":
                $strBackgroundColor = "#FFDAB9";
                break;
            case "Lightgreen":
                $strBackgroundColor = "Lightgreen";
                break;
            case "Lightblue":
                $strBackgroundColor = "Lightblue";
                break;
            case "Lightgray":
                $strBackgroundColor = "Lightgray";
                break;
            default:
                $strBackgroundColor = "Gray";
                break;
        }
    } else {
        $strBackgroundColor = "Gray";
    }

    arif, 05 Мая 2014

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

    +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
    ....
    
     static public $ruFullMontsArr = array(
            '01' => 'января',
            '02' => 'февраля',
            '03' => 'марта',
            '04' => 'апреля',
            '05' => 'мая',
            '06' => 'июня',
            '07' => 'июля',
            '08' => 'августа',
            '09' => 'сентября',
            '10' => 'октября',
            '11' => 'ноября',
            '12' => 'декабря'
        );
        static public $ruShortMontsArr = array(
            '01' => 'Янв',
            '02' => 'Фев',
            '03' => 'Мар',
            '04' => 'Апр',
            '05' => 'Май',
            '06' => 'Июн',
            '07' => 'Июл',
            '08' => 'Авг',
            '09' => 'Сен',
            '10' => 'Окт',
            '11' => 'Ноя',
            '12' => 'Дек'
        );
    
    ....
    
     $add_ins = '<ins>' . date( 'd', $model->date ) . ' ' . self::$ruFullMontsArr[date( 'm', $model->date )] . '</ins>';

    наверное уже не впервые подобное ... Получение название месяца ...

    BroadcastAddress, 05 Мая 2014

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

    +163

    1. 1
    2. 2
    $message .= $value . '
    ';

    \r\n ? неее, не слышал ....

    BroadcastAddress, 05 Мая 2014

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    function getLocaleByLang($lang) {
       if(!isset($lang)) return false;
       //function's code is here...
    }

    Ну думаю тут все понятно - зачем проверять существование переменной, которую невозможно не передать) Вот что значит - дедлайн рядом.

    Heian, 01 Мая 2014

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

    +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
    foreach ($arResult['SECTIONS'] as $key => $arSection)
    		{
    			$arMap[$arSection['ID']] = $key; /*Собираем все ID секций, при этом в качестве ключа пишем ID, а в качестве значения - индекс цикла (?!)*/
    		}
    		$rsSections = CIBlockSection::GetList(array(), array('ID' => array_keys($arMap)), false, $arSelect); 
                    /*вызываем API - выборку из базы, при этом фильтруем по ID-шникам, вынимая их значения через array_keys() (??!!!) при том, что мы сами записывали ID шники в ключи а не в значения*/
    		while ($arSection = $rsSections->GetNext())
    		{
    			if (!isset($arMap[$arSection['ID']]))
    				continue; /*Проверяем еще раз что этот ID-ключ есть в массиве ??? мы его оттуда взяли*/
    			$key = $arMap[$arSection['ID']]; /*Нахера ??? (см. строчку 03)*/
    			if ($boolPicture)
    			{
    				$arSection['PICTURE'] = intval($arSection['PICTURE']);
    				$arSection['PICTURE'] = (0 < $arSection['PICTURE'] ? CFile::GetFileArray($arSection['PICTURE']) : false);
    				$arResult['SECTIONS'][$key]['PICTURE'] = $arSection['PICTURE'];
    				$arResult['SECTIONS'][$key]['~PICTURE'] = $arSection['~PICTURE'];
    			}
    			if ($boolDescr)
    			{
    				$arResult['SECTIONS'][$key]['DESCRIPTION'] = $arSection['DESCRIPTION'];
    				$arResult['SECTIONS'][$key]['~DESCRIPTION'] = $arSection['~DESCRIPTION'];
    				$arResult['SECTIONS'][$key]['DESCRIPTION_TYPE'] = $arSection['DESCRIPTION_TYPE'];
    				$arResult['SECTIONS'][$key]['~DESCRIPTION_TYPE'] = $arSection['~DESCRIPTION_TYPE'];
    			}
    		}

    Битриксоидам за строчки платят? Дефолтный шаблон компонента Битрикса, который вшит ядро.

    braun3812, 30 Апреля 2014

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

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ...
    $me = 'return define("me", "?" . ($me = substr(basename(__FILE__), 1, -23)));';
    ...
    <?php eval($me) or die ?>
    ...

    >Файлы "view" центрального тела страниц, должны начинаться с подчеркивания, например view/_news.php и код файла должен начинаться с такой строки: <?php eval($me) or die ?>

    Пациент:
    http://coresky.net/

    Groovy, 30 Апреля 2014

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

    +153

    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
    if (!empty($_POST["favoriteColor"])) {
        switch($_POST["favoriteColor"]) {
            case "Lightred":
                $strBackgroundColor = "#FFDAB9";
                break;
            case "Lightgreen":
                $strBackgroundColor = "Lightgreen";
                break;
            case "Lightblue":
                $strBackgroundColor = "Lightblue";
                break;
            case "Lightgray":
                $strBackgroundColor = "Lightgray";
                break;
            default:
                $strBackgroundColor = "Gray";
                break;
        }
    } else {
        $strBackgroundColor = "Gray";
    }

    jkhne4pijgberg, 29 Апреля 2014

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

    +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
    trait TPerson {
        public $fname;
        public $lname;
        public $mname;
    
        // ...
    }
    
    class BUser extends EMongoDocument {
        public $first_name;
        public $last_name;
        public $middle_name;
    
        // ...
    }
    
    class User extends BUser {
        public $firstname;
        public $lastname;
    
        // ...
    
    }

    Попалось такое наследие на одном рабочем месте. Было два типа юзеров, каждый из них наследовал BUser, в одном из них были firstname и lastname, в другом не были. В монге документы юзера, у которого свои firstname и lastname были вида:
    {
    _id: ObjectId("..."),
    ...
    first_name: '',
    last_name: '',
    middle_name: '',
    fname: '',
    lname: '',
    mname: '',
    firstname: '',
    lastname: ''
    }

    LubarVV, 26 Апреля 2014

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

    +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
    $massiv = array(1,2,3,4,5,6,7,8);
    $her = 0;
    $idRazdelov = array();
    $idRoditela = $idrazdelf;
    foreach($massiv as $chislo){
     
    $db_list = CIBlockSection::GetList(Array(SORT=>"ASC"), $arFilter = Array("IBLOCK_ID"=>"7", "ID"=>$idRoditela), true); 
    while($ar_result = $db_list->GetNext()){
        
        if ($her == 0){
        if ($ar_result["IBLOCK_SECTION_ID"]){
           $idRazdelov[].= $ar_result["ID"];
           $idRoditela = $ar_result["IBLOCK_SECTION_ID"]; 
        }else{
            $idRazdelov[].= $ar_result["ID"];
            $her = 1;
        }
        }
        
        }
    }

    Cotard, 25 Апреля 2014

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