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

    +173

    1. 1
    2. 2
    3. 3
    // app/code/Core/Mage/Catalog/Model/Resource/Eav/Attribute.php:68
    
    Mage::throwException('0_o');

    Из Magento 1.4.1.0.
    Когда вылетело при дебаге, решил, что пора на дурку двигать...

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

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

    +172

    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
    // подключение библиотек и конфига
    require_once($_SERVER["DOCUMENT_ROOT"]."/config.php");
    require_once($_SERVER["DOCUMENT_ROOT"]."/content/lib/tree.php");
    require_once($_SERVER["DOCUMENT_ROOT"]."/content/lib/func.php");
    extract($_GET);
    if (isset($d1)&&(f_del_date($d1)!="")) {
       $arr[0]=f_n_date($d1); // очистка первой переменной
       if (isset($d2)&&(f_del_date($d2)!="")) {
    	$arr[1]=f_n_date($d2); // очистка второй переменной
    	if (isset($d3)&&(f_del_date($d3)!="")) {
    	   $arr[2]=f_n_date($d3); // очистка третьей переменной
    	   if (isset($d4)&&(f_del_date($d4)!="")) {
    		$arr[3]=f_n_date($d4); // очистка четвертой переменной
    		if (isset($d5)&&(f_del_date($d5)!="")) {
    		   $arr[4]=f_n_date($d5); // очистка пятой переменной
    		   if (isset($d6)&&(f_del_date($d6)!="")) {
    			$arr[5]=f_n_date($d6); // очистка шестой переменной
    			if (isset($d7)&&(f_del_date($d7)!="")) {
    			   $arr[6]=f_n_date($d7); // очистка седьмой переменной
    			   if (isset($d8)&&(f_del_date($d8)!="")) {
    				$arr[7]=f_n_date($d8); // очистка восьмой переменной
    				if (isset($d9)&&(f_del_date($d9)!="")) {
    				   $arr[8]=f_n_date($d9); // очистка девятой переменной
    				   if (isset($d10)&&(f_del_date($d10)!="")) {
    					$arr[9]=f_n_date($d10); // очистка десятой переменной
    					if (isset($d11)&&(f_del_date($d11)!="")) {
    					   $arr[10]=f_n_date($d11); // очистка одинадцатой переменной
    
    					}
    				   }
    				}
    			   }
    			}
    		   }
    		}
    	   }
    	}
       }
    }

    Это чудесная CMS Black Crystal (Кристалл-чернуха), админка у нее такая же, как и сам код.

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

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

    +166

    1. 1
    header('Location: adm.php?url=' . nl2br($_SERVER['PHP_SELF']));

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

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $db->query ( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
    	
    	while ( $row = $db->get_row () ) {
    		
    		$user_group[$row['id']] = array ();
    		
    		foreach ( $row as $key => $value ) {
    			$user_group[$row['id']][$key] = $value;
    		}
    	
    	}

    До сих пор не могу понять смысл вложенного цикла..

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

    Комментарии (6)
  5. 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)
  6. 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)
  7. 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)
  8. PHP / Говнокод #4283

    +168

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

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

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

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