block caching

This commit is contained in:
Shish 2012-06-23 23:21:04 +01:00
parent d3e2653002
commit ee1162309a

View File

@ -34,7 +34,11 @@ class Blocks extends Extension {
public function onPageRequest(PageRequestEvent $event) {
global $config, $database, $page, $user;
$blocks = $database->get_all("SELECT * FROM blocks");
$blocks = $database->cache->get("blocks");
if($blocks === false) {
$blocks = $database->get_all("SELECT * FROM blocks");
$database->cache->set("blocks", $blocks, 300);
}
foreach($blocks as $block) {
if(fnmatch($block['pages'], implode("/", $event->args))) {
$page->add_block(new Block($block['title'], $block['content'], $block['area'], $block['priority']));
@ -49,6 +53,7 @@ class Blocks extends Extension {
VALUES (?, ?, ?, ?, ?)
", array($_POST['pages'], $_POST['title'], $_POST['area'], (int)$_POST['priority'], $_POST['content']));
log_info("blocks", "Added Block #".($database->get_last_insert_id('blocks_id_seq'))." (".$_POST['title'].")");
$database->cache->delete("blocks");
$page->set_mode("redirect");
$page->set_redirect(make_link("blocks/list"));
}
@ -69,6 +74,7 @@ class Blocks extends Extension {
", array($_POST['pages'], $_POST['title'], $_POST['area'], (int)$_POST['priority'], $_POST['content'], $_POST['id']));
log_info("blocks", "Updated Block #".$_POST['id']." (".$_POST['title'].")");
}
$database->cache->delete("blocks");
$page->set_mode("redirect");
$page->set_redirect(make_link("blocks/list"));
}