- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 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));
Часть кода одного мониторинга.
Лол, всех зоtrollел