1. PHP / Говнокод #9084

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    private function _arrayToString($array)
        {
            $count = count($array);
            $str = '';
            for ($i = 0; $i < $count; $i++) {
                $str .= $array[$i] . ',';
            }
            $str = substr($str, 0, strlen($str) - 1);
            return $str;
        }

    implode ?? не, не слышал!

    sqrt, 11 Января 2012

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

    +155

    1. 1
    2. 2
    foreach ($period_range as $k=>$v) 
    	{?><option value="<?=$k?>"<?=($k==$period)?' selected':''?>><?=$v?></option><?}

    Накодил как-то...

    zima, 11 Января 2012

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

    +158

    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
    <?php
    function bracket_checker($input_string)
    {
    $checked = true;
    $bracket1_open = "(";
    $bracket1_close = ")";
    $bracket2_open = "[";
    $bracket2_close = "]";
    $bracket3_open = "{";
    $bracket3_close = "}";
    If (strlen($input_string)> 30)
    	die("Wrong length of the input string!");
    $bracket1_count= substr_count($input_string,$bracket1_open);
    $bracket2_count= substr_count($input_string,$bracket1_close);
    If ($bracket1_count != $bracket2_count)
    	$checked = false;
    $bracket1_count= substr_count($input_string,$bracket2_open);
    $bracket2_count= substr_count($input_string,$bracket3_close);
    If ($bracket1_count != $bracket2_count)
    	$checked = false;
    
    $bracket1_count= substr_count($input_string,$bracket3_open);
    $bracket2_count= substr_count($input_string,$bracket3_close);
    If ($bracket1_count != $bracket2_count)
    	$checked = false;
    
    If  ($checked)
    	print("Check passed!");
    else
    	print("Check failed!");
    }
    
    echo "ab ( cd ()[]) ef{5} - "; bracket_checker("ab ( cd ()[]) ef{5}"); echo "\n";
    echo "ab ( cd { ef ) gh } ij - "; bracket_checker("ab ( cd { ef ) gh } ij"); echo "\n";
    
    ?>

    Прямо с собеседования пишу

    varg242, 11 Января 2012

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

    +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
    function recoveryPassword( $data )
    {
    	$value = implode( '', $data );
    	$key = implode( '', array_keys( $data ) );
    
    	$query = '
    		SELECT
    			u.user_id AS `id`,
    			u.login,
    			u.salt,
    			u.mail,
    			u.status
    		FROM
    			users AS `u`
    		WHERE
    			u.'.$key.' = "'.$value.'"
    		LIMIT 1;';
    
    	if( !list($result) = $this->db->get($query) )
    	{
    		...
    }

    Копаясь в старом студийном коде наткнулся. Видимо, предполагалось, что в качестве $data будет передан массив вида array( 'field' => 'value' ) c 1 элементом.

    faiwer, 11 Января 2012

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

    +147

    1. 1
    echo ob_get_clean();

    tushkancheg, 10 Января 2012

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

    +162

    1. 1
    $dt=iconv("windows-1251", "UTF-8",date("Y-m-d")."T".date("H:i:s"));

    Перекодируем ASCII из windows-1251 в UTF-8 :)

    denis0, 10 Января 2012

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

    +163

    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
    function BuildPath()
    {
    	global $pathroot;
    
    	$full=strtolower(trim($_SERVER["site.ru"]));
    	$full=str_replace("\\\\","\\",$full);
    	$full=str_replace("\\","/",$full);
    	$full=str_replace("//","/",$full);
    
    	$small=strtolower(trim($_SERVER["PHP_SELF"]));
    	$small=str_replace("\\\\","\\",$small);
    	$small=str_replace("\\","/",$small);
    	$small=str_replace("//","/",$small);
    
    }

    ru_maniac, 09 Января 2012

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

    +157

    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
    ................
    		
    
    	$this->vkey = substr(md5($this->id),13,20); 
    			$this->vname = $vname;
    			$descr=$this->vtitle;
    			if ($descr)
    			{
    				$var=$descr;
    				$temp_max=200;
    		$langtranslit = array(
    		'а' => 'a', 'б' => 'b', 'в' => 'v',
    		'г' => 'g', 'д' => 'd', 'е' => 'e',
    		'ё' => 'e', 'ж' => 'zh', 'з' => 'z',
    		'и' => 'i', 'й' => 'y', 'к' => 'k',
    		'л' => 'l', 'м' => 'm', 'н' => 'n',
    		'о' => 'o', 'п' => 'p', 'р' => 'r',
    		'с' => 's', 'т' => 't', 'у' => 'u',
    		'ф' => 'f', 'х' => 'h', 'ц' => 'c',
    		'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch',
    		'ь' => '', 'ы' => 'y', 'ъ' => '',
    		'э' => 'e', 'ю' => 'yu', 'я' => 'ya',
    		"ї" => "yi", "є" => "ye",
    		
    		'А' => 'A', 'Б' => 'B', 'В' => 'V',
    		'Г' => 'G', 'Д' => 'D', 'Е' => 'E',
    		'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z',
    		'И' => 'I', 'Й' => 'Y', 'К' => 'K',
    		'Л' => 'L', 'М' => 'M', 'Н' => 'N',
    		'О' => 'O', 'П' => 'P', 'Р' => 'R',
    		'С' => 'S', 'Т' => 'T', 'У' => 'U',
    		'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C',
    		'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch',
    		'Ь' => '', 'Ы' => 'Y', 'Ъ' => '',
    		'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya',
    		"Ї" => "yi", "Є" => "ye",
    		);
    
    	
    	$var = trim( strip_tags( $var ) );
    	$var = preg_replace( "/\s+/ms", "-", $var );
    	$var = strtr($var, $langtranslit);
    	
    	$var = preg_replace( "/[^a-z0-9\_\-.]+/mi", "", $var );
    	$var = preg_replace( "/[^a-z0-9\_\-]+/mi", "", $var );
    	$var = preg_replace( '#[\-]+#i', '-', $var );
    	$var = str_ireplace( ".", "", $var ); 
    	$var = str_ireplace( ",", "", $var );
    	$var = str_ireplace( "---", "-", $var ); 
    	$var = str_ireplace( "--", "-", $var );
    
    	$var = strtolower( $var );
    
    	$var = str_ireplace( ".php", "", $var );
    	$var = str_ireplace( ".php", ".ppp", $var );
    	$var = str_ireplace( '"', "&quot;", $var ); 
    	
    	if( strlen( $var ) > 200 ) {
    		$var = substr( $var, 0, 200 );
    		if( ($temp_max = strrpos( $var, '-' )) ) {$var = substr( $var, 0, $temp_max );}
    	
    	}
    	$idd=$this->id;
    	$idq=$idd+136;
    
    ...............................................

    Что за...
    Вырвиглаз.

    Samedi, 09 Января 2012

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    $curdate=gmdate("Y.m.d H:i:s");
    if(DateDayDiff($curdate,"2008.01.01")==0)$hny = true; else $hny = false;
    if(DateDayDiff($curdate,"2008.04.01")==0)$fd = true; else $fd = false;
    if((DateDayDiff($curdate,"2008.05.09")>=-1) && (DateDayDiff($curdate,"2008.05.09")<=1)) $nine_mai = true; else $nine_mai = false;

    Оригинальная проверка "а-сегодня-ли-девятое-мая?" на форуме Elemental Games.

    ru_maniac, 09 Января 2012

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

    +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
    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
    ///////////////////////////////////////////////
    ////////////
    //Содержимое
    
    function One($str,$tag,$num=1,$p=1){
    
    if($num=='0'){ $num='1'; }
    
    //Разделитель <тег
    $see_st=explode('<'.$tag,$str);
    
    if($p!==1){ $see_st=explode($p,$str); 
    
    $end=explode('>',$see_st[$num]); 
    $see_st[$num]='.'.$end[1];
    }
    
    //Разделитель </тег
    $see_end=explode('</'.$tag,substr($see_st[$num],'1'));
    
    return $see_end[0];
    }
    ///////////////////////////////////////////////
    /////////
    //Парсинг
    
    function Parse($go,$str=0){
    if($str==0){ $str=$this->String; }
    
    //Разбили путь
    $path=explode("/",$go);
    
    //Обрабатываем путь
    for($go_n=0;$go_n<count($path);$go_n++){
    //$go_n='2';
    
    //Номер тега
    $num=explode(':',$path[$go_n]);
    if($num[1]==NULL){ $num[1]=1; }
    
    if($go_n=='0'){ $string=$str;}else{ $string=$t[$go_n-1]; } 
    $t[$go_n]=$this->One($string,$num[0],$num[1]);
    }
    
    return $t[$go_n-1];
    }

    Тоже самое, но теперь с xmlD:

    finall2, 08 Января 2012

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