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

    0

    1. 1
    Дикого бомбежа пост

    Дикой боли стоила мне попытка собрать PHP 5.3 под Ubuntu 16.04 LTS. Клонирую репозиторий, делаю checkout на PHP 5.3, пытаюсь собрать по инструкции и тут БАЦ. autoconf и automake слишком новые. Благо были более старые версии, ставлю их через apt. И тут снова БАЦ. bison слишком новый. Пришлось скачивать исходники, компилировать их и потом уже ставить. И тут самое страшное: запустить PHP 5.3 под LAMP почти нереально. Меня всё это задолбало, сношу всё к чертям. И виноват отнюдь не PHP. Виноваты сами Томпсон, Ритчи, Линус и прочие петросяны всея вселенной *nix. Именно благодаря ним есть необходимость ставить по пять автоконфов, но не возможности.

    dm_fomenok, 06 Марта 2018

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

    0

    1. 1
    2. 2
    3. 3
    Посанеы, помогите как поднять БД по Уфе
    https://shamarc.biz/buy/389?method=qiwi&anonym=1
    Да, я наркоман, Онал-Пертрал, помоги

    За последние 8 лет, ни разу не писал, только постилГК, помогите.

    хуита, 01 Марта 2018

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

    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
    <?php
    
    $zero = '!![]';
    $nums = ['![]','${![]}','${!![]}','$${[]}','$${![]}','$${!![]}','$$${[]}','${[].[]}'];
    $initChr = "\${[]}=([].[])[![]+![]+![]];\${[]}++;\${[]}++;\${+![]}=\${[]};" .
    "\${[]}++;\${[]}++;\${[]}++;\${[]}++;\${[]}++;\${+![]}.=\${[]};" .
    "\${[]}=\${+![]}.([].[])[![]];";
    $chr = '${[]}';
    
    function initNumbers() {
        global $nums;
        $n = $nums[0];
        $code  = '';
        foreach ($nums as $v => $num) {
            if (!$v) continue;
            $v = join('+', array_fill(0, 2, $n));
            $code .= "$num=$v;";
            $n = $num;
        }
        return $code;
    }
    
    function number($n) {
        global $nums, $zero;
        if ($n < 0 || $n > 255) die("Invalid number: $n.");
        if (!$n) return $zero[0];
        $i = 0;
        while($n) {
            $d = $n % 2;
            if($d) $code[] = join('+', array_fill(0, $d, $nums[$i]));
            $n /= 2;
            $i++;
        }
        return join('+', $code);
    }
    
    function char($c) {
        global $chr;
        $c = number(ord($c));
        return "$chr($c)";
    }
    
    function str($s) {
        return join('.', array_map('char', str_split($s)));
    }
    
    function prettify($fucked) {
        $line = '';
        $ops = preg_split('/([;.])/', $fucked, -1, PREG_SPLIT_DELIM_CAPTURE);
        foreach($ops as $op) {
            if(strlen($line) + strlen($op) + 1 > 80) {
                $lines[] = $line;
                $line = '';
            }
            $line .= $op;
        }
        $lines[] = $line;
        return join("\n", $lines);
    }
    
    function fuckify($code) {
        global $chr, $initChr;
        $nums = initNumbers();
        $php = '$$$${[]}';
        $initPHP = $php . '=(' . str('popen') . ')(' . str('php') . ',' . char('w') . ');';
        $fputs = str('fputs');
        $pclose = str('pclose');
        $code = str($code);
        return prettify("<?php\n$initChr$nums$initPHP($fputs)($php,$code);($pclose)($php);");
    }
    
    $code = '';
    while ($line = fgets(STDIN)) $code .= $line;
    print(fuckify($code));

    Автаматизировала пхпфак почти как в http://govnokod.ru/23690
    програма вводет код пхп из stdin и выводет в stdout его перивод на пхпфак

    HACTEHbKA, 25 Февраля 2018

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    https://github.com/wiistriker/govnokod_legacy
    
    Вот почему всё через жопу?
    Почему, блядь, я просто не могу положить проект в htdocs, и чтобы всё заработало?
    
    Что это за поебень, кто-то в курсе?
    mzz не может быть запущен по причине:
    Directory "" is not readable
    Directory "/templates_c" is not readable
    Directory "" is not writable
    Directory "/templates_c" is not writable

    inho, 23 Февраля 2018

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

    +1

    1. 1
    2. 2
    3. 3
    if (count($this->session->userdata('search_data') > 0)) {
    ...
    }

    Видимо, это "проверка", что массив не пустой

    gorsash, 22 Февраля 2018

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    $female = $image->getOwner();
    if ($female->isMale()) {
        return true;
    }

    из дейтинг проекта

    chizdrel, 21 Февраля 2018

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

    0

    1. 1
    php.net/manual/ru/book.runkit.php

    Век живи, век удивляйся PHP

    dm_fomenok, 17 Февраля 2018

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

    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
    // http://www.compiler.su/prodolzhenie-tsikla-i-vykhod-iz-nego.php
    // В PHP выход из вложенного цикла выглядит, на мой взгляд, значительно элегантнее. После «break» указывается количество вложенных циклов, которые должен «покинуть» оператор «break». В приведённом примере, который аналогичен приведённому выше для Java, «break» должен «пересечь» две фигурные скобки «}», чтобы оказаться за пределами двух циклов.
    
    for($i=0; $i < $Imax; ++$i)
    {
       // ...
       for($j=0; $j < $Jmax; ++$j)
       {
          // ...
          if(условие) 
              break 2;
          // ...
       }
       // ...
    }

    Интересно, а почему б нечто подобное не сделать для функций? Ну например есть функция a() которая вызывает функцию b() которая вызывает функцию c(), которая вызывает функцию d(), и например в функции d() чтоб сделать особый return_3, который бы вернул управление на три уровня вниз, сразу в функцию a()? Хотя не, хуйня, надо ведь еще знать, какой там тип возвращается в функцию a() из функции b().
    То ли дело ассемблер. Можно тупо отмотать стек в нужное место

    j123123, 16 Февраля 2018

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

    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
    <?php
    error_reporting(0);
    ini_set('display_errors', '0');
    mb_internal_encoding('UTF-8');
    header('Access-Control-Allow-Origin: *');
    function str_replace_first($from, $to, $subject){
    $from='/'.preg_quote($from, '/i').'/';
    return preg_replace($from, $to, $subject, 1);
    }
    require_once('morphy/src/common.php');
    $opts=array(
    'storage'=>PHPMORPHY_STORAGE_MEM,
    'predict_by_suffix'=>true, 
    'predict_by_db'=>true,
    'graminfo_as_text'=>true
    );
    $dir='morphy/dicts';
    $lang='ru_RU';
    try{
    $morphy=new phpMorphy($dir, $lang, $opts);
    }catch(phpMorphy_Exception $e){
    die('Error occurred while creating phpMorphy instance: '.PHP_EOL.$e);
    }
    $morphy->getDefaultGrammemsProvider()->excludeGroups('С', 'род');
    $wanal=array();
    $wanal['p']=explode(' : ', file_get_contents('wanal_p.txt'));
    $wanal['s']=explode(' : ', file_get_contents('wanal_s.txt'));
    $wanal['g']=explode(' : ', file_get_contents('wanal_g.txt'));
    shuffle($wanal['p']);
    shuffle($wanal['s']);
    shuffle($wanal['g']);
    $current_wanal=$wanal;
    $string=trim($_GET['q']);
    $modified_comment=$string;
    preg_match_all('/(\w+)/u', str_replace('_', '', $string), $matches);
    $words=$matches[1];
    foreach($words as $word){
    if(mb_strtoupper($word)=='НАХУЙ' || mb_strtoupper($word)=='ХУЙ' || mb_strtoupper($word)=='ТУТ'){
    continue;
    }
    $info=$morphy->getGramInfo(mb_strtoupper($word));
    $type='';
    if(trim($info[0][0]['pos'])=='П'){
    $type='p';
    }
    if(trim($info[0][0]['pos'])=='С'){
    $type='s';
    }
    if(trim($info[0][0]['pos'])=='Г' || trim($info[0][0]['pos'])=='ИНФИНИТИВ'){
    $type='g';
    }
    if($type!=''){
    $replacement=trim($current_wanal[$type][array_rand($wanal[$type])]);
    if($replacement!=''){
    $casted=$morphy->castFormByPattern(mb_strtoupper($replacement), mb_strtoupper($word), null, true);
    if(count($casted)>0){
    $replacement=reset($casted);
    if(md5(mb_substr($word, 0, 1))==md5(mb_strtolower(mb_substr($word, 0, 1)))){
    $replacement=mb_strtolower($replacement);
    } elseif(md5(mb_strtoupper($word))==md5($word)){
    $replacement=mb_strtoupper($replacement);
    } elseif(md5(mb_substr($word, 0, 1))==md5(mb_strtoupper(mb_substr($word, 0, 1)))){
    $replacement=mb_convert_case(mb_strtolower($replacement), MB_CASE_TITLE);
    }
    $modified_comment=str_replace_first($word, $replacement, $modified_comment);
    $base=$morphy->getBaseForm(mb_strtoupper($word));
    if($base){
    $wanal[$type][]=mb_strtoupper($base[0]);
    $wanal[$type]=array_filter(array_unique($wanal[$type]));
    }
    }
    }
    }
    }
    file_put_contents('wanal_p.txt', implode(' : ', $wanal['p']));
    file_put_contents('wanal_s.txt', implode(' : ', $wanal['s']));
    file_put_contents('wanal_g.txt', implode(' : ', $wanal['g']));
    echo $modified_comment;
    ?>

    Какой-то такой модификатор чужих комментариев на основе ещё более ранних комментариев.

    g0_1494089148657, 14 Февраля 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    //@todo наговнокодим-ка сюда весь список, чтобы не лезть в БД
    $langs = array(
                'php' => 'php',
    ....
                'ассемблер' => 'avrasm',
                'ассемблер' => 'avrasm',
    );

    Наговнокодил так, шо даже в IDE не открывал

    https://github.com/wiistriker/govnokod_legacy/blob/master/service/bbcode.php#L666

    inho, 13 Февраля 2018

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