summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/controllers/admin_advanced_settings.php36
-rw-r--r--core/views/admin_advanced_settings.html.php16
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>