- 1
<head> <body bgcolor="00FF00"></head>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+144
<head> <body bgcolor="00FF00"></head>
прислали в вопросом "будет ли работать" :)
+165
foreach ($_POST as $kp => $post)
$_POST2[$kp] = $post;
Это написано в самом начале того скрипта, что мне дали фиксить, в коде я встретил строчки описанные выше, а также деление на 0 и неправильно раставленные скобки в условиях с && и ||
+84
search = 0;
try {
search = search + wdContext.currentSearchElement().getLifnr().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
try {
search = search + wdContext.currentSearchElement().getBahns().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
try {
search = search + wdContext.currentSearchElement().getINN().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
try {
search = search + wdContext.currentSearchElement().getKPP().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
try {
search = search + wdContext.currentSearchElement().getKtokk().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
try {
search = search + wdContext.currentSearchElement().getLand1().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
try {
search = search + wdContext.currentSearchElement().getBanks().length();
} catch (Exception e) {
// TODO: handle exception
}
try {
search = search + wdContext.currentSearchElement().getBankl().length();
} catch (Exception ex) {
// TODO: handle exception
}
try {
search = search + wdContext.currentSearchElement().getBankn().length();
} catch (Exception ex) {
// TODO: handle exception
}
try {
search = search + wdContext.currentSearchElement().getLocco().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
try {
// search = search + wdContext.currentSearchElement().getLoevm().length();
search = search + wdContext.currentSearchElement().getName().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
try {
search = search + wdContext.currentSearchElement().getOKPO().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
try {
search = search + wdContext.currentSearchElement().getOrt01().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
try {
search = search + wdContext.currentSearchElement().getSortl().length();
} catch (Exception ex) {
// ex.printStackTrace();
}
if (search == 0)
wdComponentAPI.getMessageManager().reportException("Введите критерии поиска", true);
else {
//Далее идет поиск
}
Вот такой вот была забабахана проверка входных параметров перед вызовом функции поиска (мною добавлен только последний комментарий, все остальное оригинальное)
−86
def MonthsListGen(*args, **kwargs):
from datetime import datetime
if kwargs.has_key('month') and kwargs.has_key('year'):
return "%s-%s"%(kwargs['year'], "0%d"%kwargs['month'] if kwargs['month']<10 else str(kwargs['month']))
if kwargs.has_key('date'): return MonthsListGen(year = kwargs['date'].year, month = kwargs['date'].month)
if kwargs.has_key('decodeName'): return MONTH_NAMES[int(kwargs['decodeName'].split('-')[1])]
if kwargs.has_key('decodeYear'): return int(kwargs['decodeYear'].split('-')[0])
if kwargs.has_key('startDate') and kwargs.has_key('endDate'):
startDate = kwargs['startDate']
endDate = kwargs['endDate']
monthList = []
if startDate.year < endDate.year:
startDate1 = startDate
endDate1 = datetime.strptime('%d.%d.%d'%(DAYS_IN_MONTH[12], 12, startDate1.year) , '%d.%m.%Y')
monthList = MonthsListGen(startDate = startDate1, endDate = endDate1)
startDate2 = datetime.strptime('%d.%d.%d'%(1, 1, startDate1.year+1) , '%d.%m.%Y')
endDate2 = endDate
monthList += MonthsListGen(startDate = startDate2, endDate = endDate2)
return monthList
if startDate.year == endDate.year:
monthRange = range(startDate.month, endDate.month+1)
year = startDate.year
for monthNo in monthRange:
monthList.append(MonthsListGen(year = year, month = monthNo))
return monthList
return False
Вместо того, чтобы писать несколько разных функций, решил сделать одну, которая почти во всех случаях вызывает сама себя с разными параметрами.
+158
$max = 150;
$dlja_poiska = explode(' ', $_GET['name']);
$num = count($dlja_poiska);
if ( $num > $max ) $num = $max;
$qPart = '';
foreach( $dlja_poiska as $param )
$qPart .= ' AND (system_menu_paragraph.name RLIKE \''.addslashes().'\') ';
// далее запрос к база без mysql_real_escape_string()
http://forum.codeby.net/topic42345.html -- чел с завышенной самооценкой...
Код писал я исходя из найденой дырки на сайте
Вот url на скрипт из которого вы можете догадаться что код его действительно примерно такой...
http://alexanderc.org/uploads/scripts/expl.php
+179
jQuery.atmosphere.request.transport = 'polling';
if (jQuery.atmosphere.request.transport != 'websocket') {
jQuery.atmosphere.executeRequest();
} else if (jQuery.atmosphere.request.transport == 'websocket') {
// ..
}
Сразу удар по двум яйцам.
Сначала говорим, что transport = 'polling', а потом проверяем, не равен ли он случайно 'websocket'
Второй удар - обычный else использовать, видимо, было не прикольно. Или у транспорта кроме "равен websocket" и "не равен websocket" может быть третье состояние? ;)
Код актуальный и на данный момент присутствует в официальном репозитории, пруф: https://github.com/jfarcand/atmosphere/blob/master/modules/jquery/src/main/webapp/jquery/jquery.atmosphere.js#L493-503
пс. А мы на работе удивляемся, почему 'websocket' у них не работает)
+162
/**
* Xml Request
*
* @param int $hotel_id
* @param int $hotel_id
* @param int $hotel_id
* @return array $cc_type of
*/
public function XmlStringForBokingFactura($transaction_id, $block, $begin_date, $end_date, $hotel_code, $guest_qty, $smoking, $cc_number, $cc_cardholder, $cc_type, $cc_expiration_date, $cc_cvc, $NameBooker, $LastNameBooker, $guestLastname, $guest_city, $guest_country, $guest_telephone, $email, $additionalEmail, $fake=1, $affiliate_id, $affiliate_pswd, $is_hash = null, $arrival_time, $dialog) {
...
...
...
$mail = new MailMime($build_params);
$mail->setHeader($from_email, $subject, array('charset' => 'UTF-8'));
$mail->setTXTBody($url);
$mail->setHTMLBody($url);
$mail->send($to);
$mail->setHeader($from_email, $subject, array('charset' => 'UTF-8'));
$mail->setTXTBody($data);
$mail->setHTMLBody($data);
$mail->send($to2);
...
}
переменные $to и $to2 нигде в функции никак не объявляются. да и вообще функция шикарная.
+124
.signup-block { display: clock }
+154
if ($ID>0)
{
if (!CSaleOrderProps::Update($ID, $arFields))
$strError .= GetMessage("ERROR_EDIT_PROP")."<br>";
if (strlen($strError)<=0)
{
$db_order_props_tmp = CSaleOrderPropsValue::GetList(($b="NAME"), ($o="ASC"), Array("ORDER_PROPS_ID"=>$ID));
while ($ar_order_props_tmp = $db_order_props_tmp->Fetch())
{
CSaleOrderPropsValue::Update($ar_order_props_tmp["ID"], array("CODE"=>(strlen($CODE)<=0 ? False : $CODE)));
}
}
}
else
{
$ID = CSaleOrderProps::Add($arFields);
if ($ID<=0) // <=> if (true)
$strError .= GetMessage("ERROR_ADD_PROP")."<br>";
}
Код ядра битрикса)
−852
...
trunc(to_date('01.'||to_char(:P_DATE,'mm.yyyy'),'dd.mm.yyyy'),'dd')
...
так пишут некоторые наши программистки - женщины старой закалки