- 1
QString("a=%1 b=%2").arg("[%1]").arg("Shit happens")
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+24
QString("a=%1 b=%2").arg("[%1]").arg("Shit happens")
Вы думаете, что результат будет "a=[%1] b=Shit happens"?
Как бы не так! "a=[Shit happens] b=%2".
Причем эта "фича" вполне документирована. Но документирована она не в самом первом описании arg'а, а только в arg(const QString &a1, const QString &a2), в доку по которому я естественно никогда не заглядывал...
UPD: правильным вариантом будет QString("a=%1 b=%2").arg("[%1]", "Shit happens"), но тогда мы лишаемся поддержки форматирования, да и таким образом можно засунуть максимум 10 аргументов.
−109
#Кусок красивого кода контроллера сайта на Ruby On Rails
class QuestionsController < ApplicationController
#Извлекаем отвеченные вопросы методом говнокода
def answered
@subtitle = "Отвеченные"
#Нам нужны все-все-все вопросы и даже не отвеченные. Скрестим пальцы на случай если их будет много
@questions = Question.all
#Обязательно преобразуем все в массив, сделаем N+1 запрос и успешно отфильтруем вопросы без ответа
@questions.to_a.delete_if { |q| q.answer.nil? }
#Чуть не забыл, нам же нужно извлечь 10 вопросов для 2-й страницы, а не все что есть
paginate(@questions)
#PROFIT
render "index"
end
end
Ну в общем, код хорошо прокоментирован, думаю все и так ясно. =)
−166
for ( my $i = 0 ; $i < $pmcount ; $i ++ ) {
$_ = $array_ref->[$i];
# workin' hard
}
if ( $perl eq 'C' ) { print "govnokod повсеместно" }
+56
<?php
/*
@package Widgetkit
* @author YOOtheme http://www.yootheme.com
*/
$sets = array_chunk($widget->items, $settings['items_per_set']);
foreach(array_keys($sets) as $s) {
$nav[] = '<li><span></span></li>';
}
?>
<?php foreach ($sets as $set => $items) : ?>
<ul class="set">
<?php foreach ($items as $item) : ?>
<li>
<div><?php echo $item['navigation']; ?></div>
</li>
<?php endforeach; ?>
</ul>
<?php endforeach; ?>
<?php
?>
И так в 230 файлах.
Садо-мазо, блин!
+46
function send_attach(
$to, //!< Email получателя
$from, //!< Email отправителя
$task, //!< Тема письма
$text //!< Текст письма
) {
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$subject= $task." [".stripslashes($_SERVER['HTTP_HOST'])."]";
$subject ='=?windows-1251?B?'.base64_encode($subject).'?=';
$headers = "To: ".$to."\r\n";
$headers="From: =?windows-1251?B?".base64_encode(stripslashes($_SERVER['HTTP_HOST']))."?= <".$from.">\r\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; boundary=\""
.$boundary."\"\r\n";
$headers .= "--".$boundary."\r\n";
$headers .= "Content-type: text/html; charset=windows-1251 \r\n";
$headers.="Subject: ".$subject."\r\n";
$headers.="X-Mailer: PHP/".phpversion()."\r\n";
$headers .= "Content-Transfer-Encoding: Quot-Printed\r\n\r\n";
$headers .= '<html><head><title>Заявка с сайта</title></head>';
$headers .= '<body>'.$text.'</body></html>';
//.'<img src=\'24.jpg\' alt="img">
$message_part = "";
if(
isset($_FILES['f_file']['tmp_name']) and
is_array($_FILES['f_file']['tmp_name'])
) {
foreach($_FILES['f_file']['name'] as $k => $v) {
if (trim($v) != '') {
$fname = $_FILES['f_file']['tmp_name'][$k];
$fp = fopen($fname,"r");
$file = fread($fp, $_FILES['f_file']['size'][$k]);
fclose($fp);
$message_part .= "--$boundary\r\n";
$message_part .= "Content-Type: application/octet-stream\r\n";
$message_part .= "Content-Transfer-Encoding: base64\r\n";
$message_part .= "Content-Disposition: attachment; filename = \""
.$_FILES['f_file']['name'][$k]."\"\r\n\r\n";
$message_part .= chunk_split(base64_encode($file))."\r\n";
}
}
}
$message_part .= "--".$boundary."--\n";
return mail($to, $subject, $message_part, $headers);
}
Функция отправки письма с сайта. Технически - вроде работает. А так, вполне себе "обфускация" получилась.
−98
today = datetime.datetime.today()
date_paid = profile.date_subscription_paid
months_delta = lambda a, b: a - b + (12 if b > a else 0)
months_count = months_delta(today.month, date_paid.month)
months_count += 0 if date_paid.day > today.day else 1
delta = relativedelta(months=months_count)
profile.date_subscription_paid += delta
profile.save()
Моё лицо, когда увидел это.
http://rghost.ru/40948114/image.png
+146
(function() {
var elms = document.getElementsByClassName("tab");
for( var i=0, l = elms.length; i<l; i++) {
(function(i) {
elms[i].onclick = function() {
var container=document.getElementsByTagName("span")[i];
var this_height = container.offsetHeight;
if (document.getElementsByTagName("p")[i].style.height==this_height+"px") { // If
var count = this_height;
var timeout_id = setInterval( function() {
if (count > 1) {
count--;
} else { clearTimeout(timeout_id); }
document.getElementsByTagName("p")[i].setAttribute("style", "height:"+count+"px");
} , 1)
} else {
var count = 0;
var timeout_id = setInterval( function() {
if (count < this_height) {
count++;
} else { clearTimeout(timeout_id); }
document.getElementsByTagName("p")[i].setAttribute("style", "height:"+count+"px");
} , 1)
}
};
})(i);
}
})();
Простейший аккордион.
+20
D:\Sources\jimbot_at_cpp>make -f Makefile.win clean-full
rm -f *.o lib.a dist/jimbot.exe
D:\Sources\jimbot_at_cpp>make -f Makefile.win lib
gcc -c sqlite3.c -pipe -O2 -g1 DSQLITE_THREADSAFE=1
gcc.exe: error: DSQLITE_THREADSAFE=1: No such file or directory
make: *** [lib] Error 1
D:\Sources\jimbot_at_cpp>make -f Makefile.win
g++ -c *.cpp -std=c++0x -O2 -g1 -pipe -Wno-deprecated -Wno-write-strings -Wno-de
precated-declarations -DDEBUG -DEASTER -DTESTER
g++ -o dist/jimbot -pipe *.o -O2 -g1 lib.a -lpthread -lgnutls -lwsock32 -ladvap
i32 -lcrypt32 -lsecur32 -ldnsapi -liconv
g++.exe: error: lib.a: No such file or directory
make: *** [all] Error 1
D:\Sources\jimbot_at_cpp>
+54
function mail_mime_to_array($imap,$mid,$parse_headers=false)
{
$mail = imap_fetchstructure($imap,$mid);
// ИМЕННО ПОЧИНИЛ
if(!isset($mail->parts)) {
$mail->parts = array();
$mail->parts[0]['type'] = $mail->type;
$mail->parts[0]['encoding'] = $mail->encoding;
$mail->parts[0]['ifsubtype'] = $mail->ifsubtype;
$mail->parts[0]['subtype'] = $mail->subtype;
$mail->parts[0]['ifdescription'] = $mail->ifdescription;
$mail->parts[0]['ifid'] = $mail->ifid;
$mail->parts[0]['bytes'] = $mail->bytes;
$mail->parts[0]['ifdisposition'] = $mail->ifdisposition;
$mail->parts[0]['disposition'] = $mail->disposition;
$mail->parts[0]['ifdparameters'] =$mail->ifdparameters;
$mail->parts[0]['dparameters'] =$mail->dparameters;
$mail->parts[0]['ifparameters'] =$mail->ifparameters;
$mail->parts[0]['parameters'] =$mail->parameters;
}
$mail = mail_get_parts($imap,$mid,$mail,0);
// ИМЕННО ПОЧИНИЛ
if(!isset($mail->parts)) {
$mail[1]['data'] = imap_base64($mail[1]['data']);
}
if ($parse_headers) $mail[0]["parsed"]=mail_parse_headers($mail[0]["data"]);
return($mail);
}
мое говно-детище
АЙФОН к примеру не отправляет заголовки и я не мог правильно под него запарсить вложения к почтовому сообщению.
Решил не париться и именно починил, взял скотч решил эту проблему, просто залепил ее.
Самое обидное, что даже не знаю как ее по нормальному решить.
+66
if($HTTP_SESSION_VARS['username'] == $_SESSION['username']){
include($incl['userrights']);
}
я плакал :(