コード例 #1
0
 /**
  * @param string $content
  * @param bool $isHtmlContent
  */
 public static function setContentByType($content, $isHtmlContent)
 {
     assert('is_string($content)');
     assert('is_bool($isHtmlContent)');
     $key = static::resolveConfigKeyByContentType((bool) $isHtmlContent);
     ZurmoConfigurationUtil::setByModuleName(static::CONFIG_MODULE_NAME, $key, $content);
 }
コード例 #2
0
 protected static function setConfigForKey($key, $value)
 {
     if ($key == 'bounceImapPassword') {
         $value = ZurmoPasswordSecurityUtil::encrypt($value);
     }
     ZurmoConfigurationUtil::setByModuleName(static::CONFIG_MODULE_NAME, $key, $value);
 }
コード例 #3
0
 public function testMakeFormAndSetConfigurationFromForm()
 {
     $billy = User::getByUsername('billy');
     Yii::app()->timeZoneHelper->setTimeZone('America/New_York');
     Yii::app()->pagination->setGlobalValueByType('listPageSize', 50);
     Yii::app()->pagination->setGlobalValueByType('subListPageSize', 51);
     Yii::app()->pagination->setGlobalValueByType('modalListPageSize', 52);
     Yii::app()->pagination->setGlobalValueByType('dashboardListPageSize', 53);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', 'demoCompany');
     $form = ZurmoConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertEquals('America/New_York', $form->timeZone);
     $this->assertEquals(50, $form->listPageSize);
     $this->assertEquals(51, $form->subListPageSize);
     $this->assertEquals(52, $form->modalListPageSize);
     $this->assertEquals(53, $form->dashboardListPageSize);
     $this->assertEquals('demoCompany', $form->applicationName);
     $form->timeZone = 'America/Chicago';
     $form->listPageSize = 60;
     $form->subListPageSize = 61;
     $form->modalListPageSize = 62;
     $form->dashboardListPageSize = 63;
     $form->applicationName = 'demoCompany2';
     ZurmoConfigurationFormAdapter::setConfigurationFromForm($form);
     $form = ZurmoConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertEquals('America/Chicago', $form->timeZone);
     $this->assertEquals(60, $form->listPageSize);
     $this->assertEquals(61, $form->subListPageSize);
     $this->assertEquals(62, $form->modalListPageSize);
     $this->assertEquals(63, $form->dashboardListPageSize);
     $this->assertEquals('demoCompany2', $form->applicationName);
 }
コード例 #4
0
 /**
  * @depends testResolveBaseUrl
  */
 public function testResolveApplicationName()
 {
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', 'Demo App');
     $resolvedApplicationName = SpecialMergeTagsAdapter::resolve('applicationName', null);
     $expectedApplicationName = ZurmoConfigurationUtil::getByModuleName('ZurmoModule', 'applicationName');
     $this->assertNotNull($resolvedApplicationName);
     $this->assertEquals($expectedApplicationName, $resolvedApplicationName);
 }
コード例 #5
0
ファイル: TestJob.php プロジェクト: youprofit/Zurmo
 /**
  * A test job. This test job will update the config table with a datetime stamp.
  * (non-PHPdoc)
  * @see BaseJob::run()
  */
 public function run()
 {
     ZurmoConfigurationUtil::setByModuleName('JobsManagerModule', 'test', $this->testValue);
     if ($this->causeFailure) {
         $this->errorMessage = 'The test job failed';
         return false;
     }
     return true;
 }
コード例 #6
0
 public static function setUpBeforeClass()
 {
     parent::setUpBeforeClass();
     $super = SecurityTestHelper::createSuperAdmin();
     if (Yii::app()->params['testGoogleGeoCodeApiKey'] != null) {
         ZurmoConfigurationUtil::setByModuleName('MapsModule', 'googleMapApiKey', Yii::app()->params['testGoogleGeoCodeApiKey']);
     }
     Yii::app()->user->userModel = $super;
     AddressGeoCodeTestHelper::createAndRemoveAccountWithAddress($super);
 }
