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

    +88

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if ( ($cache = isset($this->cache[0]) ? $this->cache[0] : null) != null ) {
            $isNeedCache = $cache->isNeedCache($plug);
        }
        
        if ( !$isNeedCache || !$cache->getPlugCache($plug, $plugInfo) ) {
          
          /** processing: running plug */
          $this->dispatcher->processPlug($request, $response);
          
          if ($isNeedCache)
            $cache->setPlugCache($plug, $plugInfo);
        }

    hwtech, 02 Мая 2012

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

    +90

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $obj_type = $blog->getType();
    $obj_id = $blog->getIdentity();
    $obj_task ="add";
    
    if ($obj_type && $obj_id && $obj_task == 'add') {
    ...
    }

    $obj_task - та так... на всякий случай...

    lantian, 01 Мая 2012

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

    +81

    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
    <?php  
    
        $a = explode(" ",'Строка с пробелами');  
       
        $vol = '';
    		 
        for($i=0; $i<count($a); $i++) { 
    	
            $vol .= $a[$i]; 
    			 
        } 
    
    	echo $vol;
    
    ?>

    Шоколадный шедевр убирания пробелов из строки...

    Ни знаний .*_replace, ни, даже, implode, в данном случае...

    killro0000, 01 Мая 2012

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

    +71

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $var1 = "Строка";
    $var2 = true;
    
    var_dump($var1);
    var_dump($var2);
    if($var1 != $var2){
         echo "Не равны";
    }else{
         echo "Равны";
    }

    Недавно заметил странное поведение моего кода и вот что выяснилось.
    Исправил сравнением по типу !==.
    Не думал что такая вот хрень всплывет.

    haker, 01 Мая 2012

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

    +86

    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
    <?
    
    function anti_sql($expressao)    {
    
        $inject=0;
      $expressao = strtolower($expressao);
    
        //arrays com palavras e caracteres invalidos
        $badword1 = array("' or 0=0 --",'" or 0=0 --',"or 0=0 --","' or 0=0 #","admin'--",'" or 0=0 #',"or 0=0 #","' or 'x'='x",'" or "x"="x',"') or ('x'='x","' or 1=1--",'" or 1=1--',"or 1=1--","' or a=a--",'" or "a"="a',"') or ('a'='a",'") or ("a"="a','hi" or "a"="a','hi" or 1=1 --',"hi' or 1=1 --","hi' or 'a'='a","hi') or ('a'='a",'hi") or ("a"="a',"or '1=1'");
        $badword2 = array("select", " select","select "," insert"," update","update "," delete","delete "," drop","drop "," destroy","destroy ");
    
        for($i=0;$i<sizeof($badword1);$i++) {
            if(substr_count($expressao,$badword1[$i])!=0)
              $inject=1;
           }
    
             for($i=0;$i<sizeof($badword2);$i++)    {
                  if(substr_count($expressao,$badword2[$i])!=0)
                  $inject=1;
             }
    
        $charvalidos = "abcdefghijklmnopqrstuvwxyz0123456789БАГВЗЙИКНМУТФХЪЩЬСбагвзйикнмутфхъщьс!?@#$%&(){}[]:;,.-_ ";
    
         for($i=0;$i<strlen($expressao);$i++)    {
            $char = substr($expressao,$i,1);
                if(substr_count($charvalidos,$char)==0)
                   $inject=1;
             }
    
        return($inject);
    }
    
    
    ?>

    Эх, португальские кодеры...

    killro0000, 01 Мая 2012

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

    +75

    1. 1
    2. 2
    <input type="text" value="1" id="Count" size="1">
    <a href="<?=$arResult["ADD_URL"]?>" rel="nofollow" onclick="return addToCart(this, 'catalog_detail_image', 'detail', '<?=GetMessage("CATALOG_IN_BASKET")?>');" id="catalog_add2cart_link"><span><img src="/upload/cart.jpg"></span>

    o1eg, 29 Апреля 2012

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

    +141

    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
    <?php
    class GetF {
        var $symbol;
        public function __construct(){
            $this->symbol = 'Ф';
        }
    }
    
    function GetE(){
        return 'е';
    }
    
    function GetL(){
        $L = array('л'=>'Abracadabra');
        return str_replace(array_values($L), array_keys($L), 'Abracadabra');
    }
    
    function GetI($password){
        return $password == 'Please give me I' ? 'и' : 'WTF?';
    }
    
    class GetX extends GetF{
        var $symbol;
        public function __construct(){
            $this->symbol = 'кс';
        }
    }
    $preF = new GetF();
    $F = $preF->symbol;
    $E = GetE();
    $L = GetL();
    $I = GetI('Please give me I');
    $preX = new GetX();
    $X = $preX->symbol;
    
    echo $F.$E.$L.$I.$X;  //БУ парапам пам пам РА парапам пам пам ТИ парапам пам НО парапам пам пам

    My name is....

    Mrxan, 29 Апреля 2012

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

    +79

    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
    function exeSQL($inSQL,$withDebug = true,$iniDb = '') {
    	global $db;
    	
    	$tmp_db = $db;
    	if ($iniDb != '') {
    		$tmp_db = $iniDb;
    	}
    
    	if (isset($_SESSION['HIDDEN']) and is_numeric($_SESSION['HIDDEN']['HIDDEN']) and $_GET['HIDDEN'] == 'YES') {
    		echo "
    		<br>---------------------------------------------------------------------
    		BEG_TIME: " . date('h:i:s A');
    				print "<pre>";
    				print_r($inSQL);
    		echo "<br>END_TIME: " . date('h:i:s A') . "<br>
    		------------------------------------------------------------------------";		
    	}
    	
    	$result = mysql_query($inSQL, $tmp_db);
    
        $error = mysql_error($tmp_db);
        
        if ($error) {
        	if (strpos($inSQL, 'USD-CODED_RECORD:V') !== false) {
        		$strSQL = util::decodeRecord($inSQL);
        		exeSQL($strSQL, $withDebug);
        		return ;
        	}
        	if ($withDebug) {    
    	   	//	if (!is_dir("d:/temp") and $_GET['debug2'] != 'Y') {
    		 //   	echo file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/index.html');
    		//		die(); 		
    	   	//	}
        			
    	    	echo $error;
    			print "<pre>";
    			print ($inSQL);
    	    	die();    	
        	}
        }
        
        // -- CHECK IF IT WAS INSERTION ---
        
        // -- TRY TO RETURN DATASET
         $arr = @mysql_fetch_array($result);
        // -- NO RESULT AT ALL
        if (is_array($arr)) {
        
    	    // -- RETURN AS VARCHAR ----
    	    if (count($arr) <= 2) return $arr[0];
    	    
    	    // FORM RESULT ARRAY TO RETURN TO USER
    	    $res = array();
    	    while ($arr) {
    	    	$res[] = $arr;
    	    	$arr = mysql_fetch_array($result);
    	    }
    	           
    	    return $res;
        } else {
        	return '';
        	$id = mysql_insert_id($tmp_db);
    		if ($id > 0) {
    		  	return $id;
    		}    	
        }
        
        return '';
    }

    Работа с СУБД.

    nethak, 28 Апреля 2012

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

    +100

    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
    $sql = "SELECT (SELECT Name FROM dbo.RoutesTypes WHERE RowID = Type) AS Name --Название маршрута
          ,(SELECT Name FROM dbo.Destinations WHERE Name = '$Src') AS DestA --Пункт отправления
          ,(SELECT Name FROM dbo.Destinations WHERE Name = '$Dst') AS DestB --Пункт назначения
          --,(SELECT COUNT([RowID]) FROM [RoutePartInstances] WHERE [RoutePartType] = RoutesTypes.RowID AND [Occuped] = 0) AS FreePlaces --Количество свободных мест на выбранную часть маршрута
          ,(SELECT SUM(Cost) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type) AS TicketCost --Стоимость билета на выбранную часть маршрута
          ,(SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type) AS TimeInWay --Время в пути на выбранной части маршрута
    		--Расчёт времени отправления
          ,(SELECT DATEADD(Minute, 
                (SELECT 
    				CASE
    					WHEN RoutesTypes.OrderA > 1 THEN (SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)
    					ELSE 0
    				END),[DateStart])) AS DepartureTime
    		--Расчёт времени прибытия
          ,(SELECT DATEADD(Minute,
    		   (SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern > RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type), 
    			   (SELECT DATEADD(Minute, 
    				   (SELECT 
    						CASE
    							WHEN RoutesTypes.OrderA > 1 THEN (SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern < RoutesTypes.OrderA  AND InstanceID = Type)
    					ELSE 0
    				END),[DateStart])))) AS ArrivalTime
    	
    	--,RoutesTypes.OrderA --Порядок выбранной точки отправления в маршруте. Это нам понадобится при покупке билета
        --,RoutesTypes.OrderB --Порядок выбранной точки назначания в маршруте. Это нам понадобится при покупке билета
        --,RoutesTable.[RowID] AS RouteID --Идентификатор рейса из таблицы расписаний. Это нам понадобится при покупке билета
        --,RoutesTable.[Type] AS RouteTypeID --Идентификатор типа маршрута из таблицы типов маршрутов. Это нам понадобится при покупке билета
    
      FROM [RoutesTable] AS RoutesTable
      INNER JOIN	(SELECT RoutesParts_A.[InstanceID],RoutesParts_A.[TimeA],RoutesParts_B.TimeB,RoutesParts_A.RowID,RoutesParts_  A.Ordern AS OrderA,RoutesParts_B.Ordern AS OrderB
    				FROM [RoutesParts] AS RoutesParts_A
    				INNER JOIN (SELECT [InstanceID],[TimeB],[Ordern] FROM [RoutesParts] WHERE [DestBID] = (SELECT RowID FROM Destinations WHERE Name = '$Dst')) AS RoutesParts_B ON RoutesParts_B.InstanceID = RoutesParts_A.InstanceID
    				WHERE [DestAID] = (SELECT RowID FROM Destinations WHERE Name = '$Src'))AS RoutesTypes ON RoutesTable.Type = RoutesTypes.InstanceID";

    Встретил на форуме phpforum.ru. Человек интересовался почему не работает запрос :)

    vagrand, 27 Апреля 2012

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

    +102

    1. 1
    2. 2
    3. 3
    <html class="html">
    .............
    </html>

    Бывает и такое

    Hits, 27 Апреля 2012

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