summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/common.php6
-rw-r--r--lib/noticewrapper.php57
-rw-r--r--lib/util.php10
3 files changed, 72 insertions, 1 deletions
diff --git a/lib/common.php b/lib/common.php
index 80aab806f..1aa60fc42 100644
--- a/lib/common.php
+++ b/lib/common.php
@@ -97,7 +97,11 @@ $config =
'daemon' =>
array('piddir' => '/var/run',
'user' => false,
- 'group' => false)
+ 'group' => false),
+ 'memcached' =>
+ array('enabled' => false,
+ 'server' => 'localhost',
+ 'port' => 11211)
);
$config['db'] = &PEAR::getStaticProperty('DB_DataObject','options');
diff --git a/lib/noticewrapper.php b/lib/noticewrapper.php
new file mode 100644
index 000000000..fbf7b59f4
--- /dev/null
+++ b/lib/noticewrapper.php
@@ -0,0 +1,57 @@
+<?php
+/*
+ * Laconica - a distributed open-source microblogging tool
+ * Copyright (C) 2008, Controlez-Vous, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('LACONICA')) { exit(1); }
+
+class NoticeWrapper {
+
+ public $id; // int(4) primary_key not_null
+ public $profile_id; // int(4) not_null
+ public $uri; // varchar(255) unique_key
+ public $content; // varchar(140)
+ public $rendered; // text()
+ public $url; // varchar(255)
+ public $created; // datetime() not_null
+ public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
+ public $reply_to; // int(4)
+ public $is_local; // tinyint(1)
+ public $source; // varchar(32)
+
+ var $notices = NULL;
+ var $i = -1;
+
+ function __construct($arr) {
+ $this->notices = $arr;
+ }
+
+ function fetch() {
+ static $fields = array('id', 'profile_id', 'uri', 'content', 'rendered',
+ 'url', 'created', 'modified', 'reply_to', 'is_local', 'source');
+ $this->i++;
+ if ($this->i >= array_count($notices)) {
+ return false;
+ } else {
+ $n = $notices[$this->i];
+ foreach ($fields as $f) {
+ $this->$f = $n->$f;
+ }
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/lib/util.php b/lib/util.php
index ff22ac644..349cff722 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -1528,3 +1528,13 @@ function common_session_token() {
}
return $_SESSION['token'];
}
+
+function common_cache_key($extra) {
+ return 'laconica:' . common_keyize(common_config('site', 'name')) . ':' . $extra;
+}
+
+function common_keyize($str) {
+ $str = strtolower($str);
+ $str = preg_replace('/\s/', '_', $str);
+ return $str;
+}