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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    https://ru.wikipedia.org/wiki/Деление_с_остатком#В_программировании
    
    Смотрим табличку справа.
    
    Именно поэтому я против PHP

    OlegUP, 01 Октября 2019

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

    +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
    <?php
    $fin = fopen($argv[1], 'r');
    if($fin === false) die();
    
    $fout = fopen('dump.csv', 'w');
    if($fout === false) die();
    
    while(!feof($fin)) {
        $rawline = fgets($fin);
        if(!preg_match('#\[+(.*)\]+,?#', $rawline, $matches)) continue;
        $fields = str_getcsv($matches[1]);
        $parts = explode(')', $fields[0]);
        if(count($parts) < 2) continue;
        list($host, $path) = $parts;
        $domains = explode(',', $host);
        $dirs    = explode('/', $path);
        if($domains[0] === 'ru' && $domains[1] === 'mail') {
            $email = $dirs[2] . '@' . $dirs[1] . '.ru';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
        } else if($domains[0] === 'ru' && $domains[1] === 'rambler' && $dirs[1] = 'users') {
            if(strpos($dirs[2], '@') === false) {
                $email = $dirs[2] . '@rambler.ru';
            } else {
                $email = $dirs[2];
            }
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
        } else if($domains[0] === 'ru' && $domains[1] === 'ya') {
            $email = $domains[2] . '@yandex.ru';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $domains[2] . '@yandex.by';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $domains[2] . '@yandex.ua';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $domains[2] . '@yandex.kz';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $domains[2] . '@yandex.com';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $domains[2] . '@ya.ru';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
        } else if($domains[0] === 'ru' && $domains[1] === 'yandex' && $dirs[1] = 'users') {
            $email = $dirs[2] . '@yandex.ru';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $dirs[2] . '@yandex.by';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $dirs[2] . '@yandex.ua';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $dirs[2] . '@yandex.kz';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $dirs[2] . '@yandex.com';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $dirs[2] . '@ya.ru';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
        }
    }
    
    fclose($fout);
    fclose($fin);

    Генератор радужных таблиц для е-мейлов.

    Особенность программы в том, что «JSON» парсится как «CSV» в целях экономии оперативки.

    ropuJIJIa, 01 Октября 2019

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

    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
    function filterMenu(){
        global $keyboard, $settings;
        $filter_status_name = [ 1 => 'анонсировано', 2 => 'сейчас выходит', 3 => 'вышедшее' ];
        $filter_order_name = [ 1 => 'по рейтингу', 2 => 'по популярности', 3 => 'по алфавиту', 3 => 'по дате выхода' ];
        $filter_kind_name = [ 1 => 'TV Сериал', 2 => 'фильм' ];
        if( $settings['filter']['menu'] == 0 OR !isset($settings['filter']['menu']) ){
            keyboard( 'Включить фильтр ', 0, [ 't' => '3', 'm' => 1 ] );
        }else{
            keyboard( 'Выключить фильтр ', 0, [ 't' => '3', 'm' => 0 ] );
            switch ($settings['filter']['menu']) {
                case 1:
                    keyboard( 'Статус' . ((isset($settings['filter']['status']))?': '.$filter_status_name[$settings['filter']['status']]:''), 1, [ 't' => '3', 'm' => 2 ] );
                    keyboard( 'Сортировка' . ((isset($settings['filter']['order']))?': '.$filter_order_name[$settings['filter']['order']]:''), 1, [ 't' => '3', 'm' => 3 ] );
                    keyboard( 'Тип' . ((isset($settings['filter']['kind']))?': '.$filter_kind_name[$settings['filter']['kind']]:''), 2, [ 't' => '3', 'm' => 4 ] );
                    keyboard( 'Жанр', 2, [ 't' => '3', 'm' => 5 ] );
                break;
                case 2:
                    keyboard( 'Анонсировано', 11, [ 't' => '3', 'm' => 1, 'n' => 1, 's' => 1 ] );
                    keyboard( 'Сейчас выходит', 11, [ 't' => '3', 'm' => 1, 'n' => 1, 's' => 2 ] );
                    keyboard( 'Вышло', 12, [ 't' => '3', 'n' => 1, 's' => 3 ] );
                    keyboard( 'Не важно', 90, [ 't' => '3', 'm' => 1, 'n' => 1, 's' => 0 ] );
                break;
                case 3:
                    keyboard( 'По рейтингу', 11, [ 't' => '3', 'm' => 1, 'n' => 2, 's' => 1 ] );
                    keyboard( 'По популярности', 11, [ 't' => '3', 'm' => 1, 'n' => 2, 's' => 2 ] );
                    keyboard( 'По алфавиту', 12, [ 't' => '3', 'm' => 1, 'n' => 2, 's' => 3 ] );
                    keyboard( 'По дате выхода', 12, [ 't' => '3', 'm' => 1, 'n' => 2, 's' => 4 ] );
                break;
                
                case 4:
                    keyboard( 'TV Сериал', 11, [ 't' => '3', 'm' => 1, 'n' => 3, 's' => 1 ] );
                    keyboard( 'Фильм', 11, [ 't' => '3', 'm' => 1, 'n' => 3, 's' => 2 ] );
                    keyboard( 'Не важно', 90, [ 't' => '3', 'm' => 1, 'n' => 3, 's' => 0 ] );
                break;
            }
        }
        $keyboard['inline_keyboard'] = array_values($keyboard['inline_keyboard']);
    }
    if( isset( $input['message'] ) ){
        //sendMethod ( 'sendMessage', ['chat_id' => 66478514, 'text' => json_encode($input), 'parse_mode' => 'HTML'] );
        if( $input['message']['chat']['type'] == 'private' ){
            if( $chat_id == 166478514 ){
                $horney = json_decode( file_get_contents("horney.json" ), true );
                foreach ($horney['questions'] as $quest => $answer) {
                    $atext = explode(" ", $text);
                    $aquest = explode(" ", $quest);
                    $result = array_diff($atext, $aquest);
                    if( count($result) > 0 ) sendMethod ( 'sendMessage', ['chat_id' => 66478514, 'text' => $quest, 'parse_mode' => 'HTML'] );
                }
            }
            if( stripos($text, 'start') == 1 ){
                $start = explode(' ', $text )[1];
                if( isset($start) ){
                    $parm = explode('_', $start );
                    if( $parm[0] == 'a' ){
                        $id = $parm[1];
                        goto getAnime; // пиздец

    Чисто опенсорс, пацаны

    https://github.com/LyoSU/HorneyBot/blob/19c915c8cc982c38aeea12d07ce0163a8fe98780/src/index.php#L150
    https://github.com/LyoSU/HorneyBot

    kiberbiber, 20 Сентября 2019

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

    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
    ░████▓▓▓▓▓▓▓█▓█████████▓████▒           
                            >████▓▓▓▓▓██▓▓████████████████           
                            ▓█▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓█▓▓▓▓▓▓▓▓████▓          
                            ███▓▒▒▒▒▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓█████          
                            ██▓▓▒▒░<_▒▓▓▓▓▓▓▓▓▓▒▓▒▒▒▒▓▓███▓          
                            ██▓▓▒▒▒_   <▒▒▒▒▒▒▒░░▒▒▒▒▒▒███▒          
                           ░██▓▒▒▒░              _░▒▒▒▒▓██░          
                           ██▓█▓░_░_             _▒▒▒▒▒▓██           
                           █▓▓█▓▒  <             <░▒▒▒▒▓██           
                           █▓▓▓▓▓▓░              <░▒▒▒▓▓█▓           
                           █▒▓▓▒▒▒▒▓▒              ▒▒▓▒▓██           
                           ▓▓ ▒█▓▓▓▓█▒        __▒▒▒▓▓▒▒███           
                           ▓█▒ █▓▒  ▓▓▓< _ ▒▒▓▓▓▒▒▒▓▓▒▒██_           
                      ▒▒▒▓▓▒▓▓ ▒▓<    ▓▒  ▒▓▓▒▓▓▓▓▓▒▓▒▓█<            
             ░░▒▒▒▒▒▓▓▓▓▓▓▓▒▒▓░  ░░░ ░▒  _░ _   \█▓>░▒▓▒             
         ▒▓▓▓▒▒░_    ▒▒▒▒▓▓▓▓▒░   ▒_▒▒▓  ▒\ _▒▒░▒▒  ▒▓▓▒             
       ▓▓▓▒░>         ▒▒▒▓▓▓▓▒░  __>▒▓▒  ▒░▒_      ▒▓▓▓▓▓▓░          
      ▓▒▒_            ░▒▒▓▓▓▒▒▒     ▓▒  ░▒▒_    \▒▒▒▓▓▒░▒▒▓▓▓        
    ▓▒▒░               ▒▒▒▓▓▒▒>    ▓█   <▓▒    >▒▒▒▓▓▓ _<▒▒▒▓▓▓      
    ▒_░                ▒▒ ▓▓▒▒<     █▓▒_▒▓     _░▒▒▓▓▒   <▒▒▒▒▓▓▓    
    _                  ▒▒░▓▓▒▒       ▒▒░▒_     ░▒▒▒▓▒▒▒   ░▒<░░▒▒▓▒  
    _                  ▓▒▒▓▓▒▒▒▒░  ░▒   <      ░▒▒▓▒▒▒▓<      ░░▒▒▓▓ 
                       ▓▓▒▓█▓▓▓▓▒▒░░_░▒_      _▒▒▓▒_▒▒▒▒\       _░▒▓▒
                       ░▓▒▓▓▓▓▓▒▒▓██▓▒▒▓▒>_▒▒_▒▒▓▓░_▒▒▒▒▒\   
                       _▓▓█▓▓▓▒▓▒▒▓███████▓▓▓▓▓▓▓▒▒▒▒▓▒▒▒░   
                       >▓▓▓▓▓▓▓▓█▓▒<▒▓▓▒▓▓▓▓██▓▓▒▒▒▒▓▒▒▒░   
                         ▓▓▓▓▓█▓▓▓█▓▓▒▒▒▒▓▓██▒▒▒▒▒▒▒▒▒▒_      
    _                     ▓▓▓▓▓▓▓▒▒▓▓▒▒▒▓██▓▒▒▒░▒▒▒▒▒▒\   
                           ▒▓▓██▓█▓▓▓▓▓██▓▓▒▒▒▒▒▒▒▒▒▒▒░░         
    _ _             ___ _   _▒▓███████▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒░_\

    booratihno, 18 Сентября 2019

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

    +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
    37. 37
    <?php
    namespace Illuminate\Notifications\Messages;
    use Illuminate\Bus\Queueable;
    class BroadcastMessage
    {
        use Queueable;
    
        /**
         * The data for the notification.
         *
         * @var array
         */
        public $data;
    
        /**
         * Create a new message instance.
         *
         * @param  array  $data
         * @return void
         */
        public function __construct(array $data)
        {
            $this->data = $data;
        }
    
        /**
         * Set the message data.
         *
         * @param  array  $data
         * @return $this
         */
        public function data($data)
        {
            $this->data = $data;
            return $this;
        }
    }

    (new BroadcastMessage($shit))->data($shit)->data; // this data is the same $shit!
    оч удобно
    https://github.com/illuminate/notifications/blob/master/Messages/BroadcastMessage.php

    pahhan, 18 Сентября 2019

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

    −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
    [code]
      ____ _____ _____ ____ _____ ___  ____    _   _ _____
     / ___|_   _| ____|  _ \_   _/ _ \|  _ \  | | | | ____|
    | |     | | |  _| | |_) || || | | | |_) | | |_| |  _|
    | |___  | | | |___|  __/ | || |_| |  __/  |  _  | |___
     \____| |_| |_____|_|    |_| \___/|_|     |_| |_|_____|
    
     _   _      __  _  _______ _   _
    | | | |_   _\ \| |/ / ____| | | |
    | |_| | | | |\ \ / /|  _| | |_| |
    |  _  | |_| |/ / \ \| |___|  _  |
    |_| |_|\__, /_/| |\_\_____|_| |_|
           |___/   |_|
    [/code]

    ru66oH4uk, 16 Сентября 2019

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    /**
     * @api
     * @var int $id the numeric WordPress id of a post
     */
    public $id;
    
    /**
     * @var string 	$ID 			the numeric WordPress id of a post, capitalized to match WP usage
     */
    public $ID;

    WordPress, страна чудес!

    https://github.com/timber/timber/blob/a08370165c9240a33b977b037574181d3e1fa5a1/lib/Post.php#L107

    jufer, 16 Сентября 2019

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

    +3

    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
    <?
    
    function russian_date($input) {
        $date=explode("-", date("Y-m-d",strtotime($input)));
        switch ($date[1]) {
            case 1: $m='ЯНВАРЬ'; break;
            case 3: $m='МАРТ'; break;
            case 4: $m='АПРЕЛЬ'; break;
            case 5: $m='МАЙ'; break;
            case 6: $m='ИЮНЬ'; break;
            case 2: $m='ФЕВРАЛЬ'; break;
            case 7: $m='ИЮЛЬ'; break;
            case 8: $m='АВГУСТ'; break;
            case 9: $m='СЕНТЯБРЬ'; break;
            case 10: $m='ОКТЯБРЬ'; break;
            case 11: $m='НОЯБРЬ'; break;
            case 12: $m='ДЕКАБРЬ'; break;
        }
        echo ($m.' '.$date[0]);
    }
    
    ?>

    Образцовый код из одного мегапроекта от профессионалов.
    Такие монстры рождаются, когда не знаешь о локали.

    petja, 14 Сентября 2019

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

    −1

    1. 1
    https://www.theregister.co.uk/AMP/2019/09/10/intel_netcat_side_channel_attack/

    очередной мельтдаун

    MAKAKA, 11 Сентября 2019

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

    0

    1. 1
    2. 2
    $monkey = new Monkey();
    $monkey->confirm();

    Память в пхп не шарится, и на каждый запрос заново запускается. По-моему это каждая обезьяна знает.

    HomoSapiens, 10 Сентября 2019

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