aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/cache/driver/interface.php
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2013-07-14 11:34:58 -0400
committerIgor Wiedler <igor@wiedler.ch>2013-07-14 11:34:58 -0400
commitf6865dc33a8cedb7d21a64401ed80d2edbac36bd (patch)
tree66aa645c4d86636f0bce04a7125a7757a466b224 /phpBB/phpbb/cache/driver/interface.php
parentfa3cdb6bf2cfdca9c26168bd258752718bc8a43f (diff)
parentc15bde161a93fc2abc48cacd7e5a71c682880e52 (diff)
downloadforums-f6865dc33a8cedb7d21a64401ed80d2edbac36bd.tar
forums-f6865dc33a8cedb7d21a64401ed80d2edbac36bd.tar.gz
forums-f6865dc33a8cedb7d21a64401ed80d2edbac36bd.tar.bz2
forums-f6865dc33a8cedb7d21a64401ed80d2edbac36bd.tar.xz
forums-f6865dc33a8cedb7d21a64401ed80d2edbac36bd.zip
Merge remote-tracking branch 'upstream/develop' into ticket/11574
* upstream/develop: (575 commits) [ticket/11702] Fix forum_posts left over for link-click counts in viewforum.php [ticket/11696] Move file to new directory [ticket/11696] Rename constructor to __construct() [ticket/11696] Remove manual loading of db_tools in extension controller test [ticket/11696] Rename db_tools.php so it can be autoloaded [ticket/11698] Moving all autoloadable files to phpbb/ [ticket/11694] Do not locate assets with root path [ticket/11692] Don't update search_type in dev migration if already appended [ticket/11675] Fix template loop [ticket/11690] Old module class names may get autoloaded by class_exists [ticket/9649] Display information on index for moderators on unapproved posts [ticket/10999] Fix assets_version in ACP [prep-release-3.0.12] More changelog items for the 3.0.12 release. [ticket/11687] Add assets_version to phpbb_config [ticket/11686] Not checking for phpBB Debug errors on functional tests [ticket/11670] Consistency with logo: Replace "phpBB(tm)" with "phpBB(R)". [ticket/11674] Do not include vendor folder if there are no dependencies. [ticket/11685] Remove logout confirmation page [ticket/11684] Remove useless confirmation page after login and admin login [ticket/9657] Define user before injecting ... Conflicts: phpBB/includes/functions_container.php phpBB/install/database_update.php phpBB/install/index.php
Diffstat (limited to 'phpBB/phpbb/cache/driver/interface.php')
-rw-r--r--phpBB/phpbb/cache/driver/interface.php144
1 files changed, 144 insertions, 0 deletions
diff --git a/phpBB/phpbb/cache/driver/interface.php b/phpBB/phpbb/cache/driver/interface.php
new file mode 100644
index 0000000000..53f684d1c8
--- /dev/null
+++ b/phpBB/phpbb/cache/driver/interface.php
@@ -0,0 +1,144 @@
+<?php
+/**
+*
+* @package acm
+* @copyright (c) 2010 phpBB Group
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+*
+*/
+
+/**
+* @ignore
+*/
+if (!defined('IN_PHPBB'))
+{
+ exit;
+}
+
+/**
+* An interface that all cache drivers must implement
+*
+* @package acm
+*/
+interface phpbb_cache_driver_interface
+{
+ /**
+ * Load global cache
+ */
+ public function load();
+
+ /**
+ * Unload cache object
+ */
+ public function unload();
+
+ /**
+ * Save modified objects
+ */
+ public function save();
+
+ /**
+ * Tidy cache
+ */
+ public function tidy();
+
+ /**
+ * Get saved cache object
+ */
+ public function get($var_name);
+
+ /**
+ * Put data into cache
+ */
+ public function put($var_name, $var, $ttl = 0);
+
+ /**
+ * Purge cache data
+ */
+ public function purge();
+
+ /**
+ * Destroy cache data
+ */
+ public function destroy($var_name, $table = '');
+
+ /**
+ * Check if a given cache entry exists
+ */
+ public function _exists($var_name);
+
+ /**
+ * Load result of an SQL query from cache.
+ *
+ * @param string $query SQL query
+ *
+ * @return int|bool Query ID (integer) if cache contains a rowset
+ * for the specified query.
+ * False otherwise.
+ */
+ public function sql_load($query);
+
+ /**
+ * Save result of an SQL query in cache.
+ *
+ * In persistent cache stores, this function stores the query
+ * result to persistent storage. In other words, there is no need
+ * to call save() afterwards.
+ *
+ * @param phpbb_db_driver $db Database connection
+ * @param string $query SQL query, should be used for generating storage key
+ * @param mixed $query_result The result from dbal::sql_query, to be passed to
+ * dbal::sql_fetchrow to get all rows and store them
+ * in cache.
+ * @param int $ttl Time to live, after this timeout the query should
+ * expire from the cache.
+ * @return int|mixed If storing in cache succeeded, an integer $query_id
+ * representing the query should be returned. Otherwise
+ * the original $query_result should be returned.
+ */
+ public function sql_save(phpbb_db_driver $db, $query, $query_result, $ttl);
+
+ /**
+ * Check if result for a given SQL query exists in cache.
+ *
+ * @param int $query_id
+ * @return bool
+ */
+ public function sql_exists($query_id);
+
+ /**
+ * Fetch row from cache (database)
+ *
+ * @param int $query_id
+ * @return array|bool The query result if found in the cache, otherwise
+ * false.
+ */
+ public function sql_fetchrow($query_id);
+
+ /**
+ * Fetch a field from the current row of a cached database result (database)
+ *
+ * @param int $query_id
+ * @param $field The name of the column.
+ * @return string|bool The field of the query result if found in the cache,
+ * otherwise false.
+ */
+ public function sql_fetchfield($query_id, $field);
+
+ /**
+ * Seek a specific row in an a cached database result (database)
+ *
+ * @param int $rownum Row to seek to.
+ * @param int $query_id
+ * @return bool
+ */
+ public function sql_rowseek($rownum, $query_id);
+
+ /**
+ * Free memory used for a cached database result (database)
+ *
+ * @param int $query_id
+ * @return bool
+ */
+ public function sql_freeresult($query_id);
+}