- 1
- 2
- 3
- 4
- 5
- 6
function banByIP($ip) {
$result = mysql_query("SELECT * FROM `" . $GLOBALS['mysql_bans_table'] . "` WHERE `ip` = '" . mysql_real_escape_string($ip) . "' LIMIT 1");
while ($ban = mysql_fetch_assoc($result)) {
return $ban;
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+164
function banByIP($ip) {
$result = mysql_query("SELECT * FROM `" . $GLOBALS['mysql_bans_table'] . "` WHERE `ip` = '" . mysql_real_escape_string($ip) . "' LIMIT 1");
while ($ban = mysql_fetch_assoc($result)) {
return $ban;
}
}
Из движка TinyIB.
+157
if($_POST["gaap_month"])
{
$d_f = mktime(0,0,0,1,1,$_POST['f_year']);
$w_start = intval(date("W", $d_f));
$w_day = (intval(date("w", $d_f)) == 0) ? 6 : intval(date("w", $d_f)) - 1;
$d_f = ($w_start == 1) ? $d_f - $w_day*24*60*60 : $d_f + (7-$w_day)*24*60*60;
$d_f += (4*($_POST['gaap_month']-1) + intval(($_POST['gaap_month']-1)/3)) * 7*24*60*60;
$d_t = ($_POST['gaap_month'] % 3 == 0) ? $d_f + 5*7*24*60*60 : $d_f + 4*7*24*60*60;
$_POST["df"] = date("d.m.Y", $d_f);
$_POST["dt"] = date("d.m.Y", $d_t);
}
$date_from = mktime(0,0,0,substr($_POST["df"],3,2),substr($_POST["df"],0,2),substr($_POST["df"],6,4));
$date_to = mktime(23,59,59,substr($_POST["dt"],3,2),substr($_POST["dt"],0,2),substr($_POST["dt"],6,4));
// if time period more than 20 days
if ($date_to-$date_from > 61*24*60*60)
$_POST["df"] = date("d.m.Y", $date_to - 61*24*60*60);
if ($_GET['office'] && ($USER->isAdmin() || in_array("15", $USER->GetUserGroupArray())))
$_POST['t_office'] = $_GET['office'];
вопрос - что употребляет автор ?
+144
Это не совсем говнокод, но отношение к нему имеет прямое : костыли, теперь ясно где их берут http://kostili.blogspot.com/ .
Ехал по трассе и несмог удержаться, чтобы не клацнуть на память такую красоту. Как говорится "понятно только программистам" и то не всем :)
+162
$vl_c=fetch_array($rs_c);
$ch1=$vl_c[0]%4;$ch2=((int)$vl_c[0]/4)%4;$ch3=((int)$vl_c[0]/16)%4;
if($vl_c[16]==''||$vl_c[16]==0){$ch2=0;}if($vl_c[18]==''||$vl_c[18]==0){$ch3=0;}
$s1=$vl_c[19]%2; $s2=($vl_c[19]/2)%2; $s3=$vl_c[19]/4;
if(($vl_c[20]==0||$vl_c[20]==2&&$s1==1)&&($ch1>1||$ch1==0)){$chk_status1=check_sert(str_replace("\\'","'",$vl_c[1]),str_replace("\\'","'",$vl_c[2]),str_replace("\\'","'",$vl_c[3]),$vl_c[4],$vl_c[5],$vl_c[6],$vl_c[13],$vl_c[14]);} else{$chk_status1=$ch1;}
if(($vl_c[20]==0||$vl_c[20]==2&&$s2==1)&&($ch2>1||$ch2==0)&&($vl_c[16]!=''&&$vl_c[16]!=0)){$chk_status2=check_sert(str_replace("\\'","'",$vl_c[1]),str_replace("\\'","'",$vl_c[2]),str_replace("\\'","'",$vl_c[3]),$vl_c[7],$vl_c[8],$vl_c[9],$vl_c[15],$vl_c[16]);} else{$chk_status2=$ch2;}
if(($vl_c[20]==0||$vl_c[20]==2&&$s3==1)&&($ch3>1||$ch3==0)&&($vl_c[18]!=''&&$vl_c[18]!=0)){$chk_status3=check_sert(str_replace("\\'","'",$vl_c[1]),str_replace("\\'","'",$vl_c[2]),str_replace("\\'","'",$vl_c[3]),$vl_c[10],$vl_c[11],$vl_c[12],$vl_c[17],$vl_c[18]);} else{$chk_status3=$ch3;}
$chk=$chk_status1+$chk_status2*4+$chk_status3*16;
+164
function repl3($val)
{
return ($val=="1")?"0":"1";
}
+162
<?
$server="localhost";
$user="";
$pass="";
$DB="mynews";
$ntitle=$title;
$ntext=$newstext;
$nuser=$user;
$now = date(" H : i : s d - m - Y "); // дата будет выводиться в формате "время, дата"
mysql_connect($server,$user,$pass) or die("Нет коннекта!");
mysql_select_db($DB);
mysql_query("Insert INTO news(ntitle,ntext,ndate,nuser) VALUES('".addslashes($ntitle)."','".addslashes($ntext)."','".addslashes($now)."',
'".addslashes($nuser)."')");
mysql_close();
echo "Новость добавлена!";
?>
Чуть ниже:
'". addslashes ($ ntitle )."' // эта строка нужна для того, чтобы в заголовке правильно отображались кавычки.
Оттуда же: "Как видите, вместо mysql-даты используется varchar, так проще."+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"][]="Неправильно заполнено поле 'Телефон'!";}
}
Круче обфускатора.