コード例 #7
0
 public function testMakeFormAndSetConfigurationFromForm()
 {
     $billy = User::getByUsername('billy');
     Yii::app()->timeZoneHelper->setTimeZone('America/New_York');
     Yii::app()->pagination->setGlobalValueByType('listPageSize', 50);
     Yii::app()->pagination->setGlobalValueByType('subListPageSize', 51);
     Yii::app()->pagination->setGlobalValueByType('modalListPageSize', 52);
     Yii::app()->pagination->setGlobalValueByType('dashboardListPageSize', 53);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', 'demoCompany');
     $logoFileName = 'testLogo.png';
     $logoFilePath = Yii::getPathOfAlias('application.modules.zurmo.tests.unit.files') . DIRECTORY_SEPARATOR . $logoFileName;
     ZurmoConfigurationFormAdapter::resizeLogoImageFile($logoFilePath, $logoFilePath, null, ZurmoConfigurationForm::DEFAULT_LOGO_HEIGHT);
     $logoFileId = ZurmoConfigurationFormAdapter::saveLogoFile($logoFileName, $logoFilePath, 'logoFileModelId');
     ZurmoConfigurationFormAdapter::publishLogo($logoFileName, $logoFilePath);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoFileModelId', $logoFileId);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoThumbFileModelId', $logoFileId);
     $form = ZurmoConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertEquals('America/New_York', $form->timeZone);
     $this->assertEquals(50, $form->listPageSize);
     $this->assertEquals(51, $form->subListPageSize);
     $this->assertEquals(52, $form->modalListPageSize);
     $this->assertEquals(53, $form->dashboardListPageSize);
     $this->assertEquals('demoCompany', $form->applicationName);
     $this->assertEquals(AutoresponderOrCampaignBatchSizeConfigUtil::CONFIG_DEFAULT_VALUE, $form->autoresponderOrCampaignBatchSize);
     $this->assertEquals(UnsubscribeAndManageSubscriptionsPlaceholderUtil::getContentByType(false), $form->autoresponderOrCampaignFooterPlainText);
     $this->assertEquals(UnsubscribeAndManageSubscriptionsPlaceholderUtil::getContentByType(true), $form->autoresponderOrCampaignFooterRichText);
     $this->assertEquals($logoFileName, $form->logoFileData['name']);
     $form->timeZone = 'America/Chicago';
     $form->listPageSize = 60;
     $form->subListPageSize = 61;
     $form->modalListPageSize = 62;
     $form->dashboardListPageSize = 63;
     $form->applicationName = 'demoCompany2';
     $form->autoresponderOrCampaignBatchSize = 20;
     $logoFileName2 = 'testLogo2.png';
     $form->autoresponderOrCampaignFooterPlainText = 'abc';
     $form->autoresponderOrCampaignFooterRichText = 'def';
     $logoFilePath2 = Yii::getPathOfAlias('application.modules.zurmo.tests.unit.files') . DIRECTORY_SEPARATOR . $logoFileName2;
     copy($logoFilePath2, sys_get_temp_dir() . DIRECTORY_SEPARATOR . $logoFileName2);
     copy($logoFilePath2, sys_get_temp_dir() . DIRECTORY_SEPARATOR . ZurmoConfigurationForm::LOGO_THUMB_FILE_NAME_PREFIX . $logoFileName2);
     Yii::app()->user->setState('logoFileName', $logoFileName2);
     ZurmoConfigurationFormAdapter::setConfigurationFromForm($form);
     $form = ZurmoConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertEquals('America/Chicago', $form->timeZone);
     $this->assertEquals(60, $form->listPageSize);
     $this->assertEquals(61, $form->subListPageSize);
     $this->assertEquals(62, $form->modalListPageSize);
     $this->assertEquals(63, $form->dashboardListPageSize);
     $this->assertEquals('demoCompany2', $form->applicationName);
     $this->assertEquals(20, $form->autoresponderOrCampaignBatchSize);
     $this->assertEquals('abc', $form->autoresponderOrCampaignFooterPlainText);
     $this->assertEquals('def', $form->autoresponderOrCampaignFooterRichText);
     $this->assertEquals($logoFileName2, $form->logoFileData['name']);
 }
