session_write_close(); header("location: index.php?updated"); } } // here, the user has just changed their ui language if (isset($_GET["updated"])) { $g_success = true; $g_message = $LANG["notify_account_updated"]; } $admin_info = ft_get_admin_info(); $replacement_info = array("datefunctionlink" => '<a href="http://ca3.php.net/manual/en/function.date.php" target="_blank">date()</a>'); // ------------------------------------------------------------------------------------------------ // compile the theme variables $page_vars = array(); $page_vars["page"] = "your_account"; $page_vars["page_url"] = ft_get_page_url("your_account"); $page_vars["head_title"] = $LANG["phrase_your_account"]; $page_vars["admin_info"] = $admin_info; $page_vars["text_date_formatting_link"] = ft_eval_smarty_string($LANG["text_date_formatting_link"], $replacement_info); $page_vars["head_js"] = <<<END var rules = []; rules.push("required,first_name,{$LANG["validation_no_first_name"]}"); rules.push("required,last_name,{$LANG["validation_no_last_name"]}"); rules.push("required,email,{$LANG["validation_no_email"]}"); rules.push("required,theme,{$LANG["validation_no_theme"]}"); rules.push("function,validate_swatch"); rules.push("required,login_page,{$LANG["validation_no_login_page"]}"); rules.push("required,logout_url,{$LANG["validation_no_account_logout_url"]}"); rules.push("required,ui_language,{$LANG["validation_no_ui_language"]}"); rules.push("required,sessions_timeout,{$LANG["validation_no_sessions_timeout"]}"); rules.push("required,date_format,{$LANG["validation_no_date_format"]}");
$updated_field_option_groups = array(); $updated_option_lists = array(); foreach ($option_lists as $option_list) { $list_id = $option_list["list_id"]; // add the number of fields that use this option group $option_list["num_fields"] = ft_get_num_fields_using_option_list($list_id); if ($option_list["num_fields"] > 0) { $option_list["fields"] = ft_get_fields_using_option_list($list_id, array("group_by_form" => true)); } // add the total number of options in this group $option_list["num_option_list_options"] = ft_get_num_options_in_option_list($list_id); $updated_option_lists[] = $option_list; } $all_option_lists = ft_get_option_lists("all"); // ------------------------------------------------------------------------------------------------ // compile template info $page_vars = array(); $page_vars["page"] = "option_lists"; $page_vars["text_option_list_page"] = ft_eval_smarty_string($LANG["text_option_list_page"], array("link" => "../add/step1.php")); $page_vars["page_url"] = ft_get_page_url("option_lists"); $page_vars["head_title"] = $LANG["phrase_option_lists"]; $page_vars["option_lists"] = $updated_option_lists; $page_vars["num_option_lists"] = $num_option_lists; $page_vars["all_option_lists"] = $all_option_lists["results"]; $page_vars["order"] = $order; $page_vars["js_messages"] = array("validation_delete_non_empty_option_list", "confirm_delete_option_list", "phrase_please_confirm", "word_yes", "word_no", "word_edit", "word_remove"); $page_vars["pagination"] = ft_get_page_nav($num_option_lists, $num_option_lists_per_page, $option_list_page); $page_vars["head_string"] = <<<END <script src="{$g_root_url}/global/scripts/manage_option_lists.js"></script> END; ft_display_page("admin/forms/option_lists/index.tpl", $page_vars);
$installed_modules = array(); foreach ($updated_modules as $module_info) { // we can rely on these guys being returned first if ($module_info["is_installed"] == "no") { $sorted_modules[] = $module_info; } else { if ($module_info["needs_upgrading"]) { $sorted_modules[] = $module_info; } else { $installed_modules[] = $module_info; } } } $modules = array_merge($sorted_modules, $installed_modules); // ------------------------------------------------------------------------------------------ // compile header information $page_vars = array(); $page_vars["page"] = "modules"; $page_vars["page_url"] = ft_get_page_url("modules"); $page_vars["head_title"] = $LANG["word_modules"]; $page_vars["modules"] = $modules; $page_vars["num_modules"] = $num_modules; $page_vars["order"] = $order; $page_vars["search_criteria"] = $search_criteria; $page_vars["module_ids_in_page"] = $module_ids_in_page; $page_vars["pagination"] = ft_get_dhtml_page_nav(count($modules), $_SESSION["ft"]["settings"]["num_modules_per_page"], 1); $page_vars["js_messages"] = array("validation_modules_search_no_status", "phrase_please_enter_license_key", "word_yes", "word_no", "phrase_please_confirm", "confirm_uninstall_module", "word_close", "word_verify", "notify_invalid_license_key", "notify_license_key_no_longer_valid", "notify_unknown_error"); $page_vars["head_string"] = <<<END <script src="../../global/scripts/manage_modules.js"></script> END; ft_display_page("admin/modules/index.tpl", $page_vars);
$submission_placeholders = ft_get_submission_placeholders($form_id, $submission_id); $edit_submission_page_label = ft_eval_smarty_string($form_info["edit_submission_page_label"], $submission_placeholders); $validation_js = ft_generate_submission_js_validation($grouped_fields); // get all the shared resources $settings = ft_get_settings("", "core"); $shared_resources_list = $settings["edit_submission_onload_resources"]; $shared_resources_array = explode("|", $shared_resources_list); $shared_resources = ""; foreach ($shared_resources_array as $resource) { $shared_resources .= ft_eval_smarty_string($resource, array("g_root_url" => $g_root_url)) . "\n"; } // ------------------------------------------------------------------------------------------------ // compile the header information $page_vars = array(); $page_vars["page"] = "admin_edit_submission"; $page_vars["page_url"] = ft_get_page_url("admin_edit_submission"); $page_vars["head_title"] = $edit_submission_page_label; $page_vars["form_info"] = $form_info; $page_vars["form_id"] = $form_id; $page_vars["view_id"] = $view_id; $page_vars["submission_id"] = $submission_id; $page_vars["tabs"] = $tabs; $page_vars["settings"] = $settings; $page_vars["tab_number"] = $tab_number; $page_vars["grouped_fields"] = $grouped_fields; $page_vars["field_types"] = $page_field_types; $page_vars["previous_link_html"] = $prev_link_html; $page_vars["page_has_required_fields"] = $page_has_required_fields; $page_vars["search_results_link_html"] = $search_results_link_html; $page_vars["next_link_html"] = $next_link_html; $page_vars["tab_has_editable_fields"] = count($editable_tab_fields) > 0;
<?php if (isset($request["update_main"])) { list($g_success, $g_message) = ft_update_main_settings($_POST); } $page_vars = array(); $page_vars["page"] = "main"; $page_vars["page_url"] = ft_get_page_url("settings_main"); $page_vars["tabs"] = $tabs; $page_vars["head_title"] = "{$LANG["word_settings"]} - {$LANG["word_main"]}"; $replacement_info = array("datefunctionlink" => '<a href="http://ca3.php.net/manual/en/function.date.php" target="_blank">date()</a>'); $page_vars["text_date_formatting_link"] = ft_eval_smarty_string($LANG["text_date_formatting_link"], $replacement_info); $page_vars["head_js"] = <<<END var rules = []; rules.push("required,program_name,{$LANG["validation_no_program_name"]}"); rules.push("required,num_clients_per_page,{$LANG["validation_no_num_clients_per_page"]}"); rules.push("digits_only,num_clients_per_page,{$LANG["validation_invalid_num_clients_per_page"]}"); rules.push("required,num_emails_per_page,{$LANG["validation_no_num_emails_per_page"]}"); rules.push("digits_only,num_emails_per_page,{$LANG["validation_invalid_num_emails_per_page"]}"); rules.push("required,num_forms_per_page,{$LANG["validation_no_num_forms_per_page"]}"); rules.push("digits_only,num_forms_per_page,{$LANG["validation_invalid_num_forms_per_page"]}"); rules.push("required,num_option_lists_per_page,{$LANG["validation_no_num_option_lists_per_page"]}"); rules.push("digits_only,num_option_lists_per_page,{$LANG["validation_invalid_num_option_lists_per_page"]}"); rules.push("required,num_menus_per_page,{$LANG["validation_no_num_menus_per_page"]}"); rules.push("digits_only,num_menus_per_page,{$LANG["validation_invalid_num_menus_per_page"]}"); rules.push("required,num_modules_per_page,{$LANG["validation_no_num_modules_per_page"]}"); rules.push("digits_only,num_modules_per_page,{$LANG["validation_invalid_num_modules_per_page"]}"); END; ft_display_page("admin/settings/index.tpl", $page_vars);
} $uploaded_files = ft_get_uploaded_files($form_id, $file_field_ids); // delete the form if (isset($_POST["delete_form"]) && $_POST["delete_form"] == "yes") { $delete_files = isset($_POST['delete_files']) && $_POST['delete_files'] == "yes" ? true : false; list($g_success, $g_message) = ft_delete_form($form_id, $delete_files); // redirect back to the form list page header("location: {$g_root_url}/admin/forms/"); exit; } // ------------------------------------------------------------------------------------------------ // compile the header information $page_vars = array(); $page_vars["head_title"] = $LANG["phrase_delete_form"]; $page_vars["page"] = "delete_form"; $page_vars["page_url"] = ft_get_page_url("delete_form"); $page_vars["form_id"] = $form_id; $page_vars["form_info"] = $form_info; $page_vars["uploaded_files"] = $uploaded_files; $page_vars["head_js"] = <<<END var page_ns = {}; page_ns.show_uploaded_files = function(){ \$('#uploaded_files').show(600); } var rules = ["required,delete_form,{$LANG["validation_delete_form_confirm"]}"]; \$(function() { \$("#delete_form").focus(); }); END; ft_display_page("admin/forms/delete_form.tpl", $page_vars);
$themes = ft_get_themes(); // check permissions on all the themes $updated_themes = array(); foreach ($themes as $theme_info) { $cache_folder = "{$g_root_dir}/themes/{$theme_info["theme_folder"]}/cache"; $theme_info["cache_folder_writable"] = is_writable($cache_folder); // if this theme uses swatches, generate a list if ($theme_info["uses_swatches"] == "yes") { $theme_info["available_swatches"] = ft_get_theme_swatch_list($theme_info["swatches"]); } $updated_themes[] = $theme_info; } // compile the header information $page_vars = array(); $page_vars["page"] = "themes"; $page_vars["page_url"] = ft_get_page_url("settings_themes"); $page_vars["head_title"] = "{$LANG["word_settings"]} - {$LANG["word_themes"]}"; $page_vars["nav_page"] = "program_settings"; $page_vars["themes"] = $updated_themes; $page_vars["js_messages"] = ""; $page_vars["admin_theme"] = $_SESSION["ft"]["account"]["theme"]; $page_vars["admin_theme_swatch"] = $_SESSION["ft"]["account"]["swatch"]; $page_vars["client_theme"] = $_SESSION["ft"]["settings"]["default_theme"]; $page_vars["client_theme_swatch"] = $_SESSION["ft"]["settings"]["default_client_swatch"]; $page_vars["head_js"] = <<<EOF var rules = []; rules.push("required,admin_theme,{$LANG["validation_no_admin_theme"]}"); rules.push("function,validate_admin_swatch"); rules.push("required,default_client_theme,{$LANG["validation_no_default_client_theme"]}"); rules.push("function,validate_client_swatch");
$account_type = isset($_SESSION["ft"]["account"]["account_type"]) ? $_SESSION["ft"]["account"]["account_type"] : ""; $account_id = isset($_SESSION["ft"]["account"]["account_id"]) ? $_SESSION["ft"]["account"]["account_id"] : ""; if ($account_type == "client" && $page_info["access_type"] == "private") { if (!in_array($account_id, $page_info["clients"])) { ft_handle_error("Sorry, you do not have permissions to see this page."); exit; } } $content = $page_info["content"]; switch ($page_info["content_type"]) { case "php": ob_start(); eval($page_info["content"]); $content = ob_get_contents(); ob_end_clean(); break; case "smarty": $content = ft_eval_smarty_string($page_info["content"]); break; } // ------------------------------------------------------------------------------------------------ $page_vars = array(); $page_vars["page"] = "custom_page"; $page_vars["page_id"] = $page_id; $page_vars["phrase_edit_page"] = $LANG["pages"]["phrase_edit_page"]; $page_vars["account_type"] = $account_type; $page_vars["page_url"] = ft_get_page_url("custom_page"); $page_vars["head_title"] = "{$LANG["pages"]["word_page"]} - {$page_info["heading"]}"; $page_vars["page_info"] = $page_info; $page_vars["content"] = $content; ft_display_page("../../modules/pages/templates/page.tpl", $page_vars);
<?php if (isset($_POST['update_client'])) { list($g_success, $g_message) = ft_admin_update_client($request, 2); } // if required, update the list of available languages if (isset($_GET["refresh_lang_list"])) { list($g_success, $g_message) = ft_refresh_language_list(); } $client_info = ft_get_account_info($client_id); $forms = ft_search_forms($client_id); $replacement_info = array("datefunctionlink" => '<a href="http://ca3.php.net/manual/en/function.date.php" target="_blank">date()</a>'); // ------------------------------------------------------------------------------------------- // compile header information $page_vars["page"] = "settings"; $page_vars["page_url"] = ft_get_page_url("edit_client_settings", array("client_id" => $client_id)); $page_vars["head_title"] = "{$LANG["phrase_edit_client"]} - {$LANG["word_settings"]}"; $page_vars["phrase_one_special_char"] = ft_eval_smarty_string($LANG["phrase_one_special_char"], array("chars" => $g_password_special_chars)); $page_vars["client_info"] = $client_info; $page_vars["forms"] = $forms; $page_vars["client_id"] = $client_id; $page_vars["text_date_formatting_link"] = ft_eval_smarty_string($LANG["text_date_formatting_link"], $replacement_info); $page_vars["head_js"] = <<<END var rules = []; rules.push("required,page_titles,{$LANG["validation_no_titles"]}"); rules.push("required,menu_id,{$LANG["validation_no_menu"]}"); rules.push("required,theme,{$LANG["validation_no_theme"]}"); rules.push("function,validate_swatch"); rules.push("required,login_page,{$LANG["validation_no_client_login_page"]}"); rules.push("required,logout_url,{$LANG["validation_no_logout_url"]}"); rules.push("required,ui_language,{$LANG["validation_no_ui_language"]}");
if (in_array("uppercase", $required_password_chars)) { $conditional_validation[] = "rules.push(\"if:password!=,reg_exp,password,[A-Z],{$LANG["validation_client_password_missing_uppercase"]}\")"; } if (in_array("number", $required_password_chars)) { $conditional_validation[] = "rules.push(\"if:password!=,reg_exp,password,[0-9],{$LANG["validation_client_password_missing_number"]}\")"; } if (in_array("special_char", $required_password_chars)) { $error = ft_eval_smarty_string($LANG["validation_client_password_missing_special_char"], array("chars" => $g_password_special_chars)); $password_special_chars = preg_quote($g_password_special_chars); $conditional_validation[] = "rules.push(\"if:password!=,reg_exp,password,[{$password_special_chars}],{$error}\")"; } $conditional_rules = implode("\n", $conditional_validation); // compile the header information $page_vars = array(); $page_vars["page"] = "add_client"; $page_vars["page_url"] = ft_get_page_url("add_client"); $page_vars["head_title"] = $LANG["phrase_add_client"]; $page_vars["required_password_chars"] = $required_password_chars; $page_vars["password_special_chars"] = $g_password_special_chars; $page_vars["has_extra_password_requirements"] = !empty($settings["required_password_chars"]) || !empty($settings["min_password_length"]); $page_vars["has_min_password_length"] = !empty($settings["min_password_length"]); $page_vars["password_special_char"] = ft_eval_smarty_string($LANG["phrase_password_special_char"], array("chars" => $g_password_special_chars)); $page_vars["phrase_password_min"] = ft_eval_smarty_string($LANG["phrase_password_min"], array("length" => $settings["min_password_length"])); $page_vars["vals"] = $post_values; $page_vars["head_js"] = <<<END var rules = []; rules.push("required,first_name,{$LANG['validation_no_client_first_name']}"); rules.push("required,last_name,{$LANG['validation_no_client_first_name']}"); rules.push("required,email,{$LANG['validation_no_client_email']}"); rules.push("valid_email,email,{$LANG['validation_invalid_email']}"); rules.push("required,username,{$LANG['validation_no_client_username']}");
$settings = ft_get_settings("", "core"); $date_picker_info = ft_get_default_date_field_search_value($settings["default_date_field_search_value"]); $default_date_field_search_value = $date_picker_info["default_date_field_search_value"]; $date_field_search_js_format = $date_picker_info["date_field_search_js_format"]; // get all the shared resources $shared_resources_list = ft_get_settings("edit_submission_onload_resources"); $shared_resources_array = explode("|", $shared_resources_list); $shared_resources = ""; foreach ($shared_resources_array as $resource) { $shared_resources .= ft_eval_smarty_string($resource, array("g_root_url" => $g_root_url)) . "\n"; } // ------------------------------------------------------------------------------------------------ // compile the header information $page_vars = array(); $page_vars["page"] = "client_forms"; $page_vars["page_url"] = ft_get_page_url("client_form_submissions", array("form_id" => $form_id)); $page_vars["head_title"] = $LANG["word_submissions"]; $page_vars["form_info"] = $form_info; $page_vars["form_id"] = $form_id; $page_vars["view_id"] = $view_id; $page_vars["search_rows"] = $search_rows; $page_vars["search_num_results"] = $search_num_results; $page_vars["view_num_results"] = $view_num_results; $page_vars["default_date_field_search_value"] = $default_date_field_search_value; $page_vars["total_form_submissions"] = $_SESSION["ft"]["form_{$form_id}_num_submissions"]; $page_vars["grouped_views"] = $grouped_views; $page_vars["view_info"] = $view_info; $page_vars["settings"] = $settings; $page_vars["preselected_subids"] = $preselected_subids; $page_vars["page_submission_ids"] = $submission_id_str; $page_vars["results_per_page"] = $results_per_page;
<?php $sortable_id = "edit_admin_menu"; if (isset($request["update_admin_menu"])) { $info = $_POST; $info["sortable_id"] = $sortable_id; $info["account_id"] = $_SESSION["ft"]["account"]["account_id"]; list($g_success, $g_message) = ft_update_admin_menu($info); } $menu = ft_get_admin_menu(); // compile the header information $page_vars = array(); $page_vars["page"] = "edit_admin_menu"; $page_vars["page_url"] = ft_get_page_url("edit_admin_menu"); $page_vars["tabs"] = $tabs; $page_vars["head_title"] = "{$_SESSION["ft"]["settings"]["program_name"]} - {$LANG["phrase_setup_options"]}"; $page_vars["menu"] = $menu; $page_vars["sortable_id"] = $sortable_id; $page_vars["head_string"] = <<<END <script src="{$g_root_url}/global/scripts/sortable.js?v=2"></script> <script src="{$g_root_url}/global/scripts/manage_menus.js"></script> END; $page_vars["js_messages"] = array("word_remove", "word_na", "notify_required_admin_pages", "word_form_c", "word_client_c", "word_url_c", "word_forms", "word_clients", "word_settings", "phrase_your_account", "word_modules", "word_logout", "phrase_delete_row", "phrase_connect_rows", "phrase_disconnect_rows"); ft_display_page("admin/settings/index.tpl", $page_vars);
$lists = ft_get_option_lists("all"); $list_names = array(); foreach ($lists["results"] as $curr_list_info) { if ($list_id == $curr_list_info["list_id"]) { continue; } $list_names[] = "\"" . htmlspecialchars($curr_list_info["option_list_name"]) . "\""; } $list_names = implode(",", $list_names); $existing_option_list_names_js = "page_ns.option_list_names = [{$list_names}];"; // ------------------------------------------------------------------------------------------------ // compile template info $page_vars["list_info"] = $list_info; $page_vars["text_option_list_used_by_fields"] = ft_eval_smarty_string($LANG["text_option_list_used_by_fields"], $placeholders); $page_vars["tabs"] = $tabs; $page_vars["page_url"] = ft_get_page_url("edit_option_list"); $page_vars["head_title"] = $LANG["phrase_edit_option_list"]; $page_vars["num_fields_using_option_list"] = $num_fields; $page_vars["total_options"] = $total_options; $page_vars["sortable_id"] = $sortable_id; $page_vars["js_messages"] = array("word_delete", "validation_no_smart_fill_values", "validation_invalid_url", "validation_smart_fill_no_field_found", "validation_smart_fill_cannot_fill", "validation_smart_fill_invalid_field_type", "validation_smart_fill_upload_all_pages", "validation_upload_html_files_only", "validation_smart_fill_no_page", "validation_no_option_list_name", "validation_option_list_name_taken", "validation_num_rows_to_add", "word_error", "word_okay", "phrase_please_confirm", "word_yes", "word_no", "confirm_delete_group", "phrase_create_group", "word_cancel", "notify_field_options_smart_filled"); $page_vars["head_string"] = <<<END <script src="{$g_root_url}/global/scripts/manage_option_lists.js"></script> <script src="{$g_root_url}/global/scripts/sortable.js?v=2"></script> END; $page_vars["head_js"] = <<<END var page_ns = {}; page_ns.page_initialized = false; page_ns.ungroup_options_dialog = \$("<div></div>"); {$existing_option_list_names_js}
<?php if (isset($request["update_accounts"])) { list($g_success, $g_message) = ft_update_account_settings($request); } // if required, update the list of available languages if (isset($_GET["refresh_lang_list"])) { list($g_success, $g_message) = ft_refresh_language_list(); } $replacement_info = array("datefunctionlink" => '<a href="http://ca3.php.net/manual/en/function.date.php" target="_blank">date()</a>'); // ------------------------------------------------------------------------------------------------ // compile the theme vars $page_vars = array(); $page_vars["page"] = "accounts"; $page_vars["page_url"] = ft_get_page_url("settings_accounts"); $page_vars["tabs"] = $tabs; $page_vars["head_title"] = "{$LANG["word_settings"]} - {$LANG["word_accounts"]}"; $page_vars["text_date_formatting_link"] = ft_eval_smarty_string($LANG["text_date_formatting_link"], $replacement_info); $page_vars["phrase_one_special_char"] = ft_eval_smarty_string($LANG["phrase_one_special_char"], array("chars" => $g_password_special_chars)); $page_vars["head_js"] = <<<END var rules = []; rules.push("required,default_page_titles,{$LANG["validation_no_page_titles"]}"); rules.push("required,default_client_menu_id,{$LANG["validation_no_menu_id"]}"); rules.push("required,default_theme,{$LANG["validation_no_theme"]}"); rules.push("function,validate_swatch"); rules.push("required,default_login_page,{$LANG["validation_no_login_page"]}"); rules.push("required,default_logout_url,{$LANG["validation_no_logout_url"]}"); rules.push("required,default_language,{$LANG["validation_no_default_language"]}"); rules.push("required,default_sessions_timeout,{$LANG["validation_no_default_sessions_timeout"]}"); rules.push("digits_only,default_sessions_timeout,{$LANG["validation_invalid_default_sessions_timeout"]}"); rules.push("required,default_date_format,{$LANG["validation_no_date_format"]}");
<?php if (isset($request["update_account_settings"])) { $account_id = $_SESSION["ft"]["account"]["account_id"]; $request["page"] = "settings"; list($g_success, $g_message) = ft_update_client($account_id, $request); } $client_info = ft_get_account_info($account_id); // compile header information $page_vars = array(); $page_vars["head_title"] = ft_eval_smarty_string($_SESSION["ft"]["account"]["settings"]["page_titles"], array("page" => $LANG["phrase_account_settings"])); $page_vars["page"] = "settings"; $page_vars["tabs"] = $tabs; $page_vars["client_info"] = $client_info; $page_vars["page_url"] = ft_get_page_url("client_account_settings"); $js = array("var rules = []"); if ($client_info["settings"]["may_edit_page_titles"] == "yes") { $js[] = "rules.push(\"required,page_titles,{$LANG["validation_no_titles"]}\")"; } if ($client_info["settings"]["may_edit_theme"] == "yes") { $js[] = "rules.push(\"required,theme,{$LANG["validation_no_theme"]}\")"; $js[] = "rules.push(\"function,validate_swatch\")"; } if ($client_info["settings"]["may_edit_logout_url"] == "yes") { $js[] = "rules.push(\"required,logout_url,{$LANG["validation_no_logout_url"]}\")"; } if ($client_info["settings"]["may_edit_language"] == "yes") { $js[] = "rules.push(\"required,ui_language,{$LANG["validation_no_ui_language"]}\")"; } if ($client_info["settings"]["may_edit_timezone_offset"] == "yes") { $js[] = "rules.push(\"required,timezone_offset,{$LANG["validation_no_timezone_offset"]}\")";
$previous_view_id = $ordered_view_ids[$i - 1]; $previous_view_link = "<a href=\"{$same_page}?page=edit_view&form_id={$form_id}&view_id={$previous_view_id}\">{$LANG["phrase_previous_view"]}</a>"; } if ($i != $num_views - 1) { $next_view_id = $ordered_view_ids[$i + 1]; $next_view_link = "<a href=\"{$same_page}?page=edit_view&form_id={$form_id}&view_id={$next_view_id}\">{$LANG["phrase_next_view"]}</a>"; } } } // override the form nav links so that it always links to the Views page $page_vars["prev_tabset_link"] = !empty($links["prev_form_id"]) ? "edit.php?page=views&form_id={$links["prev_form_id"]}" : ""; $page_vars["next_tabset_link"] = !empty($links["next_form_id"]) ? "edit.php?page=views&form_id={$links["next_form_id"]}" : ""; // ----------------------------------------------------------------------------------------------- // compile the templates information $page_vars["page"] = "edit_view"; $page_vars["page_url"] = ft_get_page_url("edit_view"); $page_vars["view_id"] = $view_id; $page_vars["grouped_fields"] = $grouped_fields; $page_vars["new_view_submission_defaults"] = $new_view_submission_defaults; $page_vars["head_title"] = "{$LANG["phrase_edit_form"]} - {$LANG["phrase_edit_view"]}"; $page_vars["standard_filters"] = $standard_filters; $page_vars["client_map_filters"] = $client_map_filters; $page_vars["num_standard_filters"] = $num_standard_filters; $page_vars["num_client_map_filters"] = $num_client_map_filters; $page_vars["edit_view_tab"] = $edit_view_tab; $page_vars["form_info"] = $form_info; $page_vars["view_tabs"] = $view_tabs; $page_vars["view_info"] = $view_info; $page_vars["form_fields"] = $form_fields; $page_vars["field_types"] = $field_types; $page_vars["previous_view_link"] = $previous_view_link;
if (isset($request["delete"])) { list($g_success, $g_message) = ft_delete_email_template($request["delete"]); } $form_info = ft_get_form($form_id); $emails_page = ft_load_field("emails_page", "form_{$form_id}_emails_page", 1); $form_email_info = ft_get_email_templates($form_id, $emails_page); $form_emails = $form_email_info["results"]; $num_form_emails = $form_email_info["num_results"]; $registered_form_emails = ft_get_email_fields($form_id); $num_registered_form_emails = count($registered_form_emails); // a little irksome, but we also need to retrieve ALL emails, for the "Create Email From Existing Email" dropdown $all_form_emails = ft_get_email_template_list($form_id); $php_self = ft_get_clean_php_self(); // compile the templates information $page_vars["page"] = "emails"; $page_vars["page_url"] = ft_get_page_url("edit_form_emails", array("form_id" => $form_id)); $page_vars["form_emails"] = $form_emails; $page_vars["all_form_emails"] = $all_form_emails; $page_vars["num_form_emails"] = $num_form_emails; $page_vars["head_title"] = "{$LANG["phrase_edit_form"]} - {$LANG["word_emails"]}"; $page_vars["form_info"] = $form_info; $page_vars["js_messages"] = array("word_edit", "word_remove"); // build values to pass along in nav query string $pass_along_str = "page=emails&form_id={$form_id}"; $page_vars["pagination"] = ft_get_page_nav($num_form_emails, $_SESSION["ft"]["settings"]["num_emails_per_page"], $emails_page, $pass_along_str, "emails_page"); $page_vars["num_registered_form_emails"] = $num_registered_form_emails; $page_vars["head_js"] = <<<END var page_ns = {}; page_ns.delete_dialog = \$("<div></div>"); page_ns.delete_email = function(email_id) { ft.create_dialog({
$required_password_chars = explode(",", $client_info["settings"]["required_password_chars"]); if (in_array("uppercase", $required_password_chars)) { $conditional_validation[] = "rules.push(\"if:password!=,reg_exp,password,[A-Z],{$LANG["validation_client_password_missing_uppercase"]}\")"; } if (in_array("number", $required_password_chars)) { $conditional_validation[] = "rules.push(\"if:password!=,reg_exp,password,[0-9],{$LANG["validation_client_password_missing_number"]}\")"; } if (in_array("special_char", $required_password_chars)) { $error = ft_eval_smarty_string($LANG["validation_client_password_missing_special_char"], array("chars" => $g_password_special_chars)); $password_special_chars = preg_quote($g_password_special_chars); $conditional_validation[] = "rules.push(\"if:password!=,reg_exp,password,[{$password_special_chars}],{$error}\")"; } $conditional_rules = implode("\n", $conditional_validation); // define info for template $page_vars["page"] = "main"; $page_vars["page_url"] = ft_get_page_url("edit_client_main", array("client_id" => $client_id)); $page_vars["head_title"] = "{$LANG["phrase_edit_client"]} - {$LANG["word_main"]}"; $page_vars["client_info"] = $client_info; $page_vars["client_id"] = $client_id; $page_vars["required_password_chars"] = $required_password_chars; $page_vars["password_special_chars"] = $g_password_special_chars; $page_vars["has_extra_password_requirements"] = !empty($client_info["settings"]["required_password_chars"]) || !empty($client_info["settings"]["min_password_length"]); $page_vars["has_min_password_length"] = !empty($client_info["settings"]["min_password_length"]); $page_vars["password_special_char"] = ft_eval_smarty_string($LANG["phrase_password_special_char"], array("chars" => $g_password_special_chars)); $page_vars["phrase_password_min"] = ft_eval_smarty_string($LANG["phrase_password_min"], array("length" => $client_info["settings"]["min_password_length"])); $page_vars["head_js"] = <<<END var rules = []; rules.push("required,first_name,{$LANG['validation_no_client_first_name']}"); rules.push("required,last_name,{$LANG['validation_no_client_last_name']}"); rules.push("required,email,{$LANG['validation_no_client_email']}"); rules.push("valid_email,email,{$LANG['validation_invalid_email']}");
<?php if (isset($request["update_public_form_omit_list"])) { list($g_success, $g_message) = ft_update_public_form_omit_list($request, $form_id); } $form_info = ft_get_form($form_id); $form_omit_list = ft_get_public_form_omit_list($form_id); // ------------------------------------------------------------------------------------------------ // a little hacky, but not too bad. Override the form nav links so that it always links to the main tab, not this // (possibly non-relevant) omit list page $page_vars["prev_tabset_link"] = !empty($links["prev_form_id"]) ? "edit.php?page=main&form_id={$links["prev_form_id"]}" : ""; $page_vars["next_tabset_link"] = !empty($links["next_form_id"]) ? "edit.php?page=main&form_id={$links["next_form_id"]}" : ""; $page_vars["page"] = "public_form_omit_list"; $page_vars["page_url"] = ft_get_page_url("edit_form_public_form_omit_list", array("form_id" => $form_id)); $page_vars["head_title"] = "{$LANG["phrase_edit_form"]} - {$LANG["phrase_public_form_omit_list"]}"; $page_vars["form_info"] = $form_info; $page_vars["form_omit_list"] = $form_omit_list; $page_vars["head_js"] = <<<EOF var page_ns = {}; page_ns.clear_omit_list = function() \t{ ft.select_all('selected_client_ids[]'); ft.move_options('selected_client_ids[]', 'available_client_ids[]'); } EOF; ft_display_page("admin/forms/edit.tpl", $page_vars);
require "../../../global/session_start.php"; ft_check_permission("admin"); $request = array_merge($_POST, $_GET); if (isset($request["add_form"])) { list($g_success, $g_message, $new_form_id) = ft_create_internal_form($request); if ($g_message) { header("location: ../edit.php?form_id={$new_form_id}&message=notify_internal_form_created"); exit; } } // ------------------------------------------------------------------------------------------------ // compile the header information $page_values = array(); $page_vars["page"] = "add_form_internal"; $page_vars["page_url"] = ft_get_page_url("add_form_internal"); $page_vars["head_title"] = "{$LANG['phrase_add_form']}"; $page_vars["head_js"] = <<<END ft.click([ { el: "at1", targets: [{ el: "custom_clients", action: "hide" }] }, { el: "at2", targets: [{ el: "custom_clients", action: "hide" }] }, { el: "at3", targets: [{ el: "custom_clients", action: "show" }] } ]); \$(function() { \$("#form_name").focus(); \$("#create_internal_form").bind("submit",function(e) { var rules = []; rules.push("required,form_name,{$LANG["validation_no_form_name"]}"); rules.push("required,num_fields,{$LANG["validation_no_num_form_fields"]}"); rules.push("digits_only,num_fields,{$LANG["validation_invalid_num_form_fields"]}");
$_SESSION["ft"]["client_sort_order"] = ""; $_SESSION["ft"]["client_search_keyword"] = ""; $_SESSION["ft"]["client_search_status"] = ""; } $order = ft_load_field("order", "client_sort_order", "last_name-ASC"); $keyword = ft_load_field("keyword", "client_search_keyword", ""); $status = ft_load_field("status", "client_search_status", ""); $search_criteria = array("order" => $order, "keyword" => $keyword, "status" => $status); $num_clients = ft_get_client_count(); // retrieve all client information $clients = ft_search_clients($search_criteria); // ------------------------------------------------------------------------------------------------ // compile the header information $page_vars = array(); $page_vars["page"] = "clients"; $page_vars["page_url"] = ft_get_page_url("clients"); $page_vars["head_title"] = $LANG["word_clients"]; $page_vars["num_clients"] = $num_clients; $page_vars["clients"] = $clients; $page_vars["order"] = $order; $page_vars["search_criteria"] = $search_criteria; $page_vars["pagination"] = ft_get_dhtml_page_nav(count($clients), $_SESSION["ft"]["settings"]["num_clients_per_page"], 1); $page_vars["js_messages"] = array("phrase_delete_row"); $page_vars["head_js"] = <<<END var page_ns = {}; page_ns.dialog = \$("<div></div>"); page_ns.delete_client = function(account_id) { ft.create_dialog({ dialog: page_ns.dialog, title: "{$LANG["phrase_please_confirm"]}", content: "{$LANG["validation_check_delete_client"]}",
<?php require_once "global/session_start.php"; $page_vars = array(); $page_vars["page_url"] = ft_get_page_url("error"); $page_vars["source"] = "error_page"; $page_vars["message_type"] = isset($_SESSION["ft"]["last_error_type"]) ? $_SESSION["ft"]["last_error_type"] : ""; $page_vars["message"] = isset($_SESSION["ft"]["last_error"]) ? $_SESSION["ft"]["last_error"] : ""; $page_vars["error_debug"] = isset($_SESSION["ft"]["last_error_debug"]) ? $_SESSION["ft"]["last_error_debug"] : ""; ft_display_page("error.tpl", $page_vars);
<?php if (isset($request["update_files"])) { list($g_success, $g_message) = ft_update_file_settings($request); } $all_preset_types = array("bmp", "gif", "jpg", "jpeg", "png", "avi", "mp3", "mp4", "css", "js", "htm", "html", "doc", "rtf", "txt", "pdf", "xml", "csv", "zip", "tar", "tar.gz", "swf", "fla"); $file_upload_filetypes = explode(",", $_SESSION["ft"]["settings"]["file_upload_filetypes"]); // now filter out all the preset types to see if the user has entered anything in the "other" field $other_filetypes = array(); foreach ($file_upload_filetypes as $filetype) { if (!in_array($filetype, $all_preset_types)) { $other_filetypes[] = $filetype; } } $other_filetypes_str = implode(",", $other_filetypes); $max_filesize = ft_get_upload_max_filesize(); // compile the list of vars to pass to the page $page_vars = array(); $page_vars["page"] = "files"; $page_vars["page_url"] = ft_get_page_url("settings_files"); $page_vars["tabs"] = $tabs; $page_vars["js_messages"] = ""; $page_vars["max_filesize"] = $max_filesize; $page_vars["file_upload_filetypes"] = $file_upload_filetypes; $page_vars["other_filetypes"] = $other_filetypes_str; $page_vars["head_title"] = "{$LANG["word_settings"]} - {$LANG["word_files"]}"; $page_vars["allow_url_fopen"] = ini_get("allow_url_fopen") == "1"; $page_vars["head_js"] = "\n var rules = [];\n "; ft_display_page("admin/settings/index.tpl", $page_vars);
$menus = ft_get_menu_list(); $menu_names = array(); foreach ($menus as $curr_menu_info) { if ($menu_id == $curr_menu_info["menu_id"]) { continue; } $menu_names[] = "\"" . htmlspecialchars($curr_menu_info["menu"]) . "\""; } $menu_list = implode(",", $menu_names); $js = "var page_ns = {};\npage_ns.menu_names = [{$menu_list}];\nmm.num_rows = {$num_menu_items};\n"; if ($num_menu_items == 0) { $js .= "\$(function() { mm.add_menu_item_row(); });"; } // ------------------------------------------------------------------------------------------------ // compile the header information $page_vars = array(); $page_vars["page"] = "edit_client_menu"; $page_vars["page_url"] = ft_get_page_url("edit_client_menu"); $page_vars["tabs"] = $tabs; $page_vars["head_title"] = "{$_SESSION["ft"]["settings"]["program_name"]} - {$LANG["phrase_setup_options"]} - {$LANG["word_menus"]}"; $page_vars["menu"] = $menu_info; $page_vars["is_new_menu"] = $is_new_menu; $page_vars["selected_client_ids"] = $selected_client_ids; $page_vars["sortable_id"] = $sortable_id; $page_vars["head_string"] = <<<END <script src="{$g_root_url}/global/scripts/sortable.js?v=2"></script> <script src="{$g_root_url}/global/scripts/manage_menus.js"></script> END; $page_vars["js_messages"] = array("word_remove", "word_na", "word_form_c", "word_client_c", "word_url_c", "validation_menu_name_taken", "phrase_delete_row", "phrase_connect_rows", "phrase_disconnect_rows"); $page_vars["head_js"] = $js; ft_display_page("admin/settings/index.tpl", $page_vars);
<?php require "../../../global/session_start.php"; ft_check_permission("admin"); // delete any temporary Smart Fill uploaded files if (isset($_SESSION["ft"]["smart_fill_tmp_uploaded_files"]) && !empty($_SESSION["ft"]["smart_fill_tmp_uploaded_files"])) { foreach ($_SESSION["ft"]["smart_fill_tmp_uploaded_files"] as $file) { @unlink($file); } } $_SESSION["ft"]["method"] = ""; $form_id = ft_load_field("form_id", "add_form_form_id", ""); unset($_SESSION["ft"]["add_form_form_id"]); // ------------------------------------------------------------------------------------------------ // compile the header information $page_vars["page"] = "add_form6"; $page_vars["page_url"] = ft_get_page_url("add_form6"); $page_vars["head_title"] = "{$LANG['phrase_add_form']} - {$LANG["phrase_step_5"]}"; $page_vars["form_id"] = $form_id; $page_vars["text_add_form_step_5_para"] = ft_eval_smarty_string($LANG["text_add_form_step_5_para_3"], array("editformlink" => "../edit.php?form_id={$form_id}")); $page_vars["text_add_form_step_5_para_4"] = ft_eval_smarty_string($LANG["text_add_form_step_5_para_4"], array("editformlink" => "../edit.php?form_id={$form_id}")); $page_vars["uploading_files"] = $_SESSION["ft"]["uploading_files"]; $page_vars["head_css"] = ""; ft_display_page("admin/forms/add/step6.tpl", $page_vars);
<?php require "../../global/session_start.php"; ft_check_permission("admin"); $request = array_merge($_POST, $_GET); $module_info = ft_get_module($request["module_id"]); // compile header information $page_vars = array(); $page_vars["page"] = "modules_about"; $page_vars["page_url"] = ft_get_page_url("modules_about"); $page_vars["head_title"] = "{$LANG["word_modules"]} - {$LANG["word_about"]}"; $page_vars["module_info"] = $module_info; ft_display_page("admin/modules/about.tpl", $page_vars);
if (!empty($language) && is_file("global/lang/{$language}.php")) { include_once "global/lang/{$language}.php"; } } } $error = ""; if (isset($_POST["username"]) && !empty($_POST["username"])) { $error = ft_login($_POST); } $username = isset($_POST["username"]) && !empty($_POST["username"]) ? $_POST["username"] : ""; $username = ft_strip_chars($username); // ------------------------------------------------------------------------------------------- // compile the variables for use in the templates $page_vars = array(); $page_vars["page"] = "login"; $page_vars["page_url"] = ft_get_page_url("login"); $page_vars["head_title"] = $LANG["phrase_admin_panel"]; $page_vars["error"] = $error; if ($g_upgrade_info["upgraded"]) { if ($g_upgrade_info["success"]) { $new_version = $settings["program_version"]; if ($settings["release_type"] == "alpha") { $new_version = "{$settings['program_version']}-alpha-{$settings['release_date']}"; } else { if ($settings["release_type"] == "beta") { $new_version = "{$settings['program_version']}-beta-{$settings['release_date']}"; } } $replacements = array("version" => $new_version); $page_vars["upgrade_notification"] = ft_eval_smarty_string($LANG["text_upgraded"], $replacements, $g_theme); } else {
$submission_placeholders = ft_get_submission_placeholders($form_id, $submission_id); $edit_submission_page_label = ft_eval_smarty_string($form_info["edit_submission_page_label"], $submission_placeholders); // get all the shared resources $settings = ft_get_settings("", "core"); $shared_resources_list = $settings["edit_submission_onload_resources"]; $shared_resources_array = explode("|", $shared_resources_list); $shared_resources = ""; foreach ($shared_resources_array as $resource) { $shared_resources .= ft_eval_smarty_string($resource, array("g_root_url" => $g_root_url)) . "\n"; } $validation_js = ft_generate_submission_js_validation($grouped_fields); // ------------------------------------------------------------------------------------------------ // compile the header information $page_vars = array(); $page_vars["page"] = "client_edit_submission"; $page_vars["page_url"] = ft_get_page_url("client_edit_submission"); $page_vars["tabs"] = $tabs; $page_vars["form_info"] = $form_info; $page_vars["grouped_views"] = $grouped_views; $page_vars["tab_number"] = $tab_number; $page_vars["settings"] = $settings; $page_vars["page_field_ids"] = $page_field_ids; $page_vars["grouped_fields"] = $grouped_fields; $page_vars["field_types"] = $page_field_types; $page_vars["head_title"] = $edit_submission_page_label; $page_vars["submission_id"] = $submission_id; $page_vars["previous_link_html"] = $prev_link_html; $page_vars["search_results_link_html"] = $search_results_link_html; $page_vars["next_link_html"] = $next_link_html; $page_vars["tab_has_editable_fields"] = count($editable_tab_fields) > 0; $page_vars["view_info"] = $view_info;
$_SESSION["ft"]["form_search_status"] = ""; $_SESSION["ft"]["form_search_client_id"] = ""; } $order = ft_load_field("order", "form_sort_order", "form_id-DESC"); $keyword = ft_load_field("keyword", "form_search_keyword", ""); $status = ft_load_field("status", "form_search_status", ""); $client_id = ft_load_field("client_id", "form_search_client_id", ""); $search_criteria = array("order" => $order, "keyword" => $keyword, "status" => $status, "client_id" => $client_id); $num_forms = ft_get_form_count(); $forms = ft_search_forms($client_id, true, $search_criteria); $clients = ft_get_client_list(); // ------------------------------------------------------------------------------------------------ // compile template info $page_vars = array(); $page_vars["page"] = "admin_forms"; $page_vars["page_url"] = ft_get_page_url("admin_forms"); $page_vars["head_title"] = $LANG["word_forms"]; $page_vars["has_client"] = count($clients) > 0 ? true : false; $page_vars["num_forms"] = $num_forms; $page_vars["max_forms_reached"] = !empty($g_max_ft_forms) && $num_forms >= $g_max_ft_forms ? true : false; $page_vars["max_forms"] = $g_max_ft_forms; $page_vars["notify_max_forms_reached"] = ft_eval_smarty_string($LANG["notify_max_forms_reached"], array("max_forms" => $g_max_ft_forms)); $page_vars["forms"] = $forms; $page_vars["order"] = $order; $page_vars["clients"] = $clients; $page_vars["search_criteria"] = $search_criteria; $page_vars["pagination"] = ft_get_dhtml_page_nav(count($forms), $_SESSION["ft"]["settings"]["num_forms_per_page"], 1); $page_vars["js_messages"] = array("word_remove", "word_edit", "phrase_open_form_in_new_tab_or_win", "word_close", "phrase_show_form"); $page_vars["head_js"] = <<<END \$(function() { ft.init_show_form_links();
<?php require "../../global/session_start.php"; ft_check_permission("admin"); $request = array_merge($_POST, $_GET); $theme_id = isset($request["theme_id"]) ? $request["theme_id"] : ""; if (empty($theme_id)) { header("location: index.php"); exit; } $theme_info = ft_get_theme($theme_id); // if this theme uses swatches, generate a list of all available swatches if ($theme_info["uses_swatches"] == "yes") { $theme_info["available_swatches"] = ft_get_theme_swatch_list($theme_info["swatches"]); } // compile header information $page_vars = array(); $page_vars["page"] = "themes_about"; $page_vars["page_url"] = ft_get_page_url("themes_about"); $page_vars["head_title"] = "{$LANG["word_themes"]} - {$LANG["word_about"]}"; $page_vars["theme_info"] = $theme_info; ft_display_page("admin/themes/about.tpl", $page_vars);