ACC SHELL

Path : /srv/www/vhosts/czerwenka/app/presenters/
File Upload :
Current File : //srv/www/vhosts/czerwenka/app/presenters/UsefulInformation.php

<?php

/**
 * Homepage presenter.
 *
 * @author     John Doe
 * @package    MyApplication
 */
class UsefulInformationPresenter extends BasePresenter
{
    
    private $brochures = array();

    /**
     * List of bruchures to order via form. 
     * List of bruchures available in template.
     */
    public function actionDefault()
    {
		$this->brochures = array(
//            'brochure1' => 'Brožura č. 1',
//            'brochure2' => 'Brožura #2',
//            'brochure3' => 'Třetí brožura'
        );
        $this->template->brochures = $this->brochures;
    }
    
	public function renderDefault()
	{
	}
    
    public function createComponentUsefulInformationForm($name)
    {
        
        $form = new Nette\Application\UI\Form($this, $name);
        
        $form->setTranslator(new MyTranslator($this->lang));
        
        $form->addText('name', 'Jméno *', 40)
                ->setRequired('Prosím, vyplňte povinná pole označená *.');
        $form->addText('email', 'E-mail *', 40)
                ->setRequired('Prosím, vyplňte povinná pole označená *.')
                ->addRule(Nette\Application\UI\Form::EMAIL, 'Prosím, vložte platnou emailovou adresu.');
        $form->addText('company', 'Společnost', 40);
        foreach ($this->brochures as $brochure => $brochureName)
            $form->addCheckbox($brochure, $brochureName);
        $form->addTextArea('note', 'Poznámka', 40, 5);

        $form->addSubmit('send', 'Objednat');
        
        $form->onSuccess[] = callback($this, 'usefulInformationFormSubmitted');
        
        return $form;
        
    }

    public function UsefulInformationFormSubmitted(Nette\Application\UI\Form $form)
    {
        
        $values = $form->values;

        $text = "Dne ". date('j. m. Y') . " v " . date('H:i') . " byla učiněna následující objednávka:\n\n";
        $atLeastOneBrochure = false;
        foreach ($values as $checkbox => $checked)
        {
            if (preg_match('/brochure/', $checkbox) && $checked)
            {
                    $text .= "- " . $this->brochures[$checkbox] . "\n";
                    $atLeastOneBrochure = true;
            }
        }
        if (!$atLeastOneBrochure)
            $text .= "(nebyla vybrána žádná z brožur)";
        $text .= "\nna jméno $values->name ($values->email)";
        if ($values['company'])
            $text .= " ze společnosti $values->company";
        $text .= '.';
        if ($values['note'])
            $text .= "\n\nPoznámka odesílatele:\n$values[note]";
        
        $mail = new Nette\Mail\Message;
        $mail->setFrom("$values->name <$values->email>")
//            ->addTo('info@czerwpart.cz')
            ->addTo('jiri.zajic@flipcom.cz')
            ->setSubject('Potvrzení objednávky')
            ->setBody($text)
            ->send();
        
        $this->flashMessage('Formulář byl odeslán.');
        
        $this->redirect('Homepage:');
        
    }
    
}

ACC SHELL 2018