а ещё когда пишут php внизу а html наверху потом ничерта не работает ниче не видно только после рефреш
актуальная версия UMI.CMS. коммерческая система. доступна в течении ознакомительного периода. простите за обфусцированный код, так они видимо пытаются спрятать косяки и просто код из эпохи PHP3. Код (PHP): global $_FILES; Код (PHP): $GLOBALS['HTTP_SERVER_VARS']['HTTP_USER_AGENT']) понравилась функция-оболочка над mysql_real_escape_string(). походу они очень надеялись что при удачном раскладе кеш будет так эффективен, что удастся избежать соединения с базой. в итоге: Код (PHP): function l_mysql_real_escape_string($v60ff169ad58411fd2225ed8018b24018, $v6f66e878c62db60568a3487869695820 = 'core') { ... if ($v0c1d0e2ef91d68bdb15eff954448b898->isOpen()) { ... $result = mysql_real_escape_string($v60ff169ad58411fd2225ed8018b24018, $v2a304a1348456ccd2234cd71a81bd338); } else { $result = addslashes($v60ff169ad58411fd2225ed8018b24018); } return $result; } им невдомек, что эсксейпить строки надо именно в тех случаях, когда они будут подставляться в запрос БД -- то есть раз мы эскейпим, то запрос и соединение будут. только вот наша строка уже прошла через не ту функцию. блестящяя оптимизация! еще у них есть оболочки над mb_* функциями, тоже очень тонко оптимизированные: Код (PHP): define('MB_ENCODING_SUPPORTED', function_exists('mb_internal_encoding')); ... function wa_substr($v341be97d9aff90c9978347f66f945b77, $v5e0bdcbddccca4d66d74ba8c1cee1a68, $v7a86c157ee9713c34fbd7a1ee40f0c5a) { if (MB_ENCODING_SUPPORTED) { mb_internal_encoding("UTF-8"); return mb_substr($v341be97d9aff90c9978347f66f945b77, $v5e0bdcbddccca4d66d74ba8c1cee1a68, $v7a86c157ee9713c34fbd7a1ee40f0c5a); } else { return substr($v341be97d9aff90c9978347f66f945b77, $v5e0bdcbddccca4d66d74ba8c1cee1a68, $v7a86c157ee9713c34fbd7a1ee40f0c5a); } } расшифровываю: если расширение мультибайтных строк не установлено, то х*й с ним. будем обрабатывать строки как не-мультибайтные, ошибкой просим не считать!
Наверное для того, чтобы не наткнуться на переменные с такими же именемами Код (Text): $v341be97d9aff90c9978347f66f945b77, $v5e0bdcbddccca4d66d74ba8c1cee1a68, $v7a86c157ee9713c34fbd7a1ee40f0c5a Код (Text): str,pos,offset
ага, буквально md5($name) если хотели затруднить копирование кода, то эта фигня практически бесполезна.
Код (PHP): if ((((((($st != "1")&($st != "2"))&($st != "3"))&($st != "4"))&($st != "5"))&($st != "6")&($st != "7")&($st != "8")&($st != "0"))) {$st="0";}; Только что дали заказ на доработку самописного сайта... Открываю, а там )) Дальше ещё круче: Код (PHP): $zapros = " SELECT product.cod, product.`name`, sector.s0, sector.s1, sector.s2, sector.s3, sector.s4, sector.s5, sector.s6, sector.s7, sector.s8 FROM product , sector WHERE product.cod = sector.cod AND sector.s".$st."=1 ORDER BY product.id ASC ";
Код (PHP): if( !mysql_num_rows($res_sel_goods) ) { die('Завершено'); } $result_num = mysql_fetch_array(mysql_query(" SELECT FOUND_ROWS()"));
да ну это уже не смешно =) не могу столько лет подряд смеяться над таким, тут постоянно такое люди постят довольные... как узнать имя переменной?
Вы всё пытаетесь понять, нафига вот так написано? Я кажется разгадал. Эта хреновина вообще интернет магазин, у него имеется 9 категорий и отношение товара с категориями многие-ко-многим. Так вот. У каждой записи товара в базе есть девять флагов c именами st0-st8, и если, к примеру, установлен флаг st1 и st5, значит товар есть в категории 1 и 5. Собственно, это не функция, а один из модулей, отвечающих за вывод товаров в категории... Я тут подумываю попытаться заказчика убедить просто с нуля ему новый сайт написать, а не эту хрень дорабатывать...
и наверное даже работает при удачном ветре! а if() реально доставил Добавлено спустя 4 минуты 58 секунд: имя переменной никак не узнать. разве что debug_backtrace + парсинг )))
ненене можно-можно! недавно было надо, и не спрашивайте зачем =) вот: Код (PHP): function print_var_name($var) { foreach($GLOBALS as $var_name => $value) { if ($value === $var) { return $var_name; } } return false; }
Ke1eth, а если не глобальную переменную передали? Это раз. Два - а если несколько переменных с одним значением - это два. Три, разве наличие в языке передачи параметра по ссылке не исключает полностью необходимость такого трюкачества?