Piwik\Plugins\MobileMessaging\MobileMessaging::sendReport PHP Method

sendReport() public method

public sendReport ( $reportType, $report, $contents, $filename, $prettyDate, $reportSubject, $reportTitle, $additionalFiles, Piwik\Period $period = null, $force )
$period Piwik\Period
    public function sendReport($reportType, $report, $contents, $filename, $prettyDate, $reportSubject, $reportTitle, $additionalFiles, Period $period = null, $force)
    {
        if (self::manageEvent($reportType)) {
            $parameters = $report['parameters'];
            $phoneNumbers = $parameters[self::PHONE_NUMBERS_PARAMETER];
            // 'All Websites' is one character above the limit, use 'Reports' instead
            if ($reportSubject == Piwik::translate('General_MultiSitesSummary')) {
                $reportSubject = Piwik::translate('General_Reports');
            }
            $mobileMessagingAPI = APIMobileMessaging::getInstance();
            foreach ($phoneNumbers as $phoneNumber) {
                $mobileMessagingAPI->sendSMS($contents, $phoneNumber, $reportSubject);
            }
        }
    }

Usage Example

 /**
  * @group Plugins
  *
  * @dataProvider getSendReportTestCases
  */
 public function testSendReport($expectedReportContent, $expectedPhoneNumber, $expectedFrom, $reportContent, $phoneNumber, $reportSubject)
 {
     $report = array('parameters' => array(MobileMessaging::PHONE_NUMBERS_PARAMETER => array($phoneNumber)));
     $stubbedAPIMobileMessaging = $this->getMock('\\Piwik\\Plugins\\MobileMessaging\\API', array('sendSMS', 'getInstance'), $arguments = array(), $mockClassName = '', $callOriginalConstructor = false);
     $stubbedAPIMobileMessaging->expects($this->once())->method('sendSMS')->with($this->equalTo($expectedReportContent, 0), $this->equalTo($expectedPhoneNumber, 1), $this->equalTo($expectedFrom, 2));
     \Piwik\Plugins\MobileMessaging\API::setSingletonInstance($stubbedAPIMobileMessaging);
     $mobileMessaging = new MobileMessaging();
     $mobileMessaging->sendReport(MobileMessaging::MOBILE_TYPE, $report, $reportContent, null, null, $reportSubject, null, null);
     \Piwik\Plugins\MobileMessaging\API::unsetInstance();
 }