summaryrefslogtreecommitdiff
path: root/modules/gallery/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/libraries')
-rw-r--r--modules/gallery/libraries/Admin_View.php2
-rw-r--r--modules/gallery/libraries/Gallery_I18n.php8
-rw-r--r--modules/gallery/libraries/Gallery_View.php6
-rw-r--r--modules/gallery/libraries/IdentityProvider.php4
-rw-r--r--modules/gallery/libraries/MY_ORM.php10
-rw-r--r--modules/gallery/libraries/MY_View.php27
-rw-r--r--modules/gallery/libraries/ORM_MPTT.php56
-rw-r--r--modules/gallery/libraries/SafeString.php2
-rw-r--r--modules/gallery/libraries/Sendmail.php4
-rw-r--r--modules/gallery/libraries/Theme_View.php2
-rw-r--r--modules/gallery/libraries/drivers/Cache/Database.php95
11 files changed, 125 insertions, 91 deletions
diff --git a/modules/gallery/libraries/Admin_View.php b/modules/gallery/libraries/Admin_View.php
index cbb781a1..c190f110 100644
--- a/modules/gallery/libraries/Admin_View.php
+++ b/modules/gallery/libraries/Admin_View.php
@@ -31,7 +31,7 @@ class Admin_View_Core extends Gallery_View {
if (!file_exists(THEMEPATH . $theme_name)) {
module::set_var("gallery", "active_admin_theme", "admin_wind");
theme::load_themes();
- Kohana::log("error", "Unable to locate theme '$theme_name', switching to default theme.");
+ Kohana_Log::add("error", "Unable to locate theme '$theme_name', switching to default theme.");
}
parent::__construct($name);
diff --git a/modules/gallery/libraries/Gallery_I18n.php b/modules/gallery/libraries/Gallery_I18n.php
index 0571fe58..42fae266 100644
--- a/modules/gallery/libraries/Gallery_I18n.php
+++ b/modules/gallery/libraries/Gallery_I18n.php
@@ -128,21 +128,21 @@ class Gallery_I18n_Core {
if (!isset($this->_cache[$locale])) {
$this->_cache[$locale] = array();
// TODO: Load data from locale file instead of the DB.
- foreach (Database::instance()
+ foreach (db::build()
->select("key", "translation")
->from("incoming_translations")
->where(array("locale" => $locale))
- ->get()
+ ->execute()
->as_array() as $row) {
$this->_cache[$locale][$row->key] = unserialize($row->translation);
}
// Override incoming with outgoing...
- foreach (Database::instance()
+ foreach (db::build()
->select("key", "translation")
->from("outgoing_translations")
->where(array("locale" => $locale))
- ->get()
+ ->execute()
->as_array() as $row) {
$this->_cache[$locale][$row->key] = unserialize($row->translation);
}
diff --git a/modules/gallery/libraries/Gallery_View.php b/modules/gallery/libraries/Gallery_View.php
index 3bf56d0f..940c5321 100644
--- a/modules/gallery/libraries/Gallery_View.php
+++ b/modules/gallery/libraries/Gallery_View.php
@@ -32,7 +32,7 @@ class Gallery_View_Core extends View {
if (($path = gallery::find_file("js", $file, false))) {
$this->scripts[$path] = 1;
} else {
- Kohana::log("error", "Can't find script file: $file");
+ Kohana_Log::add("error", "Can't find script file: $file");
}
}
@@ -55,7 +55,7 @@ class Gallery_View_Core extends View {
if (($path = gallery::find_file("css", $file, false))) {
$this->css[$path] = 1;
} else {
- Kohana::log("error", "Can't find css file: $file");
+ Kohana_Log::add("error", "Can't find css file: $file");
}
}
@@ -130,7 +130,7 @@ class Gallery_View_Core extends View {
$search[] = $match[0];
$replace[] = "url('" . url::abs_file($relative) . "')";
} else {
- Kohana::log("error", "Missing URL reference '{$match[1]}' in CSS file '$css_file'");
+ Kohana_Log::add("error", "Missing URL reference '{$match[1]}' in CSS file '$css_file'");
}
}
$replace = str_replace(DIRECTORY_SEPARATOR, "/", $replace);
diff --git a/modules/gallery/libraries/IdentityProvider.php b/modules/gallery/libraries/IdentityProvider.php
index e213ae97..bcb3056a 100644
--- a/modules/gallery/libraries/IdentityProvider.php
+++ b/modules/gallery/libraries/IdentityProvider.php
@@ -54,7 +54,7 @@ class IdentityProvider_Core {
*/
static function reset() {
self::$instance = null;
- Kohana::config_clear("identity");
+ Kohana_Config::instance()->clear("identity");
}
/**
@@ -90,7 +90,7 @@ class IdentityProvider_Core {
get_class($this), "IdentityProvider_Driver");
}
- Kohana::log("debug", "Identity Library initialized");
+ Kohana_Log::add("debug", "Identity Library initialized");
}
/**
diff --git a/modules/gallery/libraries/MY_ORM.php b/modules/gallery/libraries/MY_ORM.php
index 2c9ad1d7..56c776aa 100644
--- a/modules/gallery/libraries/MY_ORM.php
+++ b/modules/gallery/libraries/MY_ORM.php
@@ -21,16 +21,6 @@ class ORM extends ORM_Core {
// Track the original value of this ORM so that we can look it up in ORM::original()
protected $original = null;
- public function open_paren() {
- $this->db->open_paren();
- return $this;
- }
-
- public function close_paren() {
- $this->db->close_paren();
- return $this;
- }
-
public function save() {
model_cache::clear();
$result = parent::save();
diff --git a/modules/gallery/libraries/MY_View.php b/modules/gallery/libraries/MY_View.php
index eb55aca6..0311f2dd 100644
--- a/modules/gallery/libraries/MY_View.php
+++ b/modules/gallery/libraries/MY_View.php
@@ -18,6 +18,31 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class View extends View_Core {
+ static $global_data;
+
+ /**
+ * Reimplement Kohana 2.3's View::set_global() functionality.
+ */
+ public function set_global($key, $value) {
+ View::$global_data->$key = $value;
+ $this->$key = $value;
+ }
+
+ public function __isset($key) {
+ if (isset(View::$global_data->$key)) {
+ return true;
+ }
+ return parent::__isset($key);
+ }
+
+ public function &__get($key) {
+ Kohana_Log::add("error",print_r("__get($key)",1));
+ if (isset(View::$global_data->$key)) {
+ return View::$global_data->$key;
+ }
+ return parent::__get($key);
+ }
+
/**
* Override View_Core::__construct so that we can set the csrf value into all views.
*
@@ -38,7 +63,7 @@ class View extends View_Core {
try {
return parent::render($print, $renderer);
} catch (Exception $e) {
- Kohana::Log("error", $e->getMessage() . "\n" . $e->getTraceAsString());
+ Kohana_Log::add("error", $e->getMessage() . "\n" . $e->getTraceAsString());
return "";
}
}
diff --git a/modules/gallery/libraries/ORM_MPTT.php b/modules/gallery/libraries/ORM_MPTT.php
index 83d2445c..01b2d7b7 100644
--- a/modules/gallery/libraries/ORM_MPTT.php
+++ b/modules/gallery/libraries/ORM_MPTT.php
@@ -133,10 +133,10 @@ class ORM_MPTT_Core extends ORM {
*/
function parents() {
return $this
- ->where("`left_ptr` <= {$this->left_ptr}")
- ->where("`right_ptr` >= {$this->right_ptr}")
- ->where("id <> {$this->id}")
- ->orderby("left_ptr", "ASC")
+ ->where("left_ptr", "<=", $this->left_ptr)
+ ->where("right_ptr", ">=", $this->right_ptr)
+ ->where("id", "<>", $this->id)
+ ->order_by("left_ptr", "ASC")
->find_all();
}
@@ -147,14 +147,17 @@ class ORM_MPTT_Core extends ORM {
* @param integer SQL limit
* @param integer SQL offset
* @param array additional where clauses
- * @param array orderby
+ * @param array order_by
* @return array ORM
*/
- function children($limit=null, $offset=0, $where=array(), $orderby=array("id" => "ASC")) {
+ function children($limit=null, $offset=0, $where=null, $order_by=array("id" => "ASC")) {
+ if ($where) {
+ $this->where($where);
+ }
+
return $this
- ->where("parent_id", $this->id)
- ->where($where)
- ->orderby($orderby)
+ ->where("parent_id", "=", $this->id)
+ ->order_by($order_by)
->find_all($limit, $offset);
}
@@ -165,10 +168,13 @@ class ORM_MPTT_Core extends ORM {
* @param array additional where clauses
* @return array ORM
*/
- function children_count($where=array()) {
+ function children_count($where=null) {
+ if ($where) {
+ $this->where($where);
+ }
+
return $this
- ->where($where)
- ->where("parent_id", $this->id)
+ ->where("parent_id", "=", $this->id)
->count_all();
}
@@ -178,15 +184,18 @@ class ORM_MPTT_Core extends ORM {
* @param integer SQL limit
* @param integer SQL offset
* @param array additional where clauses
- * @param array orderby
+ * @param array order_by
* @return object ORM_Iterator
*/
- function descendants($limit=null, $offset=0, $where=array(), $orderby=array("id" => "ASC")) {
+ function descendants($limit=null, $offset=0, $where=null, $order_by=array("id" => "ASC")) {
+ if ($where) {
+ $this->where($where);
+ }
+
return $this
- ->where("left_ptr >", $this->left_ptr)
- ->where("right_ptr <=", $this->right_ptr)
- ->where($where)
- ->orderby($orderby)
+ ->where("left_ptr", ">", $this->left_ptr)
+ ->where("right_ptr", "<=", $this->right_ptr)
+ ->order_by($order_by)
->find_all($limit, $offset);
}
@@ -196,11 +205,14 @@ class ORM_MPTT_Core extends ORM {
* @param array additional where clauses
* @return integer child count
*/
- function descendants_count($where=array()) {
+ function descendants_count($where=null) {
+ if ($where) {
+ $this->where($where);
+ }
+
return $this
- ->where("left_ptr >", $this->left_ptr)
- ->where("right_ptr <=", $this->right_ptr)
- ->where($where)
+ ->where("left_ptr", ">", $this->left_ptr)
+ ->where("right_ptr", "<=", $this->right_ptr)
->count_all();
}
diff --git a/modules/gallery/libraries/SafeString.php b/modules/gallery/libraries/SafeString.php
index ba3a8ffd..cc63f3a7 100644
--- a/modules/gallery/libraries/SafeString.php
+++ b/modules/gallery/libraries/SafeString.php
@@ -146,7 +146,7 @@ class SafeString_Core {
* Escape special HTML chars ("<", ">", "&", etc.) to HTML entities.
*/
private static function _escape_for_html($dirty_html) {
- return html::specialchars($dirty_html);
+ return html::chars($dirty_html);
}
/**
diff --git a/modules/gallery/libraries/Sendmail.php b/modules/gallery/libraries/Sendmail.php
index 7bc21a67..aa2b51a9 100644
--- a/modules/gallery/libraries/Sendmail.php
+++ b/modules/gallery/libraries/Sendmail.php
@@ -52,7 +52,7 @@ class Sendmail_Core {
break;
case "header":
if (count($value) != 2) {
- Kohana::log("error", wordwrap("Invalid header parameters\n" . Kohana::debug($value)));
+ Kohana_Log::add("error", wordwrap("Invalid header parameters\n" . Kohana::debug($value)));
throw new Exception("@todo INVALID_HEADER_PARAMETERS");
}
$this->headers[$value[0]] = $value[1];
@@ -71,7 +71,7 @@ class Sendmail_Core {
public function send() {
if (empty($this->to)) {
- Kohana::log("error", wordwrap("Sending mail failed:\nNo to address specified"));
+ Kohana_Log::add("error", wordwrap("Sending mail failed:\nNo to address specified"));
throw new Exception("@todo TO_IS_REQUIRED_FOR_MAIL");
}
$to = implode(", ", $this->to);
diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php
index b64deab9..03f67671 100644
--- a/modules/gallery/libraries/Theme_View.php
+++ b/modules/gallery/libraries/Theme_View.php
@@ -33,7 +33,7 @@ class Theme_View_Core extends Gallery_View {
if (!file_exists(THEMEPATH . $theme_name)) {
module::set_var("gallery", "active_site_theme", "wind");
theme::load_themes();
- Kohana::log("error", "Unable to locate theme '$theme_name', switching to default theme.");
+ Kohana_Log::add("error", "Unable to locate theme '$theme_name', switching to default theme.");
}
parent::__construct($name);
diff --git a/modules/gallery/libraries/drivers/Cache/Database.php b/modules/gallery/libraries/drivers/Cache/Database.php
index 7e2aeabc..d27bcc32 100644
--- a/modules/gallery/libraries/drivers/Cache/Database.php
+++ b/modules/gallery/libraries/drivers/Cache/Database.php
@@ -20,43 +20,33 @@
/*
* Based on the Cache_Sqlite_Driver developed by the Kohana Team
*/
-class Cache_Database_Driver implements Cache_Driver {
+class Cache_Database_Driver extends Cache_Driver {
// Kohana database instance
protected $db;
/**
- * Tests that the storage location is a directory and is writable.
- */
- public function __construct() {
- // Open up an instance of the database
- $this->db = Database::instance();
-
- if (!$this->db->table_exists("caches")) {
- throw new Exception("@todo Cache table is not defined");
- }
- }
-
- /**
* Checks if a cache id is already set.
*
* @param string cache id
* @return boolean
*/
public function exists($id) {
- $count = $this->db->count_records("caches", array("key" => $id, "expiration >=" => time()));
+ $count = db::build()
+ ->where("key", "=", $id)
+ ->where("expiration", ">=", "time()")
+ ->count_records("caches");
return $count > 0;
}
/**
* Sets a cache item to the given data, tags, and lifetime.
*
- * @param string cache id to set
- * @param string data in the cache
+ * @param array assoc array of key => value pairs
* @param array cache tags
* @param integer lifetime
* @return bool
*/
- public function set($id, $data, array $tags = NULL, $lifetime) {
+ public function set($items, $tags=null, $lifetime=null) {
if (!empty($tags)) {
// Escape the tags, adding brackets so the tag can be explicitly matched
$tags = "<" . implode(">,<", $tags) . ">";
@@ -69,46 +59,46 @@ class Cache_Database_Driver implements Cache_Driver {
$lifetime += time();
}
- if ($this->exists($id)) {
- $status = $this->db->update(
- "caches",
- array("tags" => $tags, "expiration" => $lifetime, "cache" => serialize($data)), array("key" => $id));
- } else {
- $status = $this->db->insert(
- "caches",
- array("key" => $id, "tags" => $tags, "expiration" => $lifetime, "cache" => serialize($data)));
+ foreach ($items as $id => $data) {
+ if ($this->exists($id)) {
+ $status = db::build()->update(
+ "caches",
+ array("tags" => $tags, "expiration" => $lifetime, "cache" => serialize($data)),
+ array("key", "=", $id));
+ } else {
+ $status = db::build()->insert(
+ "caches",
+ array("key" => $id, "tags" => $tags, "expiration" => $lifetime, "cache" => serialize($data)));
+ }
}
- return count($status) > 0;
+ return true;
}
/**
- * Finds an array of ids for a given tag.
- *
- * @param string tag name
- * @return array of ids that match the tag
+ * Get cache items by tag
+ * @param array cache tags
+ * @return array cached data
*/
- public function find($tag) {
- $db_result = $this->db->from("caches")
- ->like("tags", "<$tag>")
- ->get()
- ->result(true);
+ public function get_tag($tags) {
+ $db = db::build()->from("caches");
+ foreach ($tags as $tag) {
+ $db->where("tags", "like", "<$tag>");
+ }
+ $db_result = $db->execute()->as_array();
// An array will always be returned
$result = array();
+ // Disable notices for unserializing
+ $ER = error_reporting(~E_NOTICE);
if ($db_result->count() > 0) {
- // Disable notices for unserializing
- $ER = error_reporting(~E_NOTICE);
-
foreach ($db_result as $row) {
// Add each cache to the array
$result[$row->key] = unserialize($row->cache);
}
-
- // Turn notices back on
- error_reporting($ER);
}
+ error_reporting($ER);
return $result;
}
@@ -120,9 +110,13 @@ class Cache_Database_Driver implements Cache_Driver {
* @param string cache id
* @return mixed|NULL
*/
- public function get($id) {
+ public function get($keys, $single=false) {
$data = null;
- $result = $this->db->getwhere("caches", array("key" => $id));
+ $result = db::build()
+ ->from("caches")
+ ->where("key", "IN", $keys)
+ ->select()
+ ->execute();
if (count($result) > 0) {
$cache = $result->current();
@@ -169,6 +163,13 @@ class Cache_Database_Driver implements Cache_Driver {
}
/**
+ * Delete cache items by tag
+ */
+ public function delete_tag($tags) {
+ return $this->delete($tags, true);
+ }
+
+ /**
* Deletes all cache files that are older than the current time.
*/
public function delete_expired() {
@@ -180,4 +181,10 @@ class Cache_Database_Driver implements Cache_Driver {
return count($status) > 0;
}
-} // End Cache Database Driver \ No newline at end of file
+ /**
+ * Empty the cache
+ */
+ public function delete_all() {
+ db::build()->query("TRUNCATE {caches}");
+ }
+} \ No newline at end of file