public function renderTranslate() { $campaign = new Campaign($this->getInt('id')); $message = $campaign->message(); $message->reload(); $subject = $this->translateString($message->subject); $plainText = $this->translateString($message->plainText); $language = $this->getStr('hl'); $htmlContent = $message->htmlContent; while ($this->translateBlock($htmlContent)) { } $message->setLanguage($language); $message->reload(); $message->subject = $subject; $message->plainText = $plainText; $message->htmlContent = $htmlContent; $message->saveChanges(); if ($campaign->availableLanguages == null) { $campaign->availableLanguages = [$language => $language]; } else { $availableLanguages = (array) $campaign->availableLanguages; $availableLanguages[$language] = $language; $campaign->availableLanguages = $availableLanguages; } $campaign->saveChanges(); return Redirect::to('/campaigns/' . $this->getStr('id') . '/message/' . $this->getStr('hl')); }
/** * @return int */ public function execute() { /*$campaignContact = new CampaignContact(); $campaignContact->campaignId = rand(1,9); $campaignContact->language = array_rand( ["en" => "en", "es" => "es", "de" => "de",] ); $campaignContact->contactId = rand(1,9); $campaignContact->saveChanges(); return 0;*/ $contact = new Contact(); $contact->name = "John Smith"; $contact->description = "John the test monkey"; $contact->email = "*****@*****.**"; $contact->jobTitle = "Test Monkey"; $contact->reference = "johnsmith"; $contact->signature = ' Kind Regards John Smith Test Monkey Cubex Tester 0123-456-789'; $contact->saveChanges(); $campaign = new Campaign(); $campaign->reference = "testcampaign:" . FileSystem::readRandomCharacters(3); $campaign->name = "Test Campaign"; $campaign->description = "A test created with sample data"; $campaign->active = true; $campaign->contactId = $contact->id(); $campaign->type = CampaignType::ACTION; $campaign->saveChanges(); $message = $campaign->message(); $message->setLanguage('en'); $message->subject = "This is my subject"; $message->plainText = "Hello {{name}}. how are you today?"; $message->saveAsNew(); $message->setLanguage('es'); $message->subject = "Este es mi tema"; $message->plainText = "Hola {{name}}. ¿Cómo estás hoy?"; $message->saveAsNew(); $message->setLanguage('de'); $message->subject = "Dies ist mein Thema"; $message->plainText = "Hallo {{name}}. Wie geht es Ihnen heute?"; $message->saveAsNew(); }
public function renderTest($id) { $campaign = new Campaign($id); $form = new DeferoForm('send_test_email'); $form->addTextElement('email'); foreach ($campaign->message()->findVariables() as $var) { $form->addTextElement($var); } $form->get('email')->setRequired(true); $form->addSubmitElement(); if ($post = $this->request()->postVariables()) { $form->hydrate($post); if ($form->isValid() && $form->csrfCheck(true)) { try { Defero::pushMessage($id, $form->jsonSerialize()); $msg = new TransportMessage("info", 'Test queued for user'); } catch (\Exception $e) { $msg = new TransportMessage("error", $e->getMessage()); } return Redirect::to("/campaigns/{$id}")->with("msg", $msg); } } return new RenderGroup('<h1>Send a Test Campaign</h1>', $form); }