1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #26607

    +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
    <?php
    
    function qes2_key ( $key = null ) {
        $key = str_split( $key );
        $keycount = count( $key );
        $xspos = 1;
        $summ = 0;
        foreach( $key as $letter ) {
            $summ += ord( $letter ) * 2 + $xspos + ( $keycount / $xspos );
            $xspos++;
        }
        $summ = explode('.', $summ );
        return $summ[0];
    }
    	
    function qes2_encrypt ( $input, $key ) {
        $input = str_split( $input );
        $icount = count( $input );
        $rsumm = qes2_key( $key );
        $result = '';
        $xspos = 1;
        $xsdisp = 1;
        foreach( $input as $letter ) {
            $char = ord( $letter ) + ( $rsumm * $xspos ) - $xsdisp ;
            $result .= chr( $char );
            $xspos++;
            $xsdisp += 1;
        }
        return $result;
    }
    	
    function qes2_decrypt ( $input, $key ) {
        $input = str_split( $input );
        $icount = count( $input );
        $rsumm = qes2_key( $key );
        $result = '';
        $xspos = 1;
        $xsdisp = 1;
        foreach( $input as $letter ) {
            $char = ord( $letter ) - ( $rsumm * $xspos ) + $xsdisp ;
            $result .= chr( $char );
            $xspos++;
            $xsdisp += 1;
        }
        return $result;
    }

    qes2a encryption (c)

    govnokoduser2000, 27 Апреля 2020

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

    +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
    public function cutPoly($business_id)
        {
            $done = [];
            $red = Isochrone::where('business_id', $business_id)->where('color', 'red')->selectRaw('id, color, ST_AsText(path) as p_path')->get()->first();
            $blue = Isochrone::where('business_id', $business_id)->where('color', 'blue')->selectRaw('id, color, ST_AsText(path) as p_path')->get()->first();
            $green = Isochrone::where('business_id', $business_id)->where('color', 'green')->selectRaw('id, color, ST_AsText(path) as p_path')->get()->first();
            if ($red && $blue) {
                if (!$red['p_path'] || !$blue['p_path']) {
                    $done['red'] = 'already';
                } else {
                    $isoString = 'POLYGON((';
                    $blue_path = $blue['p_path'];
                    $red_path = $red['p_path'];
                    if (!array_key_exists('lat', $blue['p_path'][0])) {
                        $blue_path = $blue['p_path'][0];
                    }
                    if (!array_key_exists('lat', $red['p_path'][0])) {
                        $red_path = $red['p_path'][0];
                    }
                    $isoString .= implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $red_path))
                    . '),('.
                        implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $blue_path))
                        .'))';
                    Isochrone::where('business_id', $business_id)->where('color', 'red')->update(['path' => \DB::raw("ST_GeomFromText('$isoString')")]);
                    $done['red'] = 'ok';
                }
            } else if ($red && $green) {
                if (!$red['p_path'] || !$green['p_path']) {
                    $done['red'] = 'already';
                } else {
                    $isoString = 'POLYGON((';
                    $green_path = $green['p_path'];
                    $red_path = $red['p_path'];
                    if (!array_key_exists('lat', $green['p_path'][0])) {
                        $green_path = $green['p_path'][0];
                    }
                    if (!array_key_exists('lat', $red['p_path'][0])) {
                        $red_path = $red['p_path'][0];
                    }
                    $isoString .= implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $red_path))
                    . '),('.
                        implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $green_path))
                        .'))';
                    Isochrone::where('business_id', $business_id)->where('color', 'red')->update(['path' => \DB::raw("ST_GeomFromText('$isoString')")]);
                    $done['red'] = 'ok green';
                }
            }
            if ($blue && $green) {
                if (!$blue['p_path'] || !$green['p_path']) {
                    $done['blue'] = 'already';
                } else {
                    $isoString = 'POLYGON((';
                    $green_path = $green['p_path'];
                    $blue_path = $blue['p_path'];
                    if (!array_key_exists('lat', $green['p_path'][0])) {
                        $green_path = $green['p_path'][0];
                    }
                    if (!array_key_exists('lat', $blue['p_path'][0])) {
                        $blue_path = $blue['p_path'][0];
                    }
                    $isoString .= implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $blue_path))
                    . '),('.
                        implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $green_path))
                        .'))';
                    Isochrone::where('business_id', $business_id)->where('color', 'blue')->update(['path' => \DB::raw("ST_GeomFromText('$isoString')")]);
                    $done['blue'] = 'ok';
                }
            }
            return $done;
        }

    Он же через час - три дня будет разбиратся что написал

    websbkinfo, 21 Января 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (!$resp || !is_array($resp) || array_key_exists('error', $resp)) {
                    // TODO: what to do?
                } else {
                    Log::channel('caridis')->info("***********************NEW_DELIVERY");
                    Log::channel('caridis')->info([$order]);
                    $order->caridis_id = $resp['data']['id'];
                }

    // TODO: what to do?
    сука????

    websbkinfo, 20 Января 2020

    Комментарии (4)
  5. Java / Говнокод #26206

    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
    public class C1834 { }
    class C1835 extends  C1834 { }
    
    public class C1836 {
    
       public void m5(ArrayList<? extends C1834> strList)
        {
            List<? extends C1834> list = new ArrayList<>();
            list.add(new C1835());
       }
    
    }

    АААА... кто-нибудь знает почему нельзя добавить объект С1835 в список? Как это обойти?

    mozga, 12 Декабря 2019

    Комментарии (4)
  6. C# / Говнокод #25994

    0

    1. 1
    2. 2
    3. 3
    string log = pair;
    log += ":";
    log += new string(Convert.ToChar(32), 21 - pair.Length); /*spaces*/

    m_sandman, 25 Октября 2019

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

    +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
    <?php
    
    require_once '../vendor/autoload.php';
    require_once 'functions.php';
    require_once 'KPFile.php';
    require_once 'KPLogger.php';
    
    use Intervention\Image\ImageManagerStatic as Шакализатор;
    
    Шакализатор::configure(array('driver' => 'imagick'));
    
    $logger = new KPLogger();
    
    function сжать(KPFile $шакал, $степеньСжатия, Array $ебучесть, $output) {
        $индексЕбучести = 0;
        if (!is_null($ебучесть[0])) {
            $индексЕбучести = $ебучесть[0];
        }
        if (!is_null($ебучесть[1]) && ($ебучесть[1] > $ебучесть[0])) {
            $индексЕбучести = $ебучесть[1];
        }
    
        $img = Шакализатор::make($шакал->path);
        $img->resize($ебучесть[0], $ебучесть[1], function ($constraint) {
            $constraint->aspectRatio();
            $constraint->upsize();
        });
        if ($img->mime() !== 'image/jpeg') {
            $img->encode('jpg', 100);
        }
        $img->save($output."$шакал->name-$индексЕбучести.jpg", $степеньСжатия);
    }
    
    function сжатьВсехШакалов($path, $степеньСжатия, $ебучестьШакалов, $output) {
        global $logger;
        $files = scandir($path);
        foreach($files as $key => $file) {
            $logger->colorLogWithFiles('blue', $file, $key);
            try {
                $шакал = new KPFile($path.$file);
                if ($шакал->type !== KPFile::FILE_TYPE_IMAGE) {
                    continue;
                }
                if (trim($шакал->name) == '') {
                    throw new Exception("file=$file, kpFileName=$шакал->name");
                }
                foreach ($ебучестьШакалов as $ебучесть) {
                    сжать($шакал, $степеньСжатия, $ебучесть, $output);
                }
            } catch (Exception $e) {
                $logger->exception($e, $key);
            }
        }
    }
    
    $степеньСжатия = 22;
    $ебучестьШакалов = [
        [60, 60],
        [38, 38]
    ];
    сжатьВсехШакалов('dataHeavy/carsOrig/', $степеньСжатия, $ебучестьШакалов, "../public/img/cars/");
    
    
    $logger->colorLogWithFiles('blue', '10/10 *** еб/шакалов', null, "\n");

    shakal of jpeg-street

    raduloh, 17 Октября 2019

    Комментарии (4)
  8. Куча / Говнокод #25920

    −105

    1. 1
    2. 2
    Это ATGC в заповеднике
    https://pbs.twimg.com/media/DofuZTmWsAEWfxw.jpg

    Я считаю, что после всех катастроф, которые обрушились на Россию в двадцатом веке, начиная с первой мировой и заканчивая перестройкой, тот факт, что Россия еще сохранилась и развивается, говорит, что у нашего народа имеется одна лишняя хромосома

    Dpyrou_Pycoqpo6_CEMA, 08 Октября 2019

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

    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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    function toUrl(url, key, value) {
      if(url=='') url=window.location.href; 
      if(url.indexOf('//')<0) url='//'+url;
    
      // protocol
      var u=url.split(/\/?\//); 
      url={}; url.protocol=u.shift()+'//';
    
      // hostname
      url.hostname=u.shift().split(':'); 
      if(url.hostname.length>1) url.port=':'+url.hostname.pop()
      url.hostname=url.hostname.pop().split('@').pop();
    
      // сохраним порядок для последующей свертки
      url.pathname='/'; url.pagename=''; 
    
      try { 
        // hash
        url.search=u.pop().split(/#/); 
        if(url.search.length==2) url.sh='#'+url.search.pop();
        url.search=url.search.shift().split(/\?/);
        
        // pagename
        url.pagename=url.search.shift(); url.search=url.search[0]
      
        // pathname
        url.pathname+=u.join('/')+(u.length?'/':'');
      
        // разбор search, (c) Steven Benner, 2010
        try {
          var u = {};
          url.search.replace(
            new RegExp('([^?=&]+)(=([^&]*))?', 'g'),
            function($0, $1, $2, $3) { 
               u[$1] = decodeURIComponent($3); 
            }
          );
          url.search=u;
        } catch(e) { 
          delete url.search; 
        }
      } catch(e) { };
    
      // вернем URL как объект, где search так же
      // представлен объектом {key:value}
      if(!key && !value) return(url);
    
      // возвращаем значение ключа
      if(key && !value) return(url.search[key]);
    
      // roll up url
      var roll = function(url,search){
        var out='';
        for(var key in url) {
          out+=(search?'&'+key+'=':'')+(key=='search'?'?'+roll(url[key],1).substr(1):url[key]);
        };
        return out;
      };
      
      // устанавливаем значение ключа
      if(value) url.search[key]=value.toString(); 
      
      // сворачиваемся, с учетом порядка следования свойств
      return(roll(url));    
    }
    
    // применение
    console.log(toUrl('http://site.my:81/home/path/page.htm?a=1&b=2#hash','a',5));

    https://habr.com/ru/sandbox/126206/

    OCETuHCKuu_nemyx, 06 Октября 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ((ax + b)mod p) mod m
    
    Какое вообще у этой хеш-функции название?
    
    Я нашел только "Семейство универсальных хеш-функций"

    OlegUP, 02 Октября 2019

    Комментарии (4)
  11. Куча / Говнокод #25878

    −100

    1. 1
    Я Stertor

    rHujlb, 27 Сентября 2019

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