/** * Fills template with headers and cells array * @param $headers - array of column headers * @param $cells - array of cell values * @param $caption - caption of table * @param $rows - number of rows * @param $cols - caption of columns */ function fillTable($headers, $cells, $caption, $rows, $cols) { // initializing of fasttemplate $ft = new FastTemplate("./templates/"); $ft->define(array('table' => "flextable.html")); $ft->define_dynamic("header", "table"); $ft->define_dynamic("rows", "table"); $ft->define_dynamic("cols", "table"); //handling headers (column names) foreach ($headers as $head) { $ft->assign(array('header' => $head)); $ft->parse('HEADERS', ".header"); } // handling cells foreach ($cells as $row) { foreach ($row as $cell) { $ft->assign(array('cellvalue' => $cell)); $ft->parse('COLS', ".cols"); } $ft->parse('ROWS', ".rows"); $ft->clear("COLS"); } $ft->assign("caption", $caption); $ft->assign("rows", $rows); $ft->assign("cols", $cols); $ft->parse('MAIN', "table"); $ft->FastPrint('MAIN'); }
require PATH_TO_CLASSES . "/cls_db_mysql.php"; // dodawanie pliku konfigurujacego bibliotekê baz danych require PATH_TO_CLASSES . '/cls_fast_template.php'; require "administration/inc/config.php"; require "inc/common_lib.php"; require "inc/main_lib.php"; // mysql_server_version get_mysql_server_version(); $db = new DB_SQL(); $query = sprintf("\r\n SELECT \r\n b.*, a.id, a.title \r\n FROM \r\n %1\$s b \r\n LEFT JOIN \r\n %2\$s a \r\n ON \r\n b.comments_id = a.id \r\n GROUP BY \r\n date \r\n DESC \r\n LIMIT \r\n %3\$d", TABLE_COMMENTS, TABLE_MAIN, 10); $db->query($query); $rewrite = get_config('mod_rewrite'); $lang = get_config('language_set'); $ft = new FastTemplate('./templates/' . $lang . '/main/tpl/'); $ft->define('xml_feed', 'xml_feed.tpl'); $ft->define_dynamic('xml_row', 'xml_feed'); $http_root = get_httproot(); $ft->assign(array('MAINSITE_LINK' => 'http://' . $http_root, 'NEWS_FEED' => false)); if ($db->num_rows() > 0) { while ($db->next_record()) { $date = $db->f("date"); $title = $db->f("title"); $text = $db->f("text"); $author = $db->f("author"); $id = $db->f("id"); $image = $db->f("image"); $comments_allow = $db->f("comments_allow"); $comments = $db->f("comments"); $date = coreRssDateConvert($date); $pattern = array("&", "<br />", "<", ">"); $replacement = array(" & ", "<br />", "<", ">");
case '7': $privilege_level = 3; break; case '15': $privilege_level = 4; break; case '31': $privilege_level = 5; break; } // Templates // inicjowanie klasy, wkazanie katalogu przechowujacego szablony $ft = new FastTemplate(pathjoin('templates', $lang, 'tpl')); // tablica definicji użytych plików *.tpl $ft->define(array('index' => 'index.tpl', 'main_loader' => 'main_loader.tpl', 'result_note' => 'result_note.tpl', 'menu_header' => 'menu_header.tpl', 'menu' => 'menu.tpl')); $ft->define_dynamic('menu_row', 'menu'); // przełącznica ładowanej treści $CorePage = isset($_GET['p']) ? $_GET['p'] : 0; $CoreModulesMap = array(1 => 'add_note.php', 2 => 'edit_note.php', 3 => 'add_page.php', 4 => 'edit_page.php', 5 => 'edit_comments.php', 6 => 'most_comments.php', 7 => 'add_user.php', 8 => 'add_category.php', 9 => 'edit_category.php', 10 => 'core_configuration.php', 11 => 'add_links.php', 12 => 'edit_links.php', 13 => 'edit_users.php', 14 => 'edit_templates.php', 15 => 'transfer_note.php', 16 => 'list_note.php'); if (array_key_exists($CorePage, $CoreModulesMap)) { require pathjoin(PATH_TO_MODULES_ADM, $CoreModulesMap[$CorePage]); } else { require pathjoin(PATH_TO_MODULES_ADM, 'main.php'); } //menu glowne - zaznaczenie wybranej zakladki if (in_array($CorePage, array(1, 2, 5, 6, 16))) { $tag = 'NEWS_CURRENT'; } elseif (in_array($CorePage, array(3, 4))) { $tag = 'PAGES_CURRENT'; } elseif (in_array($CorePage, array(7, 13))) { $tag = 'USERS_CURRENT';
default: $CorePage = ''; } $CoreId = $start_page_id; } else { $CoreId = isset($_GET['id']) ? $_GET['id'] : ''; $CorePage = $_GET['p']; } $CoreModulesMap = array(1 => 'alter_view.php', 2 => 'comments_view.php', 3 => 'comments_add.php', 4 => 'category_view.php', 5 => 'pages_view.php', 6 => 'articles_view.php', 7 => 'newsletter.php', 8 => 'search.php', 9 => 'date_view.php'); require_once pathjoin(PATH_TO_MODULES_USER, array_key_exists($CorePage, $CoreModulesMap) ? $CoreModulesMap[$CorePage] : 'main_view.php'); // wyznaczamy szablon jaki ma byc parsowany, sprawdzajac // czy faktycznie znajduje sie on w katalogu z szablonami if (!isset($assigned_tpl) || !file_exists(pathjoin(ROOT, 'templates', $lang, $theme, 'tpl', $assigned_tpl . '_page.tpl'))) { $assigned_tpl = 'main_page'; } $ft->define_dynamic('alternate_design_row', $assigned_tpl); while ($d = $read_dir->read()) { if ($d[0] != '.') { $ft->assign(array('ALTERNATE_TEMPLATE' => $d, 'TEMPLATE_LINK' => $CoreRewrite->template_switch($d, $rewrite))); $ft->parse('ALTERNATE_DESIGN_ROW', '.alternate_design_row'); } } // tablica includowanych modulow $modules = array('category_list', 'pages_list', 'links_list'); while (list($m) = each($modules)) { require_once PATH_TO_MODULES_USER . $modules[$m] . '.php'; } if ((bool) $show_calendar) { $ft->assign(array('LINKED' => false, 'SHOW_CALENDAR' => true)); $calendar = new calendar(); $calendar->display_calendar();
$nr_totalrecords = mysql_num_rows($retid); $i = 0; if ($row = mysql_fetch_array($retid)) { do { $id[$i] = $row["id"]; $description[$i] = $row["description"]; $name[$i] = $row["name"]; $value[$i] = $row["value"]; $comment[$i] = $row["comment"]; $type[$i] = $row["type"]; $i++; } while ($row = mysql_fetch_array($retid)); } $nr = $i; $ft->setPattern(array("LANG_", "CONF_")); $ft->define_dynamic("conf_list", "content"); for ($i = 0; $i < $nr; $i++) { switch ($type[$i]) { case 1: // textField $value_str = "<input size=40 type=text name='" . "CNF_" . $name[$i] . "' value='" . $value[$i] . "'>"; break; case 2: // textArea $value_str = "<textarea cols=50 rows=5 name='" . "CNF_" . $name[$i] . "'>" . $value[$i] . "</textarea>"; break; case 3: // select Menu $value_str = "<select name='" . "CNF_" . $name[$i] . "'>"; $options = explode("|", $comment[$i]); for ($j = 0; $j < count($options); $j += 2) {
<?php // Example FastTemplate Dynamic Demo // The dynamic example from the man page Header("Content-type: text/plain; charset=utf-8"); include "class.FastTemplate.php"; $tpl = new FastTemplate("./templates"); $start = $tpl->utime(); $tpl->define(array('main' => "main.tpl", 'table' => "dynamic.tpl")); $tpl->assign(array('TITLE' => "FastTemplate Dynamic Test")); $tpl->define_dynamic("row", "table"); for ($n = 1; $n <= 3; $n++) { $Number = $n; $BigNum = $n * 10; $tpl->assign(array('NUMBER' => $Number, 'BIG_NUMBER' => $BigNum)); $tpl->parse('{ROWS}', ".row"); } $tpl->parse('MAIN', array("table", "main")); $tpl->FastPrint(); $end = $tpl->utime(); $run = $end - $start; echo "Runtime [{$run}] seconds<BR>\n"; exit;
require PATH_TO_CLASSES . "/cls_db_mysql.php"; // dodawanie pliku konfigurujacego bibliotekê baz danych require PATH_TO_CLASSES . '/cls_fast_template.php'; require "administration/inc/config.php"; require "inc/common_lib.php"; require "inc/main_lib.php"; // mysql_server_version get_mysql_server_version(); $db = new DB_SQL(); $query = sprintf("\n SELECT \n a.*, b.*, c.comments_id, count(DISTINCT c.id) \n AS \n comments \n FROM \n %1\$s a, \n %2\$s b \n LEFT JOIN \n %3\$s c \n ON \n a.id = c.comments_id \n LEFT JOIN \n %4\$s d \n ON \n a.id = d.news_id\n WHERE \n published = '1' \n GROUP BY \n a.date \n DESC \n LIMIT \n %5\$d", TABLE_MAIN, TABLE_CATEGORY, TABLE_COMMENTS, TABLE_ASSIGN2CAT, 10); $db->query($query); $rewrite = get_config('mod_rewrite'); $lang = get_config('language_set'); $ft = new FastTemplate('./templates/' . $lang . '/main/tpl/'); $ft->define('xml_feed', 'xml_feed.tpl'); $ft->define_dynamic('xml_row', 'xml_feed'); $ft->define_dynamic("cat_row", "xml_feed"); $http_root = get_httproot(); $ft->assign(array('MAINSITE_LINK' => 'http://' . $http_root, 'NEWS_FEED' => true)); if ($db->num_rows() > 0) { while ($db->next_record()) { $date = $db->f("date"); $title = $db->f("title"); $text = $db->f("text"); $author = $db->f("author"); $id = $db->f("id"); $image = $db->f("image"); $comments_allow = $db->f("comments_allow"); // Przypisanie zmiennej $comments $comments = $db->f("comments"); // zmiana formatu wy¶wietlania daty
/** * * @author - Elteto Zoltan * @desc - get the sidebar from table * @vers - 1.0 */ public function getSideBar() { $ft = new FastTemplate(ADMIN_TEMPLATE_CONTENT_PATH); $ft->define(array("main" => "sidebar.html")); $template = $ft->get_template("sidebar.html"); $var_array = $ft->getPrefPatternVariables("IS_", $template); // only show if is available $SQL = "SELECT * FROM `" . DB_PREFIX . $this->table_name . "` WHERE availability=1 ORDER BY `position` ASC"; $retid = mysql_query($SQL); if (!$retid) { echo mysql_error(); } $i = 0; if ($row = mysql_fetch_array($retid)) { do { $module_id[$i] = $row["module_id"]; $module_name[$i] = $row["module_name"]; $availability[$i] = $row["availability"]; $filename[$i] = $row["filename"]; $extra_menu[$i] = $row["extra_menu"]; $restriction_name[$i] = $row["restriction_name"]; $i++; } while ($row = mysql_fetch_array($retid)); } $nrmodules = $i; if ($nrmodules == 0) { $ft->assign("SIDEBAR_EXIST", 0); } else { $ft->assign("SIDEBAR_EXIST", 1); $ft->setPattern(array("LANG_", "CONF_")); $ft->define_dynamic("sideex", "main"); for ($i = 0; $i < $nrmodules; $i++) { $ft->assign("MODULE_NAME", constant($module_name[$i])); $ft->assign("FILENAME", $filename[$i]); //restriction if (!empty($restriction_name[$i])) { $tmp = array($restriction_name[$i]); foreach ($var_array as $value) { $ft->assign("{$value}", in_array($value, $tmp) ? 0 : 1); } } else { foreach ($var_array as $value) { $ft->assign("{$value}", 1); } } // could be extra details what admin want to show. This is in extra_menu field. if (!empty($extra_menu[$i])) { $var_lang_array = $ft->getPrefPatternVariables("LANG_", $extra_menu[$i]); foreach ($var_lang_array as $language) { $extra_menu[$i] = str_replace("{" . $language . "}", constant($language), $extra_menu[$i]); } $ft->assign("ISEXTRA_MENU", 1); $ft->assign("EXTRA_MENU", $extra_menu[$i]); } else { $ft->assign("ISEXTRA_MENU", 0); } $ft->parse("SIDEEX", ".sideex"); } } $ft->multiple_assign_define("LANG_"); $ft->multiple_assign_define("CONF_"); $ft->parse("mainContent", "main"); return $ft->fetch("mainContent"); }
} fclose($file); header("Location: languageeditor.php"); exit; } if (empty($all_url_vars['language_checkbox'])) { $mode = "first_page"; } else { $mode = "edit_page"; $new_language_data = array(); foreach ($all_url_vars['language_checkbox'] as $lang_key => $lang_value) { $new_language_data[$lang_key] = $language_data[$lang_key]; } $language_data = $new_language_data; } $ft->define_dynamic("row", "content"); foreach ($language_data as $lang_key => $lang_value) { $ft->assign("LANGUAGE_KEY", $lang_key); if ($mode == "first_page") { $ft->assign("LANGUAGE_VALUE", htmlspecialchars_decode($lang_value)); $ft->assign("LANGUAGE_CHECKBOX", "<input type='checkbox' id='{$lang_key}' name='language_checkbox[{$lang_key}]' />"); } else { $ft->assign("LANGUAGE_VALUE", "<input type='text' id='{$lang_key}' name='language_text[{$lang_key}]' value='" . htmlspecialchars_decode($lang_value) . "' size='60' />"); $ft->assign("LANGUAGE_CHECKBOX", ""); } $ft->parse("ROW", ".row"); } $ft->multiple_assign_define("LANG_"); $ft->multiple_assign_define("CONF_"); $ft->assign("SIDEBAR", $sb->getSideBar()); $ft->parse("BODY", array("content", "main"));
} function name_cleaner($name) { return preg_replace("/[^a-zA-Z0-9\\-\\_]/", "", $name); } function return_dead() { $this->mod = 'main_view'; } } // wyznaczamy szablon jaki ma byc parsowany, sprawdzajac // czy faktycznie znajduje sie on w katalogu z szablonami if (!isset($assigned_tpl) || !file_exists('./templates/' . $lang . '/' . $theme . '/tpl/' . $assigned_tpl . '_page.tpl')) { $assigned_tpl = 'main_page'; } $ft->define_dynamic("alternate_design_row", $assigned_tpl); while ($d = $read_dir->read()) { if ($d[0] != '.') { // link do alternatywnego szablonu $template_link = (bool) $rewrite ? sprintf('2,%s,item.html', $d) : 'design.php?issue=' . $d; $ft->assign(array('ALTERNATE_TEMPLATE' => $d, 'TEMPLATE_LINK' => $template_link)); $ft->parse('ALTERNATE_DESIGN_ROW', ".alternate_design_row"); } } $loader = new loader(); require_once PATH_TO_MODULES . '/' . $loader->mod . $loader->MODULE_EXTENSION; // tablica includowanych modulow $modules = array('category_list', 'pages_list', 'links_list'); while (list($m) = each($modules)) { require_once PATH_TO_MODULES . '/' . $modules[$m] . '.php'; }
// fieldset name $ftphp->assign("SELECT_WHAT", $select_what); $ftphp->assign("OTHER_INCLUDE_MODULES", $otherinclude); $ftphp->assign("FILENAME", $NAME . ".html"); $ftphp->assign("CLS", $session->get("name")); $ftphp->assign("VARR", "\$" . $session->get("variable")); $ftphp->assign("FUNC_NAME1ELEMENT", $fields[0]); $ftphp->assign("FUNC_NAME1ELEMENT_UCF", ucfirst($fields[0])); //Kszili UC FIRST field for get Method $ftphp->assign("FLDS", $flds); $ftphp->assign("TBL_NAME", $session->get("tablename")); $ftphp->assign("PROJECT_USER_BASE_FILENAME", $session->get("name")); //activate or not $ftphp->assign("ISACTIVATED", !empty($all_url_vars["active_select"])); $ftphp->assign("ACTIVE_ELEMENT", $all_url_vars["active_select"]); $ftphp->define_dynamic("phpelements", "main"); $ftphp->define_dynamic("get_elements", "main"); $ftphp->define_dynamic("set_elements", "main"); $ftphp->define_dynamic("formelements", "main_user"); $ftphp->define_dynamic("errformelements", "main"); $ftphp->define_dynamic("errmodformelements", "main"); $ftphp->define_dynamic("unsetformelements", "main"); $ftphp->define_dynamic("langerrformelements", "main"); $ftphp->define_dynamic("switchelements", "main"); // for required fields in PHP error. $tmp_required = $session->get("required"); $k = 0; foreach ($items as $key => $it) { if ($it == "hidden" || $it == "checkbox" || $it == "radio" || $it == "select") { $ftphp->assign("FUNC_NAME", $key); $ftphp->parse('PHPELEMENTS', ".phpelements");
<?php /** $Id: ifelse.php,v 1.2 2005/06/15 19:37:15 vadim Exp $ * Example of using new features in FastTemplate * start: Mon Jan 17 23:21:10 EET 2005 @931 /Internet Time/ * @author Voituk Vadim <voituk###asg.kiev.ua> */ require_once 'cls_fast_template.php'; $Template = new FastTemplate('./templates'); // You can use array or 2 strings as this function parameters //$Template->define(array('main', 'ifelse.html')); $Template->define('main', 'ifelse.html'); $Template->define_dynamic('dn_test', 'main'); $Template->assign(array('USER_NAME' => $_REQUEST['name'], 'USER_SURNAME' => $_REQUEST['surname'])); for ($i = 1; $i < 6; ++$i) { $Template->assign(array('NUMBER' => $i, 'is_li_selected' => $_REQUEST['number'] == $i ? 'true' : '')); $Template->parse('TMP', '.dn_test'); } $Template->showDebugInfo(1); print $Template->parse_and_return('main'); //<---- New method too
// } // else // { // $buffer_insert .= "`" . $fields[$i] . "_{\$this->lang}` "; // $buffer .= "`" . $fields[$i] . "_{\$this->lang}` AS `" . $fields[$i] ."`"; // } if ($i != $nr - 1) { $buffer .= ","; $buffer_insert .= ","; } } $ft->assign("LIST", $buffer); $ft->assign("LIST_IN", $buffer_insert); if ($all_url_vars['type'] == "php") { // for variables $ft->define_dynamic("getfunctionsvar", "main"); for ($i = 0; $i < $function_nr; $i++) { $ft->assign("CLASSVAR", $all_url_vars['varname']); $ft->assign("FUNC_NAME", $functions[$i]); $ft->parse("GETFUNCTIONSVAR", ".getfunctionsvar"); } $ft->define_dynamic("setfunctionsvar", "main"); for ($i = 0; $i < $function_nr; $i++) { $ft->assign("CLASSVAR", $all_url_vars['varname']); $ft->assign("FUNC_NAME", $functions[$i]); $ft->parse("SETFUNCTIONSVAR", ".setfunctionsvar"); } // for class $ft->define_dynamic("row", "main"); for ($i = 0; $i < $nr; $i++) { $ft->assign("VARIABLES", $fields[$i]);