diff options
-rw-r--r-- | core/controllers/admin_advanced_settings.php | 36 | ||||
-rw-r--r-- | core/views/admin_advanced_settings.html.php | 16 |
2 files changed, 49 insertions, 3 deletions
diff --git a/core/controllers/admin_advanced_settings.php b/core/controllers/admin_advanced_settings.php index 5a22ba58..1797b162 100644 --- a/core/controllers/admin_advanced_settings.php +++ b/core/controllers/admin_advanced_settings.php @@ -21,7 +21,41 @@ class Admin_Advanced_Settings_Controller extends Admin_Controller { public function index() { $view = new Admin_View("admin.html"); $view->content = new View("admin_advanced_settings.html"); - $view->content->vars = ORM::factory("var")->find_all(); + $view->content->vars = ORM::factory("var")->orderby("module_name", "name")->find_all(); print $view; } + + public function edit($module_name, $var_name) { + $value = module::get_var($module_name, $var_name); + $form = new Forge("admin/advanced_settings/save/$module_name/$var_name", "", "post"); + $group = $form->group("edit_var")->label( + t("Edit %var (%module_name)", + array("module_name" => $module_name, "var" => $var_name))); + $group->input("module_name")->label(t("Module"))->value($module_name)->disabled(1); + $group->input("var_name")->label(t("Setting"))->value($var_name)->disabled(1); + $group->textarea("value")->label(t("Value"))->value($value); + $group->submit("")->value(t("Save")); + print $form; + } + + public function save($module_name, $var_name) { + access::verify_csrf(); + + $var = ORM::factory("var") + ->where("module_name", $module_name) + ->where("name", $var_name) + ->find(); + if (!$var->loaded) { + kohana::show_404(); + } + + $var->value = Input::instance()->post("value"); + $var->save(); + + message::success( + t("Saved value for %var (%module_name)", + array("var" => $var->name, "module_name" => $var->module_name))); + + print json_encode(array("result" => "success")); + } } diff --git a/core/views/admin_advanced_settings.html.php b/core/views/admin_advanced_settings.html.php index e2832d97..1995c30c 100644 --- a/core/views/admin_advanced_settings.html.php +++ b/core/views/admin_advanced_settings.html.php @@ -2,8 +2,14 @@ <div id="gAdminAdvancedSettings"> <h1> <?= t("Advanced Settings") ?> </h1> <p> - <?= t("Here are internal Gallery configuration settings. Most of these settings are accessible elsewhere in the administrative console. You will eventually be able to modify these directly (at your own risk).") ?> + <?= t("Here are internal Gallery configuration settings. Most of these settings are accessible elsewhere in the administrative console.") ?> </p> + <ul id="gMessage"> + <li class="gWarning"> + <b><?= t("Change these values at your own risk!</b>") ?> + </li> + </ul> + <table> <tr> <th> <?= t("Module") ?> </th> @@ -14,7 +20,13 @@ <tr class="setting"> <td> <?= $var->module_name ?> </td> <td> <?= $var->name ?> </td> - <td> <?= $var->value ?> </td> + <td> + <a href="<?= url::site("admin/advanced_settings/edit/$var->module_name/$var->name") ?>" + class="gDialogLink" + title="<?= t("Edit %var (%module_name)", array("var" => $var->name, "module_name" => $var->module_name)) ?>"> + <?= $var->value ?> + </a> + </td> </tr> <? endforeach ?> </table> |