- 1
http://pastebin.com/KNAhNqJC
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+153
http://pastebin.com/KNAhNqJC
В связи с тем что толстота освоила новую тактику, выпущена очередная версия говнофильтра™.
* поддержка скрытия постов. Увы, выкинуть пост из выдачи совсем не получится, так что при флуд-атаках будут пустые страницы.
* альтернативный "мягкий" метод скрытия комментариев - белое на белом.
* переписано на jQuery, раз уж оно есть на уютненьком ГК.
Как обычно, заточено под Firefox+GreaseMonkey.
+148
var isScheduledRadio = $('#ContentPlaceHolder1_FormView1_ctl04_ctl00___IsScheduled_RadioButtonList1_0')[0],
isSitnGoRadio = $('#ContentPlaceHolder1_FormView1_ctl04_ctl00___IsScheduled_RadioButtonList1_1')[0],
startDateTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl07___StartDate_TextBox1')[0],
minPlayersTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl14___MinPlayers_TextBox1')[0],
maxPlayersTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl15___MaxPlayers_TextBox1')[0],
maxPlayersRequiredValidator = $('#ContentPlaceHolder1_FormView1_ctl04_ctl15___MaxPlayers_RequiredFieldValidator1')[0],
maxPlayersRow = $('#ContentPlaceHolder1_FormView1_ctl04_ctl15___MaxPlayers_TextBox1')
.parent()
.parent()[0],
endDateTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl08___EndDate_TextBox1')[0],
endDateRequiredValidator = $('#ContentPlaceHolder1_FormView1_ctl04_ctl08___EndDate_RequiredFieldValidator1')[0],
endDateRow = $('#ContentPlaceHolder1_FormView1_ctl04_ctl08___EndDate_TextBox1')
.parent()
.parent()[0],
Увидел такой код с сорцах ASP.Net страницы
+158
function check_email(_email)
{
var letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_0123456789 ";
var i = 0, j = 0;
var match = false;
if (_email.length == 0) {
return false;
}
for (i = 0; i < _email.length; i++)
{
match = false;
for (j = 0; j < letters.length; j++)
{
if (_email.charAt(i) == letters.charAt(j))
{
match = true;
break;
}
}
if (!match)
{
if (_email.charAt(i) == '.') {
match = true;
}
}
if(!match) {
break;
}
}
if (i >= _email.length) {
return false;
}
if (_email.charAt(i++) != '@') {
return false;
}
var dotpassed = false;
while (i < _email.length)
{
var match = false;
for (j = 0; j < letters.length; j++)
{
if (_email.charAt(i) == letters.charAt(j))
{
match = true;
break;
}
}
if (!match)
{
if (_email.charAt(i) == '.')
{
dotpassed = true;
match = true;
}
}
if (!match) return false;
i++;
}
if (dotpassed) return true;
return false;
}
в недрах http://astro.smsonline.ru/
+160
function changeFilter(event) {
if (parseInt(event.newValue) < 1000) {
api.Msg.showErr("Укажите год!");
}
}
Обработчик onchange поля "Год"
+160
switch (achievements.length) {
case 0: return 0;
case 1: return 30;
case 2: return 60;
case 3: return 75;
case 4: return 90;
case 5: return 100;
default: return 0;
}
зато не if'ы
+167
var pic_jpg = /(\.jpg)$/ig;
var pic_jpeg = /(\.jpeg)$/ig;
var pic_png = /(\.png)$/ig;
var pic_bmp = /(\.bmp)$/ig;
var a = $("a");
$.each(a, function (i, val) {
var src = $(val).attr("href");
if (src !== undefined) {
if (src.match(pic_jpg)) {
AppendImage(i, src, 'a');
}
if (src.match(pic_jpeg)) {
AppendImage(i, src, 'a');
}
if (src.match(pic_png)) {
AppendImage(i, src, 'a');
}
if (src.match(pic_bmp)) {
AppendImage(i, src, 'a');
}
}
});
+158
<span class="header-search-icon" onclick="document.forms['search-form'].submit();"></span>
Выдержка из стандартного шаблона компонента 1С-Битрикс.
и что помешало поставить <button type=submit>?
+155
function createLinks(abys_id)
{
//get current year
var cur_year = parseInt($("#abys_id"+abys_id).children("span").text());
/*
* create links hrefs
*/
var ml_block = $("#ab_month_grid > .abmg_line");
ml_block.each(function(num,elem)
{
var month;
var anchors = elem.getElementsByTagName("a");
for(var n=0;n<anchors.length;n++)
{
month = (n==0)?12:(n==1)?3:(n==2)?6:9;
(num == 1)
?
(month == 12)
?
month = 1
:
month++
:
(num == 2)
?
(month == 12)
?
month = 2
:
month+=2
:
"--empty--"
;
anchors[n].href = "http://some_site/archive/news/all/"+cur_year+"/"+month+"/";
}
});
}
Вот люблю я инлайновые условия и все тут=)
Это callback для заполнения href у ссылок календаря архива новостей.
+148
ISQ.Translation.Infra.extractJobIdFromText=function(k){
var d;
var g=k.toLowerCase();
var j=g.indexOf("<"+ISQ.Translation.Infra.jobIdMarkerTag);
if(j===-1){
j=g.indexOf("< "+ISQ.Translation.Infra.jobIdMarkerTag)
}
if(j===-1){
if(ISQ.Widget&&ISQ.Widget.Log){
ISQ.Widget.Log.add("ISQ.Translation.Infra.extractJobIdFromText: Couldnt parse jobIdMarker from text! "+k,ISQ.Widget.Log.statusEnum.RED)
}
return{id:-1,text:k}
}
var b=k.indexOf(">",j);
if(b===-1){
if(ISQ.Widget&&ISQ.Widget.Log){
ISQ.Widget.Log.add("ISQ.Translation.Infra.extractJobIdFromText: jobIdMarker tag is invalid!",ISQ.Widget.Log.statusEnum.RED)
}
return{id:-1,text:k}
}
b+=1;
var h=g.substring(j,b);
var e=h.indexOf(ISQ.Translation.Infra.jobIdMarkerTag);
if(e===-1){
if(ISQ.Widget&&ISQ.Widget.Log){
ISQ.Widget.Log.add("ISQ.Translation.Infra.extractJobIdFromText: jobIdMarker tag is invalid!",ISQ.Widget.Log.statusEnum.RED)
}
return{id:-1,text:k}
}
e+=ISQ.Translation.Infra.jobIdMarkerTag.length;
var f="";
var a;
do
{
if(e>h.length){
break
}
a=h.charAt(e++);
if(a.charCodeAt(0)<48||a.charCodeAt(0)>57){
break
}
f+=a
}
while(true);
d=parseInt(f);
if(isNaN(d)){
if(ISQ.Widget&&ISQ.Widget.Log){
ISQ.Widget.Log.add(
"ISQ.Translation.Infra.extractJobIdFromText: jobIdMarker tag is invalid: could not parse id#",
ISQ.Widget.Log.statusEnum.RED)
}
return{id:-1,text:k}
}
var i;
if(j===0){
i=k.substring(b)
}
else
{
i=k.substring(0,j);
if(b<k.length){
i+=k.substring(b)
}
}
return{id:d,text:i}
};
Закомммммммммммментировал!
+151
ISQ.Widget.ContactForm.clickEventHandler=function(a){
switch(a.result){
case ISQ.Forms.clickEventEnum.SUBMIT:
ISQ.Widget.Log.add("contactForm submit");
ISQ.Widget.ContactForm.send(a.formElements);
ISQ.Widget.ContactForm.close(true);
break;
case ISQ.Forms.clickEventEnum.CANCEL:
if(ISQ.Cnf.limited){
break
}
ISQ.Widget.Log.add("contactForm cancel");
if(a.query!==""){
ISQ.Widget.HTML.queryField.value=a.query
}
ISQ.Widget.ContactForm.canceled=true;
ISQ.Widget.ContactForm.close();
break;
case ISQ.Forms.clickEventEnum.ERROR:
ISQ.Widget.Log.add("contactForm input error");
break
}
};
Если честно, то тут автор даже удивил. Как-то раньше ни разу не пришлось два брейка в одном кейсе делать, все как-то одним обходился.