コード例 #8
0
 /**
  * Given a ZurmoConfigurationForm, save the configuration global values.
  */
 public static function setConfigurationFromForm(ZurmoConfigurationForm $form)
 {
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', $form->applicationName);
     Yii::app()->timeZoneHelper->setGlobalValue((string) $form->timeZone);
     Yii::app()->pagination->setGlobalValueByType('listPageSize', (int) $form->listPageSize);
     Yii::app()->pagination->setGlobalValueByType('subListPageSize', (int) $form->subListPageSize);
     Yii::app()->pagination->setGlobalValueByType('modalListPageSize', (int) $form->modalListPageSize);
     Yii::app()->pagination->setGlobalValueByType('dashboardListPageSize', (int) $form->dashboardListPageSize);
     Yii::app()->emailHelper->setDefaultFromAddress($form->defaultFromEmailAddress);
     Yii::app()->emailHelper->setDefaultTestToAddress($form->defaultTestToEmailAddress);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalNotificationsEnabled', (bool) $form->gamificationModalNotificationsEnabled);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalCollectionsEnabled', (bool) $form->gamificationModalCollectionsEnabled);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalCoinsEnabled', (bool) $form->gamificationModalCoinsEnabled);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'realtimeUpdatesEnabled', (bool) $form->realtimeUpdatesEnabled);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'reCaptchaPrivateKey', $form->reCaptchaPrivateKey);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'reCaptchaPublicKey', $form->reCaptchaPublicKey);
 }
コード例 #9
0
ファイル: DefaultController.php プロジェクト: youprofit/Zurmo
 /**
  * Admin configuration action for entering the google map api key.
  */
 public function actionConfigurationView()
 {
     $configurationForm = new MapsConfigurationForm();
     $configurationForm->apiKey = Yii::app()->mappingHelper->getGeoCodeApiKey();
     $postVariableName = get_class($configurationForm);
     if (isset($_POST[$postVariableName])) {
         $configurationForm->setAttributes($_POST[$postVariableName]);
         if ($configurationForm->validate()) {
             ZurmoConfigurationUtil::setByModuleName('MapsModule', 'googleMapApiKey', $configurationForm->apiKey);
             Yii::app()->user->setFlash('notification', Zurmo::t('MapsModule', 'Maps configuration saved successfully.'));
             $this->redirect(Yii::app()->createUrl('maps/default/configurationView'));
         }
     }
     $editView = new MapConfigurationView('Edit', $this->getId(), $this->getModule()->getId(), $configurationForm);
     $editView->setCssClasses(array('AdministrativeArea'));
     $view = new ZurmoConfigurationPageView(ZurmoDefaultAdminViewUtil::makeStandardViewForCurrentUser($this, $editView));
     echo $view->render();
 }
コード例 #10
0
 public function testMakeFormAndSetConfigurationFromForm()
 {
     $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertNull($form->imapHost);
     $this->assertNull($form->imapPort);
     $this->assertNull($form->imapUsername);
     $this->assertNull($form->imapPassword);
     $this->assertNull($form->imapSSL);
     $this->assertNull($form->imapFolder);
     $this->assertNull($form->returnPath);
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapHost', 'bounce.com');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapPort', '420');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapSSL', '1');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapUsername', 'bouncy');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapPassword', ZurmoPasswordSecurityUtil::encrypt('bounces'));
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapFolder', 'BOUNCES');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceReturnPath', '*****@*****.**');
     $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertEquals('bounce.com', $form->imapHost);
     $this->assertEquals('420', $form->imapPort);
     $this->assertEquals('bouncy', $form->imapUsername);
     $this->assertEquals('bounces', $form->imapPassword);
     $this->assertEquals('1', $form->imapSSL);
     $this->assertEquals('BOUNCES', $form->imapFolder);
     $this->assertEquals('*****@*****.**', $form->returnPath);
     $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $form->imapHost = 'example.com';
     $form->imapPort = '111';
     $form->imapSSL = '0';
     $form->imapUsername = '******';
     $form->imapPassword = '******';
     $form->imapFolder = 'folder';
     $form->returnPath = 'path';
     BounceConfigurationFormAdapter::setConfigurationFromForm($form);
     $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertEquals('example.com', $form->imapHost);
     $this->assertEquals('111', $form->imapPort);
     $this->assertEquals('user', $form->imapUsername);
     $this->assertEquals('password', $form->imapPassword);
     $this->assertEquals('0', $form->imapSSL);
     $this->assertEquals('folder', $form->imapFolder);
     $this->assertEquals('path', $form->returnPath);
 }
