public function send()
 {
     // Config
     $config = Registry::getConfig();
     if (!$config->stats->graphite->enabled) {
         return;
     }
     $graphite_cfg = $config->stats->graphite->toArray();
     $graphiteStats = new GraphiteStats($graphite_cfg, Registry::getBaseUrl());
     $actionLog = $this->actionLogBusiness;
     $allWebsites = $this->websiteBusiness->getAll();
     // add some non ActionLog related metrics (gauges)
     $graphiteStats->addMetric('WEBSITE_COUNT', count($allWebsites));
     // website specific data
     foreach ($allWebsites as $website) {
         $log = $actionLog->getLog($website->getId(), null, null);
         foreach ($log as $logEntry) {
             $graphiteStats->addMetricByActionLogEntry($logEntry);
         }
     }
     // non-website specific data
     $globalLog = $actionLog->getLog('unknown-websiteid', null, null);
     foreach ($globalLog as $logEntry) {
         $graphiteStats->addMetricByActionLogEntry($logEntry);
     }
     $result = $graphiteStats->sendAll();
     // reflect result in data of "response"
     if (!$result) {
         throw new \Exception('Failed to send graphiteStats');
     }
 }
 public function send()
 {
     // Config
     $config = Registry::getConfig();
     if (!$config->stats->segmentio->enabled) {
         return;
     }
     $stats_cfg = $config->stats->segmentio->toArray();
     $sio = new SegmentIoStats($stats_cfg, Registry::getBaseUrl());
     $tracking_id = $this->getTrackingId();
     if (empty($tracking_id)) {
         return;
         // end here
     }
     $propertiesReport = array();
     $propertiesReport['calculated_stats'] = $this->addCalculatedStats($sio, $tracking_id);
     // initial user data or new log entries
     if ($this->isFirstSubmit()) {
         // get all log entries
         $logEntries = $this->actionLogBusiness->getLogSinceLastAction(null);
         // remove legacy action entries
         $this->removeActionsWithLegacyName($logEntries);
     } else {
         // get new log entries (since last successful send operation)
         $logEntries = $this->actionLogBusiness->getLogSinceLastAction(CliBusiness::SPACE_SUBMITTED_LOG);
     }
     // add log entries to queue
     $this->addLogEntries($sio, $tracking_id, $logEntries);
     // send to segment.io and log the sending if successful
     if ($sio->sendAll()) {
         $this->logSuccessfulSent($propertiesReport);
     }
 }
 protected function setUp()
 {
     parent::setUp();
     $weburl = parse_url(Registry::getBaseUrl());
     $this->spaceHost = preg_replace('/\\.$/', '', $weburl['host']);
     $this->cfg_segmentio = Registry::getConfig()->stats->segmentio->toArray();
     $this->analyticsLogFile = $this->cfg_segmentio['api_options']['filename'];
     FS::rmFile($this->analyticsLogFile);
 }
 /**
  * @test
  * @group library
  * @requires extension phpwkhtmltox
  * @dataProvider successProvider
  */
 public function success($fileTyp)
 {
     $this->markTestSkipped('Disabled because of memory problems');
     $this->config->filetype = $fileTyp;
     $screenshotHandler = new Screenshot\Type\Systemcallwkhtmltoimage($this->config->toArray());
     $destinationFile = $this->config->directory . '/systemcallwkhtmltoimageTest/test.' . $fileTyp;
     $this->assertFileNotExists($destinationFile);
     $pageId = 'PAGE-033d84e8-cc3e-4a1f-a408-b8fa374af75f-PAGE';
     $websiteId = 'SITE-a344abb2-2a96-4836-b847-1ab0571b1e6d-SITE';
     $url = Registry::getBaseUrl()->webhost . Registry::getConfig()->server->url . '/render/page/' . Registry::getConfig()->request->parameter . '/' . urlencode('{"websiteid":"' . $websiteId . '","pageid":"' . $pageId . '",' . '"mode":"preview"}');
     $shootId = time();
     $screenshotHandler->shoot($shootId, $url, $destinationFile);
     $expectedFile = Registry::getConfig()->test->output->screenshot->directory . '/systemcallwkhtmltoimage/expectedSuccess.' . $fileTyp;
     $this->assertFileExistsWithDelay($destinationFile);
     // Die Pruefung kann ausgeschaltet werden -> auf dem Build-System ist
     // keine CMS-Oberflaeche vorhanden, welche fuer diesen Test notwendig waere
     if ($this->config->systemcallwkhtmltoimage->check->files->equal != false) {
         $this->assertFileEquals($expectedFile, $destinationFile);
     }
 }
