- 1
- 2
- 3
if ($this->alias === null) {
$this->alias = (isset($alias) ? $alias : $this->name);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+147
if ($this->alias === null) {
$this->alias = (isset($alias) ? $alias : $this->name);
}
Это cakePHP. Вот так вот в нём модель узнаёт свой alias.
+168
function b_desc($value){
return ($value);
}
function a_id($value){
return $value;
}
function a_name($value){
return $value;
}
function b_name($value){
return ($value);
}
function b_alias($value){
return ($value);
}
function c_name($value){
return ($value);
}
function c_id($value){
return ($value);
}
function c_level($value){
return ($value);
}
function g_id($value){
return ($value);
}
function g_name($value){
return ($value);
}
function g_desc($value){
return ($value);
}
function g_appointment($value){
return ($value);
}
function g_tech_desc($value){
return ($value);
}
Функции для отбработки значений, полученных из БД. Одно поле — одна функция. Выполняются все хором для каждой записи.
+161
<?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>
Ужас и только.
+147
$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
+147
dirname(__FILE__)
+147
if(!empty(_SESSION['order']['contact']['user_id']))
$user_id = preg_replace('/\D|\s/', '', $_SESSION['order']['contact']['user_id']);
Радует знание регулярных выражений =)
+147
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" кстате )))
+155
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
+151
elseif (array_key_exists(pathinfo($_SERVER['HTTP_HOST'], PATHINFO_EXTENSION), $lang_array)) {
$language = pathinfo($_SERVER['HTTP_HOST'], PATHINFO_EXTENSION);
}
else
$language = 'en';
Из того же проекта, где зародился шаблонизатор.
Минималистичный файл-хостинг, который все решает за хозяина.
Конфиг - только папка хранения файлов и макс. объем.
А язык он определяет сам. По доменному имени. Каждый раз при обращении к странице.
+155
// Функция подключения файлов шаблонов -----------------------------------------------------------------
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к прогонов) и, разумеется, быстрее Смарти.
При необходимости в каком-то проекте в чем-то еще - можно легко добавить.
В общем - изящное вонючее решение.