コード例 #11
0
 /**
  * @param DemoDataHelper $demoDataHelper
  */
 public function makeAll(&$demoDataHelper)
 {
     assert('$demoDataHelper instanceof DemoDataHelper');
     $currency = new Currency();
     $currency->code = 'EUR';
     $currency->rateToBase = 1.5;
     $saved = $currency->save();
     assert('$saved');
     $currency = new Currency();
     $currency->code = 'CAD';
     $currency->rateToBase = 1.1;
     $saved = $currency->save();
     assert('$saved');
     $currency = new Currency();
     $currency->code = 'JPY';
     $currency->rateToBase = 0.75;
     $saved = $currency->save();
     assert('$saved');
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', 'Demo Company Inc.');
 }
 public function testMakeFormAndSetConfigurationFromForm()
 {
     $billy = User::getByUsername('billy');
     Yii::app()->themeManager->customThemeColorsArray = array('#111111', '#222222', '#333333');
     Yii::app()->themeManager->globalThemeColor = 'custom';
     Yii::app()->themeManager->forceAllUsersTheme = true;
     $logoFileName = 'testLogo.png';
     $logoFilePath = Yii::getPathOfAlias('application.modules.zurmo.tests.unit.files') . DIRECTORY_SEPARATOR . $logoFileName;
     ZurmoUserInterfaceConfigurationFormAdapter::resizeLogoImageFile($logoFilePath, $logoFilePath, null, ZurmoUserInterfaceConfigurationForm::DEFAULT_LOGO_HEIGHT);
     $logoFileId = ZurmoUserInterfaceConfigurationFormAdapter::saveLogoFile($logoFileName, $logoFilePath, 'logoFileModelId');
     ZurmoUserInterfaceConfigurationFormAdapter::publishLogo($logoFileName, $logoFilePath);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoFileModelId', $logoFileId);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoThumbFileModelId', $logoFileId);
     //Getting values
     $form = ZurmoUserInterfaceConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertEquals($logoFileName, $form->logoFileData['name']);
     $this->assertEquals('custom', $form->themeColor);
     $this->assertEquals('#111111', $form->customThemeColor1);
     $this->assertEquals('#222222', $form->customThemeColor2);
     $this->assertEquals('#333333', $form->customThemeColor3);
     $this->assertEquals('1', $form->forceAllUsersTheme);
     //Setting values
     $form->themeColor = 'lime';
     $form->customThemeColor1 = '#999999';
     $form->customThemeColor2 = '#888888';
     $form->customThemeColor3 = '#777777';
     $form->forceAllUsersTheme = false;
     $logoFileName2 = 'testLogo2.png';
     $logoFilePath2 = Yii::getPathOfAlias('application.modules.zurmo.tests.unit.files') . DIRECTORY_SEPARATOR . $logoFileName2;
     copy($logoFilePath2, sys_get_temp_dir() . DIRECTORY_SEPARATOR . $logoFileName2);
     copy($logoFilePath2, sys_get_temp_dir() . DIRECTORY_SEPARATOR . ZurmoUserInterfaceConfigurationForm::LOGO_THUMB_FILE_NAME_PREFIX . $logoFileName2);
     Yii::app()->user->setState('logoFileName', $logoFileName2);
     ZurmoUserInterfaceConfigurationFormAdapter::setConfigurationFromForm($form);
     $form = ZurmoUserInterfaceConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertEquals('lime', $form->themeColor);
     $this->assertEquals('#999999', $form->customThemeColor1);
     $this->assertEquals('#888888', $form->customThemeColor2);
     $this->assertEquals('#777777', $form->customThemeColor3);
     $this->assertEquals(false, $form->forceAllUsersTheme);
     $this->assertEquals($logoFileName2, $form->logoFileData['name']);
 }
