Pommo::requireOnce($pommo->_baseDir . 'inc/classes/template.php');
$smarty = new PommoTemplate();
$smarty->prepareForForm();
if (!SmartyValidate::is_registered_form() || empty($_POST)) {
    // ___ USER HAS NOT SENT FORM ___
    SmartyValidate::connect($smarty, true);
    SmartyValidate::register_validator('name', 'name', 'notEmpty', false, false, 'trim');
    SmartyValidate::register_validator('description', 'description', 'dummyValid', false, false, 'trim');
    $vMsg = array();
    $vMsg['name'] = Pommo::_T('Cannot be empty.');
    $smarty->assign('vMsg', $vMsg);
} else {
    // ___ USER HAS SENT FORM ___
    SmartyValidate::connect($smarty);
    if (SmartyValidate::is_valid($_POST)) {
        // __ FORM IS VALID
        $t = PommoMailingTemplate::make(array('name' => $_POST['name'], 'description' => $_POST['description'], 'body' => $pommo->_session['state']['mailing']['body'], 'altbody' => $pommo->_session['state']['mailing']['altbody']));
        $id = PommoMailingTemplate::add($t);
        if ($id) {
            $logger->addMsg(sprintf(Pommo::_T('Template %s saved.'), '<strong>' . $_POST['name'] . '</strong>'));
            $smarty->assign('success', true);
        } else {
            $logger->addMsg(Pommo::_T('Error with addition.'));
        }
    } else {
        // __ FORM NOT VALID
        $logger->addMsg(Pommo::_T('Please review and correct errors with your submission.'));
    }
}
$smarty->display('admin/mailings/mailing/ajax.addtemplate.tpl');
Pommo::kill();