1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. PHP / Говнокод #5424

    +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
    $proArray = array();
    while(strlen($result))
    {
    	// name
    	$keypos= strpos($result,'=') ;
    	$keyval = substr($result,0,$keypos);
    	// value
    	$valuepos = strpos($result,'&') ? strpos($result,'&') : strlen($result);
    	$valval = substr($result,$keypos+1,$valuepos-$keypos-1);
    	// decoding the respose
    	$proArray[$keyval] = $valval;
    	$result = substr($result,$valuepos+1,strlen($result));
    }

    Разбор URL-encoded ответа от платёжной системы.
    Знал ли автор про функцию parse_str() ?

    hdkeeper, 28 Января 2011

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

    +160

    1. 1
    2. 2
    3. 3
    if ( isset($this->q_param["submit_form_one"]) && is_numeric($this->q_param["submit_form_one"]) && $this->q_param["submit_form_one"] == 1 ){
    //тут разный код
    }

    ппц

    ilyamx, 28 Января 2011

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

    +147

    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
    $delitem = "%[2345]{1,1}[ -]{1,1}[хк]{1,1}|
    
    [2345]{1,1}к.?[ ]{0,1}кв|
    
    [2345]кв.*|
    
    двухкомнатн(ую|ая)|трехкомнатн(ую|ая)|четырехкомнатн(ую|ая)|пятикомнатн(ую|ая)|
    
    ком.?ерческое|земельный|неблаг|ч/дом|частный|комнат[ау]|офис(ное|ы|ные)|склад(ск.е|ы|ов)|комплекс |помещени[ея]|выставочны|станцию технического обслуживания|СТО|дач[ау]|
    
    почас(овая|овой)|ПОЧАС(ОВАЯ|ОВОЙ)|посут|ПОСУТ|суточ|сним(у|ет)|продается|девушк[еи]|жeнщин[ые]|таджику|
    
    [Кк](орсаков|ОРСАКОВ)|[Аа]лександров[с]{0,1}к|[Лл](угово|УГОВО)|[Тт](роицк|РОИЦК)|[Хх](олмск|ОЛМСК)|[Тт](омари|ОМАРИ)|[Пп](оронайск|ОРОНАЙСК)|[Сс](инегорск|ИНЕГОРСК)|[Сс]анаторн(ый|ом)|[Нн](евельск|ЕВЕЛЬСК)|[Дд](олинск|ОЛИНСК)%";
    
    
    строка:
    ...ый период в КОРСАКОВЕ 1 комнат...

    hotcoffee, 28 Января 2011

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