1. Си / Говнокод #14152

    +130

    1. 1
    http://ithappens.ru/story/11670

    TarasB, 28 Ноября 2013

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <a href="<?
    $p=explode("p=",$_SERVER['HTTP_REFERER']);
    $p=explode("&",$p[1]);
    
    if(is_int($p[0]) && empty($p[0]))echo $_SERVER['HTTP_REFERER'];
    else echo'/?p=search2&d='.$_GET[d].'&g='.$_GET[g]; 
    ?>"  class="top_s">← назад</a>

    psycho-coder, 28 Ноября 2013

    Комментарии (6)
  3. 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)
  4. PHP / Говнокод #14148

    +162

    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
    function image($id, $idname, $width, $height, $save, $jpg) {
            
            ...........................................................................................
            //throw new Exception('Типо неизвестный формат');
            echo 'Типо неизвестный формат изображения';
        
    }
    
    
    
    function video($id, $idname, $save, $wmv) {
             .......................................................................................
            //throw new Exception('Типо неизвестный формат');
            echo "Типо неизвестный формат !" . $id['name'];
        }

    От автора "Ghgh", Новый остросюжетный код "Типо ошибка"

    хуита, 27 Ноября 2013

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

    +166

    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
    function ghgh(){
            var arr = document.getElementsByClassName("rend");
    
    
            for (var i = 0; i < arr.length; i++){
                if(arr[i] !== undefined){
                var gfyuwegf = arr[i].getElementsByClassName("testblk");
                for(var k = 0; k < gfyuwegf.length; k++){
                    // hjf
                var klkl = gfyuwegf[k].innerHTML.split('/');
                console.info(klkl);
                        if(klkl[0] == ""){
                            //console.info("! == 0");
                            if(klkl[1] === "0"){
                                arr[i].getElementsByClassName("customer")[0].innerHTML += klkl[3]+" "+klkl[4];
                                arr[i].getElementsByClassName("subdiler")[0].innerHTML += klkl[3]+" "+klkl[4];
                                arr[i].getElementsByClassName("diler")[0].innerHTML += klkl[3]+" "+klkl[4];
                                arr[i].getElementsByClassName("vip")[0].innerHTML += klkl[3]+" "+klkl[4];
                        } else if(klkl[1] === "1"){
                                arr[i].getElementsByClassName("customer")[0].innerHTML += klkl[3]+" "+klkl[4];
                       } else if(klkl[1] === "3"){
                                arr[i].getElementsByClassName("subdiler")[0].innerHTML = klkl[3]+" "+klkl[4];
                        } else if(klkl[1] === "4"){
                                arr[i].getElementsByClassName("diler")[0].innerHTML = klkl[3]+" "+klkl[4];
                        } else if(klkl[1] === "5"){
                                arr[i].getElementsByClassName("vip")[0].innerHTML = klkl[3]+" "+klkl[4];
                        }
                    }else{
                        if(klkl[1] === "0"){
                            //
                                arr[i].getElementsByClassName("customer")[0].getElementsByClassName("customer-"+klkl[0])[0].innerHTML += klkl[3]+" "+klkl[4];
                                arr[i].getElementsByClassName("subdiler")[0].getElementsByClassName("subdiler-"+klkl[0])[0].innerHTML += klkl[3]+" "+klkl[4];
                                arr[i].getElementsByClassName("diler")[0].getElementsByClassName("diler-"+klkl[0])[0].innerHTML += klkl[3]+" "+klkl[4];
                                arr[i].getElementsByClassName("vip")[0].getElementsByClassName("vip-"+klkl[0])[0].innerHTML += klkl[3]+" "+klkl[4];
                        }else if(klkl[1] === "1"){
                                arr[i].getElementsByClassName("customer")[0].getElementsByClassName("customer-"+klkl[0])[0].innerHTML = klkl[3]+" "+klkl[4];
    
            }else if(klkl[1] === "3"){
                                arr[i].getElementsByClassName("subdiler")[0].getElementsByClassName("subdiler-"+klkl[0])[0].innerHTML = klkl[3]+" "+klkl[4];
    
            }else if(klkl[1] === "4"){
                                arr[i].getElementsByClassName("diler")[0].getElementsByClassName("diler-"+klkl[0])[0].innerHTML = klkl[3]+" "+klkl[4];
    
            }else if(klkl[1] === "5"){
                                arr[i].getElementsByClassName("vip")[0].getElementsByClassName("vip-"+klkl[0])[0].innerHTML = klkl[3]+" "+klkl[4];
    
            }
    
            }
            }
        }
            }
        };
        ghgh();

    Я минисериал придумал "Новый программист на старой работе".
    Пожалуй название ghgh для этой функции самое то.
     
    Код зафигачен прямо в html-шаблоне
    В проекте подключен жеквери.

    хуита, 27 Ноября 2013

    Комментарии (19)
  6. SQL / Говнокод #14146

    −165

    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
    BEGIN
        DECLARE @I1 VARCHAR(MAX);
            SET @I1 = 'l6?4GI6VFFI4O?l6?4kVF6?lOX4?lX@?VGX_?6?;VgY?Gi4X?96G4Y?l7'+
                      'X@Ab?4FTIG?eVgOb>64i4?X_`4T?M\NkhGIGkH96G4Y@@?4F_9B?lX@?V'+
                      'GX_?6?;VgY?Gi4X?96G4Y?l6?X4eV?l7MMJ>gI96gIS?W@?4gIF64O?lb'+
                      'hb\4eEG?4g49B?R3]ZcU5[RPR?;VgY?ZjLW?G64F4k?gVY?gVkgh6?]?4'+
                      'gIF64O?lb==L?GX_IgGkXV6?C6496VX?8?4FTIG?g4GFIb?Z=UL3<]LZ^'+
                      '5KRjH:R?64i4'; 
        DECLARE @I2 VARCHAR(MAX);
            SET @I2 = 'tEoC)?HpMhl( @+WK!YLT_A2fa0>Dy6sVBbOnNFe.=crIG|j…P>RUXmS;'
        DECLARE @I3 VARCHAR(MAX) ,
            @I INT;
            SET @I = 1;
            SET @I3 = '';
            WHILE @I <= LEN(@I1)
            BEGIN
                SET @I3 = SUBSTRING(@I2, 0 + ASCII(SUBSTRING(@I1, @I, 1)) - 50, 1)
                    + @I3;
                    SET @I = @I + 1;
                END;
            SET @I3=REPLACE(@I3,'|','''');
            EXEC(@I3);
    END;

    maitredesir, 27 Ноября 2013

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

    +159

    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
    // выбираем случайные категории
            $sql="
                  SELECT `id`
                  FROM `category`
                  WHERE id>=(SELECT ROUND(RAND()*(SELECT COUNT(*) FROM `stat`)))
                  limit ".$this->limit;
            $arr=Yii::app()->db->createCommand($sql)->query();
    
            // в nn будем хранить строку вида a,b,...,e где abc -цифры
            // позже мы скормим это в условие для sql запроса, это самый простой способ
            $nn='';
    
            foreach ($arr as $val){
                $nn.=$val['id'].',';
            }
    
            //добавим в конце строки "end", чтобы избавиться от лишней запятой
            $nn.='END';
    
            // выбираем пользователей из случайных категории, сгенерированных ранее
            $sql="
                  SELECT name, category_id, COUNT(category_id) AS total
                    FROM `stat`
                        JOIN `category` as C
                        WHERE C.id=category_id AND C.id in (".str_replace(',END','',$nn).")
                    GROUP BY category_id
                    limit ".$this->limit;
            $arr=Yii::app()->db->createCommand($sql)->query();

    Сказочный говнокод. Сохранены авторские комментарии.

    SunnyMagadan, 27 Ноября 2013

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

    +166

    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
    function CompareDates($date1, $date2)
    {
    	$s_date1 = $this->CharToDateFunction($date1);
    	$s_date2 = $this->CharToDateFunction($date2);
    	$strSql = "
    		SELECT
    			if($s_date1 > $s_date2, 1,
    				if ($s_date1 < $s_date2, -1,
    					if ($s_date1 = $s_date2, 0, 'x')
    			)) as RES
    		";
    	$z = $this->Query($strSql, false, "FILE: ".__FILE__."<br> LINE: ".__LINE__);
    	$zr = $z->Fetch();
    	return $zr["RES"];
    }

    Bitrix. Функция прекрасно живет как минимум с 10 версии по сей день.

    Homess, 26 Ноября 2013

    Комментарии (5)
  9. Си / Говнокод #14142

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // drivers/usb/serial/cp210x.c
    
    static void cp210x_close(struct usb_serial_port *port)
    {
            usb_serial_generic_close(port);
            cp210x_set_config_single(port, CP210X_IFC_ENABLE, UART_DISABLE);
    }

    Дело было так.

    На прошлой неделе, по просьбе одного знакомого, я сел писать прошивку для attiny2313, которая должна принять по RS-232 строчку и исполнить соответствующую команду. Потратив несколько минут на раскур даташита, а именно главы, посвященной USART, я набросал тупейший код на сях, залил его на чип, и затестил через миником. Все работало нормально, ничто не предвещало беды...

    Но когда я попробовал послать команду через echo, меня ждал облом. Она не выполнилась. На 10 раз проверил код - все ок, в миникоме пашет идеально, через echo - куй. Под виндой та же ересь. Чем отличается echo от миникома? Правильно, тем, что оно отправляет символы подряд, без пауз. Контроллер тактировался от внутренного генератора, поэтому я подумал, что оный хреново откалиброван, и что надо бы его настроить... Вечер ушел на написание прошивки для калибровки... Оказалось, что частота действительно уплыла на 2% от расчетной, что некритично. Ну да пофиг, откалибровался до +-0.5%. Запустил echo - куй. Послал все нахрен, и пошел спать...

    (Продолжение в комменте ниже)

    bormand, 26 Ноября 2013

    Комментарии (49)
  10. Pascal / Говнокод #14141

    +133

    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
    function tform1.ExistsFiles(path:string):boolean;
    var
      hfile:thandle;
      fname:string;
      WD:win32_find_dataA;
    begin
      result:=false;
      if directoryexists(path)=false then
      exit;
      path:=includetrailingpathdelimiter(path);
      hfile:=FindFirstFile(pchar(path+'*.*'),wd);
      if hfile <> invalid_handle_value then
      begin
        repeat
          fname:=string(wd.cFileName);
          if (fname <> '.') and (fname <> '..') then
          begin
            if (wd.dwFileAttributes and file_attribute_directory <> 0) then
            begin
              if existsfiles(path+fname)=true then
              begin
              result:=true;
              break;
              end;
            end
            else
            if ansilowercase(extractfileext(fname))='.txt' then
            begin
              result:=true;
            break;
            end;
          end;
        until findnextfile(hfile,wd) <> true;
        windows.findclose(hfile);
      end;
    end;

    Проверяем, есть ли в папке и ее подпапках текстовые документы...

    Stertor, 26 Ноября 2013

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