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));
 }
示例#2
0
 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()));
 }
示例#4
0
 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');
     }
 }
示例#6
0
 /**
  * @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);
         }
     }
 }
示例#8
0
 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');
 }