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

    +187

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $DAYS = array(1=>"1",2=>"2",3=>"3",4=>"4",5=>"5",6=>"6",7=>"7",8=>"8",9=>"9",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");
    $MONTHS = array(1=>"январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь");
    $YEARS = array(
        2000=>"2000",2001=>"2001",2002=>"2002",2003=>"2003",2004=>"2004",
        2005=>"2005",2006=>"2006",2007=>"2007",2008=>"2008",2009=>"2009",
        2010=>"2010",2011=>"2011",2012=>"2012",2013=>"2013",2014=>"2014",
        2015=>"2015",2016=>"2016",2017=>"2017",2018=>"2018",2019=>"2019",
        2020=>"2020",2021=>"2021",2022=>"2022",2023=>"2023",2024=>"2024",
        2025=>"2025",2026=>"2026",2027=>"2027",2028=>"2028",2029=>"2029",2030=>"2030");

    Периодически приходится ковыряться в старых проектах своей конторы. Со многим уже смирился, но вот это остановило рабочий процесс надолго.

    Jureth, 30 Января 2011

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

    +152

    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
    <?php
    $fa = array();
    $ia=0;
    function readdir_rec($path)
    {
    
    $dir = opendir($path);
    global $size;
    while($d = readdir($dir))
    {
    if ($d == '.' || $d == '..') continue;
    if (is_dir($path.'/'.$d))
    {
        global $fa;
        global $ia;
       $fa[$ia] = $path.'/'.$d;
       $ia++;
    readdir_rec($path.'/'.$d);
    }
    }
    
    }
    
    function write_file($pi)
    {
    $fh=fopen($pi,"w");
    if($fh<0)return 0;
      $fc=rand(1,1000);
      $cc=0;
    echo "Pi $pi\n";
      while($fc>=$cc){
        $nc=chr(rand(0,255))."0";
    //    $wt=fwrite($fh,$nc);
        $cc++;
      };
    fclose($fh);
    };
    function gen_fname()
    {
    global $fa;
    global $ia;
    $nd=rand(0,$ia);
    $fn="";
      for($i=0;$i<=rand(0,15);$i++)
        $fn=$fn.chr(rand(0,255));
      $fn.=".txt";
    return $fa[$nd]."/".$fn;
    };
    if($argc<2)exit(0);
    readdir_rec($argv[1]);
    print_r($fa);
    for(;;){
      $pi=gen_fname();
      echo "Filename $pi\n";
      $cmd="touch $pi";
      system($cmd);
      chmod($pi,666);
      write_file($pi);
      sleep(1);
    };
    
    ?>

    Спамилка, создаёт кучу файлов.

    AliceGoth, 29 Января 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?if($_POST[btn]=="Отправить") $btn="12";?>
    <form method="post" action="actn.php">
    <button value="12" name="btn" type="submit">Отправить</button>
    </form>
    <? echo $btn; ?>

    Uchkuma, 29 Января 2011

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

    +160

    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
    <?php
     
    if ( !defined ( "DATALIFEENGINE" )){
        die ( "Hacking Attemp!" );
    }
     
    $buff = dle_cache( "main", $config['skin'] );
     
    $sql_result = mysql_query ( "SELECT * FROM " . PREFIX . "_post WHERE approve='1' ORDER BY date DESC LIMIT 0, 6" );
     
    $buff = <<<HTML
    <table class="choser">
    HTML;
     
    $rows=mysql_fetch_array($sql_result);
     
    for($i=0;$i<mysql_num_rows($sql_result);$i++){
        $row[$i] = array ( 'title'=>$rows['title'], 'category'=>$rows['category'], 'alt_name'=>$rows['alt_name'], 'full_story'=>$rows['full_story'], 'id'=>$rows['id'] );
        $link[$i] = $config['http_home_url'] . get_url( $row[$i]['category'] ) . "/" . $row[$i]['id'] . "-" . $row[$i]['alt_name'] . ".html";
        $title[$i] = stripslashes ( $row[$i]['title'] );
        preg_match ( "#<img src=[\"\'](.+?)[\"\'](.*)/>#si", $row[$i]['full_story'], $match );
        if ( trim ( $match[1] ) == '' ){
          preg_match ( "#<!--TBegin--><a href=[\"\'](.+?)[\"\'](.*)></a><!--TEnd-->#si", $row[$i]['full_story'], $match );
       }
       $img[$i] = '<a href="'.$link[$i].'"><img src="'.$match[1].'" alt="'.$title[$i].'" /></a>';
        $full_story[$i] = strip_tags ( stripslashes ( $row[$i]['full_story'] ));
        if ( strlen ( $full_story ) > 100 ){
          $full_story = substr ( $full_story, 0, 100 ) . ' ...';
       }
    }
     
    $buff .= <<<HTML
    <tr>
       <td rowspan=5>
         {$img[1]}
         {$row[1]['title']}
         {$full_story[1]}  
       </td>
     
       <td>
         {$row[2]['title']}
         {$full_story[2]}  
       </td>
    </tr>
     
    <tr>
       <td>
         {$row[3]['title']}
         {$full_story[3]}
       </td>
    </tr>
     
    <tr>
       <td>
         {$row[4]['title']}
         {$full_story[4]}
       </td>
    </tr>
     
    <tr>
       <td>
         {$row[5]['title']}
         {$full_story[5]}
       </td>
    </tr>
     
    <tr>
       <td>
         {$row[6]['title']}
         {$full_story[6]}
       </td>
    </tr>
    </table>
    HTML;
     
    create_cache ( "main", $buff, $config['skin']);
     
    echo $buff;
     
    ?>

    qbasic, 29 Января 2011

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

    +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
    function get_doc_status($date_valid) {
    	$cur_mk = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
    	$date_valid = explode(".", $date_valid);
    	$valid_mk = mktime(0, 0, 0, $date_valid[1], $date_valid[0], $date_valid[2]);
    
    	if($valid_mk <= $cur_mk) {
    		return 2;
    	}
    
    	$month = intval($date_valid[1]);
    	$year = intval($date_valid[2]);
    
    	if(($month > 1) && ($month < 12)) {
    		$prev_month = $month - 1;
    		$prev_year = $year;
    	} elseif($month == 1) {
    		$prev_month = 12;
    		$prev_year = $year - 1;
    	}
    
    	$month_mk = 60 * 60 * 24 * 30;
    	$prev_mk = mktime(0, 0, 0, $prev_month, $date_valid[0], $prev_year);
    
    	if(($valid_mk - $prev_mk) <= $month_mk) {
    		return 1;
    	}
    	return 0;
    }

    Задача со слов автора:
    Есть определенная дата (что-то типа срока годности), есть текущая дата. Задача заключается в выводе статуса даты.
    1. До истечения срока больше месяца - функция возвращает 0
    2. До истечения меньше месяца - 1
    3. Срок истек - 2

    Товарисчь не знал про time() и strtottime().

    WhiteRat, 29 Января 2011

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

    +165

    1. 1
    2. 2
    //$viewPath = explode(DIRECTORY_SEPARATOR, $this->_helper->viewRenderer->getViewScript());
     $viewPath = explode("/", $this->_helper->viewRenderer->getViewScript());

    Первое закомментировали, второе вставили. Отличный рефакторинг!

    anycolor, 28 Января 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $userList = "";
    foreach ($this->currentUsers as $k => $v)
    { 
        $userList .= ($v->first_name . (empty($v->middle_name) ? "" : " " . $v->middle_name)  . " " . $v->last_name . ", ");
    }
    $userList = substr($userList, 0, -2);
    ?>
    <?= $userList ?>

    Индусы отдыхают.

    anycolor, 28 Января 2011

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    <?php
    if ((substr($_SERVER['USER_AGENT'],0,6)=='Yandex') || (substr($_SERVER['USER_AGENT'],0,11)=='YaDirectBot')) $bot='yandex';
    else if ((strpos($_SERVER['USER_AGENT'],'Googlebot')!==false) || (strpos($_SERVER['USER_AGENT'],'Mediapartners-Google')!==false) || (strpos($_SERVER['USER_AGENT'],'Google Search Appliance')!==false)) $bot='google';
    else if (substr($_SERVER['USER_AGENT'],0,12)=='StackRambler') $bot='rambler';

    qbasic, 28 Января 2011

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

    +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
    function func()
    {
    	$func = array(
    		"*4164-4622-1270" => "Core::Exchange->dest1",
    		"*8273-7121-7643" => "Core::Exchange->dest2",
    		"*8710-4879-0216" => "Core::Exchange->dest3",
    		"*5566-0506-6230" => "Core::Exchange->dest4",
    		"*0635-1830-1345" => "Core::Exchange->dest5",
                           .....
    	);
    	return $func;
    }
    	
    function eF($id) 
    {
    	if ($id == 1) return "*4164-4622-1270";
    	if ($id == 2) return "*8273-7121-7643";
    	if ($id == 3) return "*8710-4879-0216";
    	if ($id == 4) return "*5566-0506-6230";
               if ($id == 5) return "*0635-1830-1345";
    	if ($id == 6) return "*3265-0565-4871";
                .....
    }

    Диспетчер функций с встроенной защитой от кулхацкеров. (dest1...dest5 - сохранены оригинальные имена)

    tyler, 28 Января 2011

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(!$RISK && in_array($USER->GetID(), array("1", "14"))){
    	$RECCURING = true;
    }else{
    	$RECCURING = false;
    }

    Подписка на оплату. Магические числа 1 и 14.

    hdkeeper, 28 Января 2011

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