コード例 #13
0
 /**
  * Admin configuration action for enabling sendgrid plugin.
  */
 public function actionConfigurationView()
 {
     $breadCrumbLinks = array(Zurmo::t('SendGridModule', 'SendGrid Configuration'));
     $configurationForm = new SendGridConfigurationForm();
     $configurationForm->enableSendgrid = (bool) ZurmoConfigurationUtil::getByModuleName('SendGridModule', 'enableSendgrid');
     $postVariableName = get_class($configurationForm);
     if (isset($_POST[$postVariableName])) {
         $_POST[$postVariableName]['enableSendgrid'] = (bool) $_POST[$postVariableName]['enableSendgrid'];
         $configurationForm->setAttributes($_POST[$postVariableName]);
         if ($configurationForm->validate()) {
             ZurmoConfigurationUtil::setByModuleName('SendGridModule', 'enableSendgrid', $configurationForm->enableSendgrid);
             Yii::app()->user->setFlash('notification', Zurmo::t('SendGridModule', 'Sendgrid configuration saved successfully.'));
             if ($configurationForm->enableSendgrid) {
                 $this->redirect(Yii::app()->createUrl('sendGrid/default/configurationEditOutbound'));
             } else {
                 $this->redirect(Yii::app()->createUrl('sendGrid/default/configurationView'));
             }
         }
     }
     $editView = new SendGridConfigurationView('Edit', $this->getId(), $this->getModule()->getId(), $configurationForm);
     $editView->setCssClasses(array('AdministrativeArea'));
     $view = new ZurmoConfigurationPageView(ZurmoDefaultAdminViewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $editView, $breadCrumbLinks, 'PluginsBreadCrumbView'));
     echo $view->render();
 }
コード例 #14
0
 /**
  * Set the global pagination value by pagination type.
  * @param $type - pagination type
  * @param $value - integer pagination value.
  * @param $moduleName - optional. Module class name.
  */
 public function setGlobalValueByType($type, $value, $moduleName = null)
 {
     assert('in_array($type, static::getAvailablePageSizeNames()) == true');
     assert('is_int($value) && $value > 0');
     assert('$moduleName == null || is_string($moduleName)');
     $keyName = $this->getKeyByTypeAndModuleName($type);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', $keyName, $value);
 }
コード例 #15
0
 /**
  * Test for the desktopNotifications managed by the ZurmoNotificationUtil
  */
 public function testDesktopNotifications()
 {
     $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
     $content = $this->runControllerWithNoExceptionsAndGetContent('zurmo/default/about');
     $this->assertNotContains('startAutoUpdater', $content);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'realtimeUpdatesEnabled', (bool) true);
     $content = $this->runControllerWithNoExceptionsAndGetContent('zurmo/default/about');
     $this->assertContains('startAutoUpdater', $content);
 }
コード例 #16
0
 /**
  * Set Ldap settings into the database.
  */
 public function setLdapSettings()
 {
     foreach ($this->settingsToLoad as $keyName) {
         ZurmoConfigurationUtil::setByModuleName('ZurmoModule', $keyName, $this->{$keyName});
     }
 }
コード例 #17
0
ファイル: ZurmoImap.php プロジェクト: youprofit/Zurmo
 /**
  * Set inbound settings into the database.
  */
 public function setInboundSettings()
 {
     foreach ($this->settingsToLoad as $keyName) {
         $attributeName = $this->resolveAttributeNameFromSettingsKey($keyName);
         if ($keyName == $this->resolvePasswordKeyName()) {
             $password = ZurmoPasswordSecurityUtil::encrypt($this->{$attributeName});
             ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', $keyName, $password);
         } else {
             ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', $keyName, $this->{$attributeName});
         }
     }
 }
 public static function resizeLogoImageFile($sourcePath, $destinationPath, $newWidth, $newHeight)
 {
     WideImage::load($sourcePath)->resize($newWidth, $newHeight)->saveToFile($destinationPath);
     list($logoWidth, $logoHeight) = getimagesize($destinationPath);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoWidth', $logoWidth);
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoHeight', $logoHeight);
 }
