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

    +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
    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
    <?php   ////////////////////////////////
    	//Данная вставка будет обрабатывает переменные переданные post запросом;
    	//Передается с файла MenuProduction.php.
    	//и в соответсвтвии с переданной post переменной будет выставлять get переменную
    	//Page, для корректного перехода на нужную нам страницу_02.12.2009
    	/////////////////////////
    ?>
    
    <table align="center" id="Table_01" width="100%" border="0" cellpadding="0" cellspacing="0">
    	<tr>
    		<td colspan="5" width="961" height="12">
    		<div id="Layer1">
      <!--<table align="center" cellspacing="0">
    		<tr><td>  <?php include('FunctionCellOn.php'); 
          //Поясню, что делаем подключением данного php файла:
            //   В нем описана всего одна функция, которая сверяет переданный Get параметр
              // с номером страницы(см. далее).
              // Если значения равны, значит пользователь нажал на ячейку меню, следовательно,
               //необходимо обозначить, что она нажата. Поэтому далее во всех ячейках меню делаем
               //так: проверка, если совпадение есть, значит выводим заголовок ячейки меню
               //как обычный текст, иначе обозначаем его как ссылку. 
               //Минус данного подхода - получилась мешанина php-кода c html
               //Расшифровка страниц:
               //$_GET['Page'] =
                //1 - Главная
                //2 - Интерактивная карта
                //3 - Производство
                //4 - О компании
                //5 - Контакты
                
                //далее пошли не пункты меню
                //6 - Заявка на звонок
           ?>     
           		<?php   
    		 //На главную страницу будут дополнительные условия, т.к. надо
           	         //чтобы по умолчанию грузилась главная страница, то следовательно
           	         //по умолчанию надо и отобразить ячейку меню 'главная', как 'нажато 
    		 //Для этого помимо стандартной проверке на нажатие, надо еще
    		 //проверить вот что: если ни одни параметр методом Get не передан, то
    		 //соответственно грузится просто index.php, где по умолчанию
    		 //в область вывода загружаем файли соответствующий пункты меню 'главная'
    		 //Следовательно ссылку 'главная' делаем не активной    
            	 if ((CellOnCheck($_GET['Page'],1) == true) || 
    		 !isset($_GET["Page"]) && !isset($_GET["id_news"]) &&
    	         !isset($_GET["archives"]) && !isset($_GET["page"])) {
             	 echo "<Span class = \"MenuCellOn\">Главная</Span>"; 
    		 }
    		 else echo "<a href=\"http://amalker.su\">Главная</a>";
    	
          		 ?>
          </td>
    	  <td>
    	  <?php 
            	 if (CellOnCheck($_GET['Page'],4) == true) {
            	  echo "  |  <Span class = \"MenuCellOn\">О компании </Span>"; 
    		 }
    		 else echo "  |  <a href=\"index.php?Page=4\">О компании </a>";
           		?>
                   </td>
    	   <td>  |  <a href="map/map_client.php" target="_blank">Карта конструкций<img src="new.png" width="6" height="12" border="0"></a> 
          
             	      </td>
    	  <td><?php 
            	 if (CellOnCheck($_GET['Page'],3) == true) {
             	 echo "  |  <Span class = \"MenuCellOn\">Производство  </Span>"; 
    		 }
    		 else echo "  |  <a href=\"index.php?Page=3\">Производство  </a>";
           	 	?>
            	      </td>
    	   <td>
            	<?php 
            	 if (CellOnCheck($_GET['Page'],5) == true) {
             	 echo "  |  <Span class = \"MenuCellOn\">Контактная информация</Span>"; 
    	 	 }
    		 else echo "  |  <a href=\"index.php?Page=5\">Контактная информация</a>";
           		?></td>
        </tr>
    </table>--></div>

    Ужас и только.

    nethak, 26 Июня 2011

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

    +147

    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
    $url_view = 'pages/news';// страница вида
    			$data = array(); //Создаем массив дата
    			// сегменты урл
    			$data['segment_1'] = $filter_1;
    			$data['segment_2'] = $filter_2; 
    			$limit = 10; // вывод новостей
    			$num_links = 4;  // кол-во страниц во круг текущей
    			$uri_segment = 5; // сегмент ссылки
    			$offset = ($page - 1) * $limit; // переводим page в offset
    			if(!is_numeric($filter_2)) {$filter_2 = iconv('utf-8', 'windows-1251', urldecode($filter_2));}	
    				
    			$base_url = '/page/filter/'.$filter_1.'/'.$filter_2.'/'; 
    			
    			// разбираем 1 фильтр для проверки
    			$filter_global = explode("_",$filter_1);
    			if($filter_global[0] == 'user') {$filter_1 = 'user'; $user_id = (int)$filter_global[1];}
    		
    			// описание каждого элемента фильтра
    			switch($filter_1) {
    				
    				case 'date':
    					$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
    					$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
    				break;
    				
    				case 'date_day':
    					$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
    					$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
    				break;
    				
    				case 'date_month':
    					$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
    					$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);	
    				break;
    				
    				case 'date_year':
    					$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
    					$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
    				break;
    				
    				case 'rating':
    					$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
    					$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
    				break;
    				
    				case 'random':
    					$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
    					$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
    				break;
    				
    				case 'moderation':
    					$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
    					$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
    				break;
    				
    				case 'user':
    					$filter_1 = $filter_global[0].'_'.$filter_global[1]; // собираем обратно
    					$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
    					$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
    				break;
    				
    				default:
    					$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
    					$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
    				break;
    				
    			}
    
    		$this->auxiliary->pagination($base_url,$uri_segment,$num_links,$total,$limit);//настройки пагинации
    		$this->auxiliary->general_view($data,'title_best','description_best','keywords_best',$url_view); // общий вид

    проверьте на наличие гавно кода .

    Контроллер фильтра выдачи в Codeigniter

    nepster, 25 Июня 2011

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

    +147

    1. 1
    dirname(__FILE__)

    peinguin, 25 Июня 2011

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

    +147

    1. 1
    2. 2
    if(!empty(_SESSION['order']['contact']['user_id']))
        $user_id = preg_replace('/\D|\s/', '', $_SESSION['order']['contact']['user_id']);

    Радует знание регулярных выражений =)

    mitallast, 24 Июня 2011

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

    +147

    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
    if (isset($HTTP_GET_VARS['main']) || isset($HTTP_POST_VARS['main']))
    {
    	...
    	$FileInform = 'content/main.php';                      //Файл информации
    	$MainPage = 1;
    }
    elseif (isset($HTTP_GET_VARS['hystory']) || isset($HTTP_POST_VARS['hystory']))
    {
    	...
    	$FileInform = 'content/about.php';                      //Файл информации
    	$MainPage = 1;
    }
    elseif (isset($HTTP_GET_VARS['_delete_requirements']) || isset($HTTP_POST_VARS['_delete_requirements']))
    {
    	...
    }
    elseif (isset($HTTP_GET_VARS['vacancy']) || isset($HTTP_POST_VARS['vacancy']))
    {
    	...
    }
    elseif (isset($HTTP_GET_VARS['daughter']) || isset($HTTP_POST_VARS['daughter']))
    {
    	...
    }
    elseif (isset($HTTP_GET_VARS['contacts']) || isset($HTTP_POST_VARS['contacts']))
    {
    	...
    }
    elseif (isset($HTTP_GET_VARS['obyavlall']) || isset($HTTP_POST_VARS['obyavlall']))
    {
    	...
    }
    elseif (isset($HTTP_GET_VARS['secondflats']) || isset($HTTP_POST_VARS['secondflats']))
    {
    	...
    }
    else 
    {
    	...
    }
    
    Top($title,$keywd, $descr);
    Horizontal_Menu();
    MainPart($FileInform);
    Bottom();

    эйфелева башня, ё )

    PS: register_globals = "on" кстате )))

    nislova, 24 Июня 2011

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

    +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
    while($room_price_dbl = $room_price_list_dbl->GetNext())
    	{
    		$price_dbl=$room_price_dbl["PROPERTY_PRICE_DBL_VALUE"];
    		if($price_dbl==0)
    		{
    			$prop_price = "property_PRICE_SGL";
    		}
    		else
    		{
    			$prop_price = "property_PRICE_SGL";
    		}
    	}

    писал предыдущий программист. ужас! стыдно должно быть!
    разработчик сайта el-tour.com

    magistr_bender, 24 Июня 2011

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

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    elseif (array_key_exists(pathinfo($_SERVER['HTTP_HOST'], PATHINFO_EXTENSION), $lang_array)) {
    	   $language = pathinfo($_SERVER['HTTP_HOST'], PATHINFO_EXTENSION);
    	}
    	else
    	   $language = 'en';

    Из того же проекта, где зародился шаблонизатор.
    Минималистичный файл-хостинг, который все решает за хозяина.
    Конфиг - только папка хранения файлов и макс. объем.
    А язык он определяет сам. По доменному имени. Каждый раз при обращении к странице.

    7ion, 23 Июня 2011

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

    +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
    // Функция подключения файлов шаблонов -----------------------------------------------------------------
        function tpl_include($filepath, $title = '', $content = '') {
    
            global $lang, $lang_array;
            $tpl_body = str_replace("\n", '', file_get_contents($filepath));
            $tpl_body = preg_replace('#\{loop (.*?)\}(.*?)\{\/loop\}#i', "\nEOL;\nforeach (\\1 as \$var=>\$val) echo <<<EOL\n\\2\nEOL;\necho <<<EOL\n", $tpl_body);
            $tpl_body = preg_replace('#\{const (.*?)\}#i', "\nEOL;\necho \\1;\necho <<<EOL\n", $tpl_body);
            $to_eval = "echo <<<EOL\n".$tpl_body."\nEOL;\n";
            eval($to_eval);
    
        }
        // -----------------------------------------------------------------------------------------------------

    По следам http://govnokod.ru/5658.
    Шаблонизатор этот жив и кочует из проекта в проект.
    Можно ссылаться на переменные из массива $lang, где хранится локализация и на $title и $content. Вот так - {$title}.
    Можно ссылаться на любые константы. Например, {const ROOT_PATH}.
    Можно делать цикл {loop $array}{/loop}, где внутри доступны переменные {$var} и {$val}.
    Полностью избавляет от шорт-тегов, которые скоро уже и уберут из похапе.
    Работает лишь чуть медленнее include с шорт-тегами (0.8 против 1.2 на 10к прогонов) и, разумеется, быстрее Смарти.
    При необходимости в каком-то проекте в чем-то еще - можно легко добавить.
    В общем - изящное вонючее решение.

    7ion, 23 Июня 2011

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

    +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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    // редиректим адреса без слеша на такие же со слешем
    $uri = $_SERVER['REQUEST_URI'];
    $is_file = false;
    if (	(substr_count($uri,".php")>0) or (substr_count($uri,".html")>0)		) {
    	$is_file = true;
    }
    
    if ($is_file == false) {
    	$len_uri = strlen($uri);
    	// находим последнее вхождение слеша
    	$reverst_str = strrev($uri);
    	//die($reverst_str);
    	$last_slash = strpos($reverst_str,"/");
    	
    	//die($last_slash);
    	if  ($last_slash!==0) {
    		
    		$uri .="/";
    		$status = "301 Found";
    		//header("Status: ".$status);
    		header('HTTP/1.1 301 Moved Permanently');
    		header("Location: http://www.thermostudio.ru"."$uri");
    		exit();
    
    	}
    }

    встретилось в проекте одном жаль автор не подписался, увековечить бы...

    nislova, 23 Июня 2011

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function getDateFromTime($dataTime){
      $strDate = date('d-m-Y', $dataTime);
      $arrDate = explode('-', $strDate);
    
      return mktime(0, 0, 0, $arrDate[1], $arrDate[0], $arrDate[2]);
    }

    руки-жопа-голова%)

    warider, 23 Июня 2011

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