function cs_ajaxwrap() { global $cs_main, $account; $json = array(); header('Content-Type:application/json'); if (empty($cs_main['public']) and $account['access_clansphere'] < $cs_main['maintenance_access']) { return json_encode(array('location' => '', 'reload' => 1)); } if (!isset($_REQUEST['xhr_nocontent'])) { $content = cs_contentload($cs_main['show']); $json['title'] = html_entity_decode(cs_title(), ENT_NOQUOTES, $cs_main['charset']); $pathPrefix = str_replace('\\', '/', $cs_main['php_self']['dirname'] . $cs_main['php_self']['filename']) . '/'; $uri = preg_replace('/^(.*?)\\.php\\??(.*?)$/s', '\\2', $_SERVER['REQUEST_URI']); $uri = preg_replace('/[&\\?\\/]?(xhr_navlists[=\\/])[^&\\/]*/s', '', $uri); $uri = str_replace(array('&xhr=1', '/xhr/1', '&xhr_nocontent=1', 'params=/', '/params//', $pathPrefix), '', $uri); $uri = preg_replace('/' . str_replace('/', '\\/', $cs_main['php_self']['dirname']) . '/s', '', $uri, 0); $json['location'] = $uri; if (isset($cs_main['ajax_js'])) { $json['scripts'] = $cs_main['ajax_js']; } $json['content'] = $content; } if (isset($_REQUEST['xhr_navlists'])) { $navs = explode(',', $_REQUEST['xhr_navlists']); $navlists = array(); foreach ($navs as $nav) { $navlist = explode('-', $nav); if ($navlist[1] != 'func') { $navlists[$nav] = cs_templatefile($navlist); } } $json['navlists'] = $navlists; } if (!empty($cs_main['debug'])) { global $cs_logs; $cs_logs['php_errors'] = nl2br($cs_logs['php_errors']); $cs_logs['errors'] = nl2br($cs_logs['errors']); $data = array('data'); $data['data']['log_sql'] = cs_log_format('sql'); $data['data']['php_errors'] = $cs_logs['php_errors']; $data['data']['csp_errors'] = $cs_logs['errors']; $json['debug'] = cs_subtemplate(__FILE__, $data, 'clansphere', 'debug'); } return json_encode($json); }
function cs_tokenizer_parse($template) { global $cs_main; $parts = count($template); for ($i = 1; $i < $parts; $i++) { if (is_array($template[$i])) { if (isset($template[$i]['noajax']) or empty($cs_main['ajax'])) { $template[$i] = cs_templatefile(array_flip($template[$i])); } else { $template[$i] = cs_wrap_templatefile(array_flip($template[$i])); } } $i++; } return $template; }