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

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

    +171

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if($nav_url=="blog.php")
    {
    $ahaha='2';
    eval('$code["$elementtype"] .= "' . fetch_template('navbar_link') . '";');
    $ahaha='';
    }
    else
    {
    eval('$code["$elementtype"] .= "' . fetch_template('navbar_link') . '";');
    }

    Ахаха!

    symbix, 23 Февраля 2011

    Комментарии (6)
  3. ActionScript / Говнокод #5783

    −91

    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
    /**
     *  @private
     *  The exponent used in the easer function for the main part of the throw animation.
     *  NOTE: if you change this, you need to re-differentiate the easer
     *  function and use the resulting derivative calculation in createThrowMotionPath. 
     */
    private static const THROW_CURVE_EXPONENT:Number = 3.0;
    
    ...
    
    // Set the velocity for the next loop iteration.  Make sure it matches the actual velocity in effect when the
    // throw reaches the end of the list.
    //
    // The easer function we use for the throw is 1-((1-x)^3), the derivative of which is 3*x^2-6*x+3.
    // (I used http://www.numberempire.com/derivatives.php to differentiate the easer function).
    // Since the slope of a curve function at any point x (i.e. f(x)) is the value of the derivative at x (i.e. f'(x)),
    // we can use this to determine the velocity of the throw at the point it reached the beginning of the bounce.
    var x:Number = partialTime / effectTime;
    var y:Number = 3 * Math.pow(x, 2) - 6 * x + 3;

    Flex 4.5 Hero.
    Благо на работу кода это не сказывается, но всё-таки...

    Разработчикам: Вообще класс и непосредственно алгоритм touch/kinetic скролла там сделан отвратительно, но с некоторыми весьма хорошими фишками (отпределение скорости, например). Советую вам покопаться.

    fljot, 23 Февраля 2011

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

    +164

    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
    function export_global_value($begin_name,$type='POST'){
    if($type=='POST')$get_array=$_POST;
    else if($type=='GET')$get_array=$_GET;
    else if($type=='FILES')$get_array=$_FILES;
    else if($type=='SESSION')$get_array=$_SESSION;
    else if($type=='COOKIE')$get_array=$_COOKIE;
    else if($type=='REQUEST')$get_array=$_REQUEST;
    else $get_array=$_POST;
    
    $name_get=array_keys($get_array);
    $len=strlen($begin_name);
    $result_array=array();
    for ($i=0;$i<=count($get_array);$i++){
    $text_key=$name_get[$i];
    if($begin_name==substr($text_key,0,$len)){
    array_push($result_array,$text_key);
    }
    }
    return $result_array;
    
    }

    Бля.

    7ion, 23 Февраля 2011

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

    +161

    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
    if
    (
    	!(
    		(
    			strlen($chld_phone) == 10 &&
    			(
    				substr($chld_phone,0,3) == '087' ||
    				substr($chld_phone,0,3) == '088' ||
    				substr($chld_phone,0,3) == '089'
    			)
    		) ||
    		(
    			strlen($chld_phone) == 12 &&
    			(
    				substr($chld_phone,0,5) == '35987' ||
    				substr($chld_phone,0,5) == '35988' ||
    				substr($chld_phone,0,5) == '35989'
    			)
    		)
    	)
    )
    {
    	//Грешка
    }

    Телефон проверки :)

    wyand, 22 Февраля 2011

    Комментарии (6)
  6. Python / Говнокод #5750

    −179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    def ispalindrome(string):
    	decide=1
    	i=0
    	while i<=int(len(string)/2) and decide==1:
    		if string[i]!=string[-(i+1)]:
    			decide=0
    		i+=1
    	return decide

    Функция определяет, является ли число паниндромом =)

    SSPkrolik, 21 Февраля 2011

    Комментарии (6)
  7. PHP / Говнокод #5742

    +159

    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
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    class forms {
        //put your code here
        
        function __construct($name,$id,$method,$action) {
            echo  "<form id='$id' name='id' method='$method' action='$action'>";
        }
        
        static private function attr($param)    {
            if ($param) {
                foreach ($param as $nam_attr => $val_attr) {
                    $attribs.=$nam_attr."='".$val_attr."'";
                }
                return $attribs; 
            }
        }
        static private function label($id,$text,$attr)    {
            $key = array_search('regue', $attr, true);
            if ($key = 1) $text.="<font color='red'>*</font>";
            return "<label for='$id'>$text</label>";
        }
     
        static public function inputs($text,$type,$name,$id,$value=false,$class=false, $attr=false)    {
           
            return self::label($id,$text,$attr)."<input type='$type' name='$name' id='$id' value='$value' class='$class' ".self::attr($attr)."/>";
        }    
        
        static public function inputs_chek($text,$type,$name,$id,$value=false,$class=false, $attr=false)    {
            return  self::label($id,$text,$attr)."<input type='$type' name='$name' id='$id' class='$class' ".self::attr($attr)."/>$value";
        }   
        
        static public function area($text,$name,$id,$value=false,$class=false, $attr=false)    {
            return  self::label($id,$text,$attr)."<TEXTAREA NAME='$name' id='$id' WRAP='virtual' COLS='40' ROWS='3' ".self::attr($attr).">$value</TEXTAREA>";
        } 
        
        static public function select($text,$name,$id,$value=false,$class=false, $attr=false)    {
            $select="<select name='$name' id='$id' ".self::attr($attr).">";
            foreach($value as $value => $val_text)  {
                $select.="<option value='$value'>$val_text</option>";
            }
           $select.="</select>";
           return  self::label($id,$text,$attr).$select;
        } 
        
        function __destruct() {
            echo "<input type='submit'/><input type='reset' value='Очистить'></form>";
        }   
    }

    qbasic, 21 Февраля 2011

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

    +168

    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
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    function getCurrentDate(){
            $vDate = '';
            $vFullDate = getdate();	
        //print_r($vFullDate);
            if ($vFullDate['mon']<10) $vFullDate['mon']='0'.$vFullDate['mon'];
            $vDay = $vFullDate['mday'];
            $vMon = $vFullDate['mon'];
            $vYear = $vFullDate['year']; 
            $vWDay = $vFullDate['wday'];
            $vVYear = (date("L"));		
            if (($vDay == 30) && ($vMon == 4)) {
                $vDate = '04.05.'.$vYear; 
                return $vDate;
            }
            if (($vDay == 8) && ($vMon == 5)) {
                $vDate = '11.05.'.$vYear; 
                return $vDate;
            }
    
    if (($vDay==30) && (in_array($vMon,$this->mTMon))) {
                $vMon++;
                if ($vWDay == 5) {
                    $vDay=$vDay+3;
                }
                else {
                    $vDay++;
                }
                $vDay = 1;
            }
            elseif ($vDay==31) {
                $vDay =1;
                $vMon ++;
                if ($vMon<10) {
                    $vMon = '0'.$vMon;
                }
            }
            elseif (($vDay==31)&& ($vMon==12)){
                if ($vWDay == 5) {
                    $vDay=$vDay+3;
                }
                else {
                    $vDay++;
                }
                $vMon = 1;
                $vYear ++;
            }
            elseif ($vWDay == 5) {
                $vDay=$vDay+3;
            }
            else {
                $vDay++;
            }
            if ($vDay < 10) {
                $vDay = '0'.$vDay;
            }
            if ($vMon < 10) {
                $vMon = '0'.$vMon;
            }
            
    $vDate = $vDay.'.'.$vMon.'.'.$vYear; 
    	if ($vDate == '12.06.2009') {
    	    $vDate = '15.06.2009';
    	}
            
            return $vDate;
        }

    Так получилось, что мне приходится часто смотреть на чужой код. В этом случае сотрудники одного отдела, выдающего справки (число в справке должно быть на 3 дня больше текущего) пожаловались мне, что форма выдает справки обычно нормально и они даже смирились, когда у месяца появляется 31-е число, но тут появилось вдруг 32-е и они забеспокоились.
    Полез - увидел - поржал - заменил одной строчкой date('d.m.Y',strtotime("+3 days"));

    g00d, 20 Февраля 2011

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

    +159

    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
    <?php
    ...
    // Проверяем нужны ли стрелки назад
    if ($page != 1) $pervpage = '<a href=catalog.php?page=1>Первая</a> |
    <a href=catalog.php?page='. ($page - 1) .'>Предыдущая</a> | ';
    // Проверяем нужны ли стрелки вперед
    if ($page != $total) $nextpage = ' | <a href=catalog.php?page='. ($page + 1) .
    '>Следующая</a> | <a href=catalog.php?page=' .$total. '>Последняя</a>';
    // Находим две ближайшие станицы с обоих краев, если они есть
    if($page - 5 > 0) $page5left = ' <a href=catalog.php?page='. ($page - 5) .'>'.
    ($page - 5) .'</a> | ';
    if($page - 4 > 0) $page4left = ' <a href=catalog.php?page='. ($page - 4) .'>'.
    ($page - 4) .'</a> | ';
    if($page - 3 > 0) $page3left = ' <a href=catalog.php?page='. ($page - 3) .'>'.
    ($page - 3) .'</a> | ';
    if($page - 2 > 0) $page2left = ' <a href=catalog.php?page='. ($page - 2) .'>'.
    ($page - 2) .'</a> | ';
    if($page - 1 > 0) $page1left = '<a href=catalog.php?page='. ($page - 1) .'>'.
    ($page - 1) .'</a> | ';
    if($page + 5 <= $total) $page5right = ' | <a href=catalog.php?page='. ($page + 5)
    .'>'. ($page + 5) .'</a>';
    if($page + 4 <= $total) $page4right = ' | <a href=catalog.php?page='. ($page + 4)
    .'>'. ($page + 4) .'</a>';
    if($page + 3 <= $total) $page3right = ' | <a href=catalog.php?page='. ($page + 3)
    .'>'. ($page + 3) .'</a>';
    if($page + 2 <= $total) $page2right = ' | <a href=catalog.php?page='. ($page + 2)
    .'>'. ($page + 2) .'</a>';
    if($page + 1 <= $total) $page1right = ' | <a href=catalog.php?page='. ($page + 1)
    .'>'. ($page + 1) .'</a>';
    ...
    ?>

    магазин на диване...
    http://www.php.ru/forum/viewtopic.php?t=30808#263199

    Devzirom, 14 Февраля 2011

    Комментарии (6)
  10. Perl / Говнокод #5664

    −119

    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
    sub dopprobelz # функция дополнения строки нулями вначале
            {
                my($str)=@_[0];
                my($len)=@_[1]; my $delta=$len-length($str);
                my $hwost='';
                for (my($a)=0; $a<$delta; $a++) {$hwost=$hwost.'0';};
                $str=$hwost.$str; return $str;
            };
     
    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time());
    $RequestN=(1900+$year).dopprobelz($mon, 2);
    $RequestN=$RequestN.dopprobelz($mday, 2).dopprobelz($hour, 2);
    $RequestN=$RequestN.dopprobelz($min, 2).dopprobelz($sec, 2).dopprobelz($sec, 2);

    Дополняем время и дату ведущими нулями, где это требуется

    Мистер Хэнки, 13 Февраля 2011

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

    +164

    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
    <?php
    function anti_hacker($txt){
    $txt=str_replace("|","I",$txt); 
    $txt=str_replace("../",",,/",$txt);
    $txt=str_replace("||","I",$txt);               
    $txt=str_replace("\"","",$txt);
    $txt=str_replace("\""," ",$txt);
    $txt=str_replace("/\\\$/","",$txt);
    $txt=str_replace("$","",$txt);          
    $txt=str_replace("\\","",$txt);
    $txt=str_replace("\\","",$txt);
    $txt=str_replace("@","",$txt);
    $txt=str_replace("`","",$txt);  
    $txt=str_replace("^","",$txt);
    $txt=str_replace("%","",$txt);
    $txt=htmlspecialchars($txt);  
    $txt=stripslashes(trim($txt));
    return $txt;}
    
    if(isset($_GET)){foreach($_GET as $key=>$value){$_GET[$key]=anti_hacker($value);}}
    if(isset($_POST)){foreach($_POST as $key=>$value){$_POST[$key]=anti_hacker($value);}}
    if(isset($_SESSION)){foreach($_SESSION as $key=>$value){$_SESSION[$key]=anti_hacker($value);}}
    if(isset($_COOKIE)){foreach($_COOKIE as $key=>$value){$_COOKIE[$key]=anti_hacker($value);}}

    Еще одну, не могу удержаться))) Тормоза - для трусов, array_map() для лохов!

    twin, 12 Февраля 2011

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