|
| 1 | +<?php |
| 2 | + |
| 3 | +/** |
| 4 | + * This is a version of the css.php that's designed for the form builder. |
| 5 | + * |
| 6 | + * TODO THIS FILE IS A MESS. THINK IT THROUGH AGAIN. |
| 7 | + */ |
| 8 | + |
| 9 | +use FormTools\Core; |
| 10 | +use FormTools\DatabaseSessions; |
| 11 | +use FormTools\Modules; |
| 12 | +use FormTools\Modules\FormBuilder\Forms; |
| 13 | +use FormTools\Modules\FormBuilder\General; |
| 14 | +use FormTools\Modules\FormBuilder\Placeholders; |
| 15 | +use FormTools\Modules\FormBuilder\Resources; |
| 16 | + |
| 17 | +require_once(realpath(__DIR__ . "/../../../global/library.php")); |
| 18 | + |
| 19 | +Core::init(array("start_sessions" => false)); |
| 20 | +Modules::includeModule("form_builder"); |
| 21 | + |
| 22 | +$resource_id = $_GET["resource_id"]; |
| 23 | +$source = (isset($_GET["source"]) && $_GET["source"] == "sessions") ? "sessions" : "database"; |
| 24 | + |
| 25 | +$resource_info = Resources::getResource($resource_id); |
| 26 | +$set_id = $resource_info["template_set_id"]; |
| 27 | +$css = $resource_info["content"]; |
| 28 | + |
| 29 | +$placeholders = Placeholders::getPlaceholders($set_id); |
| 30 | +$placeholder_hash = array(); |
| 31 | +foreach ($placeholders as $placeholder_info) { |
| 32 | + $placeholder_hash[$placeholder_info["placeholder_id"]] = $placeholder_info["placeholder"]; |
| 33 | +} |
| 34 | + |
| 35 | +$config = array(); |
| 36 | +$smarty = General::createNewSmartyInstance(); |
| 37 | + |
| 38 | +$P = array(); |
| 39 | +if ($source == "sessions") { |
| 40 | + if (Core::getSessionType() == "database") { |
| 41 | + $sess = new DatabaseSessions(Core::$db, Core::getSessionSavePath()); |
| 42 | + } |
| 43 | + if (!empty($g_session_save_path)) { |
| 44 | + session_save_path($g_session_save_path); |
| 45 | + } |
| 46 | + |
| 47 | + session_start(); |
| 48 | + header("Cache-control: private"); |
| 49 | + header("Content-Type: text/html; charset=utf-8"); |
| 50 | + |
| 51 | + $placeholder_id_to_values = $_SESSION["ft"]["form_builder"]["placeholders"]; |
| 52 | + |
| 53 | + while (list($placeholder_id, $value) = each($placeholder_id_to_values)) { |
| 54 | + if (!isset($placeholder_hash[$placeholder_id])) { |
| 55 | + continue; |
| 56 | + } |
| 57 | + $placeholder = $placeholder_hash[$placeholder_id]; |
| 58 | + |
| 59 | + // TODO multi-select + checkboxes... |
| 60 | + $P[$placeholder] = $value; |
| 61 | + } |
| 62 | +} else { |
| 63 | + $config = Forms::getFormConfiguration($_GET["published_form_id"]); |
| 64 | + foreach ($config["placeholders"] as $placeholder_info) { |
| 65 | + $curr_placeholder_id = $placeholder_info["placeholder_id"]; |
| 66 | + $val = $placeholder_info["placeholder_value"]; |
| 67 | + |
| 68 | + if (!isset($placeholder_hash[$curr_placeholder_id])) { |
| 69 | + continue; |
| 70 | + } |
| 71 | + |
| 72 | + $placeholder = $placeholder_hash[$curr_placeholder_id]; |
| 73 | + $P[$placeholder] = $val; |
| 74 | + } |
| 75 | +} |
| 76 | + |
| 77 | +$smarty->assign("P", $P); |
| 78 | +$smarty->assign("eval_str", $css); |
| 79 | + |
| 80 | +header("Content-Type: text/javascript"); |
| 81 | +header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); |
| 82 | + |
| 83 | +echo $smarty->fetch("../../modules/form_builder/smarty_plugins/eval.tpl"); |
0 commit comments