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

    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
    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
    <?php
    
    function word_by_index($index, $dicts) {
        $sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
        $result = '';
        foreach($sizes as $key=>$size) {
            $result .= $dicts[$key][$index % $size]; // сцепляем слово из частей
            $index = floor($index / $size);
        }
        return $result;
    }
    
    function R($hash, $dicts, $total) {
        $index = gmp_intval(gmp_mod(gmp_init($hash, 16), $total));
        return word_by_index($index, $dicts); 
    }
    
    function make_chain($start, $length, $dicts, $total) {
        $chain['start'] = $start;
        for($i = 0; $i < $length; ++$i) {
            $hash = md5($start);                    // <-- сюда вставьте нужную хэш-функцию
            // echo ">>> $hash : $start\n";            // диагностическое сообщение
            $start = R($hash, $dicts, $total);
        }
        $chain['end'] = $hash;
        echo "Chain from ${chain['start']} to ${chain['end']} is ready.\n"; // диагностическое сообщение
        return $chain;
    }
    
    function make_chains($count, $length, $dicts) {
        $sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
        $total = array_reduce($sizes, function($carry,$item){return $carry*$item;}, 1); // произведение размеров словарей
        $chains = [];
        mt_srand();
        for($i = 0; $i < $count; ++$i) {
            $word = word_by_index(mt_rand(0, $total - 1), $dicts);  // начинаем цепочку с псевдослучайного слова
            $chain = make_chain($word, $length, $dicts, $total);
            $hash = $chain['end'];                               // используем конец найденной цепочки как индекс для быстрого поиска
            if(!isset($chains[$hash])) $chains[$hash] = [];      // если такого хэша не было в корзине, инициализируем её
            if(!in_array($chain['start'], $chains[$hash])) {     // проверяем на дубли
                $chains[$hash][] = $chain['start'];              // добавляем начало цепочки в корзину
            }
        }
        return $chains;
    }
    
    function find_hash_in_basket($needle, $haystack_start, $haystack_end, $dicts, $total) {
        echo "Роемся в цепочке от $haystack_start до $haystack_end.\n";       // диагностическое сообщение
        $current_word = $haystack_start;
        do {
            $current_hash = md5($current_word);         // <-- сюда вставьте нужную хэш-функцию
            if($current_hash === $needle) {
                 return $current_word;                  // нашли слово, хэш от которого равен заданному
            }
            $current_word = R($current_hash, $dicts, $total);  // роем в глубину
        } while($current_hash !== $haystack_end);
        return false; // не нашли
    }
    
    function search_hash($hash, $dicts, $chains, $length) {
        $sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
        $total = array_reduce($sizes, function($carry,$item){return $carry*$item;}, 1); // произведение размеров словарей
        $current_hash = $hash;
        for($i = 0; $i < $length; ++$i) {
              if(isset($chains[$current_hash])) {                // нашли хэш в одной из корзин
                  echo "Лезем в корзину $current_hash.\n";       // диагностическое сообщение
                  foreach($chains[$current_hash] as $start) {    // роемся в корзине
                      $result = find_hash_in_basket($hash, $start, $current_hash, $dicts, $total); // пытаемся найти в каждой из цепочек корзины
                      if($result) {
                          return $result;                        // конец поиска
                      }
                  }
              }
              $next_word = R($current_hash, $dicts, $total);             // копаем в глубину
              $current_hash = md5($next_word);
        }
        return false; // не нашли
    }
    
    ///////////////////// ПРИМЕР //////////////////////////////////
    
    $dicts= array(
          array('свино',  'овце', 'тигро', 'косатко', 'зубро', 'волко', 'кото'),
          array('собака', 'бык',  'лев',   'дельфин', 'бизон')
    );
    
    $chains = make_chains(15, 15, $dicts);
    echo "Радужные таблицы готовы.\n";
    var_dump($chains);
    
    $hash = '360629d3cf05cee0240a23e1251c58a0';
    echo "Пытаемся обратить $hash.\n";
    $word = search_hash($hash, $dicts, $chains, 15);
    echo "$hash is reversed to $word.\n";

    По просьбам трудящихся.

    Выхлоп на Ideone:
    http://ideone.com/otdCDg

    ropuJIJIa, 13 Октября 2019

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

    +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
    <?php
    
    function split_hash($hash, $sizes) {
        $cnt = count($sizes);                   // количество словарей
        $partSize = floor(128/4/$cnt);          // размер части хэша в тетрадах
        $result = array();
        foreach($sizes as $size) {
            $tmp = substr($hash, 0, $partSize); // разбиваем хэш по тетрадам на равные части
            $hash = substr($hash, $partSize);   
            $result[] = gmp_intval(gmp_mod(gmp_init($tmp, 16), $size)); // возвращаем остаток от деления фрагмента хэша 
                                                                        // на размер словаря
        }
        return $result;
    }
    
    function R($hash, $dicts) {
        $sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
        $indices = split_hash($hash, $sizes);
        $result = '';
        foreach($indices as $dictNumber=>$index) {
            $result .= $dicts[$dictNumber][$index]; // сцепляем слово из частей
        }
        return $result;
    }
    
    function make_chain($start, $length, $dicts) {
        for($i = 0; $i < $length; ++$i) {
            $hash = md5($start);
            echo $hash . ' : ' . $start . PHP_EOL;
            $start = R($hash, $dicts);
        }
    }
    
    make_chain('свинособака', 10, array(
          array('свино',  'овце', 'тигро', 'косатко', 'зубро', 'волко', 'кото'),
          array('собака', 'бык',  'лев',   'дельфин', 'бизон')
    ));

    Выводит:

    360629d3cf05cee0240a23e1251c58a0 : свинособака
    1f7ad860b089c0e1141de02ac1e6e3ef : волкобизон
    6f2e4e3025c9dd840f1fa4a78792ef31 : котобизон
    d5812761186013ecca674a2704d5a081 : зубробык
    b4499d259156939bb74cbc1743632c8d : овцебизон
    c28ad194fcc581f538d109f8acb6b1f5 : волкобык
    663a3e06c88185db8fd4f81829e66b85 : котодельфин
    30bb70e972bf073c7aa4ec93c8d5b9a0 : косаткодельфин
    cc31cd8554c1add0128013bba2e47317 : волколев
    d88e78b7340637370628848b1957b4c2 : котособака


    http://ideone.com/rxqpj1

    ropuJIJIa, 10 Октября 2019

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

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Сижу я, короче, на работе сейчас, кофе пью из термоса и программирую на «Python».
     Вдруг через минуту начинаю чувствовать непереносимый запах говна.
     Ну, думаю, Россия че, оглядываюсь по сторонам на сидящих рядом программистов. 
    Вроде никаких людей маргинального вида нет. 
    У меня у самого тоже никаких сюрпризов не ощущается.
     Ну думаю, все, глючит меня. 
    Уже практически тянусь за экстренной таблеткой оланзапина в рюкзак, как вдруг с кресла прямо за мной встает коллега и идет к туалету. 
    Запах испражнений усиливается многократно, на лицах сидящих рядом людей возникают недовольные гримасы.
     Смотрю на его компьютер, а там открыт код на «PHP». 
    Он ушел, а запах некоторый остался до сих пор. 
    Я замечательно попил кофе.

    CkpunmoBbIu_nemyx, 07 Октября 2019

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

    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
    public function store($variable){
    		$insert = "INSERT INTO `".$variable['table']."`(";
    		foreach ($variable as $key => $value) {
    			if(trim($key) != 'table'){				
    					$insert = $insert.''.$key.',';
    			}
    		}
    		$insert = substr($insert,0,-1);
    		$insert = $insert.") VALUES(";
    		foreach ($variable as $key => $value) {
    			if(trim($key) != 'table'){	
    				if(trim(gettype($value)) == 'string'){
    						$insert = $insert.'\''.$value.'\',';
    					}else{
    						$insert = $insert.''.$value.',';
    					}
    				}
    		}
    		$insert = substr($insert,0,-1);
    		$insert = $insert.')';
    		foreach ($variable as $key => $value) {
    			if(trim($key) != 'table'){
    				if(trim(gettype($value)) == 'string'&&strlen($value) < 512){
    					$variable[$key] = $key.' TEXT(512),
    ';
    				}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 512&&strlen($value) <= 1024){
    					$variable[$key] = $key.' TEXT(1024),
    ';
    				}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 1024&&strlen($value) <= 2048){
    					$variable[$key] = $key.' TEXT(2048),
    ';
    				}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 2048&&strlen($value) <= 4096){
    					$variable[$key] = $key.' TEXT(4096),
    ';
    				}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 4096){
    					$variable[$key] = $key.' TEXT(65535),
    ';
    				}
    				if(gettype($value) == 'integer'){
    					$variable[$key] = $key.' INT(128),
    ';
    				}
    				if(gettype($value) == 'double'||gettype($value) == 'float'){
    					$variable[$key] = $key.' FLOAT(53),
    ';
    				}
    			}
    
    		};
    				$table = "
    CREATE TABLE ".$variable['table']."(
    id INT(20) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    ";
    				foreach ($variable as $key => $value) {
    					if(trim($key) != 'table'){
    							$table = $table.''.$value;
    						
    					}
    
    				};
    				$table = substr($table,0,-3);
    				$table = $table.'
    )';
    }

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

    OCETuHCKuu_nemyx, 06 Октября 2019

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

    −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
    /*redir.php*/
    <?php
     /* Принимаем данные из формы */
      $connect=mysqli_connect('localhost','login','password') or die(mysqli_error());
    mysqli_select_db('myDB') or die ("Не могу выбрать базу данных");
    if(isset($_POST['enter'])){/*если нажата кнопка, то заносим в бд данные*/
    	 if (empty($_POST['name']) or empty($_POST['phone'])) {
            echo '<script>alert("Заполните все поля формы");</script>';
    	 } else {
      $name = $_POST["name"];
      $phone = $_POST["phone"];
      $datetime= date("l dS of F Y h:i:s A");
    $mysqly=mysqli_query($connect,"INSERT INTO contacts VALUES ('','$name','$phone','$datetime','')") OR DIE (MYSQLI_ERROR());}}
      ?>
    <script type="text/javascript">
      document.location.replace("index.php");/*делаем редирект на главную страницу сайта*/
    </script>

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

    OCETuHCKuu_nemyx, 06 Октября 2019

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

    +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
    $jsxss="onabort,oncanplay,oncanplaythrough,ondurationchange,onemptied,onended,onerror,onloadeddata,onloadedmetadata,onloadstart,onpause,onplay,onplaying,onprogress,onratechange,onseeked,onseeking,onstalled,onsuspend,ontimeupdate,onvolumechange,onwaiting,oncopy,oncut,onpaste,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,onblur,onfocus,onfocusin,onfocusout,onchange,oninput,oninvalid,onreset,onsearch,onselect,onsubmit,onabort,onbeforeunload,onerror,onhashchange,onload,onpageshow,onpagehide,onresize,onscroll,onunload,onkeydown,onkeypress,onkeyup,altKey,ctrlKey,shiftKey,metaKey,key,keyCode,which,charCode,location,onclick,ondblclick,oncontextmenu,onmouseover,onmouseenter,onmouseout,onmouseleave,onmouseup,onmousemove,onwheel,altKey,ctrlKey,shiftKey,metaKey,button,buttons,which,clientX,clientY,detail,relatedTarget,screenX,screenY,deltaX,deltaY,deltaZ,deltaMode,animationstart,animationend,animationiteration,animationName,elapsedTime,propertyName,elapsedTime,transitionend,onerror,onmessage,onopen,ononline,onoffline,onstorage,onshow,ontoggle,onpopstate,ontouchstart,ontouchmove,ontouchend,ontouchcancel,persisted,javascript";
    $jsxss = explode(",",$jsxss);
    foreach($_GET as $k=>$v)
    {
    	if(is_array($v))
    	{
    		foreach($v as $Kk=>$Vv)
    		{
    			$Vv = preg_replace ( "'<script[^>]*?>.*?</script>'si", "", $Vv );
    			$Vv = str_replace($jsxss,"",$Vv);
    			$Vv = str_replace (array("*","\\"), "", $Vv );
    			$Vv = strip_tags($Vv);
    			$Vv = htmlentities($Vv, ENT_QUOTES, "UTF-8");
    			$Vv = htmlspecialchars($Vv, ENT_QUOTES);
    			$_GET[$k][$Kk] = $Vv;
    		}
    	}
    	ELSE
    	{
    		//Сначала удаляем любые скрипты для защиты от xss-атак
    		$v = preg_replace ( "'<script[^>]*?>.*?</script>'si", "", $v );
    		//Вырезаем все известные javascript события для защиты от xss-атак
    		$v = str_replace($jsxss,"",$v);
    		//Удаляем экранирование для защиты от SQL-инъекций
    		$v = str_replace (array("*","\\"), "", $v );
    		//Экранируем специальные символы в строках для использования в выражениях SQL
    		$v = mysql_real_escape_string( $v );
    		//Удаляем другие лишние теги.	
    		$v = strip_tags($v);
    		//Преобразуем все возможные символы в соответствующие HTML-сущности
    		$v = htmlentities($v, ENT_QUOTES, "UTF-8");
    		$v = htmlspecialchars($v, ENT_QUOTES);
    		//Перезаписываем GET массив
    		$_GET[$k] = $v;
    	}
    	
    }

    [colo=blue]https://habr.com/ru/post/470193/[/color]

    Интересно, все эти люди сами до всего этого доходят, или их кто-то этому учит?

    gpyrou_nemyx, 05 Октября 2019

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

    0

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

    OlegUP, 01 Октября 2019

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

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

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