-86400 // generalized version of cmd[]-c // - fields and operators specifed // - unlimited number of conditions // - all default conditions from view definition are // completely redefined by the specified ones //optionaly set[] // setings to modify view behavior (can be combined with cmd) // set[23]=listlen-20 // set[23]=mlx-EN-FR-DE // - sets maximal number of viewed items in view 23 to 20 // - there can be more settings (future) - comma separated //optionaly als[] // user alias - see slice.php3 for more details // for more info see AA FAQ: http://apc-aa.sourceforge.net/faq/index.shtml#219 //ini_set('display_errors', 1); // ----- input variables normalization - start -------------------------------- // This code handles with "magic quotes" and "register globals" PHP (<5.4) setting // It make us sure, taht // 1) in $_POST,$_GET,$_COOKIE,$_REQUEST variables the values are not quoted // 2) the variables are imported in global scope and is quoted // We are trying to remove any dependecy on the point 2) and use only $_* superglobals function AddslashesDeep($value) { return is_array($value) ? array_map('AddslashesDeep', $value) : addslashes($value); } function StripslashesDeep($value) { return is_array($value) ? array_map('StripslashesDeep', $value) : stripslashes($value); } if ( get_magic_quotes_gpc() ) { $_POST = StripslashesDeep($_POST); $_GET = StripslashesDeep($_GET); $_COOKIE = StripslashesDeep($_COOKIE); $_REQUEST = StripslashesDeep($_REQUEST); } if (!ini_get('register_globals') OR !get_magic_quotes_gpc()) { foreach ($_REQUEST as $k => $v) { $$k = AddslashesDeep($v); } } // ----- input variables normalization - end ---------------------------------- require_once "./include/config.php3"; require_once AA_INC_PATH."easy_scroller.php3"; require_once AA_INC_PATH."util.php3"; require_once AA_INC_PATH."item.php3"; require_once AA_INC_PATH."view.php3"; require_once AA_INC_PATH."discussion.php3"; require_once AA_INC_PATH."pagecache.php3"; require_once AA_INC_PATH."searchlib.php3"; $encap = true; // just for calling extsessi.php require_once AA_INC_PATH."locsess.php3"; // DB_AA object definition add_vars(); // we tried to remove all global $db, so let's try to comment out following global object // honza 2015-12-30 // is_object( $db ) || ($db = getDB()); if (ctype_digit((string)$time_limit)) { @set_time_limit((int)$time_limit); } AA::$debug && AA::$dbg->group("/view.php3", "Start"); // Need to be able to set content-type for RSS, cannot do it in the view // because the cache wont reflect this if ($contenttype) { $contenttype = trim(strtolower($contenttype)); if ($len = strspn($contenttype,'abcdefghijklmnopqrstuvwxyz/')) { AA::$headers['type'] = substr($contenttype,0,$len); } } if ($filename) { header('Content-Description: File Transfer'); if (!$contenttype) { header('Content-Type: application/octet-stream'); } header('Content-Disposition: attachment; filename='.basename($filename)); header('Content-Transfer-Encoding: binary'); } $view_param = ParseViewParameters(); if ($convertfrom) { $view_param['convertfrom'] = $convertfrom; } if ($convertto) { $view_param['convertto'] = $convertto; } elseif (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')) { $view_param['convertto'] = 'utf-8'; } //create keystring from values, which exactly identifies resulting content $cache_key = get_hash($view_param, PageCache::globalKeyArray()); if ($cacheentry = $pagecache->getPage($cache_key, $nocache)) { $cacheentry->processPage(); } else { list($page_content, $cache_sid) = GetViewFromDB($view_param, true); $cacheentry = new AA_Cacheentry($page_content, AA::getHeaders()); $cacheentry->processPage(); if (!$nocache) { $str2find = new CacheStr2find($cache_sid, 'slice_id'); $pagecache->storePage($cache_key, $cacheentry, $str2find); } } AA::$debug && AA::$dbg->groupend("/view.php3", "Completed view"); if (AA::$debug) { AA::$dbg->duration_stat(); } exit; ?>