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

    +166

    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
    <?php
    switch(func_num_args())
    {
        case 1:
            $$class = new $class(func_get_arg(0));
        break;
        
        # .... 
                    
        case 7:
            $$class = new $class(func_get_arg(0), func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4), func_get_arg(5), func_get_arg(6));
        break;
                    
        default:
            $$class = new $class();
        break;
    } 
    ?>

    Боюсь подумать о 10 и более передаваемых переменных в конструктор класса

    MoLe-X, 23 Декабря 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(blya_check($baba_id))
    {
    	mysql_query("update {$prefX}actions set `count`=`count`+1 where id='{$baba_id}'");
    	blya_log($baba_id);
    }

    De-Luxis, 22 Декабря 2010

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

    +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
    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
    $link = 'http://www.logofon.ru/xml/ips.xml';
    
    $file = win_to_utf(file_get_contents($link));
    
    $file = trim(substr((substr($file,0,strripos($file,'</operators>'))),(stripos($file,'<operators>') + 11)));
    
    #echo substr_count($file,'<operator').'<br />';
    
    #preg_match_all('|\<operator(.*)\>(.*)\<\/operator\>|sUu',$file,$res);
    #array_dump($res);
    
    preg_match_all('|\<operator id="([0-9]*)" name="([[:space:]a-zA-Zа-яА-ЯёЁ0-9-(){}_.:]*)" label="([[:space:]a-zA-Z0-9]*)" tld="([a-zA-Z0-9]*)" country="([[:space:]a-zA-Zа-яА-Я0-9-(){}_.]*)" publish="([0-9]*)"\>(.*)\<\/operator\>|Usu',$file,$result);
    
    
    
    //-- Количество операторов
    $count_oper = count($result[0]);
    
    //-- Массив операторов
    $operators = array();
    
    //-- Запускаем цикл
     for($i = 0;$i < $count_oper; $i ++)
    {
    //-- Массив текущего оператора
    $operators[$i] = array();
    
    $operators[$i]['id'] = $result[1][$i];
    $operators[$i]['name'] = $result[2][$i];
    #$operators[$i]['label'] = $result[3][$i];
    $operators[$i]['tld'] = $result[4][$i];
    $operators[$i]['country'] = $result[5][$i];
    
    
    
    //-- Создаем базы IP
    $operators[$i]['ip'] = array();
    
    preg_match_all('|\<range ip1="([0-9]{10})" ip2="([0-9]{10})" mode="([0-9]*)" \/\>|Usu',$result[7][$i],$result2);
    #echo '<b>#'.($i + 1).'.</b>'.htmlspecialchars($result[7][$i]).'<br />';
    #array_dump($result2);
    
    //-- Количество диапазанов для текущего опера
    $count_ip = count($result2[0]);
    
    //-- Еще один цикл
      for($j = 0;$j < $count_ip; $j ++)
     {
     	query("INSERT INTO `$db[prefix]ips` SET `name`='{$operators[$i]['name']}',`id_op`='{$operators[$i]['id']}',`country`='{$operators[$i]['country']}',`tld`='{$operators[$i]['tld']}',`ip1`='{$result2[1][$j]}',`ip2`='{$result2[2][$j]}' ")or my_error();
    # $operators[$i]['ip'][$j] = array($result2[1][$j],$result2[2][$j]);
    #echo long2ip($result2[1][$j]).' --- '.long2ip($result2[2][$j]).'<br />';
     }
    
    }
    
    
    echo 'Операторов после : <b>'.($count_op_after = mysql_num_rows(query("SELECT COUNT(*) FROM `$db[prefix]ips` GROUP BY `id_op` "))).'</b><br />';
    echo 'Диапазонов после : <b>'.($count_di_after = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]ips` "),0)).'</b><br />';

    Парсинг диапазонов IP мобильных операторов

    Morgan, 22 Декабря 2010

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

    +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
    $ecapacity = "0";
    if (isset($_POST['ecapacity2'])) {
    	$ecapacity = $_POST['ecapacity1'] . "." . $_POST['ecapacity2'];
    } else {
    	$ecapacity = $_POST['ecapacity1'];
    }
    if ($ecapacity != "--.") {
    	$where = $where + array('e_capacity' => $ecapacity);
    	$where = $where + array('engine' => $ecapacity);
    } else {
    	$where = $where + array('e_capacity' => '0');
    }

    нужно было ввести число с точкой, к чему было вводить два поля ввода разделённых точкой, и два поля в БД float и varchar мне до сих пор не понятно. видимо заборное ЛСД чуваку попалось

    DrFreez, 21 Декабря 2010

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

    +170

    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
    class PHP {
    	function __construct(){
    		ob_start();
    	}
    	function echо ( $string='' ) {
    		echo $string . '<br/>';
    	}
    	function  __destruct() {
    		ob_end_flush();
    	}
    }
    	$php = new PHP();
    
    	$string = "It's work!";
    	$php->echо( $string );
    
    /*
    	Пишу собственный шаблонизатор. Назову его "PHP Template Engine"
    	Помогите кто может, кто может помогите
    */

    ...Не в пример всяким Smarty...

    istem, 21 Декабря 2010

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

    +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
    29. 29
    30. 30
    //exit;
    
    define("CACHE_USE", false);
    
    require("/usr/home/<path_to_config>/config.php");
    require_once(PATH_CLASSES . "/DB.Class.php");
    
    DB::connect(DBHOST, DBUSERNAME, DBPASSWORD, DBNAME);
    
    checkLongProcesses();
    sleep(30);
    checkLongProcesses();
    
    function checkLongProcesses() {
    	$pslist = DB::query("SHOW PROCESSLIST");
    
    	if (sizeof($pslist) > 25) {
    
    		mail("[email protected]", "SQL Processes Monitor Report", print_r($pslist, true));
    
    		echo "Killing long queries...\n\n";
    		foreach ($pslist as $el) {
    			if ($el['Time']>10) {
    				echo "Killing process: " . $el['Id'] . "\n";
    				echo $el['Info'] . "\n\n";
    				DB::query("KILL " . $el['Id']);
    			}
    		}
    	}
    }

    Достался проект с кодом различной говнистости. Вот такое, например, запускается кроном каждые 10 минут.

    wmmorgun, 21 Декабря 2010

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

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?
    $nofoto="avatars/photo_no_160x200.gif";
    $query = "SELECT id , foto FROM `users` WHERE `foto` != '{$nofoto}'";
                                    
    $res = mysql_query($query);
    while($row = mysql_fetch_array($res))
     echo '<table border="1" cellpadding="5" cellspacing="0">
     <tr> '.$row["id"].'
            <td><img  class="photo" height="200" width="160" src="'.$row["foto"].'" title="" alt="">< /td>
    < /tr>
        < /table> ';

    qbasic, 21 Декабря 2010

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

    +153

    1. 1
    2. 2
    3. 3
    if (5 < strlen($method) && '_init' === substr($method, 0, 5)){
        $this->_classResources[strtolower(substr($method, 5))] = $method;
    }

    ZendFramework (c)

    Bydlo, 21 Декабря 2010

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

    +171

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $data = $_SERVER["QUERY_STRING"];
    $regexp = "#page=([\S]+)&type=([\S]+)#i";
    preg_match($regexp,$data,$ares);
    $page = $ares[1];
    $type = $ares[2];

    Написано мной в нетрезвом виде.
    Как я так умудрился извратиться над $_GET - сам не помню...

    DropWorld, 20 Декабря 2010

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    protected function _durationToStr($duration){
            $duration = (int) $duration;
            return $duration * 24;
        }

    Мощная оптимизация... Сюда бы ещё final private и вообще огонь. :)

    kovel, 20 Декабря 2010

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