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

    +161

    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
    /*
    [... выдержки из файла search.php ...]
    */
    //Создание коротких переменных
    	$q = $_GET['q'];
    	
    	if(intval($q)) {
    		//если в поле поиска введено число, перенаправить на просмотр заметки с этим id
    		echo "<meta http-equiv=\"refresh\" content=\"0; url=view.php?id=$q\" />";
    		exit();
    	}
    	//Приведение типа входных данный в строковый
    	$q = strval($q);
    	$q = secure_input_string($q);
    	
    	if (!isset($q) || empty($q) || !is_string($q)) {
    		//Неверные входные данные, скорее всего пользователь не ввел никаких данных в форму поиска
    		echo '<html><head><meta http-equiv="content-type" content="text/html;charset=utf-8" />
      <link href="style/generalstyle.css" rel="stylesheet" /></head><body>';
    	  echo '<div class="error_window" align="center">Ошибка.<br />Вы не ввели данные для поиска.</div>';
    	  echo "<meta http-equiv=\"refresh\" content=\"1; url={$_SERVER['HTTP_REFERER']}\" />";
    	  //Выход из сценария
    	  exit('</body></html>');
    	}

    Тонкости надмозгового мироздания из серии http://govnokod.ru/4278
    Орфография и пунктуация сохранены

    istem, 20 Сентября 2010

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

    +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
    /*
    [... выдержки из файла functions.php ...]
    */
    function secure_input_string($string,$strip = true) {
    	/*Функция позволяет обезопасить вводимые пользователем данные путем применения ряда функций в входной строке
    	 * Входная строка должна быть текстом (string) */
    	if ((bool)$strip) {
    		//Усечение пробелов
    		$string = trim($string);
    		//Удаление PHP и HTML тегов
    		//$string = strip_tags($string);
    		//Перевод специальных символов в html эквиваленты
    		$string = htmlspecialchars($string);
    		//Отмена спец-символов обратными косыми чертами
    	}
    	//Удаление попыток вставки кода php или xml
    	$badcode = array('<?php','?>');
    	$code = array('<','>');
    	$string = str_replace($badcode,$code,$string);
    	return $string;
    }
    
    function get_rus_date($ymy) {
    	/*Функция для замены английский названий месяцев русскими названиями*/
    	//Предпологается, что данные поступили в формате ДД JAUNARY 2010, иначе выполнение функции не имеет смысла
    	//Массив с датами на английском
    	$eng = array('January','February','March','April','May','June','July','August','September',
    				'October','November','December');
    	//Массив с датами на русском
    	$rus = array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь',
    				'Октябрь','Ноябрь','Декабрь');
    	//Замена английских месяцов на русские
    	$ymy = str_replace($eng,$rus,$ymy);
    	return $ymy;
    }
    
    function str_size($size) {
    	//Функция для предаставления размера файла из функции filesize (возвращающуу байты) в удобочитаемый вид
    	//Приведение к строковому типу
    	$size = (string)$size;
    	if (strlen($size) == 0) {
    		//Не удалось получить размер файла
    		return false;
    	}
    	else if (strlen($size) <= 3) {
    		//Размер указан в Байтах
    		return $size.' byte';
    	}
    	else if (strlen($size) >= 4 && strlen($size) < 7) {
    		//Размер указан в Килобайтах
    		$size = (int)$size;
    		$size_k = $size/1024;
    		//Удалить двойную точность
    		$size_k = (int)$size_k;
    		return $size_k.' Kb';
    	}
    	else if (strlen($size) >= 7 && strlen($size) < 10) {
    		//Размер указан в Мегабайтах
    		$size = (int)$size;
    		$size_m = $size/1024;
    		$size_m = $size_m/1024;
    		//Оставить только один знак после точки
    		$size_m = round($size_m,1);
    		$size_m = $size_m.' Мб';
    		return $size_m;
    	}
    	else if (strlen($size) >= 10 && strlen($size) < 13) {
    		//Размер указан в Гигабайтах
    		$size = (int)$size;
    		$size_m = $size/1073741824;
    		//Оставить только один знак после точки
    		$size_m = round($size_m,1);
    		$size_m = $size_m.' Гб';
    		return $size_m;
    	}
    	else {

    Продолжение трагикомической эпопеи http://govnokod.ru/4278
    Орфография и пунктуация сохранены

    istem, 20 Сентября 2010

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

    +118

    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
    /**
     * Функция создает новую таблицу. 
     * @param $name - имя новой таблицы. Имя должно быть проверено (например функцией mysql_real_escape_*)
     * @return TRUE - если новая таблица была создана или FALSE - если нет
     */ 
    function createTable($name) {
        $retval = false;
        if(!empty($name)){
            $query = "CREATE TABLE IF NOT EXISTS `" . $name . "` (`Adres` varchar(150) DEFAULT NULL, `send` int(1) DEFAULT NULL )";
            $result = mysql_query($query);
            if($result){
                $retval = true;
            }
        }
        return $retval;
    }

    Вроде все хорошо и красиво. Но есть говнинка которая все портит

    Vasiliy, 19 Сентября 2010

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

    +168

    1. 1
    if(substr($_SERVER['QUERY_STRING'],0,9)==='act=const')

    Вот так мы получаем GET данные из адресной строки

    Shevron, 19 Сентября 2010

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

    +162

    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
    if ( ! function_exists('days_in_month'))
    {
    	function days_in_month($month = 0, $year = '')
    	{
    		if ($month < 1 OR $month > 12)
    		{
    			return 0;
    		}
    	
    		if ( ! is_numeric($year) OR strlen($year) != 4)
    		{
    			$year = date('Y');
    		}
    	
    		if ($month == 2)
    		{
    			if ($year % 400 == 0 OR ($year % 4 == 0 AND $year % 100 != 0))
    			{
    				return 29;
    			}
    		}
    
    		$days_in_month	= array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    		return $days_in_month[$month - 1];
    	}
    }

    разработчики CodeIgniter не ищут лёгких путей
    date('t')

    DrFreez, 19 Сентября 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    if(!get_magic_quotes_gpc()) {
    	$_GET = addslashes($_GET);
    	$_POST = addslashes($_POST);
    }

    Шедевры отечественного экранирования. Из недр движка http://linuxnow.ru

    telnet, 18 Сентября 2010

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

    +155

    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
    $image = imageCreateFromJpeg("test666.jpg");
    
    $width = imageSX($image);
    $height = imageSY($image);
    
    $colorsR = array();
    $colorsG = array();
    $colorsB = array();
    
    for ($i = 0; $i < $width; $i++) {
    	for ($j = 0; $j < $height; $j++) {
    		
    		$color = imageColorAt($image, $i, $j);
    		list($r, $g, $b) = array_values(imageColorsForIndex($image, $color));
    		
    		if ($r != "255" && $g != "255" && $b != "255") {
    			array_push($colorsR, $r);
    			array_push($colorsG, $g);
    			array_push($colorsB, $b);
    		}
    		
    	}
    }
    
    $middleR = base_convert(round(array_sum($colorsR) / count($colorsR)), 10, 16);
    $middleG = base_convert(round(array_sum($colorsG) / count($colorsG)), 10, 16);
    $middleB = base_convert(round(array_sum($colorsB) / count($colorsB)), 10, 16);
    
    
    echo "<h1>".$middleR.$middleG.$middleB."</h1>"

    Только что "родил": нахождение среднего цвета на картинке для собственных нужд. Поскольку пхп я особо не знал никогда, делал "влом".
    Претендует ли это на звание говнокода?

    Cr@ZyBoY, 17 Сентября 2010

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

    +123

    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
    <? include ("header.php");
    include ("../setup.php");
    $resultg=mysql_query("select * from seting ");
    $rog=mysql_fetch_array($resultg);
    ?>
    
    <center><h4><font color=7C87C2>Настройка Казино</font></h4><br></center>
    
    
    <table border="0" align="center" cellpadding="0" cellspacing="10">
    <FORM action=config.php method=post>
    <TR><td>Логин админа : </td><TD><INPUT size=40 name=alog value=<? echo $rog[0] ?>></TD></TR>
    <TR><td>Пароль админа </td><TD><INPUT size=40 name=apas value=<? echo $rog[1] ?>></TD></TR>
    <TR><td>Email казино</td><TD><INPUT size=40 name=adm_email value=<? echo $rog[2] ?>></TD></TR>
    <TR><td>ICQ казино (если нет то пусто)</td><TD><INPUT size=40 name=icq value=<? echo $rog['icq'] ?>></TD></TR>
    <TR><td>url казино (начиная с http:// и без "/" конце)</td><TD><INPUT size=40 name=cas_url value=<? echo $rog[3] ?>></TD></TR>
    <TR><td>Название казино</td><TD><INPUT size=40 name=cas_name value=<? echo $rog[4] ?>></TD></TR>
    <TR><td>Партнерские</td><TD><INPUT size=20 name=pcash value=<? echo $rog['pcash'] ?>> %</TD></TR>
    
    <TR><td><b>Высылать Email админу:</b></td><TD></TD></TR>
    <TR><td>При пополнение счета</td><TD><input type=checkbox name="paymail" value="yes"<? if($rog["paymail"] == 'yes') { echo ' checked'; } ?>></TD></TR>
    <TR><td>Зарегился новый игрок</td><TD><input type=checkbox name="regmail" value="yes"<? if($rog["regmail"] == 'yes') { echo ' checked'; } ?>></TD></TR>
    <TR><td>Вывод средств</td><TD><input type=checkbox name="zakmail" value="yes"<? if($rog["zakmail"] == 'yes') { echo ' checked'; } ?>></TD></TR>
    
    <TR>
    
    <td bgcolor="#FFFFFF"><font face="Verdana" size="2">
    
    <span style="background-color: #FFFFFF">Сумма ежедневных бонусов WMR(разделитель .)</span></font></td>
    
    <TD bgcolor="#FFFFFF"><font face="Verdana">
    
    <INPUT size=10 name=us_bonus value="<? echo $rog['bonus'] ?>"></font></TD>
    
    </TR>
    
    
    <TR><td><b>Настройка Roboxchange.com</b></td><TD></TD></TR>
    <TR><td>LOGIN в Robox</td><TD><INPUT size=40 name=mrh_login value=<? echo $rog[5] ?>></TD></TR>
    <TR><td>PASS1 в Robox</td><TD><INPUT size=40 name=mrh_pass1 value=<? echo $rog[6] ?>></TD></TR>
    <TR><td>PASS2 в Robox</td><TD><INPUT size=40 name=mrh_pass2 value=<? echo $rog[7] ?>></TD></TR>
    
    <TR><TD><INPUT type=hidden value=1 name=send><INPUT type=hidden value=<? echo $rog[cas_bon] ?> name=cas_bon><INPUT type=submit value="Сохранить"></TD></TR>
    </FORM>
    </table>
    
    
    <?
    
    if ($send=="1"){
    mysql_query("UPDATE seting SET alog='$alog',apas='$apas',adm_email='$adm_email',cas_url='$cas_url',cas_name='$cas_name',mrh_login='$mrh_login',mrh_pass1='$mrh_pass1',mrh_pass2='$mrh_pass2',pcash='$pcash',cas_bon='$cas_bon',bonus='$us_bonus',paymail='$paymail',regmail='$regmail',zakmail='$zakmail',icq='$icq'");
    echo "<script> alert('Настройки сохранены!'); document.location.href='config.php';</script>";
    }
    
    include ("footer.php"); ?>

    Кусок Скрипта готового Казино

    Vasiliy, 17 Сентября 2010

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

    +148

    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
    $temp_leader=array();
    //получаю список всех пользователей
    $resUser = CUser::GetList($by = 'ID', $order = 'ASC', array("ACTIVE"=>"Y"));
    while ($arUser = $resUser->Fetch())
    {
            //получаю для конкретного юзера элементы
            $resElementUser = CIBlockElement::GetList(Array(), Array('ACTIVE'=>"Y", 'IBLOCK_ID'=>"45", 'CREATED_BY'=>$arUser['ID'], ">PROPERTY_POINT_FISH"=>"1"), false, false, Array("PROPERTY_POINT_FISH", "ID"));
            $p=0;
            while ($arElementUser = $resElementUser->Fetch())
            {
                    $p++;
                    $arElementUser111[] = $arElementUser;
                    $tempElementUser[] =  $arElementUser;
            }
            for ($i=0; $i<$p; $i++)
            {
                    $temp_fish[$i] = $arElementUser111[$i]["PROPERTY_POINT_FISH_VALUE"];
            }
            //надо подсчитать количество видов у пользователя
            if (count($temp_fish)>0)
            {
                    if (count($temp_fish) == 1)
                    {
                            $count_fish = 1;
                    }
                    else
                    {
                            $res = array_count_values($temp_fish);
                            $count_fish = count($res);
                    }
                    //если еще меньше 6 лидеров то надо в массив писать лидера без проверок
                    if (count($temp_leader)<6)
                    {
                            $temp_leader[]=$count_fish;
                            $temp_login[]= get_user_name($arUser['ID']);
                            $temp_user[]=$arUser['ID'];
                    }
                    //иначе выявляю min и запоминаю позицию его и если у текущего пользователя больше min то пишем в массив
                    else
                    {
                            $min = $temp_leader[0];
                            $temp_pos = 0;
                            for ($i=1; $i<7; $i++)
                            {
                                    if ($temp_leader[$i] < $min) {$min=$temp_leader[$i]; $temp_pos = $i;}
                            }
                            if ($count_fish > $min)
                            {
                                    $temp_leader[$temp_pos] = $count_fish;
                                    $temp_login[$temp_pos]= get_user_name($arUser['ID']);
                                    $temp_user[$temp_pos] = $arUser['ID'];
                            }
                    }
                    unset($temp_fish);
                    unset($tempElementUser);
                    unset($arElementUser111);
            }
    }
    for ($i=0;$i<count($temp_leader);$i++)
    {
            for ($j=count($temp_leader)-1; $j>$i; $j--)
            {
                    if ($temp_leader[$j-1]<$temp_leader[$j])
                    {
                            $per = $temp_leader[$j-1];
                            $temp_leader[$j-1] = $temp_leader[$j];
                            $temp_leader[$j] = $per;
    
                            $per1 = $temp_login[$j-1];
                            $temp_login[$j-1] = $temp_login[$j];
                            $temp_login[$j] = $per1;
    
                            $per2 = $temp_user[$j-1];
                            $temp_user[$j-1] = $temp_user[$j];
                            $temp_user[$j] = $per2;
                    }
            }
    }

    atarix12, 17 Сентября 2010

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function format_number($param) {
        $array_number = explode('.', $param);
        if (!isset($array_number[1])) {
           echo $array_number[0].'.00';
        } else {
           echo $param;
        }
    }

    Я задал ПХПисту задачку, чтобы он выводил цифры в таблице с 2 знаками после запятой.

    pzhilla, 16 Сентября 2010

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