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

    +170

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function loger2($comment)
    {
    	$f = fopen(dirname(__FILE__).'/log2.html', 'a+');
    	fwrite($f, $comment);
    	fclose($f);
    }
    function loger($comment)
    {
    	$f = fopen(dirname(__FILE__).'/log.html', 'a+');
    	fwrite($f, $comment);
    	fclose($f);
    }

    loger100500?

    govnozmey, 12 Января 2011

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

    +163

    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
    function db_query($sql)
    {
    	global $dbcnx;
    	$k=0;
    	while(!@$res=mysql_query($sql))
    	{
    		if($k>5)
    		{
    			$f=fopen(dirname(__FILE__).'/tmp/error.log','a');
    			fwrite($f,"\n".mysql_error().' in '.$sql."\n");
    			fclose($f);
    			die();
    		}
    		//@mysql_close($dbcnx);
    		//MysqlConnect();
    		$k++;
    	}
    	return $res;
    }

    govnozmey, 12 Января 2011

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

    +160

    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
    function sinonimizer($my_text)
    {
    $arr_ = file(dirname(__FILE__).'/new_words.txt');
    $arr = array();
    foreach ($arr_ as $str)
    {
        $str = trim($str);
    	$t1 = explode('|', $str);
    	$master = trim($t1[0]); //пихаем слово которое заменять
    	if (!isset($t1[1]))
    		continue;
    	$t2 = explode('|', $t1[1]); //Тут слово которым заменять
    	if (sizeof($t2) == 0)
    		continue;
    	//Дальше волшебные мунипуляции
    
    	foreach ($t2 as $t)
    		$arr[crc32(strtolower($master))][crc32(strtolower(trim($t)))] = array('word' =>
    		trim($t), 'rep' => 0);
    }
    $my_text=str_replace(array("\n","\t","\r")," ",$my_text);
    $text_arr = explode(' ', $my_text);
    $str_ = '';
    
    foreach ($text_arr as $item)
    {
    	$fl = false;
    	$t = str_replace('.', '', str_replace(',', '', str_replace('!', '',
    	str_replace('?', '', str_replace('"', '', str_replace('\'', '',
    	str_replace('<', '', str_replace('>', '', str_replace(':', '',
    	str_replace(';', '', $item))))))))));
    	if (isset($arr[crc32(strtolower($t))]))
    	{
    		foreach ($arr[crc32(strtolower($t))] as $k => $v)
        		if ($v['rep'] == 0)
    			{
    				$str_ .= str_ireplace($t, "$v[word]", $item) . ' ';
    				$$v['rep'] = 1;
    				$fl = true;
    				break;
    			}
    	}
    	if (!$fl) $str_ .= $item . ' ';
    }
    
    return $str_;
    }
    
    function sinonimizer_new($my_text)
    {
    $arr_ = file(dirname(__FILE__).'/new_words.txt');
    $arr = array();
    foreach ($arr_ as $str)
    {
        $str = trim($str);
    	$t1 = explode('|', $str);
    	$master = trim($t1[0]); //пихаем слово которое заменять
    	if (!isset($t1[1]))
    		continue;
    	$t2 = explode('|', $t1[1]); //Тут слово которым заменять
    	if (sizeof($t2) == 0)
    		continue;
    	//Дальше волшебные мунипуляции
    
    	foreach ($t2 as $t)
    		$arr[(strtolower($master))][(strtolower(trim($t)))] = array('word' =>
    		trim($t), 'rep' => 0);
    }
    $my_text=str_replace(array("\n","\t","\r")," ",$my_text);
    $text_arr = explode(' ', $my_text);
    
    $str_ = '';
    
    foreach ($text_arr as $item)
    {
    	$fl = false;
    	$t = str_replace('.', '', str_replace(',', '', str_replace('!', '',
    	str_replace('?', '', str_replace('"', '', str_replace('\'', '',
    	str_replace('<', '', str_replace('>', '', str_replace(':', '',
    	str_replace(';', '', $item))))))))));
    
    	if (isset($arr[(strtolower($t))]))
    	{
           
    		foreach ($arr[(strtolower($t))] as $k => $v)
        		if ($v['rep'] == 0)
    			{
    				$str_ .= str_ireplace($t, "$v[word]", $item) . ' ';
    				$$v['rep'] = 1;
    				$fl = true;
    				break;
    			}
    	}
    	if (!$fl) $str_ .= $item . ' ';
    
    
    }
    
    return $str_;

    волшебные мунипуляции

    govnozmey, 12 Января 2011

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $res['descr'] = str_replace("\n\n\n", "<br>", $res['descr']);
    $res['descr'] = str_replace("\n\n", "<br>", $res['descr']);
    $res['descr'] = str_replace("<br><br><br>", "<br>", $res['descr']);
    $res['descr'] = str_replace("<br><br>", "<br>", $res['descr']);
    $res['descr'] = str_replace("<br><br>", "<br>", $res['descr']);

    Конвертируем переносы строк типа.

    govnozmey, 12 Января 2011

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

    +171

    1. 1
    @flush();@ob_flush();@flush();

    Я сказал flush(), сука! Эта фигня встречается в одном .php файле раз 20

    govnozmey, 12 Января 2011

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

    +157

    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
    session_start();
    $value = array(
           "severity" => $severity,
           "message" => $message,
           "filepath" => $filepath,
           "line" => $line
    );
    if(empty($_SESSION['data']))
    {
        $_SESSION['data'] = serialize($value);
    }
    else
    {
        unset($_SESSION['data']);
        $_SESSION['data'] = serialize($value);
    }
    header("Location: ".BASE_URL."/error/php_error/");

    Вот обработчик ошибок из уже упомянутого мною проекта. Тот же самый кодер обрабатывает ошибки. При более чем одной ошибке валиться весь проект, из-за того что сессия уже стартовала. Увидев это у меня возник facepalm.

    bazyaka, 12 Января 2011

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

    +158

    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
    if(($res = GetMysqlRes("SELECT id,name,price,anons2,colors,sizes,anons,content2,content,maker,title FROM {$oCfg->prefX}core WHERE top=".$pid." and act=1 ORDER BY date DESC LIMIT ".($pnum-1)*$eop.",".$eop."",array($pid),false)) != false)
    {
    while (($row = $db->fetch_row($res)) !== false)
    		{
    
    	...<script type='text/javascript'>
    		function chs".$row[0]."() {
    			document.getElementById(\"s_size".$row[0]."\").innerHTML = document.getElementById(\"sel_size".$row[0]."\").value;
    		}
    		function chc".$row[0]."() {
    			document.getElementById(\"s_color".$row[0]."\").innerHTML = document.getElementById(\"sel_color".$row[0]."\").value;
    		}
    	</script>...
    
    }
    }

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

    Три точки значат что там есть еще код.

    P.S. Опять же привет мазе.

    De-Luxis, 12 Января 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    $res = GetMysqlRes("SELECT anons2 FROM {$oCfg->prefX}core WHERE id=93");
    	while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
    		$to = $row[0];
    	}

    В CMS есть поле E-Mail, куда отправлять новые заказы.
    Так же есть поле anons, куда обычно пишется анонс статьи или страницы.
    В данном случае для хранения мыла, была создана отдельная строка anons2, туда же записывался адрес.

    P.S. Мазе привет.

    De-Luxis, 12 Января 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if( $check_referer ) {
    	if( $_SERVER['HTTP_REFERER'] == ''and $_REQUEST['subaction'] != 'dologin') $allow_login = true;
    	elseif( clean_url( $_SERVER['HTTP_REFERER'] ) == clean_url( $_SERVER['HTTP_HOST'] ) ) $allow_login = true;
    }else {
    	$allow_login = true;
    }

    dle software

    DanxilLs, 12 Января 2011

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

    +160

    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
    if ($res) {
        $i=0;
        while ( $arr = $res->fetchRow() )
        {   
            $id = $arr['id'];
            $userid = $arr['userid'];
            $alias = $arr['alias'];
            $startcity = $arr['startcity'];
            $endcity = $arr['endcity'];
            $godate = $arr['godate'];
            $gohour = $arr['gohour'];
            $gorecset = mapSetToWeekdays($arr['gorecset']);
            $recdays = implode(" ", $gorecset);     
        
            $godate = ereg_replace("Mon", $l['mo'], $godate);
            $godate = ereg_replace("Tue", $l['tu'], $godate);
            $godate = ereg_replace("Wed", $l['we'], $godate);
            $godate = ereg_replace("Thu", $l['th'], $godate);
            $godate = ereg_replace("Fri", $l['fr'], $godate);
            $godate = ereg_replace("Sat", $l['sa'], $godate);
            $godate = ereg_replace("Sun", $l['su'], $godate);
        
            $rides[$i] = array('id' => $id,
                                'userid' => $userid,
                                'alias' => $alias,
                                'startcity' => $startcity,
                                'endcity' => $endcity,
                                'gohour' => $gohour,
                                'godate' => $godate,
                                'recdays' => $recdays,                   
                                );
            $i++;
        }
        
        $SMARTY->assign("rides", $rides);
    }

    Этот чудесный пример говнокода написал один финн, с которым мне приходится работать вместе.
    Как видно, он, имея 4 года опыта разработки на PHP, так и не знает про extract(), compact(), а также про возможность использовать массивы в качестве аргументов str_replace. Хотя, в данном случае можно было просто написать $rides[] = $arr;

    rostislav, 12 Января 2011

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