Example #5
0
 /**
  * @param  string   $websiteId
  * @param  boolean  $isRedirect
  * @param  boolean  $isGet
  * @param  string   $requestConfig
  * @param  integer  $ticketLifetime
  * @param  integer  $remainingCalls
  * @param  integer  $sessionLifetime
  * @param  array    $credentials
  * @param  array    $additionalTicketParams
  * @param  bool     $useInternalUrl
  * @return array    'ticket' => Cms\Data\Ticket, 'ticketUrl' => Ticket-Url
  */
 public function createTicket($websiteId, $isRedirect, $isGet, $requestConfig, $ticketLifetime = null, $remainingCalls = null, $sessionLifetime = null, $credentials = null, $additionalTicketParams = null, $useInternalUrl = false)
 {
     // Alte Tickets entfernen
     $this->execute('deleteInvalidTickets', array());
     // Default-Werte setzen
     $config = Registry::getConfig();
     if (!isset($ticketLifetime)) {
         $ticketLifetime = $config->accessticket->ticketLifetime;
     }
     if (!isset($remainingCalls)) {
         $remainingCalls = $config->accessticket->remainingCalls;
     }
     // evtl. Schutz umformen
     if (isset($credentials)) {
         if (is_array($credentials)) {
             $credentials = \Zend_Json::encode($credentials);
         } elseif (!is_scalar($credentials)) {
             throw new CmsException(1307, __METHOD__, __LINE__);
         }
     }
     // Neues Ticket erstellen
     $ticket = $this->execute('create', array($websiteId, $isRedirect, $isGet, $requestConfig, $ticketLifetime, $remainingCalls, $sessionLifetime, $credentials));
     // evtl. Ticket-Parameter umformen
     if (isset($additionalTicketParams)) {
         if (is_array($additionalTicketParams)) {
             $additionalTicketParams = \Zend_Json::encode($additionalTicketParams);
         } elseif (!is_scalar($additionalTicketParams)) {
             throw new CmsException(1301, __METHOD__, __LINE__);
         }
         if (!empty($additionalTicketParams)) {
             $additionalTicketParams = Registry::getConfig()->request->parameter . '/' . urlencode($additionalTicketParams);
         }
     }
     // Basisurl uebernehmen, Ticket ID und weitere Parameter setzen
     $baseUrl = Registry::getBaseUrl($useInternalUrl);
     $ticketUrl = $baseUrl . $config->server->url . $config->accessticket->url;
     $ticketUrl = str_replace(':ticket', $ticket->getId(), $ticketUrl);
     $ticketUrl = str_replace(':params', $additionalTicketParams, $ticketUrl);
     // Ticket und Ticket-Url zurueckgeben
     return array('ticket' => $ticket, 'ticketUrl' => $ticketUrl);
 }
Example #6
0
 /**
  * @test
  * @group library
  */
 public function mailTextShouldContainConfiguredUri()
 {
     $userOptinUriPath = '/bar/';
     $formerOptinUri = $this->changeUserOptinUri($userOptinUriPath);
     $user = new \Cms\Data\User();
     $user->setId('USER-test5421shd-USER');
     $user->setFirstname('John');
     $user->setLastname('Doe');
     $user->setEmail('*****@*****.**');
     $optin = new \Orm\Entity\OptIn();
     $optin->setCode('testRS01');
     $optin->setUserId($user->getId());
     $optin->setUser($user);
     $mail = $this->service->getOptinMail($optin);
     $this->changeUserOptinUri($formerOptinUri);
     $mailContent = $mail->getBodyText('true');
     $mailContent = str_replace("=\r\n", "", $mailContent);
     $mailContent = str_replace("=\n", "", $mailContent);
     $optinUrl = Registry::getBaseUrl() . $userOptinUriPath . '?t=';
     $this->assertTrue(strchr($mailContent, $optinUrl) !== false);
     $this->assertTrue(strchr($mailContent, $optin->getCode()) !== false);
 }
Example #7
0
 protected function assertRegisterMailSendSuccessfully($optin, $user, $actualMailContent)
 {
     $config = Registry::getConfig();
     $expectedMailContent = OptinTestHelper::createMailContentFromMailTemplate(FS::joinPath(realpath($config->test->files->directory), 'mails', 'optin.txt'), array('@@OPTIN_CODE@@' => $optin->getCode(), '@@WEBHOST@@' => Registry::getBaseUrl(), '@@FROM_NAME@@' => $config->user->mail->optin->from->name, '@@FROM_ADRESS@@' => $config->user->mail->optin->from->address, '@@USER_FIRSTNAME@@' => $user->getFirstname(), '@@USER_LASTNAME@@' => $user->getLastname(), '@@USER_EMAIL@@' => $user->getEmail()));
     $this->assertEquals(OptinTestHelper::clearLineBreaksInMailContent($expectedMailContent), OptinTestHelper::clearLineBreaksInMailContent($actualMailContent));
 }
