diff --git a/EVENTS.txt b/EVENTS.txt index 1a3b2594a2..65e2c3ce03 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -1066,3 +1066,15 @@ EndRssEntryArray: at the end of copying a notice to an array NoticeDeleteRelated: at the beginning of deleting related fields to a notice - $notice: notice being deleted + +StartShowHeadTitle: when beginning to show the element +- $action: action being shown + +EndShowHeadTitle: when done showing the <title> +- $action: action being shown + +StartShowPageTitle: when beginning to show the page title <h1> +- $action: action being shown + +EndShowPageTitle: when done showing the page title <h1> +- $action: action being shown \ No newline at end of file diff --git a/lib/action.php b/lib/action.php index 2b3b707c59..1d85f19e99 100644 --- a/lib/action.php +++ b/lib/action.php @@ -121,7 +121,10 @@ class Action extends HTMLOutputter // lawsuit // XXX: attributes (profile?) $this->elementStart('head'); if (Event::handle('StartShowHeadElements', array($this))) { - $this->showTitle(); + if (Event::handle('StartShowHeadTitle', array($this))) { + $this->showTitle(); + Event::handle('EndShowHeadTitle', array($this)); + } $this->showShortcutIcon(); $this->showStylesheets(); $this->showOpenSearch(); @@ -235,7 +238,7 @@ class Action extends HTMLOutputter // lawsuit Event::handle('EndShowDesign', array($this)); } Event::handle('EndShowStyles', array($this)); - + if (common_config('custom_css', 'enabled')) { $css = common_config('custom_css', 'css'); if (Event::handle('StartShowCustomCss', array($this, &$css))) { @@ -616,7 +619,10 @@ class Action extends HTMLOutputter // lawsuit function showContentBlock() { $this->elementStart('div', array('id' => 'content')); - $this->showPageTitle(); + if (Event::handle('StartShowPageTitle', array($this))) { + $this->showPageTitle(); + Event::handle('EndShowPageTitle', array($this)); + } $this->showPageNoticeBlock(); $this->elementStart('div', array('id' => 'content_inner')); // show the actual content (forms, lists, whatever)