function getTemplateFileByPattern($pattern) { global $__TPL_DIR__; global $__SYSTEM_TPL_DIR__; CTrace::dbg('Pattern: ' . $pattern); // files from $__TPL_DIR__ (priority files) $files_user_skin = glob($__TPL_DIR__ . $pattern); CTrace::dbg('User\'s skin files: ', $files_user_skin); // files from $__SYSTEM_TPL_DIR__ $files_system_skin = glob($__SYSTEM_TPL_DIR__ . $pattern); CTrace::dbg('System\'s skin files: ', $files_system_skin); $result = array(); foreach ($files_user_skin as $f) { $result[] = str_replace($__TPL_DIR__, '', $f); } foreach ($files_system_skin as $f) { $result[] = str_replace($__SYSTEM_TPL_DIR__, '', $f); } $result = array_unique($result); CTrace::dbg('Relative pathes by pattern (merge of user skin files and system skin files): ', $result); return $result; }
function preloadPHP($preload_php) { $sys_dir = dirname(dirname(__FILE__)) . '/'; $add_modules_dir = CConf::get('add_modules_dir'); $modules_dir = CConf::get('modules_dir'); if (is_readable($preload_php['combined_file'])) { global $include_combined_php; // emergency flag $include_combined_php = $preload_php['combined_file']; CTrace::dbg('Preload combined: ' . $preload_php['combined_file']); CProfiler::includeStart($include_combined_php); include_once $include_combined_php; CProfiler::includeStop(); CTrace::dbg('Done'); unset($include_combined_php); } else { if (strpos($preload_php['combined_file'], 'core') === false) { foreach ($preload_php['files'] as $php) { if (is_file(realpath($add_modules_dir . $php))) { $this->includeFile($add_modules_dir . $php); } else { $this->includeFile($modules_dir . $php); } } } else { foreach ($preload_php['files'] as $php) { $this->includeFile($sys_dir . $php); } } } }
/** * Executes the request. * * @return FALSE on failure or answer from the remote host * as array of headers, cookies and body */ function RunRequest() { CTrace::dbg('Bouncer:', $this); $bouncer_connection = $this->prepareConnection(); if ($bouncer_connection == false) { CTrace::wrn('Failed to make connection.'); return false; } $request_result = $this->processRequest($bouncer_connection); CTrace::dbg('Raw response:', $request_result); $this->closeConnection($bouncer_connection); if ($request_result == "") { CTrace::wrn('Responce is empty.'); return false; } $result = $this->parseRequestResult($request_result); CTrace::dbg('Parsed response:', $result); return $result; }