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

    +156

    1. 1
    2. 2
    3. 3
    if($check==1) $check="экзамен";
    if($check==2) $check="зачет";
    if($check==0) $check="пусто";

    saksmt, 17 Октября 2014

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

    +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
    if(isItMe($msg->id_from,$id_ssid_user))
    {
        $echo_message->chat_user_img = ($msg->toimg ? $msg->toimg : "/img/user.png");
    }else{
        $echo_message->chat_user_img = ($msg->fromimg ? $msg->fromimg : "/img/user.png");
    }
    
    if(isItMe($msg->id_from,$id_ssid_user))
    {
        $echo_message->chat_user_firstname = $msg->tofirst;
        $echo_message->chat_user_lastname = $msg->tolast;
    
        $id_see=$msg->id_to;
    }else
    {
        $echo_message->chat_user_firstname = $msg->fromfirst;
        $echo_message->chat_user_lastname = $msg->fromlast;
        $id_see=$msg->id_from;
    }

    saksmt, 17 Октября 2014

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    function isItMe($fromid,$id_this)
    {
        return ($fromid==$id_this ? true : false);
    }

    saksmt, 17 Октября 2014

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    if($semester==1||$semester==2) $course = 1;
    if($semester==3||$semester==4) $course = 2;
    if($semester==5||$semester==6) $course = 3;
    if($semester==7||$semester==8) $course = 4;

    saksmt, 17 Октября 2014

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

    +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
    if(!$id_year)
    {
        echo json_encode(array("status"=>"missing_year"));
        exit();
    }
    
    if(!$group_id)
    {
        echo json_encode(array("status"=>"missing_group"));
        exit();
    }
    
    if(!$lesson_id)
    {
        echo json_encode(array("status"=>"missing_lesson"));
        exit();
    }

    saksmt, 17 Октября 2014

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

    +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
    //допускаются только перечисленные роли пользователей
            foreach ($roles as $role) {
                switch ($role) {
                    case 'admin':
                        $role_id=1;
                        break;
                    case 'teacher':
                        $role_id=2;
                        break;
                    case 'student':
                        $role_id=3;
                        break;
                    case 'parent':
                        $role_id=4;
                        break;
                    default:
                        $role_id=0;
                        break;
                }
    
                if ($this->usersmod->checkRole($user_id,$role_id)) return true;

    saksmt, 17 Октября 2014

    Комментарии (0)
  7. Pascal / Говнокод #16871

    +86

    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
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    panel27.Caption:=' ' + TimeToStr(time);
    KeyPreview := true;
    Form1.BorderStyle:=bsNone;
    Form1.WindowState:=wsMaximized;
    ShowWindow(Application.Handle, SW_HIDE);
    
    end;
    
    procedure TForm1.Timer2Timer(Sender: TObject);
    var
    Images: array[0..25] of Timage;
    i,p:integer;
    begin
    {Цикл для прорисовки канвы,идея безумная но иначе она прорисовывается не полностью}
    {РАБОТАЕТ? НЕ ТРОГАЙ!©}
    for i:=0 to 26 do
     begin
    images[0]:=image1;
    images[1]:=image2;
    images[2]:=image3;
    images[3]:=image4;
    images[4]:=image5;
    images[5]:=image6;
    images[6]:=image7;
    images[7]:=image8;
    images[8]:=image9;
    images[9]:=image10;
    images[10]:=image11;
    images[11]:=image12;
    images[12]:=image13;
    images[13]:=image14;
    images[14]:=image15;
    images[15]:=image16;
    images[16]:=image17;
    images[17]:=image18;
    images[18]:=image19;
    images[19]:=image20;
    images[20]:=image21;
    images[21]:=image22;
    images[22]:=image23;
    images[23]:=image24;
    images[24]:=image25;
    images[25]:=image26;
    
    if i>25
    then PageControl1.ActivePageIndex:=0
    else begin
    PageControl1.ActivePageIndex:=i;
    {Квадраты,Круг,Дуги}
    images[i].Canvas.rectangle(200,50,300,150);
    images[i].Canvas.rectangle(200,200,300,300);
    images[i].Canvas.rectangle(200,350,300,450);
    ...
    {Дальше идут канвас код которых примерно строк 150}
    ...
    end;
    p:=Gauge1.Progress+4;
    if p<100 then
    Gauge1.Progress:=p;
    end;
    timer2.Enabled:=false;
    Gauge1.Progress:=100;
    end;

    Изначально суть была в том, что при запуске программы окно разворачивалось на весь экран и вырисовывалось изображение на имаге(точнее несколько...штук 26),которые находились на пейдж контроле с 26 табщитами, но т.к в конструкторе окно формы не огромных размеров то вырисовывалось изображение размером с это маленькое окно оставляя огромный пробел справа и снизу.Позже проблема решилась и на активной вкладке пейджконтрола вырисовка была правильной, но на остальных неактивных такой же как и вначале. Пришлось при запуске переключать табщиты и поочередно рисовать на канве, все это происходит за 2-3 секунды каждый раз при запуске программы..другого решения увы не нашел.

    HiiamMarvin, 17 Октября 2014

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

    −860

    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
    SELECT 
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D1 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D1 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D2 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D2 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D3 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D3 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D4 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D4 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D5 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D5 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D6 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D6 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D7 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D7 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D8 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D8 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D9 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D9 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D10 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D10 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D11 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D11 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D12 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D12 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D13 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D13 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D14 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D14 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D15 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D15 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D16 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D16 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D17 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D17 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D18 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D18 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D19 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D19 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D20 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D20 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D21 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D21 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D22 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D22 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D23 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D23 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D24 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D24 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D25 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D25 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D26 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D26 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D27 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D27 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D28 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D28 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D29 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D29 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D30 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D30 = S_KODGR.K_KOD)) +
     iif(isnull((SELECT H_ALL FROM S_KODGR WHERE GR.D31 = S_KODGR.K_KOD)),0,(SELECT H_ALL FROM S_KODGR WHERE GR.D31 = S_KODGR.K_KOD)) AS H_ALL,
    GR.ID_GRAF
    FROM GRAF_RAB AS GR
    WHERE GR.GOD = 2014
    AND GR.K_T_GR = 1

    1) Говеная архитектура БД: В базе месяц лежит в одной таблице с полями D1, D2, D3 и т.д. Потому нельзя просто взять и одним запросом связать две таблицы, а приходится делать 31 подзапрос
    2) Говеня БД: используется access, который не может и шагу ступить без vba. В итоге функция nz, написанная на vba просто не видна OleDbDataAdapter-у и приходится использовать iif. И 31 подзапрос превращается в 62
    3) Надо получить значения из двух полей. 62 подзапроса превращаются в 124(Здесь только одно поле. В проекте код в 2 раза длиннее)

    yrHeTaTeJlb, 17 Октября 2014

    Комментарии (43)
  9. Pascal / Говнокод #16869

    +93

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (CurrentPlugin=nil) and (CurrentPlugin.FileName<>'InfoRTF.dll') and (CurrentPLugin.FileName<>'Preview.dll')  then begin
        if not ServerStoped then begin
            uPluginControl.StopSession();
        end;
        if ClientLoaded then begin
            ClientLoaded:=false;
            StartDemo();
        end;
    end;

    Смеяться на первой же строчке.
    Привет Алексу.

    hdkeeper, 17 Октября 2014

    Комментарии (7)
  10. SQL / Говнокод #16868

    −859

    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
    create table test(
      id integer primary key auto_increment,
      d datetime not null
    );
    
    insert into test(id) values (1);
    
    -- а сейчас я покажу вам особую уличную магию
    select *, d is null, d is not null from test;
    
    select *, d is null, d is not null from test
    where d is not null;
    
    select *, d is null, d is not null from test
    where d is null;  -- WTF?!
    
    select *, d is null, d is not null from test
    where d is not null and d is null; -- WTF?!

    Все 4 select'а выводят одинаковый результат... MySQL такой MySQL...

    P.S. Вставка всякой херни вместо вывода ошибки лечится добавлением STRICT_ALL_TABLES в sql_mode. А вот where с нулевой датой не лечится, видимо, это баг движка.

    bormand, 17 Октября 2014

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