- 1
- 2
- 3
$sql="SELECT * FROM `obmennik_files` WHERE(`id`='$ofile_id' && `id_user`='$user[id]') LIMIT 1";
$row=mysql_fetch_assoc(mysql_query($sql));
if(!is_array($row)) echo'Этот файл не найден.<br />';
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+159
$sql="SELECT * FROM `obmennik_files` WHERE(`id`='$ofile_id' && `id_user`='$user[id]') LIMIT 1";
$row=mysql_fetch_assoc(mysql_query($sql));
if(!is_array($row)) echo'Этот файл не найден.<br />';
из мода к dcms)
+151
function addimagesave()
{
if (!$this->Login->isLogged())
{
$this->loginto();
return;
}
else $this->Login->Update();
$error = '';
$recordExists = false;
$post_name = trim($this->input->post('name'));
if ($post_name != '') $insert['file_name'] = $post_name;
// now need to get from db if id_all in i_pics
$this->db->where('id_all',$this->input->post('id_all'));
$this->db->limit(1);
$query = $this->db->get('i_pics');
if ($query->num_rows() == 1)
{
$row = $query->row();
$recordExists = true;
$file_name = $row->file_name;
$id_pics = $row->id_pics;
}
if (isset($_FILES['upload']) && ($_FILES['upload']['error'] == 0)) // is file loaded?
{
$ext = getExtensionOnly($_FILES['upload']['name']);
if ($post_name != '') $_FILES['upload']['name'] = $post_name.'.'.$ext;
else $post_name = delExtensionWithDot($_FILES['upload']['name']);
$_FILES['upload']['name'] = translitIt(delExtensionWithDot($_FILES['upload']['name'])).'.'.$ext;
$config['upload_path'] = './pics/';
$config['allowed_types'] = 'gif|jpg|png|bmp';
$this->load->library('upload', $config);
if ($this->upload->do_upload('upload'))
{
$this->General->setEmes(array('roster'=>"Картинку загружено."), true);
$data = $this->upload->data();
$insert['file_name'] = $data['file_name'];
// resize now
$config1['image_library'] = 'gd2'; // выбираем библиотеку
$config1['source_image'] = 'pics/'.$data['file_name'];
$config1['create_thumb'] = TRUE; // ставим флаг создания эскиза
$config1['maintain_ratio'] = true; // сохранять пропорции
$config1['width'] = 250; // и задаем размеры
$config1['height'] = 180;
// pre crack image for resizing! )))
$this->load->model('Image');
$this->Image->smartsigninto('pics/'.$data['file_name'], 250, 180);
$this->load->library('image_lib', $config1); // загружаем библиотеку
$this->image_lib->resize(); // и вызываем функцию
// now rename and owerwrite original image
$ext = getExtensionOnly($data['file_name']);
$fol = "pics/";
if (is_file($fol.$data['raw_name'].'_thumb.'.$ext))
rename($fol.$data['raw_name'].'_thumb.'.$ext, $fol.$data['file_name']);
else $this->General->setEmes(array('roster'=>"Файл *_thumb не был создан!"));
// now set new file size
$insert['size'] = round(filesize($fol.$data['file_name'])/1024 , 2);
}
else $this->General->setEmes(array('roster'=>$this->upload->display_errors()));
}
else // we need to try to rename assigned file if name is not empty and file exists
{
if ($recordExists && is_file('pics/'.$file_name) && ($post_name != ''))
{
$ext = getExtensionOnly($file_name);
$fol = "pics/";
$newName = translitIt($post_name).'.'.$ext;
if (is_file('pics/'.$newName))
{
$this->General->setEmes(array('roster'=>"Имя уже существует"), true);
$insert['file_name'] = $file_name;
}
else
{
rename($fol.$file_name, $fol.$newName);
$insert['file_name'] = $newName;
}
}
}
// prepare data to be ins or upd
$insert['lang'] = 'ru';
$insert['title'] = $this->input->post('title');
$insert['alt'] = $this->input->post('alt');
$insert['id_all'] = $this->input->post('id_all');
if ($recordExists)
{
$this->db->where('id_pics',$id_pics);
$this->db->update('i_pics', $insert);
$this->General->setEmes(array('roster'=>"Данные обновлены"), true);
}
else $this->db->insert('i_pics', $insert);
$this->redirect('roster/'.$this->input->post('type'));
}
Функция - контроллер сохранения, resize на лету картинки для новости или прочей байды. Есть все проверки. Любая картинка которая приходит, становится размером 250, 180 , причем без растяжения. Это задача типа вписать прямоугольник в прямоугольник, которую я сейчас ночью выполнил - даже если картинка меньше оно впишет. I must be proud about this functionality! Заметим, что в интернете все и умеют что вырезать квадраты из картинки, а произвольный размер - НЕТ такого. Код выложен чтобы вы посмотрели, нравятся ли вам имена переменных, логическое мышление, форматирование, коментарии (на русском - то не мои коментарии). Код CodeIgniter powered.
+165
if ($cmp['id_rcp_prod']) {
$data['consumed'][] = $det;
} elseif ($cmp['id_rcp_raw']) {
$data['consumed'][] = $det;
} else {
$data['consumed'][] = $det;
}
+152
$da=0;
foreach($_COOKIE as $w=>$e)
{
if(($e!='') && (substr($w,0,1)=='!')) {$da++;}
}
if($da==0) {$arResult["ERRORS"][]="Не выбран товар для оформления заказа!";}
for($i=2;$i<=2;$i++)
{
if($i==1) {$str=$_REQUEST["PROPERTY"]["63"]["0"];}
if($i==2) {$str=$_REQUEST["PROPERTY"]["67"]["0"];}
$e_1=0;
$e_2=1;
$e_3=0;
for($j=0;$j<=strlen($str)-1;$j++)
{
if(substr($str,$j,1)!=" ") {$e_1=1;}
if(substr($str,$j,1)=="." || substr($str,$j,1)==",") {$e_2=0;}
}
if((int)$str>0) {$e_3=1;}
if($e_1==0 || $e_2==0 || $e_3==0)
{
if($i==1) {$arResult["ERRORS"][]="Неправильно заполнено поле 'Количество'!";}
if($i==2) {$arResult["ERRORS"][]="Неправильно заполнено поле 'Телефон'!";}
}
Круче обфускатора.
+159
$pass = 12345;
if (!isset($_POST['pass'])) {
$pass = $_GET['pass'];
}
else
{
$pass = $_POST['pass'];
}
if ($pass !== $pass) {
echo '<form method = "post" action = "pass.php?">
Пароль:<br/>
<input name = "pass" type = "password"/><br/>
<input type = "submit" value = "OK"/></form>';
}
echo 'Тебе сюда можна';
....блаблабла
} else {
echo 'Низя :)';
break;
}
}
>>Надо чтобы проверял если там дата[2] не пуста то показал форму инпут.
жесть)))
+166
function gp($points){
if ($points > 10){
$points = $points % 10;
}
switch ($points) {
case 1: return "балл";
case 2: return "балла";
case 3: return "балла";
case 4: return "балла";
default: return "баллов";
}
}
жесть :)
+148
private $title_host='Посещаемость (уникальных посетителей в сутки)';
private $title_download='ПРОГОРОД скачан (количество скачиваний программы в сутки)';
private $title_sell='ПРОГОРОД куплен (количество покупок ПРОГОРОД в сутки)';
private $title_sellshop='ПРОГОРОД офлайновые активации (количество в сутки)';
+144
<?
class db // mysql funkciju klase
{
var $id = '';
function connect() // prisijungimas prie mysql serverio
{
$this->id = mysql_connect($this->host, $this->user, $this->pass);
if ( !$this->id || !mysql_select_db($this->db, $this->id) ) {
die ("mysql connect failed: " . mysql_error());
return false;
}
else {
return $this->id;
}
}
function query ($query, $silent = 0) // duotos uzklausos vykdymas
{
$this->result = '';
if ($this->result = mysql_query($query)) { //var_dump($query);
return $this->result;}
else
if ($silent == 0)
die("mysql query failed: " . mysql_error());
else
die("Atsiprasome, jusu uzklausos negalejome apdoroti");
}
function fetch ($result) // rezultato grazinimas pagal uzklausa. grazinamas masyvas
{
$this->row = '';
if ($this->row = mysql_fetch_array($result)) { //var_dump($this->row);
return $this->row;}
}
function fetchrow ($result) {
$this->row = '';
if ($this->row = mysql_fetch_row($result))
return $this->row;
}
function num($result) // suskaiciuoja kiek yra eiluciu rezultate
{
$this->num = '';
if ($this->num = mysql_num_rows($result))
return $this->num;
}
function last($result) {
$this->last = '';
if ($this->last = mysql_insert_id($this->id))
return $this->last;
}
function close() {
mysql_close();
return true;
}
}
?>
(предыдущие серии в http://govnokod.ru/3526, http://govnokod.ru/3525, http://govnokod.ru/3524 и http://govnokod.ru/3522)
класс, то ли аффтарописный, то ли из ынтырнета с его комментами.
кому лень обращать внимание на код:
1. обьявление полей host, user, pass я не нашел, зато нашел обращение к ним
2. функции возвращают что-то в нормальных условиях, иначе не возвращают совсем ничего
3. в 20й строке $silent = 0, но запрос умирает при любом значении
4. метод num() даже в нормальной ситуации может не вернуть ничего
5. close() успешен в любом случае
+144
f ($_SESSION["id"]) {
$v=$_GET['v'];
$placiau=$_GET['placiau'];
$kalba_mas = array("LT","EN","RU");
$kategorija_mas = array("virtuves_baldai","vonios_baldai","ofiso_baldai","spintos");
$kategorija_mas_ = array("Virtuvлs baldai","Vonios baldai","Ofiso baldai","Spintos");
switch($v) {
case "admin":
// много-много всякой писанины
break;
case "pagrindinis":
// еще огромный кусок, брат предыдущего
break;
case "apie_mus":
//.....
break;
case "produkcija":
$tpl->DisplayParsedTemplate("produkcija");
break;
case "produkcija_m":
break;
case "produkcija_n":
break;
case "kontaktai":
break;
case "uzsakymas":
if($_POST['uzsakymas_saugoti']) {
$db -> Query("UPDATE uzsakymas SET el_pastas = '$_POST[el_pastas]'");
}
$res = $db -> Query("SELECT * FROM uzsakymas");
list($el_pastas) = $db -> Fetch($res);
$tpl->AddVars("uzsakymas", array(
"ELPASTAS"=>$el_pastas
));
$tpl->ParseTemplate("uzsakymas", "a");
$tpl->DisplayParsedTemplate("uzsakymas");
break;
default: login($db, $tpl);
} else login($db, $tpl);
оттуда же что http://govnokod.ru/3524 и http://govnokod.ru/3522
логин по дефолту(47) и если сессия не начата(49) не то что убили, порвали. Четвертовали.
молчу про свитч-логику и не проескейпенный скул
+144
$connect=array("$db->host","$db->user","$db->pass","$db->db");
фееричный кусничок в продолжение http://govnokod.ru/3522
на самом деле трудно выложить маленький кусок, что бы было понятно, что к чему: там общая логика дерьмо