コード例 #19
0
 /**
  * @depends testProcessDueCampaignItemWithOptout
  */
 public function testProcessDueCampaignItemWithReturnPathHeaders()
 {
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceReturnPath', '*****@*****.**');
     $email = new Email();
     $email->emailAddress = '*****@*****.**';
     $contact = ContactTestHelper::createContactByNameForOwner('contact 09', $this->user);
     $contact->primaryEmail = $email;
     $this->assertTrue($contact->save());
     $marketingList = MarketingListTestHelper::createMarketingListByName('marketingList 09', 'description', 'CustomFromName', '*****@*****.**');
     $campaign = CampaignTestHelper::createCampaign('campaign 09', 'subject 09', 'Dr. [[FIRST^NAME]] [[LAST^NAME]]', '<b>[[LAST^NAME]]</b>, [[FIRST^NAME]]', null, null, null, null, null, null, $marketingList);
     $processed = 0;
     $campaignItem = CampaignItemTestHelper::createCampaignItem($processed, $campaign, $contact);
     CampaignItemsUtil::processDueItem($campaignItem);
     $this->assertEquals(1, $campaignItem->processed);
     $emailMessage = $campaignItem->emailMessage;
     $this->assertEquals($marketingList->owner, $emailMessage->owner);
     $marketingListPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem($marketingList);
     $emailMessagePermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem($emailMessage);
     $this->assertEquals($marketingListPermissions, $emailMessagePermissions);
     $this->assertEquals($campaign->subject, $emailMessage->subject);
     $this->assertNotEquals($campaign->textContent, $emailMessage->content->textContent);
     $this->assertNotEquals($campaign->htmlContent, $emailMessage->content->htmlContent);
     $this->assertTrue(strpos($emailMessage->content->textContent, 'Dr. contact 09 contact 09son') !== false);
     $this->assertTrue(strpos($emailMessage->content->textContent, '/marketingLists/external/') !== false);
     $this->assertEquals(2, substr_count($emailMessage->content->textContent, '/marketingLists/external/'));
     $this->assertTrue(strpos($emailMessage->content->htmlContent, '<b>contact 09son</b>, contact 09') !== false);
     $this->assertTrue(strpos($emailMessage->content->htmlContent, '/marketingLists/external/') !== false);
     $this->assertEquals(2, substr_count($emailMessage->content->htmlContent, '/marketingLists/external/'));
     $this->assertEquals('*****@*****.**', $emailMessage->sender->fromAddress);
     $this->assertEquals('Support Team', $emailMessage->sender->fromName);
     $this->assertEquals(1, $emailMessage->recipients->count());
     $recipients = $emailMessage->recipients;
     $this->assertEquals(strval($contact), $recipients[0]->toName);
     $this->assertEquals($email->emailAddress, $recipients[0]->toAddress);
     $this->assertEquals(EmailMessageRecipient::TYPE_TO, $recipients[0]->type);
     $this->assertEquals($contact, $recipients[0]->personOrAccount);
     $headersArray = array('zurmoItemId' => $campaignItem->id, 'zurmoItemClass' => get_class($campaignItem), 'zurmoPersonId' => $contact->getClassId('Person'), 'Return-Path' => '*****@*****.**');
     $expectedHeaders = serialize($headersArray);
     $this->assertEquals($expectedHeaders, $emailMessage->headers);
 }
