public function listen_quicksearchDropdownFoundItems(TBGEvent $event) { $searchterm = $event->getSubject(); list($resultcount, $articles) = TBGWikiArticle::findByArticleNameAndProject($searchterm, TBGContext::getCurrentProject()); TBGActionComponent::includeTemplate('publish/quicksearch_dropdown_founditems', array('searchterm' => $searchterm, 'articles' => $articles, 'resultcount' => $resultcount)); }
public static function listen_TBGFile_hasAccess(TBGEvent $event) { $file = $event->getSubject(); if ($file->getID() == self::getHeaderIconID() || $file->getID() == self::getFaviconID()) { $event->setReturnValue(true); $event->setProcessed(); } }
public function listen_viewissue_panel(TBGEvent $event) { if (TBGContext::getModule('vcs_integration')->getSetting('vcs_mode_' . TBGContext::getCurrentProject()->getID()) == TBGVCSIntegration::MODE_DISABLED) { return; } $links = TBGVCSIntegrationIssueLink::getCommitsByIssue($event->getSubject()); TBGActionComponent::includeTemplate('vcs_integration/viewissue_commits', array('links' => $links, 'projectId' => $event->getSubject()->getProject()->getID())); }
public static function listen_TBGFile_hasAccess(TBGEvent $event) { $file = $event->getSubject(); $builds = self::getB2DBTable()->getByFileID($file->getID()); foreach ($builds as $build) { if ($build->hasAccess()) { $event->setReturnValue(true); $event->setProcessed(); break; } } }
public function listen_viewissue_panel(TBGEvent $event) { $web_path = $this->getSetting('web_path_' . $event->getSubject()->getProject()->getID()); $web_repo = $this->getSetting('web_repo_' . $event->getSubject()->getProject()->getID()); if (empty($web_repo) || empty($web_path)) { return; } $data = TBGVCSIntegrationTable::getTable()->getCommitsByIssue($event->getSubject()->getId()); if (!is_array($data)) { TBGActionComponent::includeTemplate('vcs_integration/viewissue_commits_top', array('items' => false)); } else { TBGActionComponent::includeTemplate('vcs_integration/viewissue_commits_top', array('items' => true)); /* Now produce each box */ foreach ($data as $revno => $entry) { $revision = $revno; /* Build correct URLs */ switch ($this->getSetting('web_type_' . $event->getSubject()->getProject()->getID())) { case 'viewvc': $link_rev = $web_path . '/' . '?root=' . $web_repo . '&view=rev&revision=' . $revision; break; case 'viewvc_repo': $link_rev = $web_path . '/' . '?view=rev&revision=' . $revision; break; case 'websvn': $link_rev = $web_path . '/revision.php?repname=' . $web_repo . '&isdir=1&rev=' . $revision; break; case 'websvn_mv': $link_rev = $web_path . '/' . '?repname=' . $web_repo . '&op=log&isdir=1&rev=' . $revision; break; case 'loggerhead': $link_rev = $web_path . '/' . $web_repo . '/revision/' . $revision; break; case 'gitweb': $link_rev = $web_path . '/' . '?p=' . $web_repo . ';a=commitdiff;h=' . $revision; break; case 'cgit': $link_rev = $web_path . '/' . $web_repo . '/commit/?id=' . $revision; break; case 'hgweb': $link_rev = $web_path . '/' . $web_repo . '/rev/' . $revision; break; case 'github': $link_rev = 'http://github.com/' . $web_repo . '/commit/' . $revision; break; case 'gitorious': $link_rev = $web_path . '/' . $web_repo . '/commit/' . $revision; break; } /* Now we have everything, render the template */ include_template('vcs_integration/commitbox', array("projectId" => $event->getSubject()->getProject()->getID(), "id" => $entry[0][0], "revision" => $revision, "author" => $entry[0][1], "date" => $entry[0][2], "log" => $entry[0][3], "files" => $entry[1])); } TBGActionComponent::includeTemplate('vcs_integration/viewissue_commits_bottom'); } }
/** * @covers TBGEvent::getSubject * @depends testCreateNew */ public function testGetSubject(TBGEvent $event) { $this->assertEquals('subject', $event->getSubject()); }
public function listen_issueSave(TBGEvent $event) { if ($this->isOutgoingNotificationsEnabled()) { $issue = $event->getSubject(); if ($issue instanceof TBGIssue) { $to_users = $this->_getIssueRelatedUsers($issue); $subject = TBGContext::getI18n()->__('[%project_name%] %issue_type% %issue_no% - "%issue_title%" updated', array('%project_name%' => $issue->getProject()->getKey(), '%issue_type%' => TBGContext::getI18n()->__($issue->getIssueType()->getName()), '%issue_no%' => $issue->getFormattedIssueNo(true), '%issue_title%' => $issue->getTitle())); $message = $this->createNewTBGMimemailFromTemplate($subject, 'issueupdate', array('issue' => $issue, 'comment_lines' => $event->getParameter('comment_lines'), 'updated_by' => $event->getParameter('updated_by'))); $this->_sendToUsers($to_users, $message); } } }
public function listen_get_backdrop_partial(TBGEvent $event) { if ($event->getSubject() == 'mailing_editincomingemailaccount') { $account = new TBGIncomingEmailAccount(TBGContext::getRequest()->getParameter('account_id')); $event->addToReturnList($account, 'account'); $event->setReturnValue('mailing/editincomingemailaccount'); $event->setProcessed(); } }
public function listenPublishFixtureArticleCreated(TBGEvent $event) { $this->cliEcho($event->getParameter('imported') ? "Importing " : "Skipping "); $this->cliEcho($event->getSubject() . "\n", 'white', 'bold'); }