setTemplateDir(ROOT_DIR . '/tpl/'); $smarty->setCompileDir(ROOT_DIR . '/tpl_c/'); $smarty->setCacheDir(ROOT_DIR . '/cache/'); $smarty->caching = false; $smarty->assign('APPLICATION_NAME', NOMAPPLICATION); $smarty->assign('SERVER_URL', Utils::get_server_name()); $smarty->assign('SCRIPT_NAME', $_SERVER['SCRIPT_NAME']); $smarty->assign('TITLE_IMAGE', IMAGE_TITRE); $smarty->assign('use_nav_js', file_exists($_SERVER['DOCUMENT_ROOT'] . '/nav/nav.js')); $smarty->assign('html_lang', $html_lang); $smarty->assign('langs', $ALLOWED_LANGUAGES); $smarty->assign('date_format', $date_format); // Dev Mode if ($_SERVER['FRAMADATE_DEVMODE']) { $smarty->force_compile = true; $smarty->compile_check = true; } else { $smarty->force_compile = false; $smarty->compile_check = false; } function smarty_function_poll_url($params, Smarty_Internal_Template $template) { $poll_id = filter_var($params['id'], FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => POLL_REGEX]]); $admin = $params['admin']?true:false; $vote_unique_id = filter_var($params['vote_id'], FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => POLL_REGEX]]); // If filter_var fails (i.e.: hack tentative), it will return false. At least no leak is possible from this. return Utils::getUrlSondage($poll_id, $admin, $vote_unique_id); } function smarty_modifier_markdown($md, $clear = false) { return Utils::markdown($md, $clear); } function smarty_modifier_resource($link) { return Utils::get_server_name() . $link; } function smarty_modifier_html($html) { return Utils::htmlEscape($html); }