1. Куча / Говнокод #21033

    +381

    1. 1
    2. 2
    3. 3
    4. 4
    Я придумал эзотерический язык. Он основан на рандоме.
    Каждая команда, это рандомное число. При вызове любой команды числа меняются.
    Чтоб получить список команд, нужно вызвать рандомное число которое является этой командой.
    Писать его не буду

    3oJloTou_xyu, 29 Августа 2016

    Комментарии (12)
  2. bash / Говнокод #21032

    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
    #!/bin/bash
    
    docker images  | \
        grep $1 | \
        awk '{ print $1":"$2 }' | \
        xargs -I{} docker history --human=false {} | \
        grep -P '^[0-9a-f]{12}' | \
        sed -r 's/([^ ]+).+\s([^ ]+\s+)$/\1 \2/' | \
        sort -u | \
        grep -v ' 0' | \
        awk '{ print $2 }' | \
        xargs | \
        sed -e 's/\ /+/g' | \
        bc | xargs -I{} echo '({} / (1024.0 * 1024.0))' | bc

    Считает общий объем занимаемый всеми имиджами Докера с определенным тагом.

    wvxvw, 29 Августа 2016

    Комментарии (4)
  3. 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

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

    0

    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

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    "5" + - "2"
    "5-2"
    
    "5" - + "2"
    3

    Как так можно!!!
    Что за язык!...Невозможно
    Почему "-" это string
    Почему во-втором примере мы получаем int число
    (риторические вопросы)
    как такое вообще может работать в продакшене

    lee-men, 29 Августа 2016

    Комментарии (16)
  6. Pascal / Говнокод #21025

    −1

    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
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    procedure TForm2.Button2Click(Sender: TObject);
    var
      Params : TStrings;
      lHTTP: TIdHTTP;
      IdSSL : TIdSSLIOHandlerSocketOpenSSL;
      N: Integer;
      Token,email,S: string;
      Reply: TStringList;
      login,password:string;
      i:integer;
    begin
     
     
    th:=TThread.CreateAnonymousThread(procedure
    var i:integer;
    begin
      for i := 0 to proxy.Lines.Count-1 do
          begin
            if th.CheckTerminated then
              begin
                FreeAndNil(th);
                break;
              end;
     
               pr.Delimiter:=':';
               pr.DelimitedText:=proxy.Lines[i];
     
     
     
              lHTTP := TIdHTTP.Create(nil);
     
     
              lHTTP.HandleRedirects:=True;
     
    //          lhttp.ProtocolVersion:= TidHttpProtocolVersion.pv1_1;
     
              lhttp.ProxyParams.BasicAuthentication:=true;
              lhttp.ProxyParams.ProxyServer:=pr[0];
              lhttp.ProxyParams.ProxyPort:=pr[1].ToInteger;
              lhttp.ProxyParams.ProxyUsername:=pr[2];
              lhttp.ProxyParams.ProxyPassword:=pr[3];
     
     //          lHTTP.Request.IPVersion:= tidIPVersion.Id_IPv6;
     
              try
    //            IdSSL := TIdSSLIOHandlerSocketOpenSSL.Create(lHTTP);
    //            IdSSL.SSLOptions.Method := sslvTLSv1;
    //            IdSSL.SSLOptions.Mode := sslmClient;
    //
    //            ssl.TransparentProxy.Host:=pr[0];
    //            ssl.TransparentProxy.Port:= pr[1].ToInteger;
    //            ssl.TransparentProxy.Username:=pr[2];
    //            ssl.TransparentProxy.Password:=pr[3];
    //            ssl.TransparentProxy.Enabled:=true;
    //
    //
    //            IdSSL.TransparentProxy.Host:=pr[0];
    //            IdSSL.TransparentProxy.Port:= pr[1].ToInteger;
    //            IdSSL.TransparentProxy.Username:=pr[2];
    //            IdSSL.TransparentProxy.Password:=pr[3];
    //            IdSSL.TransparentProxy.Enabled:=true;
    //
    //            IdSSL.TransparentProxy:=ssl.TransparentProxy;
    //
    //            IdSSL.TransparentProxy.IPVersion:=tidIPVersion.Id_IPv6;
    //
    //            idSSL.IPVersion:=tidIPVersion.Id_IPv6;
    //
    //            lHTTP.IOHandler := IdSSL;
                lHTTP.ReadTimeout := 30000;
     
     
            //    lHTTP.Request.UserAgent := 'Instagram 9.2.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)';
                lHTTP.Get('https://www.instagram.com', TStream(nil));
                lHTTP.CookieManager.CookieCollection.Cookie['csrftoken', 'www.instagram.com'];
                if  lHTTP.CookieManager.CookieCollection.Cookie['csrftoken', 'www.instagram.com'] <> nil then
                  Token :=  lHTTP.CookieManager.CookieCollection.Cookie['csrftoken', 'www.instagram.com'].Value;
              finally
     
              end;
     
              if  lHTTP.CookieManager.CookieCollection.Cookie['sessionid', 'www.instagram.com'] <> nil then
                  log.Lines.Add(lHTTP.CookieManager.CookieCollection.Cookie['sessionid', 'www.instagram.com'].Value);
     
              login:=dataform.Memo1.Lines[random(dataform.Memo1.Lines.Count-1)] + '.' +dataform.Memo1.Lines[random(dataform.Memo1.Lines.Count-1)] + IntToStr(Random(999999));
              login:=trim(login);
              login:=StringReplace(login,#10#13,' ',[rfreplaceall]);
     
              password:='mikadm0500';
     
              log.Lines.Add(login+':'+password);
     
              try
                    Params := TStringList.Create;
                    Reply  := TStringList.Create;
     
                    Params.Add('email=' + login + '@gmail.com');
                    Params.Add('password=' + Password);
                    Params.Add('username=' + login);

    >>TThread.CreateAnonymousThread
    Так испортить язык... Пиздец. Ембаркадеровцы, очевидно, подсели на кокс.

    Delphi rad 10 starter - полная лажа. Консольный компилятор не работает - это значит, что никаких компонентов не поставить. Пусть засунут ее себе.

    CTEPTOP, 29 Августа 2016

    Комментарии (10)
  7. 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)
  8. JavaScript / Говнокод #21017

    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
    'use strict';
    
    // Получаем все возможные статусы http
    const {STATUS_CODES} = require('http');
    
    class HttpError extends Error
    {
        constructor(statusCode = 500, statusMessage) {
    
            // И вау
            if (!STATUS_CODES[statusCode]) {
                throw new Error(`Wrong http code: ${statusCode}`);
            }
    
            statusMessage || (statusMessage = STATUS_CODES[statusCode]);
    
            super(statusMessage);
    
            Object.defineProperty(this, 'statusCode', {get: () => statusCode});
        }
    }
    
    module.exports = HttpError;

    Бросаем ошибку в конструкторе ошибки.

    damir, 29 Августа 2016

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

    0

    1. 1
    _G[_G] = _G

    3oJloTou_xyu, 29 Августа 2016

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

    −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
    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)