コード例 #20
0
 /**
  * @depends testSend
  */
 public function testSendQueued()
 {
     ZurmoConfigurationUtil::setByModuleName('SendGridModule', 'enableSendgrid', true);
     $super = User::getByUsername('super');
     Yii::app()->user->userModel = $super;
     //add a message in the outbox_error folder.
     $emailMessage = SendGridTestHelper::createDraftSendGridSystemEmail('a test email 2', $super);
     $box = EmailBox::resolveAndGetByName(EmailBox::NOTIFICATIONS_NAME);
     $emailMessage->folder = EmailFolder::getByBoxAndType($box, EmailFolder::TYPE_OUTBOX_ERROR);
     $emailMessage->save();
     $this->assertEquals(2, Yii::app()->emailHelper->getQueuedCount());
     $this->assertEquals(0, Yii::app()->emailHelper->getSentCount());
     Yii::app()->emailHelper->sendQueued();
     $this->assertEquals(0, Yii::app()->emailHelper->getQueuedCount());
     $this->assertEquals(2, Yii::app()->emailHelper->getSentCount());
     //add a message in the outbox folder.
     $emailMessage = SendGridTestHelper::createDraftSendGridSystemEmail('a test email 3', $super);
     $box = EmailBox::resolveAndGetByName(EmailBox::NOTIFICATIONS_NAME);
     $emailMessage->folder = EmailFolder::getByBoxAndType($box, EmailFolder::TYPE_OUTBOX);
     $emailMessage->save();
     //add a message in the outbox_error folder.
     $emailMessage = SendGridTestHelper::createDraftSendGridSystemEmail('a test email 4', $super);
     $box = EmailBox::resolveAndGetByName(EmailBox::NOTIFICATIONS_NAME);
     $emailMessage->folder = EmailFolder::getByBoxAndType($box, EmailFolder::TYPE_OUTBOX_ERROR);
     $emailMessage->save();
     //add a message in the outbox_error folder.
     $emailMessage = SendGridTestHelper::createDraftSendGridSystemEmail('a test email 5', $super);
     $box = EmailBox::resolveAndGetByName(EmailBox::NOTIFICATIONS_NAME);
     $emailMessage->folder = EmailFolder::getByBoxAndType($box, EmailFolder::TYPE_OUTBOX_ERROR);
     $emailMessage->save();
     $this->assertEquals(3, Yii::app()->emailHelper->getQueuedCount());
     $this->assertEquals(2, Yii::app()->emailHelper->getSentCount());
     Yii::app()->emailHelper->sendQueued(1);
     $this->assertEquals(2, Yii::app()->emailHelper->getQueuedCount());
     $this->assertEquals(3, Yii::app()->emailHelper->getSentCount());
     Yii::app()->emailHelper->sendQueued(2);
     $this->assertEquals(0, Yii::app()->emailHelper->getQueuedCount());
     $this->assertEquals(5, Yii::app()->emailHelper->getSentCount());
 }
コード例 #21
0
 /**
  * @expectedException NotSupportedException
  */
 public function testRemoveAttributeAsMissingRequiredAttributeWithInvalidView()
 {
     RequiredAttributesValidViewUtil::setAsMissingRequiredAttributes('AccountsModule', 'InvalidView');
     ZurmoConfigurationUtil::setByModuleName('AccountsModule', 'InvalidView_layoutMissingRequiredAttributes', 99);
     RequiredAttributesValidViewUtil::removeAttributeAsMissingRequiredAttribute('AccountsModule', 'InvalidView');
 }
コード例 #22
0
 /**
  * Set lastZurmoStableVersion global pconfiguration property.
  * @param string $zurmoVersion
  */
 public static function setLastZurmoStableVersion($zurmoVersion)
 {
     assert('isset($zurmoVersion)');
     assert('$zurmoVersion != ""');
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'lastZurmoStableVersion', $zurmoVersion);
 }
コード例 #23
0
 protected static function setLastImapDropboxCheckTimeByKey($key, $value)
 {
     assert('isset($key)');
     assert('$key != ""');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', $key, $value);
 }
コード例 #24
0
 /**
  * @depends testModelCustomAttribute
  */
 public function testApplicationNameMergeTag()
 {
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', 'Demo App');
     $content = '[[APPLICATION^NAME]]';
     $expectedContent = ZurmoConfigurationUtil::getByModuleName('ZurmoModule', 'applicationName');
     $mergeTagsUtil = MergeTagsUtilFactory::make(EmailTemplate::TYPE_WORKFLOW, null, $content);
     $this->assertTrue($mergeTagsUtil instanceof MergeTagsUtil);
     $this->assertTrue($mergeTagsUtil instanceof WorkflowMergeTagsUtil);
     $resolvedContent = $mergeTagsUtil->resolveMergeTags(self::$emailTemplate, $this->invalidTags);
     $this->assertTrue($resolvedContent !== false);
     $this->assertNotEquals($resolvedContent, $content);
     $this->assertEquals($expectedContent, $resolvedContent);
     $this->assertEmpty($this->invalidTags);
 }
コード例 #25
0
 /**
  * @depends testSendImmediately
  */
 public function testLoadOutboundSettings()
 {
     $emailHelper = new EmailHelper();
     $emailHelper->outboundHost = null;
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'outboundHost', 'xxx');
     $emailHelper = new EmailHelper();
     $emailHelper->outboundHost = 'xxx';
 }
