Ejemplo n.º 1
0
 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'));
 }
Ejemplo n.º 2
0
    /**
     * @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();
    }
Ejemplo n.º 3
0
 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);
 }