1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #4186

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if(!function_exists('getImg')){
        function getImg($isVip)
        {
        $type = false;
        if (isset($_GET['f']) && $_GET['f']) $type = 1;
        if (isset($_GET['bl']) && $_GET['bl']) $type = 16;
        if (isset($_GET['lw']) && $_GET['lw']) $type = 'author';
        if (isset($_GET['sym']) && $_GET['sym'] && $isVip) $type = 2;
        return $type;
        }
    }

    Функция getImg: хм... название как бэ намекает нам, что должно на выходе получиться что-нибудь типа картинки или её адреса, НО НЕТ! нам возвращается какой-то тип...
    Что это за тип (ну да, да, php бестиповой язык, но нужно же как-то хотя бы намёки на тип делать) - одному Богу известно, НО! эта переменная изначально логическая, потом ВНЕЗАПНО превпращается в число, ну и под конец может быть и строкой! (ну а почему бы и нет)
    Причём конечно же всем очевидна последовательность: 1, 16, (опять-таки ВНЕЗАПНО) 'author', ну и по уже "понятной" логике в конце 2

    Да, ну и разумеется вокруг оооочень много комментариев поясняющие этот кусок кода...
    А вы на индусов ругаетесь... Так-то!

    Zemtall, 06 Сентября 2010

    Комментарии (5)
  3. PHP / Говнокод #4091

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    if ($is_home) {
    			echo '<script>
    function chkcbfrm() {
    	var el = $(\'#inppleasecallback\')[0];
    	if ((el.value == \'\') || (el.value == el.defaultValue)) {
    		alert(\'Введите номер телефона...\');
    		return false;
    	} else
    		return true;
    }
    </script>';
    			echo '<form method="post" id="frmcallback" onsubmit="return chkcbfrm();">';
    			echo '<p>Введите пожалуйста телефон в формате +7-3812-XXXXXX</p>';
    			echo '<input type="text" class="textboxcontact" style="width: 220px" id="inppleasecallback" name="please_callback" value="Введите номер телефона" onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value = this.defaultValue;" />';
    			echo '<a href="#" class="butmore" onclick="if (chkcbfrm()) $(\'#frmcallback\').submit(); return false;">Перезвоните</a>';		
    			echo '<form>';
    		} else {
    			
    			$ЕБАНУТЫЙ_ТЕКСТ = 'Введите пожалуйста телефон в формате +7-3812-XXXXXX (код страны - код города - номер), название организации, ФИО контактного лица и предмет интереса (XXX, XXX, металлопрокат, XXXXXX, крановое хозяйство)';
    			
    			echo '<form method="post" id="frmcallback" onsubmit="if ($(\'#inppleasecallback\')[0].value == $(\'#inppleasecallback\')[0].defaultValue) { alert(\'Введите номер телефона...\'); return false; }">';
    			echo '<textarea class="textareacontact" style="width: 220px; height: 150px;" id="inppleasecallback" name="please_callback" onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value = this.defaultValue;">'.$ЕБАНУТЫЙ_ТЕКСТ.'</textarea>';
    			echo '<input class="submitcontact" type="submit" value="Перезвоните" />';
    			echo '<form>';
    		}

    по просьбе заказчика текст менялся 2-3 раза на дню, за что и получил такое название

    shuchkin, 24 Августа 2010

    Комментарии (41)
  4. PHP / Говнокод #4043

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    function SentMessage($Text,$Title) {
    
    	$r=mysql_query("SELECT `id`,`login`,`email` FROM `".$this->TableUsers."` WHERE `access` = 1 and `check_email`=1");
    
    	while( $res = mysql_fetch_array($r) ){               
    		mysql_query("
    			INSERT INTO `".$this->MessTable."` ( 
    				`From` , `To` , `Date` , `Title` , `Text` 
    			) VALUES (
    				'".$this->MainUser['id']."', '".$res[id]."', NOW(), '".$Title."', '".$Text."'
    			)
    		");
    
    		$body=BuildBody("mail.message", $res);
    
    		$headers=' /*... заголовок  ...*/ ';
    		mail ( $res[email], " /*... отправитель ..*/ ", $body, $headers);
    	}
    }

    вот такое чудо враждебной техники откопалось при колупании одной cms'ки...
    (при том что выборка из $this->TableUsers с такими условиями получалась порядка ~500 т. строк )

    istem, 20 Августа 2010

    Комментарии (12)
  5. JavaScript / Говнокод #4026

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    function urldecode(code) {
    code = escape(code);
    code = code.replace(/\+/g,' ');
    code = code.replace(/%21/g,'!');
    code = code.replace(/%22/g,'"');
    code = code.replace(/%23/g,'#');
    code = code.replace(/%24/g,'$');
    code = code.replace(/%2D/g,'-');
    code = code.replace(/%5E/g,'^');
    code = code.replace(/%26/g,'&');
    code = code.replace(/%B9/g,'?');
    code = code.replace(/%3B/g,';');
    code = code.replace(/%25/g,'%');
    code = code.replace(/%3A/g,':');
    code = code.replace(/%3F/g,'?');
    code = code.replace(/%28/g,'(');
    code = code.replace(/%29/g,')');
    
    /*...70 строк такого же говна...*/
    
    return code;
    }

    http://informer.gismeteo.ru/js/decode.js
    Прошу прощения если баян.

    Vindicar, 18 Августа 2010

    Комментарии (8)
  6. JavaScript / Говнокод #3974

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    <script language="JavaScript">
    	// Если JavaScript выключен, то объявы WMLink'а не видны, след-но, обрамление 
    	// не нужно. Поэтому его заскриптуем, и рефку тоже:
    	o=document.links.length;
    	document.write("<div style='border-top:solid 2px white;border-bottom:solid 2px white;margin-top:2px;'>");
    </script>
    
    <script language="JavaScript" src="http://r1.wmlink.ru/?id=2664"></script>
    <script language=JavaScript>
    	document.write("</div>");
    	if(document.links.length>o){
    		document.write("<p style='margin:0px;font-size:8pt;font-family:Verdana;' align=right><a href='http://wmlink.ru/index.php?ref=4186' id='wmlinkref'>$$$ <i>размести такой же блок ссылок на своём сайте и получай деньги!</i></a></p>");
    	}
    </script>

    :) логика предикатов отдыхает!!!!
    http://delajdengi.ru/
    пояснения:
    строка 4 - запоминаем кол-во ссылок в документе во время загрузки документа. по документу их 5.
    строка 11 - если скриптом подгрузились еще сслыки с сервиса ВМЛИНК => JavaScript не отключен и можно JavaScript'ом обогатить население!

    А ты!? "разместил такой же блок ссылок на своём сайте и получил деньги!"

    Alfred, 13 Августа 2010

    Комментарии (9)
  7. JavaScript / Говнокод #3970

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    function drawdate(stamp,DD,MM,YY,hh,mm,ss) {
    	dte = new Date();
    	dates = new Array('января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
    	days = new Array('в воскресенье','в понедельник','во вторник','в среду','в четверг','в пятницу','в субботу');
    	if (stamp > 0) {dte.setTime(stamp*1000+dte.getTimezoneOffset()*60000);}
    	else {
    		dte.setSeconds(ss);
    		dte.setDate(DD);
    		dte.setMonth(MM-1);
    		dte.setFullYear(YY);
    		dte.setMinutes(mm);
    		dte.setHours(hh);
    		dte.setTime(dte.getTime())
    	}
    	document.write('Написано '+days[dte.getDay()]+', '+dte.getDate()+' '+dates[dte.getMonth()]+' '+dte.getFullYear()+' года, в '+an(dte.getHours())+':'+an(dte.getMinutes()));
    }
    .......................а вызываем всегда так:
    <script><!--
    drawdate(1278053495,02,7,2010,10,51,35);
    //--></script>

    код воняет тут:
    http://newwave.hoha.ru/maxim_axenov/guestbook/

    Alfred, 13 Августа 2010

    Комментарии (14)
  8. PHP / Говнокод #3936

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    function SplitStr($V){
                      $ab=explode(' ',$V);
                      $V='';
                      foreach($ab as $a){
                            $a=substr($a,0,50).' '.substr($a,50,50).' '.substr($a,100,50).' '.substr($a,150,50).' '.substr($a,200,50).' '.substr($a,250,50).' '.substr($a,300,50).' '.substr($a,350,50);
                            $V.=$a.' ';
                      }
                      while(strpos($V, "  ")){
                            $V = str_replace("  ", " ", $V);
                      }
    
                    return $V;
    }

    Регулярные выражения? Это что и зачем?

    mihaild, 11 Августа 2010

    Комментарии (27)
  9. PHP / Говнокод #3935

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    $m=explode(";",$lang[nomarriage]);
    foreach($m as $k=>$mm) {
            if($lev[$k]==$o[marriage]) {
                    if(eregi('/',$mm)) {
                            $mm2=explode('/',$mm);
                            if($o[gender2]=='m') {
                                    $o[marriage]=$mm2[0];
                            }
                            else {
                                    $o[marriage]=$mm2[1];
                            }
                    }
                    else $o[marriage]=$mm;
            }
    }

    Автор неизвестен.
    "Мы не ищем легких путей!"

    mihaild, 11 Августа 2010

    Комментарии (4)
  10. PHP / Говнокод #3903

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    for ($i = 1, $i++; $i < 10; )
    {
       do_some();
    }

    mad_max, 07 Августа 2010

    Комментарии (54)
  11. PHP / Говнокод #3884

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    class recordset {
    /*используется для оптимизации работы с MySQL*/
    var $res;
    function recordset($sql,$link="") {
    if ($link!="")
    	{
        $this->res=mysql_query($sql,$link);
        if (!$this->res)
        	{
            echo $sql;
    		echo mysql_error($link);
    		}
        }
    else
    	{
        $this->res=mysql_query($sql);
        if (!$this->res)
        	{
            echo $sql;
    		echo mysql_error();
    		}
        }
    }
    
    function gr() {
    $row=mysql_fetch_row($this->res);
    if ($row) {for ($i=0;$i<count($row);$i++) $row[$i]=convert_cyr_string($row[$i],"k","w");}
    return $row; }
    
    function ga() {
    $row=mysql_fetch_array($this->res);
    if ($row) {foreach($row as $key=>$val) $row[$key]=convert_cyr_string($val,"k","w");}
    return $row; }
    
    function nr() {
    $num=mysql_num_rows($this->res);
    return $num; }}

    еще один перл того же автора, что и в 2х предыдущих опубликованных мной говнокодах.
    На этот раз старорежимный ООП - великолепный класс.

    Mihard, 06 Августа 2010

    Комментарии (14)