- 1
error_reporting(FALSE);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+167
error_reporting(FALSE);
Я пофиксил баги в вашем проекте :)
+158
<?PHP
# Регистрация
if(isset($_POST["login"])){
if(isset($_SESSION["captcha"]) AND strtolower($_SESSION["captcha"]) == strtolower($_POST["captcha"])){
unset($_SESSION["captcha"]);
$login = $func->IsLogin($_POST["login"]);
$pass = $func->IsPassword($_POST["pass"]);
$rules = isset($_POST["rules"]) ? true : false;
$time = time();
$ip = $func->UserIP;
$UserIP = $_SERVER['REMOTE_ADDR'];
$email = $func->IsMail($_POST["email"]);
$referer_id = (isset($_COOKIE["i"]) AND intval($_COOKIE["i"]) > 0 AND intval($_COOKIE["i"]) < 1000000) ? intval($_COOKIE["i"]) : 1;
$referer_name = "";
if($referer_id != 1){
$db->Query("SELECT user FROM db_users_a WHERE id = '$referer_id' LIMIT 1");
if($db->NumRows() > 0){$referer_name = $db->FetchRow();}
else{ $referer_id = 1; $referer_name = "wolframavtor"; }
}else{ $referer_id = 1; $referer_name = "wolframavtor"; }
if($rules){
if($email !== false){
if($login !== false){
if($pass !== false){
if($pass == $_POST["repass"]){
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
if($db->FetchRow() == 0){
# Регаем пользователя
$db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, ip)
VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time',INET_ATON('$ip'))");
$lid = $db->LastInsert();
$db->Query("INSERT INTO db_users_b (id, user, a_t, last_sbor) VALUES ('$lid','$login','1', '".time()."')");
# Вставляем статистику
$db->Query("UPDATE db_stats SET all_users = all_users +1 WHERE id = '1'");
echo "<center><b><font color = 'green'>Вы успешно зарегистрировались. Используйте форму слева для входа в аккаунт</font></b></center><BR />";
?></div>
<div class="clr"></div>
<?PHP
return;
}else echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />";
}else echo "<center><b><font color = 'red'>Пароль и повтор пароля не совпадают</font></b></center><BR />";
}else echo "<center><b><font color = 'red'>Пароль заполнен неверно</font></b></center><BR />";
}else echo "<center><b><font color = 'red'>Логин заполнен неверно</font></b></center><BR />";
}else echo "<center><font color = 'red'><b>Email имеет неверный формат</b></font></center>";
}else echo "<center><b><font color = 'red'>Вы не подтвердили правила</font></b></center><BR />";
}else echo "<center><font color = 'red'><b>Символы с картинки введены неверно</b></font></center>";
}
?>
ШЕДЕВРАЛЬНО!
+161
function array_search_my($string,$array){
foreach($array as $el){
if($el==$string) return true;
}
return false;
}
in_array - не круто.
+147
<?
// Код от блондинки
$moya_peremennaya = 0;
for ($moya_drugaya_peremennaya = 0; $moya_drugaya_peremennaya < 100; $moya_drugaya_peremennaya += $moya_drugaya_peremennaya) {
$moya_peremennaya = $moya_drugaya_peremennaya;
// У меня не работало $moya_peremennaya = 100
}
?>
Код одной блондинки
+156
$save=$_POST['save'];
if ($save == 'yes') {
$cont=mysql_real_escape_string_ir($_POST['cont']);
@mysql_query("DELETE FROM ".$tables['_page']." WHERE id_kat='$id_kat'");
@mysql_query("INSERT INTO ".$tables['_page']." (id_kat, txt, dt) VALUES ('$id_kat', '$cont', NOW())");
deleteCache($id_kat, $cid, $insert_id, 'pages', $cont);
insertCache($id_kat, $cid, $insert_id, 'pages', $cont);
};
Код из админки сайта, разработанного студией "Интернет Решения" (IRSite)
+157
<button type="button" class="btn blue" style="float: left; margin-bottom: 20px; margin-left: 15px;" onclick="window.location = '/cars/car/update/id/<?php echo $model->id; ?>'"></button>
Проект работает на основе Yii framework. Тут явное пренебрежение всеми концепциями и стандартами: от размещения css в html элементе, до не понимания, как устроен веб в целом -- почему window.location, а не обычный линк, для меня остается тайной. Искренне желаю взглянуть в лицо автору кода.
+157
<?php
class smth {
protected static $MARK_UNDEFINED = 'Undefined';
protected static $MARK_F = 'ECTS-F';
protected static $MARK_FX = 'ECTS-FX';
protected static $MARK_E = 'ECTS-E';
protected static $MARK_D = 'ECTS-D';
protected static $MARK_C = 'ECTS-C';
protected static $MARK_B = 'ECTS-B';
protected static $MARK_A = 'ECTS-A';
protected function getECTSMark($rate, $current, $examRate)
{
$color = self::$MARK_UNDEFINED;
if ($current > 0) {
$percent = $rate / $current;
if ($examRate !== NULL AND $examRate < 22)
$color = self::$MARK_FX;
elseif ($percent < 0.31)
$color = self::$MARK_F;
elseif ($percent < 0.60)
$color = self::$MARK_FX;
elseif ($percent < 0.65)
$color = self::$MARK_E;
elseif ($percent < 0.71)
$color = self::$MARK_D;
elseif ($percent < 0.85)
$color = self::$MARK_C;
elseif ($percent < 0.95)
$color = self::$MARK_B;
else
$color = self::$MARK_A;
}
return $color;
}
}
Сижу и думаю, как это вообще можно как-то.. отговнокодить? О_о
+170
public function action_ajaxlogin()
{
// Если запрос поступил не через AJAX, то шлем нахуй
if ( ! $this->request->is_ajax())
{
throw new HTTP_Exception_404(NULL);
}
// Вырубаем авто-рендер, ибо это хуев аякс запрос
$this->auto_render = false;
// Собираем информацию и пользователе в ёбанный массив
$user_data = $this->request->post('user_data');
// Если пользователь авторизирован, то заебато, и возвращаем статус 200!
if (Auth::instance()->login($user_data['username'], $user_data['password'], (bool) isset($user_data['remember_me'])))
return $this->response->status(200);
// Если нет, то "Вася, все хуйня! Давай по новой!"
return $this->response->status(400);
}
public function action_logout()
{
// Если запрос поступил не через AJAX, то шлем нахуй
if ( ! $this->request->is_ajax())
{
throw new HTTP_Exception_404(NULL);
}
// Вырубаем сучий авто-рендер, нахуй, в пизду блядь
$this->auto_render = false;
// Выходим из аккаунта, если вышли, то ахуенно, 200-ый статус)
if (Auth::instance()->logout())
return $this->response->status(200);
// Если все хуйня, то "Вася, давай по новой!"
return $this->response->status(400);
}
Kohana фреймворк, и таких комментариев по проекту тьма :)
+156
if (count($GRoleData['base']['forbid']) == 4 && isset($GRoleData['base']['forbid']['type']))
{
$temp = $GRoleData['base']['forbid'];
unset($GRoleData['base']['forbid']);
$GRoleData['base']['forbid'][0] = $temp;
}
Класс преобразует XML в массив. Если элемент встречается более одного раза, то внутрь элемента суется еще один массив. В некоторых местах должен быть всегда массив, но если элемент один, класс положит его в корень. Код выше "исправляет" это. 4 - количество дочерей дочерей дочерей дочерей дочерей дочки родителя.
+159
if (!isset($_GET['outbox']) and !isset($_GET['deleted']) and !isset($_GET['verification'])){
$res2 = mysql_query("SELECT l.* FROM letters l LEFT JOIN `customers` ct ON ct.id=l.from_user WHERE l.deleted<>1 AND ct.`Sex` = 'male' {$addon_sql} ORDER BY l.time_insert DESC");
for($arr=array(); $t = mysql_fetch_assoc($res2); $arr[]=$t);
smarty_put_var('zagolovok', 'Входящие письма');
}
if (isset($_GET['verification'])) {
$res2 = mysql_query("SELECT * FROM `letters` where `deleted` != 1 AND `checked` = 'N' {$addon_sql} order by `time_insert` DESC");
for($arr = array(); $t = mysql_fetch_assoc($res2); $arr[] = $t);
smarty_put_var('zagolovok', 'Ожидающие проверку');
}
if (isset($_GET['outbox'])) {
$res2 = mysql_query("SELECT l.* FROM `letters` l
LEFT JOIN `customers` ct ON ct.`id`=l.from_user
WHERE l.deleted != 1 AND ct.`Sex` = 'female' {$addon_sql}
ORDER BY l.time_insert DESC LIMIT 200");
for ($arr = array(); $t = mysql_fetch_assoc($res2); $arr[]=$t);
smarty_put_var('zagolovok', 'Исходящие письма');
}
if (isset($_GET['deleted'])){
$res2 = mysql_query("SELECT * FROM `letters` WHERE `deleted` = 1
{$addon_sql} ORDER BY `time_insert` DESC");
for($arr=array(); $t=mysql_fetch_assoc($res2); $arr[]=$t);
smarty_put_var('deleted', true);
smarty_put_var('zagolovok', 'Удаленные письма');
}
$letters = array_slice($arr, $first, $limit);
foreach ($letters as &$letter) {
$letter['from_user_details'] = Model_Table_Customers::model()
->fetchByPk($letter['from_user']);
$letter['to_user_details'] = Model_Table_Customers::model()
->fetchByPk($letter['to_user']);
}
if (isset($_GET['outbox'])){smarty_put_var('pages', pages_admin("?module=admin_letters&outbox&page=", $arr, $page, $limit)); smarty_put_var('type', 'outbox');}
elseif (isset($_GET['verification'])){smarty_put_var('pages', pages_admin("?module=admin_letters&verification&page=", $arr, $page, $limit)); smarty_put_var('type', 'verification');}
elseif (isset($_GET['deleted'])){smarty_put_var('pages', pages_admin("?module=admin_letters&deleted&page=", $arr, $page, $limit)); smarty_put_var('type', 'deleted');}
else {smarty_put_var('pages', pages_admin("?module=admin_letters&page=", $arr, $page, $limit)); smarty_put_var('type', '');}
...
function pages_admin($link, $arr, $page, $vis)
{
$radius=4;
$pages=floor(count($arr)/$vis);
$return="";
$str='<table cellpadding="0" cellspacing=3 border="0">
<tr><td height=7></td></tr>
<tr>';
if ($pages > 1) {
$first = 'First';
$prev = 'Prev';
$next = 'Next';
$last = 'Last';
if($page<$radius*2){
.....
трэшак в том же духе
Очередной шедевр с сохранением авторского стиля и табуляции. Это подготовка для smarty представления таблицы с постраничной разбивкой. Возможны 4 типа писем - 4 вкладки. pages_admin() - возвращает пагинатор в виде готового html кода.
Клиент жаловался, что страница сильно тормозит. Там более 150 000 писем. Я догадывался, что код можно чутка оптимизирвоать, но не думал, что существенно. А когда посмотрел вижу - п-ц ))) Интересно насколько получить ускорить?