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

    +171

    1. 1
    @flush();@ob_flush();@flush();

    Я сказал flush(), сука! Эта фигня встречается в одном .php файле раз 20

    govnozmey, 12 Января 2011

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

    +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
    session_start();
    $value = array(
           "severity" => $severity,
           "message" => $message,
           "filepath" => $filepath,
           "line" => $line
    );
    if(empty($_SESSION['data']))
    {
        $_SESSION['data'] = serialize($value);
    }
    else
    {
        unset($_SESSION['data']);
        $_SESSION['data'] = serialize($value);
    }
    header("Location: ".BASE_URL."/error/php_error/");

    Вот обработчик ошибок из уже упомянутого мною проекта. Тот же самый кодер обрабатывает ошибки. При более чем одной ошибке валиться весь проект, из-за того что сессия уже стартовала. Увидев это у меня возник facepalm.

    bazyaka, 12 Января 2011

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

    +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
    if(($res = GetMysqlRes("SELECT id,name,price,anons2,colors,sizes,anons,content2,content,maker,title FROM {$oCfg->prefX}core WHERE top=".$pid." and act=1 ORDER BY date DESC LIMIT ".($pnum-1)*$eop.",".$eop."",array($pid),false)) != false)
    {
    while (($row = $db->fetch_row($res)) !== false)
    		{
    
    	...<script type='text/javascript'>
    		function chs".$row[0]."() {
    			document.getElementById(\"s_size".$row[0]."\").innerHTML = document.getElementById(\"sel_size".$row[0]."\").value;
    		}
    		function chc".$row[0]."() {
    			document.getElementById(\"s_color".$row[0]."\").innerHTML = document.getElementById(\"sel_color".$row[0]."\").value;
    		}
    	</script>...
    
    }
    }

    это находилось в цикле. К этому же потом обращались для добавления в корзину товара.

    Три точки значат что там есть еще код.

    P.S. Опять же привет мазе.

    De-Luxis, 12 Января 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    $res = GetMysqlRes("SELECT anons2 FROM {$oCfg->prefX}core WHERE id=93");
    	while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
    		$to = $row[0];
    	}

    В CMS есть поле E-Mail, куда отправлять новые заказы.
    Так же есть поле anons, куда обычно пишется анонс статьи или страницы.
    В данном случае для хранения мыла, была создана отдельная строка anons2, туда же записывался адрес.

    P.S. Мазе привет.

    De-Luxis, 12 Января 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if( $check_referer ) {
    	if( $_SERVER['HTTP_REFERER'] == ''and $_REQUEST['subaction'] != 'dologin') $allow_login = true;
    	elseif( clean_url( $_SERVER['HTTP_REFERER'] ) == clean_url( $_SERVER['HTTP_HOST'] ) ) $allow_login = true;
    }else {
    	$allow_login = true;
    }

    dle software

    DanxilLs, 12 Января 2011

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

    +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
    <?php
    if ($res) {
        $i=0;
        while ( $arr = $res->fetchRow() )
        {   
            $id = $arr['id'];
            $userid = $arr['userid'];
            $alias = $arr['alias'];
            $startcity = $arr['startcity'];
            $endcity = $arr['endcity'];
            $godate = $arr['godate'];
            $gohour = $arr['gohour'];
            $gorecset = mapSetToWeekdays($arr['gorecset']);
            $recdays = implode(" ", $gorecset);     
        
            $godate = ereg_replace("Mon", $l['mo'], $godate);
            $godate = ereg_replace("Tue", $l['tu'], $godate);
            $godate = ereg_replace("Wed", $l['we'], $godate);
            $godate = ereg_replace("Thu", $l['th'], $godate);
            $godate = ereg_replace("Fri", $l['fr'], $godate);
            $godate = ereg_replace("Sat", $l['sa'], $godate);
            $godate = ereg_replace("Sun", $l['su'], $godate);
        
            $rides[$i] = array('id' => $id,
                                'userid' => $userid,
                                'alias' => $alias,
                                'startcity' => $startcity,
                                'endcity' => $endcity,
                                'gohour' => $gohour,
                                'godate' => $godate,
                                'recdays' => $recdays,                   
                                );
            $i++;
        }
        
        $SMARTY->assign("rides", $rides);
    }

    Этот чудесный пример говнокода написал один финн, с которым мне приходится работать вместе.
    Как видно, он, имея 4 года опыта разработки на PHP, так и не знает про extract(), compact(), а также про возможность использовать массивы в качестве аргументов str_replace. Хотя, в данном случае можно было просто написать $rides[] = $arr;

    rostislav, 12 Января 2011

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

    +169

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    switch($type) {
    case 0:
    	$r_type = 0;
    	break;
    case 2:
    	$r_type = 2;
    	break;
    case 1:
    	$r_type = 1;
    	break;
    }

    нашел в своем старом коде.

    luethus, 11 Января 2011

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

    +153

    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
    function ini_size_to_bytes($value)
    {
    	$value = trim($value);
    	$retval = intval($value);
    
    	switch(strtolower($value[strlen($value) - 1]))
    	{
    		case 'g':
    			$retval *= 1024;
    			/* break missing intentionally */
    		case 'm':
    			$retval *= 1024;
    			/* break missing intentionally */
    		case 'k':
    			$retval *= 1024;
    			break;
    	}
    
    	return $retval;
    }

    vBulletin 4.0.3 (лицензионка, есть согласие на публикацию)

    Vitaly44, 11 Января 2011

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

    +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
    <?php
     include '/system/config_bd.php'; // соединение с базой
     
    class pagination_start {
    public $page;
    public $CountListPage=10; 
    public $sql="SELECT * FROM `news`";
    public $start;
    public $limit;
    public $ires;
     
    public function page_settings() {
    $this->page_get();
    $this->start=($this->page-1)*$this->CountListPage; 
    $this->limit=" LIMIT $this->start,$this->CountListPage";
    $this->ires=mysql_query($this->sql.$this->limit);
    }
     
    public function page_get() {
    if(empty($_GET['page'])){$this->page=1;} 
    else {$this->page=$_GET['page'];} 
    }
    }
     
    class pagination_end extends pagination_start{
    public $link_interval;
    public $i;
    public $sp;
     
    public function pagination($class_all,$class_once) {
     $link_page = '';
     $this->page_get();
     $count=mysql_num_rows(mysql_query($this->sql)); 
     if($count>$this->CountListPage){ 
    $CountList=ceil($count/$this->CountListPage); 
     if($this->page > 3 && $CountList > 5){echo '<span class="'.$class_all.'"><a href="?page=1'.$this->link_interval.'">1</a></span><span class="'.$class_all.'">...</span>';} 
    if($this->page > 3 && $CountList > 5){$this->sp=$this->page-2;}else{$this->sp=1;} 
    if($this->page > $CountList-3 && $CountList > 5){$this->sp=$CountList-4; } 
    if($CountList>5)$cpc=5;else $cpc=$CountList; 
    for($this->i=$this->sp;$this->i<$this->sp+$cpc;$this->i++){ 
     
    if($this->i == $this->page){  printf ('<span class="'.$class_once.'">%s</span>',$this->i); }
    else{ $suit=$this->link_interval.$this->i; 
    $links_cent = '<span class="'.$class_all.'"><a href="?page='.$suit.'">'.$this->i.'</a></span>';
     echo $links_cent;  } } 
    $suit=$this->link_interval."?page=".$CountList.""; 
    if($this->page<=$CountList-3 and $CountList>5){echo '<span class="'.$class_all.'">...</span>  <span class="'.$class_all.'"><a href="'.$suit.'">'.$CountList.'</a></span> ';} }
    }
    }
    
    $CountListPage = 5;   // Сколько объектов отображать на странице # по умолчанию 10
    $sql="SELECT * FROM `news` ";  // SQL запрос # по умолчанию "SELECT * FROM `news`"
    $class_all='page_all'; // Css класс всех страниц кроме текущей
    $class_once='class_once'; // Css класс всех страниц кроме текущей
    
    /* Формирование страниц и sql запрос */
    $pagination = new pagination_start();
    $pagination->CountListPage = $CountListPage;
    $pagination->sql = $sql;
    $pagination->page_settings();
    while($ires_result=mysql_fetch_array($pagination->ires))
    {
    echo $ires_result['id']."<br/>";
    } 
    /* Пагенирование */
    $pagination_end = new pagination_end();
    $pagination_end->CountListPage = $CountListPage;
    $pagination_end->sql = $sql;
    $pagination_end->pagination($class_all,$class_once); // От css клас от 2 страници до предпоследней

    qbasic, 11 Января 2011

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

    +37

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    error_log('json_upload(): called');
    error_log('json_upload(): dump $_POST');
    foreach(explode("\n", var_export($_POST, TRUE) ) as $val) error_log('advupload_json_upload() dump: ' . $val);
    error_log('json_upload(): dump $_GET');
    foreach(explode("\n", var_export($_GET, TRUE) ) as $val) error_log('advupload_json_upload() dump: ' . $val);

    отладка аццкого json вызова который вызываецо с клиента для загрузке файла покускам.
    думать было лень. наговнякал :)
    потом tail -f /var/log/apache2/errors.log в консоли и фпирет

    brainstorm, 11 Января 2011

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