- 1
var days_in_april = 32 - new Date(2013, 3, 32).getDate();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+162
var days_in_april = 32 - new Date(2013, 3, 32).getDate();
Получаем число дней в месяце.
А что, менее черезжопинским вариантом этого сделать никак?
+148
if(!empty($_POST['Order']['tp1'])) {
$step3_arr['tp1'] = intval($_POST['Order']['tp1']);
}
if(!empty($_POST['Order']['tp2'])) {
$step3_arr['tp2'] = intval($_POST['Order']['tp2']);
}
if(!empty($_POST['Order']['tp3'])) {
$step3_arr['tp3'] = intval($_POST['Order']['tp3']);
}
if(!empty($_POST['Order']['tp4'])) {
$step3_arr['tp4'] = intval($_POST['Order']['tp4']);
}
if(!empty($_POST['Order']['eggs1'])) {
$step3_arr['eggs1'] = intval($_POST['Order']['eggs1']);
}
if(!empty($_POST['Order']['eggs2'])) {
$step3_arr['eggs2'] = intval($_POST['Order']['eggs2']);
}
if(!empty($_POST['Order']['eggs3'])) {
$step3_arr['eggs3'] = intval($_POST['Order']['eggs3']);
}
if(!empty($_POST['Order']['eggs4'])) {
$step3_arr['eggs4'] = intval($_POST['Order']['eggs4']);
}
Форма заказа. это только часть длинного листинга if-ов :).
+159
if (!is_array($array)) {$array = array($array)}
+147
<?/**
* Возвращаем все товары по фильтру
* @author Алексей Чигинцев
* Доработал и убрал участки еблизма: Арбора Сергей
* Почувствовал, что могу все улучшить, но все разъебал еще хуже чем было изначально: Влад Черноскутов
* Ниче не знаю техничкой роблю: Алексей MOSkvin
* имхо: Вадим стиль руки хуй
* @param array $options - список используемых параметров
* @return array|false - массив товаров либо false
*/
function getGoodsFilter($options = array(),$_FILTER) {
$price_expr = '`price`';$_sub = $_out = array();$sql = $_sub_child = '';
$cat = new Catalog(self::$db);
$cat->load();
$filter_query = self::parseFilterQuery($_FILTER);
if ($options['SS'] && (!$options['first'] && !$options['second'] && !$options['last']))
{//получаем всех детей
$_sub_child = $cat->get_child(41);
if($options['id_man'][0]!=''){$whereand1 = $filter_query;}else{$whereand1 ="";}
if($options['sort_type']){$order1 = ' ORDER BY `'.$options['sort_field'].'` '.$options['sort_type'];
} else {$order1 =""; }
if (!empty($_sub_child)){$i=0;
foreach ($_sub_child as $v){
if($i<count($_sub_child)-1){$_sub_chil .= $v.','; $i++; }else{$_sub_chil .= $v; }}
if($whereand1!=""){$_sub[] = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE `is_dollar`= "0" `cid` IN('.$_sub_chil .') '.$whereand1.$order1);
}else{$_sub[] = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE `is_dollar`= "0" cid` IN('.$_sub_chil .') AND name` LIKE "%'.mysql_real_escape_string($options['SS']).'%" '.$order1
);}}
if ($_sub){ foreach($_sub as $v){if (!empty($v)){
foreach ($v as $v_child){
$_out[$v_child['id']] = $v_child;
}}}}
if (!empty($_out)) return $_out;
else return false;
}elseif ($options['SS'] && ($options['first'] || $options['second'] || $options['last']))
{ $whereand1 = "";
if($options['id_man'][0]){$whereand1 = $filter_query;}
if($options['sort_type']){
$order1 = ' ORDER BY `'.$options['sort_field'].'` '.$options['sort_type'];}else{$order1 ="";}
$_where_price = false;
if ($options['last']){switch ($options['last']){
case 1: $_where_price .= ' '.$whereand1.'AND ((`is_dollar`=0 AND (`price` > 0 AND `price` <= 25000)) OR (`is_dollar`=1 AND (`price` > 0 AND `price` <= '.__dollar(25000).'))) '.$order1; break;
case 2: $_where_price .= ' '.$whereand1.'AND ((`is_dollar`=0 AND (`price` > 25000 AND `price` <= 50000)) OR (`is_dollar`=1 AND (`price` > '.__dollar(25000).' AND `price` <= '.__dollar(50000).'))) '.$order1; break;
case 3: $_where_price .= ' '.$whereand1.'AND ((`is_dollar`=0 AND `price` > 50000) OR (`is_dollar`=1 AND (`price` > '.__dollar(50000).')))'.$order1; break;
default: $where_price = false; break;
}}$_sub_child = $cat->get_child($options['first']);
if (!$_sub_child){$_out = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE
`name` LIKE "%'.mysql_real_escape_string($options['SS']).'%"
AND `is_dollar`= "0" AND `cid`='.intval($options['first']).'
' . ($options['second'] ? ' AND `id_man`='.intval($options['second']).' ' : '') . '
' . ($_where_price ? $_where_price : '') . ''.$whereand1.$order1);
if (!empty($_out)) return $_out;else return false;
}else{foreach ($_sub_child as $v){
$_sub[] = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE
`name` LIKE "%'.mysql_real_escape_string($options['SS']).'%"
AND `is_dollar`= "0" AND `cid`='.intval($v).'
' . ($options['second'] ? ' AND `id_man`='.intval($options['second']).' ' : '') . '
' . ($_where_price ? $_where_price : '') . '');
}if ($_sub){foreach ($_sub as $v){if (!empty($v)){
foreach ($v as $v_child){
$_out[$v_child['id']] = $v_child;
}}}}
if (!empty($_out)) return $_out;else return false;
}}elseif (!$options['SS'] && ($options['first'] || $options['second'] || $options['last'])){
$_where_price = false;$whereand1 = "";
if($options['id_man'][0]){$whereand1 = $filter_query;}
if($options['sort_type']){$order1 = ' ORDER BY CAST(`' .$options['sort_field'].'` AS SIGNED) '.$options['sort_type'];}else{$order1 ="";}
if ($options['last']){switch ($options['last']){
case 1: $_where_price .= ' '.$whereand1.'AND (`is_dollar`=1 AND (`price` > 0 AND `price` <= '.__dollar(25000).')) '; break;
case 2: $_where_price .= ' '.$whereand1.'AND (`is_dollar`=1 AND (`price` > '.__dollar(25000).' AND `price` <= '.__dollar(50000).')) '; break;
case 3: $_where_price .= ' '.$whereand1.'AND (`is_dollar`=1 AND (`price` > '.__dollar(50000).'))'; break;
default: $where_price = false; break;
}}
//получаем детей для $options['first'] - если дети есть ищем по их массиву
$_sub_child = $cat->get_child($options['first']);
}else return false;}
Работаю в веб-студии, расклад такой:
1) Чувак-извращенец как-то поднял сайт с фильтром по каталогу, уволился.
2) Пришел второй чувак, ему поручили фикс этого творения - сломал все что работало.
3) Пришел я, починил все необычными костылями, вроде как работало
4) Пришел еще один чувак, доработал до мульти выбора в фильтре)) - все слетело, поставил мега крутые костыли, они и представлены
5) Пришел очередной чувак и порешал все, терь работает, но все костыли живут и будут жить))))))
+132
</head>
<script type="text/javascript">
$(document).ready(function() {
...
});
</script>
<body>
Не до, и не после - между блять!
+132
static volatile int rotatelog=0;
void daemonize();
void *receive_thread(void *ptr);
void *write_thread(void *ptr);
void sighup_hdl(int signal);
FILE *hfl_log;
int main(){
daemonize();
hfl_log=fopen(HM_LOGFILE, "a");
setlinebuf(hfl_log);
signal(SIGHUP,sighup_hdl);
receive_thread(NULL);
return 0;
}
void daemonize(){
int devnullfd = -1;
umask(~0700);
devnullfd = open("/dev/null", 0);
dup2(devnullfd, STDIN_FILENO);
dup2(devnullfd, STDOUT_FILENO);
close(devnullfd);
switch(fork()) {
case -1:
perror("fork");
exit(1);
break;
case 0:
break;
default:
exit(0);
break;
}
}
void *receive_thread(void *ptr){
int udpsock, i;
struct _peventmsg *pmsg;
struct sockaddr_in serv;
socklen_t servlen;
ssize_t len;
time_t tm;
char sign1[SHA_DIGEST_LENGTH], sign2[SHA_DIGEST_LENGTH];
udpsock=socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (udpsock==-1)
return NULL;
i=32*1024*1024;
setsockopt(udpsock, SOL_SOCKET, SO_RCVBUFFORCE, (void*)&i, sizeof(i));
memset(&serv, 0, sizeof(serv));
serv.sin_family = AF_INET;
serv.sin_port = htons(TSPORT);
serv.sin_addr.s_addr = inet_addr(TSIP);
if (bind(udpsock, (struct sockaddr *)&serv, sizeof(struct sockaddr_in))){
close(udpsock);
return NULL;
}
while (1){
if (rotatelog){
rotatelog=0;
//fflush(hfl_log); fclose() should be enough
fclose(hfl_log);
hfl_log=fopen(HM_LOGFILE, "a");
//do we really tail -f that much on this log that we need it line buffered? It requires 1 write per incoming packet
setlinebuf(hfl_log);
}
pmsg=(struct _peventmsg *)malloc(sizeof(struct _peventmsg));
servlen=sizeof(serv);
len=recvfrom(udpsock, &pmsg->msg, sizeof(pmsg->msg), 0, (struct sockaddr *)&serv, &servlen);
if (len!=sizeof(pmsg->msg)){
free(pmsg);
continue;
}
time(&tm);
if (pmsg->msg.tm+20<tm || pmsg->msg.tm-20>tm){
free(pmsg);
continue;
}
memcpy(sign1, pmsg->msg.sign, sizeof(sign1));
memset(pmsg->msg.sign, 0, sizeof(pmsg->msg.sign));
strcpy(pmsg->msg.sign, SECRET);
SHA1((unsigned char *)&pmsg->msg, sizeof(pmsg->msg), (unsigned char *)sign2);
if (memcmp(sign1, sign2, sizeof(sign1))){
free(pmsg);
continue;
}
strcpy(pmsg->ip, inet_ntoa(serv.sin_addr));
fprintf(hfl_log, "%ld %s %lu %u %u %u %u %s\n",
le64toh(pmsg->msg.tm), pmsg->msg.ip, le64toh(pmsg->msg.bytessent), le32toh(pmsg->msg.seconds),
le32toh(pmsg->msg.ttype), le32toh(pmsg->msg.tcpi_total_retrans), le32toh(pmsg->msg.tcpi_snd_mss), pmsg->ip);
free(pmsg);
}
}
Traffic analysis tool: http://vasil.ludost.net/blog/?p=3029
+106
/*FuckingMagic*/
public static T[] GetT<T>(int _RepeatCount, Func<IExpression, T[]> _GetT, IExpression[] _Expressions) {
T[] __outbytes;
T[][] __tmp_bytes;
int __offset = 0, __tmp_sz = 0, __i = 0, __j = 0, __ex_l = _Expressions.Length;
__ex_l = _Expressions.Length;
__tmp_bytes = new T[__ex_l * _RepeatCount][];
for ( __j = 0; __j < _RepeatCount; __j++ )
for ( __i = 0; __i < __ex_l; __i++ )
__tmp_bytes[__j * __ex_l + __i] = _GetT(_Expressions[__i]);
__j = __tmp_bytes.Length;
for ( __i = 0; __i < __j; __tmp_sz += __tmp_bytes[__i].Length, __i++ ) ;
__outbytes = new T[__tmp_sz];
for ( __i = 0; __i < __j; __i++ ) {
__tmp_sz = __tmp_bytes[__i].Length;
Array.Copy(__tmp_bytes[__i], 0, __outbytes, __offset, __tmp_sz);
__tmp_bytes[__i] = null;
__offset += __tmp_sz;
}
return __outbytes;
}
С тех пор я всегда пишу код трезвым.
+125
$ find . -type f -name '*.asp' -exec grep -nHi 'select \*' {} \; | wc -l
2160
teh drama :(
+71
private static final int IDX_OBJECT = 0;
private static final String PARTY_ACCOUNT_BALANCE_QUERIES = "Select party.id from Party party WHERE party.TaxID='615100175';Select account.id from PaymentAccount account, Party party WHERE party.TaxID='615100175';Select balance.id from PaymentBalance balance WHERE balance.BalanceType='10000';";
private static final int queryAmount = 3;
public void createPaymentAccountUpdate() {
String[] QUERY = new String[queryAmount];
int startIndex = 0, endIndex=0;
IRecordset [] rs=null;
for (int i = 0; i < queryAmount; i++) {
endIndex = PARTY_ACCOUNT_BALANCE_QUERIES.indexOf(';', startIndex);
QUERY[i] = PARTY_ACCOUNT_BALANCE_QUERIES.substring(startIndex, endIndex);
startIndex = endIndex + 1;
}
for (int i = 0; i < queryAmount; i++) {
rs[i] = s_mgr.newQuery().execute(QUERY[i].toString());
}
if (rs[0].moveNext()) {
IParty party = (IParty)rs[0].valueFromIndex(IDX_OBJECT);
if (rs[1].moveNext()) {
IPaymentAccount pa = (IPaymentAccount) rs[1].valueFromIndex(IDX_OBJECT);
pa.setParty(party);
}
if (rs[2].moveNext()) {
IPaymentBalance pb = (IPaymentBalance) rs[2].valueFromIndex(IDX_OBJECT);
pa.setBalance(pb);
}
pa.setComment("Test account update created");
pa.Save();
}
}
Лучше уж никаких тестов, чем такие
+9
y=fopen(lex,"w+");
fclose(y);
FILE *r=fopen(result,"w+");
fclose(r);
FILE *k=fopen("pryklad.obj","w+");
fclose(k);