diff options
-rw-r--r-- | include/nav.php | 24 | ||||
-rw-r--r-- | include/plugin.php | 13 |
2 files changed, 25 insertions, 12 deletions
diff --git a/include/nav.php b/include/nav.php index 737beaca2..e4df7e4e5 100644 --- a/include/nav.php +++ b/include/nav.php @@ -21,7 +21,7 @@ function nav($template = 'default') { $is_owner = (((local_channel()) && ((App::$profile_uid == local_channel()) || (App::$profile_uid == 0))) ? true : false); $observer = App::get_observer(); $chans = []; - + $channel = []; if (local_channel()) { $channel = App::get_channel(); @@ -84,11 +84,23 @@ function nav($template = 'default') { $userinfo = []; if ($observer) { - $userinfo = [ - 'icon' => $observer['xchan_photo_s'] . '?rev=' . strtotime($observer['xchan_photo_date']), - 'addr' => $observer['xchan_addr'], - 'name' => $observer['xchan_name'], - ]; + $userinfo['icon'] = $observer['xchan_photo_s'] . '?rev=' . strtotime($observer['xchan_photo_date']); + $userinfo['icon_m'] = $observer['xchan_photo_m'] . '?rev=' . strtotime($observer['xchan_photo_date']); + $userinfo['icon_l'] = $observer['xchan_photo_l'] . '?rev=' . strtotime($observer['xchan_photo_date']); + $userinfo['icon_mime_type'] = $observer['xchan_photo_mimetype']; + $userinfo['addr'] = $observer['xchan_addr']; + $userinfo['url'] = $observer['xchan_url']; + $userinfo['forum'] = $observer['xchan_pubforum']; + $userinfo['name'] = $observer['xchan_name']; + } + + if ($channel) { + $userinfo['id'] = $channel['channel_id']; + $userinfo['nick'] = $channel['channel_address']; + $userinfo['location'] = $channel['channel_location']; + $userinfo['theme'] = $channel['channel_theme']; + $userinfo['timezone'] = $channel['channel_timezone']; + $userinfo['startpage'] = $channel['channel_startpage']; } elseif (empty($_SESSION['authenticated'])) { diff --git a/include/plugin.php b/include/plugin.php index 1a253d38f..f1d501001 100644 --- a/include/plugin.php +++ b/include/plugin.php @@ -459,8 +459,6 @@ function insert_hook($hook, $fn, $version = 0, $priority = 0) { * @param[in,out] string|array &$data to transmit to the callback handler */ function call_hooks($name, &$data = null) { - $a = 0; - if (isset(App::$hooks[$name])) { foreach(App::$hooks[$name] as $hook) { @@ -482,9 +480,13 @@ function call_hooks($name, &$data = null) { } $data = $checkhook['data']; } + $origfn = $hook[1]; - if($hook[0]) + + if($hook[0]) { @include_once($hook[0]); + } + if(preg_match('|^a:[0-9]+:{.*}$|s', $hook[1])) { $hook[1] = unserialize($hook[1]); } @@ -496,13 +498,12 @@ function call_hooks($name, &$data = null) { $hook[1] = explode('::',$hook[1]); } + if(is_callable($hook[1])) { $func = $hook[1]; - if($hook[3]) - $func($data); + $func($data); } else { - // Don't do any DB write calls if we're currently logging a possibly failed DB call. if(! DBA::$logging) { // The hook should be removed so we don't process it. |