summaryrefslogtreecommitdiff
path: root/core/controllers/admin_advanced_settings.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-05-14 03:56:29 +0000
committerBharat Mediratta <bharat@menalto.com>2009-05-14 03:56:29 +0000
commit627e83adc13005b2431d49d98c0a2dc05a8e65a6 (patch)
treed606d36cdb2050c62bf0e3de8f69dac1fea8534d /core/controllers/admin_advanced_settings.php
parentaaff4a78863c0103d5c6da86e324e81cc0c2a564 (diff)
Cache variables in core._cache so that we can retrieve them all in a
single query. In most cases, we were fetching 4-5 variables per page load, so this is 2-3x faster.
Diffstat (limited to 'core/controllers/admin_advanced_settings.php')
-rw-r--r--core/controllers/admin_advanced_settings.php16
1 files changed, 4 insertions, 12 deletions
diff --git a/core/controllers/admin_advanced_settings.php b/core/controllers/admin_advanced_settings.php
index 1797b162..e8e608df 100644
--- a/core/controllers/admin_advanced_settings.php
+++ b/core/controllers/admin_advanced_settings.php
@@ -21,7 +21,9 @@ 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")->orderby("module_name", "name")->find_all();
+ $view->content->vars = ORM::factory("var")
+ ->orderby("module_name", "name")
+ ->find_all();
print $view;
}
@@ -41,17 +43,7 @@ class Admin_Advanced_Settings_Controller extends Admin_Controller {
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();
-
+ module::set_var($module_name, $var_name, Input::instance()->post("value"));
message::success(
t("Saved value for %var (%module_name)",
array("var" => $var->name, "module_name" => $var->module_name)));