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

    +144

    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 isOk() {
    	global $questions;
    	foreach($questions as $k=>$v) {
    		if($v[2]!==false) {
    			if (!isset($_REQUEST[$k])) {
    				return false;
    			}
    			if ($v[2]!=($_REQUEST[$k])) {
    				return false;
    			}
    		}else {
    			if (isset($_REQUEST[$k])) {
    				return false;
    			}
    		}
    	}
    	return true && isset($_REQUEST['submit']);
    }
    
    if (isOk()) {
    	setcookie('ok','ok');
    ?>

    ну и совсем маленький ГК. проверяем ответы на вопросы мини-теста. Пересматриваю свой бывший сайт, единственное оправдание что ему много лет, а мне было мало... Хватаюсь за голову и ржу )

    Lure Of Chaos, 12 Мая 2010

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

    +144

    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
    function first_me_line($file,$lim=1024) {
    	$h=fopen($file,'r');
    	if($h) {
    		while (!feof($h)) {
    			do {
    				$line=fgets($h,1024);
    			}
    			while ((!feof($h))&&
    			(trim(strip_tags($line))=='')
    			||(strpos(strtolower($line),'<h1>')!==false)
    			||(strpos(strtolower($line),'<h2>')!==false)
    			||(strpos(strtolower($line),'<h3>')!==false)
    			||(strpos(strtolower($line),'<cite>')!==false)
    			||(strpos(strtolower($line),'<code>')!==false)
    			);
    			$line=chop(strip_tags($line));
    			if(strlen($line)>$lim) {
    				$line=substr($line,0,$lim);
    			}
    			fclose($h);
    			return $line;
    		}
    		fclose($h);
    		return '';
    	}
    	return '';
    }

    из того же сайта 8летней давности. здесь - берем первую строку "шедевра" литературы после заголовка и эпиграфа.
    Что бы было понятней:

    <h1>Хулиганство</h1>

    <p class="br">
    А я с Любой был знаком,<br>
    Предложил ей заняться языком.<br>
    А она между делом<br>
    Предложила заняться телом.<br>
    </p>
    <p class="br">
    Вот уже как две недели<br>
    Занимаемся мы пастелью.<br>
    За что, Любовь, тебя люблю,<br>
    Что пишем только ню.<br>
    </p>

    Lure Of Chaos, 12 Мая 2010

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

    +144

    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
    function list_dir($dir='.',$isfile,$extension=''){
    	$slash=(strrpos($dir,'/')==(strlen($dir)-1)?'':'/');
    	$files=array();
    	if ($handle = opendir($dir)) {
    		while (false !== ($file = readdir($handle))) {
    			if ($file != "." && $file != "..") {
    				if(
    				($isfile && is_file($dir.$slash.$file))
    				||
    				((!$isfile) && (!is_file($dir.$slash.$file)))
    				)
    				{
    					if($extension=='') {
    						$files[$dir.$slash.$file]="$file";
    					} else {
    						$fp=split('[.]',$file);
    						$fe=$fp[sizeof($fp)-1];
    						if(strtolower($extension)==strtolower($fe)) {
    							$files[$dir.$slash.$file]="$file";
    						}
    					}
    				}
    			}
    		}
    		closedir($handle);
    	}
    	return $files;
    }

    еще из личного сайта 8летней давности. Здесь говно даже не код, а идея:
    есть папка с подпапками с хтмл-файлами, структурой /год/жанр/имя.html. Слева меню, которое строится каждый раз (кэшить еще не знал), с помощью этой функции пробегаем по всему хранилищу и строим древо-меню, по клику инклудим данный хтмл на страницу оО

    Lure Of Chaos, 12 Мая 2010

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

    +144

    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
    <?php
      $cssf="./_css/_all.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>
      <?php
      $cssf="$cssdir/_all.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>
      <?php
      $cssf="$cssdir/$type/_all.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>
      <?php
      $cssf="$cssdir/$type/$name.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>

    из кода 8летней давности личного сайта, классика.
    я знаю, что можно и лучше, иначе бы не выкладывал )

    Lure Of Chaos, 12 Мая 2010

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

    +144

    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
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    <?php
    $base='http://www.silvi.narod.ru/'; #корень сайта silvi
    $default['imia']='Александр';   #  Имя по умолчанию
    $default['familija']='Суворов'; #  Фамилия по умолчанию
    ################ Не менять ниже############################################
    $vCrLf="<BR>\n";
    $azbuka=Array();
    $azbuka['А']=$azbuka['а']=1;
    $azbuka['Б']=$azbuka['б']=2;
    // ....
    $azbuka['Я']=$azbuka['я']=900;
    $tolkovanie=Array();
    $tolkovanie[1]='Честолюбие, жадность, грубость.';
    $tolkovanie[2]='Разрушение, гибельное последствие.';
    // ....
    $tolkovanie[1390]='Опасность.';
    $result=array();
    function summ($str)
    {
     global $vCrLf,$result,$azbuka,$tolkovanie;
     for($s=$i=0;$i<strlen($str);$i++)
     {
      $chr=substr($str,$i,1);
      if(isset($azbuka[$chr]))
      {
       $s+=$azbuka[$chr];
      }
      else
      {
      $s+=0;
      }
     }
     return $s;
    }
    
    function indent($str,$max)
    {
     if (($max-$str)<1) return '';
     $s='';
     for($i=0;$i<abs($max-$str);$i++)
     {
      $s.=' ';
     }
     return $s;
    }
    
    function gadanie($imia,$familija)
    {
     global $vCrLf,$result,$azbuka,$tolkovanie;
     $result=array();
     $num=summ($imia)+summ($familija);
     if(isset($tolkovanie[$num]))
     {
      $result[0]=$num.': '.indent(strlen($num),3).$tolkovanie[$num];
     }
     else
     {
      $result[0]='';
     }
    
     for($i=0;$i<strlen($num);$i++)
     {
      $nn=((int)substr($num,$i,1))*pow(10,strlen($num)-$i-1);
      if(isset($tolkovanie[$nn]))
      {
       $result[$i+1]=$nn.': '.indent(strlen($nn),3).$tolkovanie[$nn];
      }
      else
      {
       $result[$i+1]='';
      }
     }
    
     for($nn=0,$i=0;$i<strlen($num);$i++)
     {
      $nn+=(int)substr($num,$i,1);
     }
      if(isset($tolkovanie[$nn]))
      {
       $result[sizeof($result)]=$nn.': '.indent(strlen($nn),3).$tolkovanie[$nn];
      }
      else
      {
       $result[sizeof($result)]='';
      }
    ################ Не менять выше############################################
     $ret='<table class="table">';
     $ret.='<tr class="tr"><th colspan=2>Результаты гадания:</th></tr>';
     $ret.='<tr  class="tr" style="font-weight:bold;"><td class="td" colspan=2 align=center>'.$imia.' '.$familija.'</td></tr>';
     foreach($result as $k=>$v)
     {
      $res=split(':',$v);
      if(isset($v)&&($v!='')) $ret.='<tr class="tr2"><td class="td2" align=right>'.$res[0].'</td><td class="td2" align=left>'.$res[1].'</td></tr>';
     }
     $ret.='</table>';
     return $ret;
    }
    // ВЫЗОВ
    echo(gadanie($_GET["ti"],$_GET["tf"]).'<br>');

    вот так я лет 8 назад на пхп4 написал "Каббалистическое экспресс-гадание"( http://gargoyle.h1.ru/kabbala.php ) для сайта отца. Приятно, что в сети есть восторженные отзывы о скрипте, но внутри сплошной ГК - еле уложил этот верх юношеской мысли в 100 строк, там еще и гибрид с хтмл не менее "изящный". Работает на ура, поэтому переписывать нет ни потребности, ни желания, ни смысла.
    Смейтесь на здоровье )

    Lure Of Chaos, 12 Мая 2010

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $a=explode("\r\n".$a);
    	if(in_array('',$a)) {
    		$y=sizeof($a);
    		for($x=0;$x<$y;$x++) {
    			if($a[$x]=='') {
    				for($z=$x;$z>-1;$z=$z-1) $head.=$a[$z]."\r\n";
    				break;
    			}
    		}
    		if($x<$y) for(1;$x<$y;$x++) {$text.=$a[$x];}
    	}

    сам писал)))
    а всё для того, чтобы отделить заголовки от текста в полученном через сокеты коде

    ura-anton, 12 Мая 2010

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

    +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
    function key_exists_check($key,$ar)
    {
            if (empty($key))
                    $key = '0.001';
    
            strval($key);
    
            if (array_key_exists($key,$ar))
                    while (array_key_exists($key,$ar))
                            $key=strval(floatval($key)+0.001);
    
            return strval($key);
    }

    Другого решения не вижу - задача при добавлении в массив - делать уникальные ключи, которые типа float.

    atarix12, 12 Мая 2010

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

    +167

    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
    abstract class DataBaseConnection {
      static public  $user   = "root";
      static private $pass   = "";
      static private $host   = "localhost";
      static private $dbName = "example";
    
      //this method creates connection to server and selects data base    
      static public function dbConnect () {
            //initialize connection variables 
            $host   = self :: $host;
            $dbName = self :: $dbName;
            $pass   = self :: $pass;
            $user   = self :: $user;
            // connect to server
            $connection = mysql_connect ( $host, $user, $pass, TRUE ) or die ("DATA BASE CONNECTION FAIL : " . mysql_error());
            // select database
            mysql_select_db ( $dbName, $connection ) or die ("DATA BASE HAS NOT BEEN SELECT");
            //set query encoding
            mysql_query("set names utf8") or die("set names utf8 failed") ;  
            
            return $connection;
      }
    }
    
    DataBaseConnection :: $user = "root";
     
    $connection = DataBaseConnection :: dbConnect ();

    kkkoi8r, 08 Мая 2010

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

    +165

    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
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    //--------------- Функция подсчета карт в игре ---------------//
    function cards_score($str){
    if($str==1||$str==2||$str==3||$str==4){
    $num = 6;
    }
    if($str==5||$str==6||$str==7||$str==8){
    $num = 7;
    }
    if($str==9||$str==10||$str==11||$str==12){
    $num = 8;
    }                
    if($str==13||$str==14||$str==15||$str==16){
    $num = 9;
    }                
    if($str==17||$str==18||$str==19||$str==20){
    $num = 10;
    }                
    if($str==21||$str==22||$str==23||$str==24){
    $num = 2;
    }                
    if($str==25||$str==26||$str==27||$str==28){
    $num = 3;
    }                      
    if($str==29||$str==30||$str==31||$str==32){
    $num = 4;
    }                      
    if($str==33||$str==34||$str==35||$str==36){
    $num = 11;
    }                      
    return $num;
    }
    
    
    //--------------- Функция подсчета очков в игре ---------------//
    function cards_points($str){
    $str=(int)$str;    
    $points = ' очков';
    if($str==2||$str==3||$str==4||$str==22||$str==23||$str==24|$str==32||$str==33||$str==34){$points = ' очка';}
    if($str==21){$points = ' <b>очко!!!</b>';}
    if($str==31){$points = ' очко';}
    return $str.$points;
    } 
    
    //--------------- Функция вывода статуса ---------------//
    function user_ststuses($balls) {
    
    $text = file_get_contents(DATADIR."status.dat"); 
    if ($text!=""){
    $udta = explode("|",$text);}
    if($balls>=0 && $balls<5){$statuses=$udta[0];}
    if($balls>=5 && $balls<10){$statuses=$udta[1];}    
    if($balls>=10 && $balls<20){$statuses=$udta[2];}
    if($balls>=20 && $balls<50){$statuses=$udta[3];}
    if($balls>=50 && $balls<100){$statuses=$udta[4];}
    if($balls>=100 && $balls<250){$statuses=$udta[5];}    
    if($balls>=250 && $balls<500){$statuses=$udta[6];}
    if($balls>=500 && $balls<750){$statuses=$udta[7];}
    if($balls>=750 && $balls<1000){$statuses=$udta[8];}
    if($balls>=1000 && $balls<1250){$statuses=$udta[9];}
    if($balls>=1250 && $balls<1500){$statuses=$udta[10];}
    if($balls>=1500 && $balls<1750){$statuses=$udta[11];}
    if($balls>=1750 && $balls<2000){$statuses=$udta[12];}
    if($balls>=2000 && $balls<2250){$statuses=$udta[13];}
    if($balls>=2250 && $balls<2500){$statuses=$udta[14];}
    if($balls>=2500 && $balls<2750){$statuses=$udta[15];}
    if($balls>=2750 && $balls<3000){$statuses=$udta[16];}
    if($balls>=3000 && $balls<3250){$statuses=$udta[17];}
    if($balls>=3250 && $balls<3499){$statuses=$udta[18];}
    if($balls>=3500 && $balls<4999){$statuses=$udta[19];}
    if($balls>=5000 && $balls<7499){$statuses=$udta[20];}
    if($balls>=7500 && $balls<9999){$statuses=$udta[21];}
    if($balls>=10000){$statuses=$udta[22];}
    $statuses=check($statuses);
    
    return $statuses;
    }

    3 сорца отсюда http://visavi.net/load/zip.php?act=preview&id=988&view=854&star t=840&

    This is obvious, 07 Мая 2010

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

    +144

    1. 1
    $x ^= $y ^= $x ^= $y

    как это выражение меняет местами значения Х и Y ?
    или что за оператор такой ^= ?

    Phoenix123, 07 Мая 2010

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