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

    +47

    1. 1
    $cc = str_replace('`','',str_replace("'","",str_replace('"','',strip_tags($_REQUEST['c_code']))));

    Регулярные выражения? Не, не слышал

    Tairesh, 06 Августа 2012

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

    +59

    1. 1
    if ( (is_file($filename) == true) == true)

    MaxSvargal, 04 Августа 2012

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

    +56

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $cur_url=$_SERVER['REQUEST_URI'];
    if ($cur_url=='/') { 
    	$cur_url=$_SERVER['REQUEST_URI']; 
    	if ($cur_url=='/') { // Точно-точно адрес не равен слэшу
    		echo '';// После всех проверок можно с уверенностью вывести пустую строку
    	}
    }
    $cur_url2=$_SERVER['REQUEST_URI'];// И ещё разок
    if ($cur_url2!='/') { 
    	echo '';
    }

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

    RedMonkey, 03 Августа 2012

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

    +65

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function draw_text() {  
            // ....
            /* remove background color */
            imagecolortransparent($im_text, $bg_color);
            return $im_text;
            imagedestroy($im_text);
    }

    Функция вывода текста CAPTCHA в modx Evolution.

    MaXL, 02 Августа 2012

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

    +56

    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
    if(isset($_POST['btnsubmitup']))
    		{
    			for ($i = "0"; Arr::get($_POST, 'id'.$i, ''); $i++) {
    			if (Arr::get($_POST, 'up'.$i, '') == '1') {
    				$p1=-1;
    	//			$uploaddir = '/img/brands/';
    				$a = Arr::get($_POST, 'id'.$i, '');
    	//			$p1 = Upload::save($_FILES['photo'.$i], $uploaddir.$a.'.jpg', './', 0777);
    
    					$rand=rand(1000000,9999999);
    				$uploaddir = '/img_carpets/collection/';
    				$uploaddir2 = 'img_carpets/collection/';
    				$p1 = Upload::save($_FILES['file1'.$i], $uploaddir.'ID-'.$rand.'-1.jpg', './', 0777);
    				$p2 = Upload::save($_FILES['file2'.$i], $uploaddir.'ID-'.$rand.'-2.jpg', './', 0777);
    				$p3 = Upload::save($_FILES['file3'.$i], $uploaddir.'ID-'.$rand.'-3.jpg', './', 0777);
    				$p4 = Upload::save($_FILES['file4'.$i], $uploaddir.'ID-'.$rand.'-4.jpg', './', 0777);
    	//			if ($p1!="0") { $p1=$rand; }
    	//			if ($p2!="0") { $p2=$rand; }
    	//			if ($p3!="0") { $p3=$rand; }
    	//			if ($p4!="0") { $p4=$rand; }
    					$im2=Image::factory($uploaddir2.'back.png');
    
    // -> и так далее

    Начал разбирать библиотеку (фреймворк скорее - kohanaframework) одного сайта, дабы сделать нормальную админку
    Дошел до процедуры сохранения картинок. Я посмотрел, по какому же алгоритму сохраняются картинки (формирование имени файла)
    И опупел!
    ** $rand=rand(1000000,9999999); **
    В базе поле для сохранения имени картинки - не уникально.
    Т.е., разраб решил поиграть в рулетку, анука генератор чисел выберет еще раз одно и то же число, и перезапишет картинку у товара. ))))
    А оператор админки будет чесать репу - тут же работало а тут и нет )

    topilnik, 01 Августа 2012

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

    +42

    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
    foreach ($balancedSlots as $cluster) {
                    if ($cluster['type']=='cluster'){
                            foreach ($cluster['servers'] as $ip=>$server) {
                                    if ($GLOBALS['mode']!='test'){
                                            $GLOBALS['dataVar'][$i] = array();
                                            if (isset($server['snmp_server'])){
                                                    $p = preg_split('/,/', $server['snmp_server']);
                                                    $GLOBALS['dataVar'][$i]['proc_handle'] = popen(dirname(__FILE__).'/snmp_server.sh '.$p[0].' '.$p[1], 'r');
                                                    $GLOBALS['dataVar'][$i]['snmp_params'] = $p;
                                                    $GLOBALS['dataVar'][$i]['snmp_result'] = array('ifName'=>array(), 'counter'=>array());
                                            }
                                            else {
                                                    //print "proc_handle: ".$server['snmp_cmd']."\n";
                                                    $GLOBALS['dataVar'][$i]['proc_handle'] = popen($server['snmp_cmd'], 'r');
                                            }
                                            $GLOBALS['dataVar'][$i]['server']=$server;
                                            $GLOBALS['dataVar'][$i]['server']['ip']=$ip;
                                            $GLOBALS['dataVar'][$i]['eb'] = event_buffer_new($GLOBALS['dataVar'][$i]['proc_handle'], "read_result", NULL, "error_func", $i);
                                            event_buffer_timeout_set($GLOBALS['dataVar'][$i]['eb'], 4, 60);
                                            event_buffer_base_set($GLOBALS['dataVar'][$i]['eb'], $GLOBALS['base']);
                                            event_buffer_enable($GLOBALS['dataVar'][$i]['eb'], EV_READ);
                                    }
                                    elseif ($GLOBALS['mode']=='test')
                                    {
                                            if (!array_key_exists($ip, $testLastServers)) {
                                                    $testLastServers[$ip]=0;
                                            }
                                            if ($testServersData[$ip][$testServersIteration]!==false){
                                                    $GLOBALS['result'][$ip] = new ArrayObject(array('counter64'=>$testLastServers[$ip]+$testServersData[$ip][$testServersIteration], 'ts'=>$GLOBALS['mesure_time']));
                                                    $testLastServers[$ip] = $GLOBALS['result'][$ip]['counter64'];
                                            }
                                    }
                                    $i++;
                            }
                    }
            }

    Попытка одного товарища использовать библиотеку libevent. Видно щедрое использование глобальных переменных.

    Bdfy, 31 Июля 2012

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

    +64

    1. 1
    2. 2
    3. 3
    $is_root = ($node_id == 0) ? 'yes' : ''; 
    //и потом..
    if (!is_null($name_node) && $is_root != 'yes') {

    Есть у меня падаван-джуниор, девушка. Есть вот в коде перлы типа такого.
    булеан, не не слышал =\ И не понятно почему yes и пустая строка, пусть бы было уже yes и no.. Женская логика?

    vitaly, 31 Июля 2012

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

    +46

    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
    public function getAddressInfo($address) {
    		if (!$address instanceof SalesOrderAddressShipping) return '';
    		
    		$country = $address->getCountry();
    		$region = $address->getRegion();
    		$city = $address->getCity();
    		$zipCode = $address->getZipCode();
    		$street = $address->getStreet();
    		$houseNumber = $address->getHouseNumber();
    		$building = $address->getBuilding();
    		$appartment = $address->getAppartment();
    
    		$addressInfo = '';
    		$addressInfo .= $city . ', ' . $street . ' ' . $houseNumber;
    		$addressInfo .= !empty($building) ? ', корп. ' . $building : '';
    		$addressInfo .= !empty($appartment) ? ', кв. ' . $appartment : '';
    
    		return $addressInfo;
    	}
    
    	public function getAddressInfoWithoutApartment($address) {
    		if (!$address instanceof SalesOrderAddressShipping) return '';
    
    		$country = $address->getCountry();
    		$region = $address->getRegion();
    		$city = $address->getCity();
    		$zipCode = $address->getZipCode();
    		$street = $address->getStreet();
    		$houseNumber = $address->getHouseNumber();
    		$building = $address->getBuilding();
    		$appartment = $address->getAppartment();
    
    		$addressInfo = '';
    		$addressInfo .= $city . ', ' . $street . ' ' . $houseNumber;
    		$addressInfo .= !empty($building) ? ', корп. ' . $building : '';
    		//$addressInfo .= !empty($appartment) ? ', кв. ' . $appartment : '';
    
    		return $addressInfo;
    	}

    а сам класс называется AdminOrderListContentView, ебиеговрот....

    SET, 31 Июля 2012

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

    +51

    1. 1
    AdminOrderListContentView::getAddressInfoWithoutApartment()

    Одна строчка кода но как много в ней...

    SET, 30 Июля 2012

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

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    function __destruct(){
    		$sql = "DELETE FROM Basket";
    		mysql_query($sql);
    	}

    Удаление товаров из корзины в интернет магазине.

    BrdNLSrg, 30 Июля 2012

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