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

    +154

    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
    $query = rawurldecode(A::get('query'));
    $maps = strtolower($query);
    $maps_array = array();
    
    // cs_assault,"de_dust",de_inferno
    $map = strtok($maps, ',');
    
    do
    {
    	$map = trim($map);
    	
    	// если экранирование кавычками то искать точное совпадение, пример: "de_dust"
    	if(preg_match('/^"(.*)"$/', $map, $match_map))
    	{
    		$map = mysql::safe(end($match_map));
    		$maps_array[] = "map = '".$map."'";
    	}
    	else
    	{
    		$maps_array[] = "map LIKE '%".mysql::safe($map)."%'";
    	}
    	
    } while($map = strtok(','));
    
    mysql::query("SELECT * FROM servers WHERE status=1 ".join(" OR ", $maps_array));

    Запостил: Zend, 23 Февраля 2012

    Комментарии (7) RSS

    Добавить комментарий