コード例 #26
0
 /**
  * @param String $moduleClassName
  * @param String $viewClassName
  */
 public static function setAsContainingRequiredAttributes($moduleClassName, $viewClassName)
 {
     assert('is_string($moduleClassName)');
     assert('is_string($viewClassName)');
     $key = $viewClassName . '_layoutMissingRequiredAttributes';
     ZurmoConfigurationUtil::setByModuleName($moduleClassName, $key, null);
 }
コード例 #27
0
 /**
  * Set outbound settings into the database.
  */
 public function setOutboundSettings()
 {
     foreach (static::$settingsToLoad as $keyName) {
         if ($keyName == 'outboundPassword') {
             $password = ZurmoPasswordSecurityUtil::encrypt($this->{$keyName});
             ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', $keyName, $password);
         } else {
             ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', $keyName, $this->{$keyName});
         }
     }
 }
コード例 #28
0
 /**
  * Tests the global configuration to enable/disable modalNotifications
  */
 public function testGamificationModalNotificationsGlobalConfiguration()
 {
     $super = User::getByUsername('super');
     Yii::app()->user->userModel = $super;
     $scot = UserTestHelper::createBasicUser('Scot');
     Yii::app()->user->userModel = $scot;
     $this->assertEquals(0, count(GameNotification::getAllByUser($scot)));
     //test user at general level 0 where they do have enough points to move up   (Game notification created)
     $gamePoint = new GamePoint();
     $gamePoint->type = GamePoint::TYPE_USER_ADOPTION;
     $gamePoint->person = $scot;
     $gamePoint->value = 300;
     $this->assertTrue($gamePoint->save());
     Yii::app()->gameHelper->resolveLevelChange();
     $this->assertEquals(1, count(GameNotification::getAllByUser($scot)));
     $gamePoint = GamePoint::resolveToGetByTypeAndPerson(GamePoint::TYPE_USER_ADOPTION, $scot);
     $this->assertEquals(300, $gamePoint->value);
     $gameLevel = GameLevel::resolveByTypeAndPerson(GameLevel::TYPE_GENERAL, $scot);
     $this->assertTrue($gameLevel->id > 0);
     $this->assertEquals(1, $gameLevel->value);
     //test user at general level 1 where they do have enough points to move up   (No game notification created)
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalNotificationsEnabled', false);
     $gamePoint = new GamePoint();
     $gamePoint->type = GamePoint::TYPE_USER_ADOPTION;
     $gamePoint->person = $scot;
     $gamePoint->value = 300;
     $this->assertTrue($gamePoint->save());
     Yii::app()->gameHelper->resolveLevelChange();
     $this->assertEquals(1, count(GameNotification::getAllByUser($scot)));
     $this->assertEquals(300, $gamePoint->value);
     $this->assertTrue($gameLevel->id > 0);
     $this->assertEquals(2, $gameLevel->value);
     //test user at general level 2 where they do have enough points to move up   (Game notification created)
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalNotificationsEnabled', true);
     $gamePoint = new GamePoint();
     $gamePoint->type = GamePoint::TYPE_USER_ADOPTION;
     $gamePoint->person = $scot;
     $gamePoint->value = 500;
     $this->assertTrue($gamePoint->save());
     Yii::app()->gameHelper->resolveLevelChange();
     $this->assertEquals(2, count(GameNotification::getAllByUser($scot)));
     $this->assertEquals(500, $gamePoint->value);
     $this->assertTrue($gameLevel->id > 0);
     $this->assertEquals(3, $gameLevel->value);
 }
コード例 #29
0
 /**
  * Set the global time zone configuration value.
  */
 public static function setGlobalValue($timeZone)
 {
     assert('is_string($timeZone)');
     ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'timeZone', $timeZone);
 }
コード例 #30
0
 /**
  * @param int $size
  */
 public static function setBatchSize($size)
 {
     assert('is_int($size) || $size === null');
     ZurmoConfigurationUtil::setByModuleName(static::CONFIG_MODULE_NAME, static::CONFIG_KEY, $size);
 }