-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;
?>