diff --git a/ext/blocks/main.php b/ext/blocks/main.php index 6cb7d0d1..e1329234 100644 --- a/ext/blocks/main.php +++ b/ext/blocks/main.php @@ -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")); }