aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addon/README18
-rw-r--r--include/dba.php31
-rw-r--r--include/poller.php2
-rw-r--r--index.php20
4 files changed, 58 insertions, 13 deletions
diff --git a/addon/README b/addon/README
index c6931c2b3..89f39e399 100644
--- a/addon/README
+++ b/addon/README
@@ -138,6 +138,12 @@ Current hooks:
'contact_edit_post' - called when posting the contact edit page
$b is the $_POST array
+'init_1' - called just after DB has been opened and before session start
+ $b is not used or passed
+
+'page_end' - called after HTML content functions have completed
+ $b is (string) HTML of content div
+
@@ -149,17 +155,17 @@ Current hooks:
Not yet documented:
-'atom_feed'
+'atom_feed' ***
-'atom_feed_end'
+'atom_feed_end' ***
-'parse_atom'
+'parse_atom' ***
-'atom_author'
+'atom_author' ***
-'atom_entry'
+'atom_entry' ***
-'parse_link'
+'parse_link' ***
diff --git a/include/dba.php b/include/dba.php
index ae3a4957b..e58abb1a1 100644
--- a/include/dba.php
+++ b/include/dba.php
@@ -46,7 +46,7 @@ class dba {
elseif($result === true)
$mesg = 'true';
else
- $mesg = $result->num_rows.' results' . EOL;
+ $mesg = $result->num_rows . ' results' . EOL;
$str = 'SQL = ' . printable($sql) . EOL . 'SQL returned ' . $mesg . EOL;
@@ -114,7 +114,10 @@ function dbg($state) {
if(! function_exists('dbesc')) {
function dbesc($str) {
global $db;
- return($db->escape($str));
+ if($db)
+ return($db->escape($str));
+ else
+ return(str_replace("'","\\'",$str));
}}
@@ -129,11 +132,29 @@ function q($sql) {
global $db;
$args = func_get_args();
unset($args[0]);
- $ret = $db->q(vsprintf($sql,$args));
- return $ret;
+
+ if($db) {
+ $ret = $db->q(vsprintf($sql,$args));
+ return $ret;
+ }
+
+ /**
+ *
+ * This will happen occasionally trying to store the
+ * session data after abnormal program termination
+ *
+ */
+
+ logger('dba: no database: ' . print_r($args,true));
+ return false;
+
}}
-// raw db query, no arguments
+/**
+ *
+ * Raw db query, no arguments
+ *
+ */
if(! function_exists('dbq')) {
function dbq($sql) {
diff --git a/include/poller.php b/include/poller.php
index 3d13a5480..28e421f5f 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -26,7 +26,9 @@
proc_close(proc_open("\"$php_path\" \"include/queue.php\" &", array(), $foo));
+ $hub_update = false;
$force = false;
+
if(($argc > 1) && ($argv[1] == 'force'))
$force = true;
diff --git a/index.php b/index.php
index 38684a00a..1c0696781 100644
--- a/index.php
+++ b/index.php
@@ -64,8 +64,11 @@ $db = new dba($db_host, $db_user, $db_pass, $db_data, $install);
if(! $install) {
require_once("session.php");
load_hooks();
+ call_hooks('init_1');
}
+
+
require_once("datetime.php");
date_default_timezone_set(($default_timezone) ? $default_timezone : 'UTC');
@@ -145,6 +148,16 @@ if(strlen($a->module)) {
}
}
+/* initialise content region */
+
+if(! x($a->page,'content'))
+ $a->page['content'] = '';
+
+
+/**
+ * Call module functions
+ */
+
if($a->module_loaded) {
$a->page['page_title'] = $a->module;
if(function_exists($a->module . '_init')) {
@@ -166,8 +179,6 @@ if($a->module_loaded) {
if((! $a->error) && (function_exists($a->module . '_content'))) {
$func = $a->module . '_content';
- if(! x($a->page,'content'))
- $a->page['content'] = '';
$a->page['content'] .= $func($a);
}
@@ -202,6 +213,10 @@ if(x($_SESSION,'sysmsg')) {
unset($_SESSION['sysmsg']);
}
+
+call_hooks('page_end', $a->page['content']);
+
+
/**
*
* Add a place for the pause/resume Ajax indicator
@@ -226,6 +241,7 @@ if($a->module != 'install')
* Make sure the desired theme exists, though if the default theme doesn't exist we're stuffed.
*
*/
+
$default_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : 'default');
if((x($_SESSION,'theme')) && (! file_exists('view/theme/' . $_SESSION['theme'] . '/style.css')))
unset($_SESSION['theme']);