- 1
- 2
- 3
- 4
- 5
if(!empty($_POST['action']) && !empty($_POST['product_id']))
{
$product_id=$_POST['product_id']+0;
etc...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+154
if(!empty($_POST['action']) && !empty($_POST['product_id']))
{
$product_id=$_POST['product_id']+0;
etc...
}
Наткнулся вот!)
+155
function poisk_potomok_item ($id_otca, $glubina, $i_array)
{
global /*$style,*/ $kol_n, $sm, $fire;
if ($glubina==$max_vlog) return 1;
switch ($glubina)
{
case "1":
{
$base_style="menu2_level3";
break;
}
case "2":
{
$base_style="menu2_level4";
break;
}
case "3":
{
$base_style="menu2_level5";
break;
}
case "4":
{
$base_style="menu2_level6";
break;
}
case "5":
{
$base_style="menu2_level7";
break;
}
case "6":
{
$base_style="menu2_level8";
break;
}
case "7":
{
$base_style="menu2_level8";
break;
}
}
for ($j=1; $j<=$kol_n; $j++)
{
$mas5=explode(" ~ ", $i_array[$j]);
if ($mas5[1]==$id_otca and $mas5[2]=="1")
{
$style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><a href=\"?r=item&gs=".$mas5[0]."\" class=\"menu2_2\">".$mas5[4]."</a></td></tr></table>";
for($kkkk=count($sm);$kkkk > 0; $kkkk--)
{
if ($mas5[0]==$sm[$kkkk])
{
if ($mas5[0]==$sm[1])
{
$style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><span class=\"menu2_2a\">".$mas5[4]."</span></td></tr></table>";
$new_gl=$glubina+1;
$gi=poisk_potomok_item ($mas5[0],$new_gl, $i_array);
if ($gi != "") {$style_pot.=$fire.$gi.$fire;}
}
else
{
// $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><a href=\"?r=item&gs=".$mas5[0]."\" class=\"menu2_2\">".$mas5[4]."</a></td></tr></table>";
$style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><span class=\"menu2_2a\">".$mas5[4]."</span></td></tr></table>";
$new_gl=$glubina+1;
$gi=poisk_potomok_item ($mas5[0],$new_gl, $i_array);
if ($gi != "") {$style_pot.=$fire.$gi.$fire;}
}
}
}
$style.=$style_pot;
}
}
return $style;
}
В одной из ведущих веб-студий Екатеринбурга, директор 5 лет назад был кодером)))
вот одно их его творений..
Обратите внимание на идентификаторы, такие как poisk_potomok_item, $id_otca, $glubina, $i_array.
Вообще, как человек, директор - норм чувак, но кажется мне придется пересмотреть свои взгляды...
Если человек называет функцию так: "poisk_potomok_item" - ему явно жить труднее остальных людей)))))
+145
if (!$to && !$from)
{
$msgInstance->setStatus(1);
$msgInstance->setDeletedTo(1);
$msgInstance->setDeletedFrom(1);
$incomingL = -1;
$outcomingL = -1;
}
elseif (!$to){
$msgInstance->setStatus(1);
$msgInstance->setDeletedTo(1);
$incomingL = -1;
$outcomingL = 0;
}
elseif (!$from)
{
$msgInstance->setDeletedFrom(1);
$incomingL = 0;
$outcomingL = -1;
}
Оцените xD ;)
+155
if (true) {
$res = mssql_query("SELECT CAST(_Fld204 AS TEXT) AS _Fld204 FROM [dbo].[_Reference24] WHERE _Fld203='" . $login . "' ");
$pass = mssql_fetch_array($res, MSSQL_ASSOC);
$pass = $pass["_Fld204"];
if ( strlen($pass) > 0 && $pass == $password ) {
$_SESSION["AUTH_V"] = "Y";
$_SESSION["LOGINSS"]= trim($login);
}
else {
$_SESSION["AUTH_V"] = "N";
}
}
Кусок авторизации
+153
public static function GetID()
{
$arr = array(
'1', '2', '3', '4', '5', '6',
'7', '8', '9', '0');
// Генерируем пароль
$pass = "";
$number = 5;
for ($i = 0; $i < $number; $i++) {
// Вычисляем случайный индекс массива
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
return $pass;
}
Получение уникального айди заказа.
Заказ столиков в баре.
+142
$arr = date("w", strtotime($date_bron));
$date = $arr;
if ($arr == 0)
$date = 0;
Система бронирования столика для бара...
+151
<?php
class MainController extends ModuleAdminController {
public $defaultAction = 'admin';
public function actionCreate() {
$this->redirect('admin');
}
public function actionDelete($id) {
$this->redirect('admin');
}
public function actionView($id) {
$this->redirect('admin');
}
}
Модули в Yii такие коварные :(
+133
private function init_categories()
{
// Дерево категорий
$tree = new stdClass();
$tree->subcategories = array();
// Указатели на узлы дерева
$pointers = array();
$pointers[0] = &$tree;
$pointers[0]->path = array();
// Выбираем все категории
$query = $this->db->placehold("SELECT c.id, c.parent_id, c.name, c.description, c.url, c.meta_title, c.meta_keywords, c.meta_description, c.image, c.visible, c.position
FROM __categories c ORDER BY c.parent_id, c.position");
// Выбор категорий с подсчетом количества товаров для каждой. Может тормозить при большом количестве товаров.
// $query = $this->db->placehold("SELECT c.id, c.parent_id, c.name, c.description, c.url, c.meta_title, c.meta_keywords, c.meta_description, c.image, c.visible, c.position, COUNT(p.id) as products_count
// FROM __categories c LEFT JOIN __products_categories pc ON pc.category_id=c.id LEFT JOIN __products p ON p.id=pc.product_id AND p.visible GROUP BY c.id ORDER BY c.parent_id, c.position");
$this->db->query($query);
$categories = $this->db->results();
$finish = false;
// Не кончаем, пока не кончатся категории, или пока ниодну из оставшихся некуда приткнуть
while(!empty($categories) && !$finish)
{
$flag = false;
// Проходим все выбранные категории
foreach($categories as $k=>$category)
{
if(isset($pointers[$category->parent_id]))
{
// В дерево категорий (через указатель) добавляем текущую категорию
$pointers[$category->id] = $pointers[$category->parent_id]->subcategories[] = $category;
// Путь к текущей категории
$curr = $pointers[$category->id];
$pointers[$category->id]->path = array_merge((array)$pointers[$category->parent_id]->path, array($curr));
// Убираем использованную категорию из массива категорий
unset($categories[$k]);
$flag = true;
}
}
if(!$flag) $finish = true;
}
// Для каждой категории id всех ее деток узнаем
$ids = array_reverse(array_keys($pointers));
foreach($ids as $id)
{
if($id>0)
{
$pointers[$id]->children[] = $id;
if(isset($pointers[$pointers[$id]->parent_id]->children))
$pointers[$pointers[$id]->parent_id]->children = array_merge($pointers[$id]->children, $pointers[$pointers[$id]->parent_id]->children);
else
$pointers[$pointers[$id]->parent_id]->children = $pointers[$id]->children;
// Добавляем количество товаров к родительской категории, если текущая видима
// if(isset($pointers[$pointers[$id]->parent_id]) && $pointers[$id]->visible)
// $pointers[$pointers[$id]->parent_id]->products_count += $pointers[$id]->products_count;
}
}
unset($pointers[0]);
unset($ids);
$this->categories_tree = $tree->subcategories;
$this->all_categories = $pointers;
}
построение дерева категорий в платной cms simpla
+138
$sql_ex = array();
if(isset($this->request->get["id"]) && $this->request->get["id"] == '5')
$sql_ex[] = " `ex`.`num` = 5 ";
else
$sql_ex[] = " `ex`.`num` != 5 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '7')
$sql_ex[] = " `ex`.`num` = 7 ";
else
$sql_ex[] = " `ex`.`num` != 7 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '4')
$sql_ex[] = " `ex`.`num` = 4 ";
else
$sql_ex[] = " `ex`.`num` != 4 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '10')
$sql_ex[] = " `ex`.`num` = 10 ";
else
$sql_ex[] = " `ex`.`num` != 10 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '11')
$sql_ex[] = " `ex`.`num` = 11 ";
else
$sql_ex[] = " `ex`.`num` != 11 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '14')
$sql_ex[] = " `ex`.`num` = 14 ";
else
$sql_ex[] = " `ex`.`num` != 14 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '19')
$sql_ex[] = " `ex`.`num` = 19 ";
else
$sql_ex[] = " `ex`.`num` != 19 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '20')
$sql_ex[] = " `ex`.`num` = 20 ";
else
$sql_ex[] = " `ex`.`num` != 20 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '21')
$sql_ex[] = " `ex`.`num` = 21 ";
else
$sql_ex[] = " `ex`.`num` != 21 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '13')
$sql_ex[] = " `ex`.`num` = 13 ";
else
$sql_ex[] = " `ex`.`num` != 13 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '12')
$sql_ex[] = " `ex`.`num` = 12 ";
else
$sql_ex[] = " `ex`.`num` != 12 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '6')
$sql_ex[] = " `ex`.`num` = 6 ";
else
$sql_ex[] = " `ex`.`num` != 6 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '17')
$sql_ex[] = " `ex`.`num` = 17 ";
else
$sql_ex[] = " `ex`.`num` != 17 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '23')
$sql_ex[] = " `ex`.`num` = 23 ";
else
$sql_ex[] = " `ex`.`num` != 23 ";
if(isset($this->request->get["id"]) && $this->request->get["id"] == '16')
$sql_ex[] = " `ex`.`num` = 16 ";
else
$sql_ex[] = " `ex`.`num` != 16 ";
$sql_extra = '';
if (!empty($sql_ex)) $sql_extra = ' AND '.implode(" AND ", $sql_ex);
В начале нужно было одно условие, потом еще и еще и ...
+127
/* Групповые операции с обращениями */
public function issuegroupopsAction() {
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$operation = $this->_request->getPost('operation');
define('RTF_SYMBOL_PAGE_BREAK', '\page');
try {
// Валидация
if(!in_array($operation, array('print-letters', 'print-work-order'))) {
throw new Exception('Неверная операция');
}
$issue_numbers = explode(';', (string)$_POST['issues']);
if(!count($issue_numbers)) {
throw new Exception('Не выбрано ни одного обращения.');
}
// Вычитка указанных обращений
$filter = new Type_Issue_Filter(array('issue_number' => $issue_numbers));
$paginator = new Type_Paginator;
$paginator->items_per_page = 40;
$issues = services::Issue()->records($this->user->sessionId, $filter, array('executant', 'address'), 'number', $paginator);
if(!count($issues->items)) {
throw new Exception('Выбранные обращения не найдены.');
}
$templateMaker = new Prodom_Rtf_TemplateMaker;
$templatesDir = dirname(__FILE__).'/templates/';
$outputFiles = array();
// Вид операции с группой обращений
switch($operation) {
case 'print-letters': {
// Сформирвать письма
$templateMaker->readTemplatesFromRtfFile($templatesDir.'templates.rtf');
$outputFiles = array('executants_%u.rtf' => array('issue2', 'letter1'), 'declarant_%u.rtf' => array('letter2'));
break;
}
case 'print-work-order': {
// Печать заказ-нарядов
if(!is_null($this->user->organization->issue_form_template)) {
// Если для организации определен свой собственный шаблон
$templateMaker->readTemplatesFromRtfFile($templatesDir.$this->user->organization->issue_form_template);
} else {
// Если шаблон явно не определен
$templateMaker->readTemplatesFromRtfFile($templatesDir.'templates.rtf');
}
$outputFiles = array('issue_%u.rtf' => array('issue1'));
break;
}
}
$toworkIssueIds = array();
$outputs = array_fill_keys(array_keys($outputFiles), null);
// Перебор выбранных пользователем обращений
foreach($issues->items as $issue) {
// Переводим все новые обращения в статус "В работе"
$issue_new_statuses = array(ISSUE_STATUS_NEW, ISSUE_STATUS_CONFIRMED);
if(($operation == 'print-work-order') && in_array($issue->status_id, $issue_new_statuses) && ($issue->org_executor_id == $this->user->organization->id)) {
$toworkIssueIds[] = $issue->id;
}
// Подготовка полей обращения для печати на формах
$fields = $this->getIssuePrintFields($issue);
foreach($outputFiles as $fileName => $needTemplates) {
foreach($needTemplates as $template_code) {
$out = $templateMaker->getAppliedTemplate($template_code, $fields);
$outputs[$fileName] .= ($outputs[$fileName] ? RTF_SYMBOL_PAGE_BREAK : null) . $out;
}
}
}
if(count($toworkIssueIds)) {
$resp = services::Issue()->changeStatusMultiple($this->user->sessionId, $toworkIssueIds, ISSUE_STATUS_INWORK, null, null, null);
}
// Если на выходе только один файл, отправляем rtf
if(count($outputs) == 1) {
foreach($outputs as $fileName => $fileBody) {
// Генерация случайного имени файла
$fileName = str_replace('%u', substr(md5(implode('_', $issue_numbers)), 0, 7), $fileName);
// Вывод файла пользователю
header('Content-type: application/rtf');
header("Content-Disposition: attachment; filename={$fileName}");
echo $templateMaker->getHeader().$fileBody.$templateMaker->getFooter();
}
} else {
// Eсли на выходе больше одного файла, пакуем их архивом
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=issues.zip");
header("Content-Description: Files of an applicant");
// Создаем ZIP архив
$zip = new ZipFile();
foreach($outputs as $fileName => $fileBody) {
// Генерация случайного имени файла
$fileName = str_replace('%u', substr(md5(implode('_', $issue_numbers)), 0, 7), $fileName);
// Вывод файла пользователю в браузер
$fileBody = $templateMaker->getHeader().$fileBody.$templateMaker->getFooter();
$zip->addFile($fileBody, $fileName);
}
echo $zip->file();
}
}
catch(Exception $ex) {
die($ex->getMessage());
}
}
Функция распечатки документов с отчетами по выбранным обращениям