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

    +59

    1. 1
    2. 2
    3. 3
    while (($i <= $additional_limit) && ($i < $available_spaces)) {
        $i++;
       }

    в недрах плагина к wordpress. Прям по-другому минимум двух чисел не найти

    mkusher, 08 Июля 2012

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

    +61

    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
    function myrnd(){
    	$rnd1=rand(48,57);
    	$rnd2=rand(65,90);
    	$rnd3=rand(97,122);
    	$rnd4=rand(1,3);
    	$rnd5="rnd".$rnd4;
    	return $$rnd5;
    }
    function createReffererLink(){
    	$refferer="";
    	for($i=0;$i<12;$i++){
    		$refferer.=chr($this->myrnd());
    	}
    	return $refferer;
    }

    Нашел в своей старой партнерской программе. Угадайте, что делает этот код? ( генерирует реферальную ссылку )

    xcont, 07 Июля 2012

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

    +141

    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
    <?php
    
    $sub = $_POST['sub'];
    
    if ($sub == "Поменять"){
    
    $player1 = $_POST['player1'];
    $player2 = $_POST['player2'];
    
    // количество дней
    $days = "";
    $fl = "sys/days.cou";
    $fp = fopen($fl,"r");
    while(!feof($fp)){
    $days .= fgets($fp,2);
    }
    fclose($fp);
    
    // РАБОТА С ИМЕНАМИ
    
    // считываю имя первого pl1 - саша
    
    $name1 = "";
    $fl = "db/player".$player1.".nm";
    $fp = fopen($fl,"r");
    while(!feof($fp)){
    $name1 .= fgets($fp,2);
    }
    fclose($fp);
    
    // новый файл pl2_ саша
    
    $fl = "db/player".$player2.".nm_";
    $fp = fopen($fl,"w+");
    $fw = fwrite($fp,$name1);
    fclose($fp);
    
    // считываю имя второго pl2 маша
    $name2 = "";
    $fl = "db/player".$player2.".nm";
    $fp = fopen($fl,"r");
    while(!feof($fp)){
    $name2 .= fgets($fp,2);
    }
    fclose($fp);
    
    // новый файл pl1 маша
    
    $fl = "db/player".$player1.".nm";
    $fp = fopen($fl,"w+");
    $fw = fwrite($fp,$name2);
    fclose($fp);
    
    // новый файл pl2 саша
    
    $fl = "db/player".$player2.".nm";
    $fp = fopen($fl,"w+");
    $fw = fwrite($fp,$name1);
    fclose($fp);
    
    // удаляю pl2_ саша
    unlink("db/player".$player2.".nm_");
    
    // появляются файлы pl1 маша и pl2 саша
    
    
    // ТЕПЕРЬ РАБОТА С РЕЗУЛЬТАТАМИ
    
    
    for ($i=1; $i<=$days; $i++){
    
    // считываю если есть резы pl1
    $fl = "db/p".$player1."d".$i.".mon";
    if (file_exists($fl)){
    
    $rez = "";
    $fp = fopen($fl,"r");
    while(!feof($fp)){
    $rez .= fgets($fp,2);
    }
    fclose($fp);
    
    $fl = "db/p".$player2."d".$i.".mon_";
    $fp = fopen($fl, "w+");
    $fw = fwrite($fp, $rez);
    fclose($fp);
    
    }
    
    // считываю, если есть резы pl2
    $fl = "db/p".$player2."d".$i.".mon";
    if (file_exists($fl)){
    
    $rez = "";
    $fp = fopen($fl,"r");
    while(!feof($fp)){
    $rez .= fgets($fp,2);
    }
    fclose($fp);

    Вот, выдавил из себя говнокод, который меняет местами игроков в таблице. Имена записаны в файлы player1.nm, player2.nm и т.д.
    Результаты определенных дней записаны по такой структуре:
    1) Есть дата 1.07.2012, она записана в файл day2.day (вообщем, в файл с номером по порядку: day1.day, day2.day и т.д.)
    2) Если игрок player1.nm играл в день 2, на который установлена дата 1.07.2012, то к нему создается файл p1d2.mon, в который записывается его результат.
    3) Потом просто считываются каждый из файлов p[PLAYER]d[DAY].mon и создается таблица.
    Вот сам сайт: http://pokerstat.16mb.com/

    EndoCrinolog, 06 Июля 2012

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

    +52

    1. 1
    2. 2
    define(ADS_ACTIVE_TIME, '+1 month');
    $active = date('d.m.Y H:i:s', strtotime(ADS_ACTIVE_TIME, strtotime(date('d.m.Y H:i:s'))));

    Коммерческий проект. Про time() мы не слышали, похоже...

    twsdwf, 06 Июля 2012

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

    +58

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $arrNotViewDeathWindow = array(
    			'/reklama/press/index.php' => '1',
    			'/reklama/press/' => '1',
    			'/reklama/product/index.php' => '1',
    			'/reklama/product/' => '1',
    			'/about/poll/' => '1',
    			'/about/poll/index.php' => '1',
    			'/about/poll/result.php' => '1',
    			'/reklama/product/orders_list.php' => '1',
    		);
    
    if(!$arrNotViewDeathWindow[$_SERVER['SCRIPT_NAME']]) ...

    Кусок кода из отображения всплывающего окна на сайте на всех страницах кроме...

    Cool-Di, 04 Июля 2012

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

    +54

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
         * Грабли - наше всьо
         * @return string
         */
        function toPage()
        {
            ...
        }

    прекрасно задокументированная функция

    shmaltorhbooks, 03 Июля 2012

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

    +52

    1. 1
    2. 2
    $Qock = mysql_query("SELECT ...");
    $Cock = mysql_num_rows($Qock);

    Переменная $Cock - это ж надо так назвать!

    domaster, 02 Июля 2012

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

    +67

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ($_GET['search'] == ' Поиск' || $_GET['search'] == 'Поиск') {
    	$_GET['search'] = '';
    }
    if ($_GET['date'] == ' Дата' || $_GET['date'] == 'Дата') {
    	$_GET['date'] = '';
    } else {
    	$_GET['date'] = preg_replace('/(\d+).(\d+).(\d+)/i','$3-$2-$1', $_GET['date']);
    }

    Уж не знаю, что и сказать... А вдруг перед текстом попадутся 2 пробела? Или 3?

    domaster, 02 Июля 2012

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

    +58

    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
    //из Model_Menu:
    public $hierarchy = array(Model_Menu::AUTHOR, Model_Menu::YEAR, Model_Menu::GENRE);
    
    public function get()
        {
            try {
                return
                    DB::query(Database::SELECT,
                        'SELECT alias AS '.Model_Menu::ALIAS.',head AS '.Model_Menu::HEAD.',SUBSTRING(body,1,
                        128) AS '.Model_Menu::LINE.',
                        '.Model_Menu::AUTHOR.',
                        YEAR(date) AS '.Model_Menu::YEAR.',genre AS '.Model_Menu::GENRE.' FROM creations ORDER BY ' .
                            implode(',', $this->hierarchy) . ','.Model_Menu::ALIAS)->execute()->as_array();
            } catch (Exception $e) {
                return false;
            }
        }
    
    // views/menu.php:
    <?php
        $menu = Model::factory('menu');
        $hierarchy = $menu->hierarchy;
        $size = sizeof($hierarchy);
        $currentrow = $menu->creation();
        $xml = new MarkupBuilder();
        $last = array();
        $anchor = -1;
        $current = -1;
        $num = 0;
        $xml->tag('ul');
        $rows = $menu->get();
        foreach ($rows as $row) {
            $num++;
            $active=($row[Model_Menu::ALIAS] == $currentrow);
            while (true) {
                if ($current == $anchor) {
                    $pass = true;
                    for ($i = 0; $i < $size; $i++) {
                        if (empty($last[$i]) || $last[$i] != $row[$hierarchy[$i]]) {
                            $last[$i] = $row[$hierarchy[$i]];
                            $anchor = $i;
                            $pass = false;
                            for ($i = $anchor + 1; $i < sizeof($last); $i++) {
                                unset($last[$i]);
                            }
                            $anchor--;
                            break;
                        }
                    }
                    if ($pass) {
                        $anchor = $size;
                    }
                }
                if ($current < $anchor) {
                    $current++;
                    if ($current < $size) {
                        $xml->tag('li');
                        $xml->tag('span');
                        $xml->text($row[$hierarchy[$current]]);
                        $xml->end();
                        $xml->tag('ul',$active?array('class'=>'active'):array());
                    }
                } elseif ($current > $anchor) {
                    if ($current < $size) {
                        $xml->end();
                        $xml->end();
                    }
                    $current--;
                }
                elseif ($current == $anchor) {
                    if ($current == $size) {
                        $tooltip = $menu->tooltip($row);
                        $xml->tag('li', array(
                            'class' => 'item' . ($active ? 'highlight' : ''),
                            'title' => $tooltip
                        ));
                        $xml->tag('a', array(
                            'href' => (URL::base() . Route::get('creation')->uri(array('creation' => $row[Model_Menu::ALIAS])
                            )),
                            'class' => ($active ? 'highlight' : '')
                        ));
                        $xml->text($row[Model_Menu::HEAD]);
                        $xml->end();
                        $xml->end();
                        break;
                    }
                }
            }
        }
        $xml->end();
        while ($current > -1) {
            $xml->end();
            $current--;
        }
        echo $xml->asXML();
        ?>

    смысл данного ужаса в том, чтобы выбрать из таблицы данные (все в строковом формате) и вывести как меню UL\LI с иерархией, указанной в $hierarchy.

    Lure Of Chaos, 01 Июля 2012

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

    +58

    1. 1
    2. 2
    $cats = get_categories(array("child_of" => get_category_by_slug($wp_query->query_vars["category_name"])->category_parent ? get_category_by_slug($wp_query->query_vars["category_name"])->category_parent : get_category_by_slug($wp_query->query_vars["category_name"])->cat_ID,
    						 "hide_empty" => false));

    Я старался.
    Всегда ваш,

    varg242, 01 Июля 2012

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