/** * Connects to MySQL and runs a specified set of queries. */ public function execute() { $addresses = $this->getEmailAddresses(); // Without some email addresses in the yml file then we // can't do anything. if (count($addresses) == 0) { return false; } $subjectTemplate = "PHPCI - %s - %s"; $projectName = $this->phpci->getBuildProjectTitle(); $logText = $this->build->getLog(); if ($this->build->isSuccessful()) { $sendFailures = $this->sendSeparateEmails($addresses, sprintf($subjectTemplate, $projectName, "Passing Build"), sprintf("Log Output: <br><pre>%s</pre>", $logText)); } else { $view = new View('Email/failed'); $view->build = $this->build; $view->project = $this->build->getProject(); $emailHtml = $view->render(); $sendFailures = $this->sendSeparateEmails($addresses, sprintf($subjectTemplate, $projectName, "Failing Build"), $emailHtml); } // This is a success if we've not failed to send anything. $this->phpci->log(sprintf("%d emails sent", count($addresses) - count($sendFailures))); $this->phpci->log(sprintf("%d emails failed to send", count($sendFailures))); return count($sendFailures) == 0; }
/** * Set up the plugin, configure options, etc. * @param Builder $phpci * @param Build $build * @param array $options */ public function __construct(Builder $phpci, Build $build, array $options = array()) { $this->phpci = $phpci; $this->build = $build; $this->directory = isset($options['directory']) ? $options['directory'] : $phpci->buildPath; $title = $phpci->getBuildProjectTitle(); $this->summary = $title . '-summary.xml'; $this->pyramid = $title . '-pyramid.svg'; $this->chart = $title . '-chart.svg'; $this->location = $this->phpci->buildPath . '..' . DIRECTORY_SEPARATOR . 'pdepend'; }