cache tag streams in Memcached, too
darcs-hash:20080928180904-5ed1f-ebf95f6f04ee4128a1ab2bb9a6a06a946926665d.gz
This commit is contained in:
parent
b204650242
commit
8d53a7d463
@ -159,18 +159,8 @@ class TagAction extends StreamAction {
|
|||||||
|
|
||||||
function show_notices($tag) {
|
function show_notices($tag) {
|
||||||
|
|
||||||
$tags = DB_DataObject::factory('Notice_tag');
|
$notices = Notice_tag::getStream((($page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
|
||||||
|
|
||||||
$tags->tag = $tag;
|
|
||||||
|
|
||||||
$tags->orderBy('created DESC');
|
|
||||||
|
|
||||||
$page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
|
|
||||||
|
|
||||||
$tags->limit((($page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
|
|
||||||
|
|
||||||
$cnt = $tags->find();
|
|
||||||
|
|
||||||
if ($cnt > 0) {
|
if ($cnt > 0) {
|
||||||
common_element_start('ul', array('id' => 'notices'));
|
common_element_start('ul', array('id' => 'notices'));
|
||||||
for ($i = 0; $i < min($cnt, NOTICES_PER_PAGE); $i++) {
|
for ($i = 0; $i < min($cnt, NOTICES_PER_PAGE); $i++) {
|
||||||
|
@ -1,7 +1,22 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/*
|
||||||
* Table Definition for notice_tag
|
* 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/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
|
require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
|
||||||
|
|
||||||
class Notice_tag extends Memcached_DataObject
|
class Notice_tag extends Memcached_DataObject
|
||||||
@ -19,4 +34,15 @@ class Notice_tag extends Memcached_DataObject
|
|||||||
|
|
||||||
/* the code above is auto generated do not remove the tag below */
|
/* the code above is auto generated do not remove the tag below */
|
||||||
###END_AUTOCODE
|
###END_AUTOCODE
|
||||||
|
|
||||||
|
static function noticeStream($tag, $offset=0, $limit=20) {
|
||||||
|
$qry =
|
||||||
|
'SELECT notice.* ' .
|
||||||
|
'FROM notice JOIN notice_tag ON notice.id = notice_tag.notice_id ' .
|
||||||
|
'WHERE notice_tag.tag = "%s"';
|
||||||
|
|
||||||
|
return Notice::getStream(sprintf($qry, $tag),
|
||||||
|
'notice_tag:notice_stream:' . $tag,
|
||||||
|
$offset, $limit);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user