* $my_arr); //same as: $save_arr['$my_arr'] = $my_arr); * system_save($my_file, $my_arr); * // now the file $my_file will contain the following lines: * // global $my_arr; * // $my_arr = array ( * // '$my_arr' => val1', * // '$my_arr' => 'val2', * // '$my_arr' => 'val3' * // ); * ?> * * * @param string $file file path where $array contents will be saved * @array $var_list list of vars to be saved * @return bool * * @see config_save, config_load * */ function system_save($file, $array ) { //if ( ( $numargs = func_num_args() ) > 1) { $string = " $arg) { //$vname = utils_vname ($arg); //var_export($arg); $s = /*" global {$key};\n*/ "\${$key} = " . var_export($arg, true) . ";\n"; $string .= $s; } $string .= "\n?>"; return io_write_file($file, $string); //} else die('Wrong number of parameters!'); } function system_hashsalt_save($force=false) { global $fp_config; if ($force || !file_exists(HASHSALT_FILE)) return system_save(HASHSALT_FILE, array('fp_hashsalt'=>$fp_config['general']['blogid'] . ABS_PATH . BLOG_BASEURL .mt_rand())); return true; } define('SYSTEM_VER', '0.907'); function system_ver() { return 'fp-' . SYSTEM_VER; } function system_generate_id($string) { return 'fp-'.dechex(crc32($string) ^ mt_rand()); } function system_guessblogroot() { return substr($_SERVER['REQUEST_URI'], 0,strrpos($_SERVER['REQUEST_URI'],'/')+1); } function system_guessbaseurl() { return 'http://'.$_SERVER['HTTP_HOST']. BLOG_ROOT; } function system_getindex() { if (MOD_BLOG != INDEX) return MOD_BLOG; else return 'index.php'; } function system_unregister_globals() { $v = @ini_get('register_globals'); // on error we unregister anyway if ($v || is_null($v)) { foreach ($_REQUEST as $var => $val) { unset($GLOBALS[$var]); } } } function system_sanitizequery() { $err = false; foreach ($_GET as $k => $v) { if (preg_match('![<>]|://!', $v)) { $err = true; break; } } if ($err) { // @todo add log handler utils_redirect(); } } function system_prepare_iis() { if (!@$_SERVER['REQUEST_URI']) { $_SERVER['REQUEST_URI'] = substr($_SERVER['PHP_SELF'],1 ); if (isset($_SERVER['QUERY_STRING'])) { $_SERVER['REQUEST_URI'].='?'.$_SERVER['QUERY_STRING']; } } } function system_init_action_params() { global $fp_params; $fp_params = array(); if ($x = @$_GET['x']) $fp_params = utils_kexplode($x, ':;', false); $fp_params = array_merge($_GET, $fp_params); } function system_init() { system_sanitizequery(); system_unregister_globals(); system_prepare_iis(); $GLOBALS['fpdb'] = new FPDB; $GLOBALS['fp_widgets'] = new widget_indexer; $GLOBALS['smarty'] =& $GLOBALS['_FP_SMARTY']; $smarty =& $GLOBALS['smarty']; $GLOBALS['fp_config'] = config_load(); cookie_setup(); sess_setup(); user_loggedin(); ob_start(); $GLOBALS['theme'] =& theme_loadsettings(); $GLOBALS['lang'] =& lang_load(); plugin_loadall(); // init smarty $smarty->compile_dir = CACHE_DIR; $smarty->cache_dir = SMARTY_DIR . 'cache/'; $smarty->caching = 0; do_action('init'); ob_end_clean(); } function system_seterr($module, $val) { if ($module) $elem = 'success_'.$module; else $elem = 'success'; sess_add($elem, $val); } function system_geterr($module='') { if ($module) $elem = 'success_'.$module; else $elem = 'success'; return sess_remove($elem); } /* delayed print */ function system_dpr($action, $content) { $p = print_r($content,1); $f = create_function('', "echo '
$p
';"); add_action($action, $f); } ?>