summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2010-11-08 11:45:14 -0800
committerBharat Mediratta <bharat@menalto.com>2010-11-08 11:45:14 -0800
commit853a3acc9b5b017b479fa93e29e1d80c0acc1a50 (patch)
tree0efd3c64891551ce8870ea1d7a83db523f668f44
parent97a5656296e617e7dd2f55cc1eb3f1d34e7163f5 (diff)
Implement module::clear_all_vars($module_name)
Also switch from using ORM to Database_Builder for the SQL because it's cleaner, and clean up the test. Fixes #1479.
-rw-r--r--modules/gallery/helpers/module.php22
-rw-r--r--modules/gallery/tests/Var_Test.php38
2 files changed, 39 insertions, 21 deletions
diff --git a/modules/gallery/helpers/module.php b/modules/gallery/helpers/module.php
index 64d0d1d6..16c7bb72 100644
--- a/modules/gallery/helpers/module.php
+++ b/modules/gallery/helpers/module.php
@@ -503,13 +503,25 @@ class module_Core {
* @param string $name
*/
static function clear_var($module_name, $name) {
- $var = ORM::factory("var")
+ db::build()
+ ->delete("vars")
->where("module_name", "=", $module_name)
->where("name", "=", $name)
- ->find();
- if ($var->loaded()) {
- $var->delete();
- }
+ ->execute();
+
+ Cache::instance()->delete("var_cache");
+ self::$var_cache = null;
+ }
+
+ /**
+ * Remove all variables for this module.
+ * @param string $module_name
+ */
+ static function clear_all_vars($module_name) {
+ db::build()
+ ->delete("vars")
+ ->where("module_name", "=", $module_name)
+ ->execute();
Cache::instance()->delete("var_cache");
self::$var_cache = null;
diff --git a/modules/gallery/tests/Var_Test.php b/modules/gallery/tests/Var_Test.php
index b3492c71..292fe2f1 100644
--- a/modules/gallery/tests/Var_Test.php
+++ b/modules/gallery/tests/Var_Test.php
@@ -19,31 +19,37 @@
*/
class Var_Test extends Gallery_Unit_Test_Case {
public function add_parameter_test() {
- module::set_var("gallery", "Parameter", "original value");
- $this->assert_equal("original value", module::get_var("gallery", "Parameter"));
+ module::set_var("Var_Test", "Parameter", "original value");
+ $this->assert_equal("original value", module::get_var("Var_Test", "Parameter"));
- module::set_var("gallery", "Parameter", "updated value");
- $this->assert_equal("updated value", module::get_var("gallery", "Parameter"));
+ module::set_var("Var_Test", "Parameter", "updated value");
+ $this->assert_equal("updated value", module::get_var("Var_Test", "Parameter"));
}
public function clear_parameter_test() {
- module::set_var("gallery", "Parameter", "original value");
- $this->assert_equal("original value", module::get_var("gallery", "Parameter"));
+ module::set_var("Var_Test", "Parameter", "original value");
+ module::clear_var("Var_Test", "Parameter");
+ $this->assert_equal(null, module::get_var("Var_Test", "Parameter"));
+ }
- module::clear_var("gallery", "Parameter");
- $this->assert_equal(null, module::get_var("gallery", "Parameter"));
+ public function clear_all_module_parameters_test() {
+ module::set_var("Var_Test", "Parameter1", "original value");
+ module::set_var("Var_Test", "Parameter2", "original value");
+ module::clear_all_vars("Var_Test");
+ $this->assert_equal(null, module::get_var("Var_Test", "Parameter1"));
+ $this->assert_equal(null, module::get_var("Var_Test", "Parameter2"));
}
public function incr_parameter_test() {
- module::set_var("gallery", "Parameter", "original value");
- module::incr_var("gallery", "Parameter");
- $this->assert_equal("1", module::get_var("gallery", "Parameter"));
+ module::set_var("Var_Test", "Parameter", "original value");
+ module::incr_var("Var_Test", "Parameter");
+ $this->assert_equal("1", module::get_var("Var_Test", "Parameter"));
- module::set_var("gallery", "Parameter", "2");
- module::incr_var("gallery", "Parameter", "9");
- $this->assert_equal("11", module::get_var("gallery", "Parameter"));
+ module::set_var("Var_Test", "Parameter", "2");
+ module::incr_var("Var_Test", "Parameter", "9");
+ $this->assert_equal("11", module::get_var("Var_Test", "Parameter"));
- module::incr_var("gallery", "NonExistent", "9");
- $this->assert_equal(null, module::get_var("gallery", "NonExistent"));
+ module::incr_var("Var_Test", "NonExistent", "9");
+ $this->assert_equal(null, module::get_var("Var_Test", "NonExistent"));
}
} \ No newline at end of file