Example #8
0
 /**
  * @param  \Orm\Entity\OptIn $optin
  * @param  string     $charset
  * @return \Cms\Mail
  */
 public function getRenewPasswordMail(\Orm\Entity\OptIn $optin, $charset = 'utf-8')
 {
     $config = Registry::getConfig();
     $baseUrl = Registry::getBaseUrl();
     $optinUser = $optin->getUser();
     $locale = self::getLocale($optinUser->getLanguage());
     $fromUser = $this->getMailFromUserData(array('email' => $config->user->mail->renew->password->from->address, 'name' => $config->user->mail->renew->password->from->name));
     $this->view->clearVars();
     $this->view->optin = $optin;
     $this->view->optinUser = $optinUser;
     $this->view->optinUrl = $baseUrl . $config->user->mail->renew->password->uri;
     $this->view->spaceUrl = $baseUrl;
     $this->view->fromName = $fromUser['name'];
     $this->view->fromEmail = $fromUser['email'];
     $renewMail = new \Cms\Mail($charset);
     $renewMail->setBodyText($this->view->render($this->getTemplateFilename(__FUNCTION__, $locale)));
     // the subject is set in mail template
     $subject = $this->view->subject;
     $renewMail->setFrom($fromUser['email'], $fromUser['name']);
     $renewMail->setSubject($subject);
     $renewMail->addTo($optinUser->getEmail(), $optinUser->getFirstname() . ' ' . $optinUser->getLastname());
     return $renewMail;
 }
Example #9
0
 /**
  * @param $userId
  *
  * @return array
  */
 public function registerUser($userId)
 {
     // init
     $data = array();
     $userBusiness = $this->getBusiness('User');
     // Benutzer ermitteln
     $data['user'] = $userBusiness->getById($userId);
     // Registrier-Token erzeugen
     $tokens = $userBusiness->register(array($userId), false);
     foreach ($tokens as $token) {
         if ($userId === $token->getUserid()) {
             $data['token'] = $token->getCode();
             break;
         }
     }
     // Registrier-Url ermitteln
     $config = Registry::getConfig();
     $data['tokenUrl'] = sprintf("%s/t=%s&u=%s", Registry::getBaseUrl(), urlencode($data['token']), urlencode($data['user']->getEmail()));
     // Benutzer und Registrier-Token zurueckgeben
     return $data;
 }
Example #10
0
 public function __construct(\Zend_Config $config)
 {
     $adapter = $this->initConfigAdapter($config);
     $this->setAdapter($adapter);
     $this->setWebhost(Registry::getBaseUrl());
 }
Example #11
0
 /**
  * Ermittelt die Id fuer einen Screenshot
  *
  * @param string $websiteId
  * @param string $type
  * @param string $id
  * @param string $timestamp
  * @return string
  */
 public function calculateShootId($websiteId, $type, $id, $timestamp)
 {
     return md5(Registry::getBaseUrl() . '/' . $websiteId . '/' . $type . '/' . $id . '/' . $timestamp);
 }
Example #12
0
 protected function getDomain()
 {
     $config = $this->bootstrap('config');
     $webUrl = parse_url(Registry::getBaseUrl());
     return $webUrl['host'];
 }
Example #13
0
 /**
  * Creates a CMS based Page URL Helper (used to get URL for rendering Pages, Templates and their
  * CSS)
  *
  * @param $websiteId
  * @param $pageOrTemplateId
  * @param $isTemplate
  * @param $mode
  *
  * @return IPageUrlHelper
  */
 protected function createPageUrlHelper($websiteId, $pageOrTemplateId, $isTemplate, $mode)
 {
     return new CmsPageUrlHelper($websiteId, $pageOrTemplateId, $isTemplate, $this->getRenderPageServiceUrl(), $this->getRenderPageCssServiceUrl(), $this->getRenderTemplateServiceUrl(), $this->getRenderTemplateCssServiceUrl(), $mode, Registry::getBaseUrl());
 }
Example #14
0
 /**
  * @return string|null
  */
 protected function getProtocolFromBaseUrl()
 {
     $baseUrlParted = parse_url(Registry::getBaseUrl());
     if (!isset($baseUrlParted['scheme']) || empty($baseUrlParted['scheme'])) {
         return null;
     }
     return $baseUrlParted['scheme'] . '://';
 }
Example #15
0
 /**
  * @param  string $websiteId
  * @param  string $buildId
  * @param  string $publishingId
  * @return array
  */
 private function getStatusChagedUrlForPublishingId($websiteId, $buildId, $publishingId)
 {
     $config = Registry::getConfig();
     $paramsAsjson = array('websiteId' => $websiteId, 'buildId' => $buildId, 'publishedId' => $publishingId);
     return sprintf("%s%s/builder/publisherstatuschanged/params/%s", Registry::getBaseUrl(), $config->server->url, urlencode(SbJson::encode($paramsAsjson)));
 }