- 1
<input type="hidden" id="id1" name="id1" value="someVal" readonly="readonly" style="background-color:Transparent;border:none;" />
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+141
<input type="hidden" id="id1" name="id1" value="someVal" readonly="readonly" style="background-color:Transparent;border:none;" />
Стилизованный readonly hidden
+147
var n = Math.abs(((date2 - date1) / 86400000) + 1);
var frac = n - Math.floor(n);
if (frac > 0.5) {
n = Math.ceil(n);
} else if (frac < 0.5 && frac.toPrecision(2) != 0) {
n = Math.floor(n);
n--;
}
n++;
Мой говнокод.
Задача: найти количество дней между двумя датами, включая сами эти даты. Время в датах сброшено в 0
Фишка в том "(date2 - date1) / 86400000) + 1", не работает когда есть перевод часов между двумя датами.
И вот такое говно я написал, которое по некоторым дням НЕ РАБОТАЕТ.
переписал вот так:
var n = Math.abs(date2 - date1);
n /= 3600000;
var mod = n % 24;
if (mod == 23) {
n++;
} else if (mod == 1) {
n--;
}
n /= 24;
n++;
теперь не важно сколько переводов часов прошло между датами: 0, 1, 2 или 5.
По поводу говнокода:
За такой frac на авторе надо зарабатывать фраг!
Oleg_quadro: автор, убей себя головой о клаву:
Oleg_quadro: "vb fgrbfvgr bgfvrt rtuijnikjikni56trg5rt6g45t6rgyh hnjunh ujuuuuuuuuuuuuuuuuuuuy"
−196
....
SELECT * BULK COLLECT INTO dbg FROM debug_codes;
FOR i IN 1..dbg.COUNT LOOP
....
PL/SQL
Вся таблица запихивается в коллекцию.
2 миллиона строк — серверу плохо, скрипт работает около 8 часов.
после исправления (в коллекцию вставляются строки пачками по 10 000 штук) стал работать полчаса.
+163
function GetPath(path){
return path;
}
Коротко и ясно! Единственный метод в модуле.
+160
TINY.accordion=function(){
function slider(n){this.n=n; this.a=[]}
slider.prototype.init=function(t,e,m,o,k){
var a=T$(t), i=s=0, n=a.childNodes, l=n.length; this.s=k||0; this.m=m||0;
for(i;i<l;i++){
var v=n[i];
if(v.nodeType!=3){
this.a[s]={}; this.a[s].h=h=T$$(e,v)[0]; this.a[s].c=c=T$$('div',v)[0]; h.onclick=new Function(this.n+'.pr(0,'+s+')');
if(o==s){h.className=this.s; c.style.height='auto'; c.d=1}else{c.style.height=0; c.d=-1} s++
}
}
this.l=s
};
slider.prototype.pr=function(f,d){
for(var i=0;i<this.l;i++){
var h=this.a[i].h, c=this.a[i].c, k=c.style.height; k=k=='auto'?1:parseInt(k); clearInterval(c.t);
if((k!=1&&c.d==-1)&&(f==1||i==d)){
c.style.height=''; c.m=c.offsetHeight; c.style.height=k+'px'; c.d=1; h.className=this.s; su(c,1)
}else if(k>0&&(f==-1||this.m||i==d)){
c.d=-1; h.className=''; su(c,-1)
}
}
};
function su(c){c.t=setInterval(function(){sl(c)},20)};
function sl(c){
var h=c.offsetHeight, d=c.d==1?c.m-h:h; c.style.height=h+(Math.ceil(d/5)*c.d)+'px';
c.style.opacity=h/c.m; c.style.filter='alpha(opacity='+h*100/c.m+')';
if((c.d==1&&h>=c.m)||(c.d!=1&&h==1)){if(c.d==1){c.style.height='auto'} clearInterval(c.t)}
};
return{slider:slider}
}();
http://installauto.ru/ajax/script.js
чья-то реализация аккордиона. и почему же оно хреново в ИЕ пашет?
−120
# Find out what mail program to use !! Terrible kludge !!
$mailprogram = "/usr/bin/mail";
if (! -x "$mailprogram") {
if (-x "/bin/mail") {
$mailprogram = "/bin/mail";
} else {
if (-x "/usr/sbin/sendmail") {
$mailprogram = "/usr/sbin/sendmail";
} else {
if (-x "/usr/lib/sendmail") {
$mailprogram = "/usr/lib/sendmail";
} else {
if (-x "/usr/bin/mutt") {
$mailprogram = "/usr/bin/mutt";
} else {
if (-x "/usr/sbin/exim4") {
$mailprogram = "/usr/sbin/exim4";
} else {
if (-x "/usr/bin/elm") {
$mailprogram = "/usr/bin/elm";
} else {
print "Cannot find a mail program to use\n";
}
}
}
}
}
}
}
В changelog автор честно признался, что не знал, как реализовать иначе.
−145
$ if [ "0" != "0" ]; then make i8086gui;else echo "GTK GUI is disabled - may be you lack of gtk!";fi;
GTK GUI is disabled - may be you lack of gtk!
Странная какая-то проверка наличия GTK в мєйкфайле...
+145
<?
// Функция для того, чтобы иЗ***оВаТь текст
$str = 'бросайте вы корявить текст';
function koryavka ($t){
$c = strlen($t);
for($i=0;$i<$c;$i++) {
$t[$i] = (is_int($i/2)) ? strtoupper($t[$i]) : $t[$i];
$ret[] = $t[$i];
}
return implode('',$ret);
}
echo koryavka ($str);
?>
−858
create function is_numeric (
@a varchar(100)
) returns int as begin
declare @retval int
set @a = replace(@a, '0', '')
set @a = replace(@a, '1', '')
set @a = replace(@a, '2', '')
set @a = replace(@a, '3', '')
set @a = replace(@a, '4', '')
set @a = replace(@a, '5', '')
set @a = replace(@a, '6', '')
set @a = replace(@a, '7', '')
set @a = replace(@a, '8', '')
set @a = replace(@a, '9', '')
set @a = replace(@a, '.', '')
if len(rtrim(ltrim(@a))) > 0 set @retval = 0
else set @retval = 1
return @retval
end
Вот такая хитрая скалярная функция была найдена в недрах сопровождаемой системы. Согласно ей "...42...42..." -- это число, такие дела.
+154
http://vkontakte.ru/
<noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>
http://vkontakte.ru/badbrowser.php
<script type="text/javascript">
<!--
//window.checkbrowser = true;
if (window.checkbrowser) {
try {
if (new XMLHttpRequest()) {
location.replace('/');
}
} catch(e) {
try {
if (new ActiveXObject('Msxml2.XMLHTTP')) {
location.replace('/');
}
} catch(e) {}
try {
if (new ActiveXObject('Microsoft.XMLHTTP')) {
location.replace('/');
}
} catch(e) {}
}
}
-->
</script>
Вот так суровые вконтактостроители отправляют на йуг пользователей NoScript.