block caching
This commit is contained in:
parent
d3e2653002
commit
ee1162309a
@ -34,7 +34,11 @@ class Blocks extends Extension {
|
|||||||
public function onPageRequest(PageRequestEvent $event) {
|
public function onPageRequest(PageRequestEvent $event) {
|
||||||
global $config, $database, $page, $user;
|
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) {
|
foreach($blocks as $block) {
|
||||||
if(fnmatch($block['pages'], implode("/", $event->args))) {
|
if(fnmatch($block['pages'], implode("/", $event->args))) {
|
||||||
$page->add_block(new Block($block['title'], $block['content'], $block['area'], $block['priority']));
|
$page->add_block(new Block($block['title'], $block['content'], $block['area'], $block['priority']));
|
||||||
@ -49,6 +53,7 @@ class Blocks extends Extension {
|
|||||||
VALUES (?, ?, ?, ?, ?)
|
VALUES (?, ?, ?, ?, ?)
|
||||||
", array($_POST['pages'], $_POST['title'], $_POST['area'], (int)$_POST['priority'], $_POST['content']));
|
", 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'].")");
|
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_mode("redirect");
|
||||||
$page->set_redirect(make_link("blocks/list"));
|
$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']));
|
", array($_POST['pages'], $_POST['title'], $_POST['area'], (int)$_POST['priority'], $_POST['content'], $_POST['id']));
|
||||||
log_info("blocks", "Updated Block #".$_POST['id']." (".$_POST['title'].")");
|
log_info("blocks", "Updated Block #".$_POST['id']." (".$_POST['title'].")");
|
||||||
}
|
}
|
||||||
|
$database->cache->delete("blocks");
|
||||||
$page->set_mode("redirect");
|
$page->set_mode("redirect");
|
||||||
$page->set_redirect(make_link("blocks/list"));
|
$page->set_redirect(make_link("blocks/list"));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user