function save($id, $vars, &$errors) { global $ost; $tpl = null; $vars['name'] = Format::striptags(trim($vars['name'])); if ($id && $id != $vars['tpl_id']) { $errors['err'] = __('Internal error occurred'); } if (!$vars['name']) { $errors['name'] = __('Name is required'); } elseif (($tid = EmailTemplateGroup::getIdByName($vars['name'])) && $tid != $id) { $errors['name'] = __('Template name already exists'); } if (!$id && ($vars['tpl_id'] && !($tpl = EmailTemplateGroup::lookup($vars['tpl_id'])))) { $errors['tpl_id'] = __('Invalid template set specified'); } if ($errors) { return false; } $sql = ' updated=NOW() ' . ' ,name=' . db_input($vars['name']) . ' ,isactive=' . db_input($vars['isactive']) . ' ,notes=' . db_input(Format::sanitize($vars['notes'])); if ($vars['lang_id']) { // TODO: Validation of lang_id $sql .= ',lang=' . db_input($vars['lang_id']); } if ($id) { $sql = 'UPDATE ' . EMAIL_TEMPLATE_GRP_TABLE . ' SET ' . $sql . ' WHERE tpl_id=' . db_input($id); if (db_query($sql)) { return true; } $errors['err'] = sprintf(__('Unable to update %s.'), __('this template set')) . ' ' . __('Internal error occurred'); } else { if (isset($vars['id'])) { $sql .= ', tpl_id=' . db_input($vars['id']); } $sql = 'INSERT INTO ' . EMAIL_TEMPLATE_GRP_TABLE . ' SET created=NOW(), ' . $sql; if (!db_query($sql) || !($new_id = db_insert_id())) { $errors['err'] = sprintf(__('Unable to create %s.'), __('this template set')) . ' ' . __('Internal error occurred'); return false; } if ($tpl && ($info = $tpl->getInfo())) { $sql = 'INSERT INTO ' . EMAIL_TEMPLATE_TABLE . ' (created, updated, tpl_id, code_name, subject, body) SELECT NOW() as created, NOW() as updated, ' . db_input($new_id) . ' as tpl_id, code_name, subject, body FROM ' . EMAIL_TEMPLATE_TABLE . ' WHERE tpl_id=' . db_input($tpl->getId()); if (!db_query($sql) || !db_insert_id()) { return false; } } return $new_id; } return false; }
function save($id, $vars, &$errors) { global $ost; $tpl = null; $vars['name'] = Format::striptags(trim($vars['name'])); if ($id && $id != $vars['tpl_id']) { $errors['err'] = 'Internal error. Try again'; } if (!$vars['name']) { $errors['name'] = 'Name required'; } elseif (($tid = EmailTemplateGroup::getIdByName($vars['name'])) && $tid != $id) { $errors['name'] = 'Template name already exists'; } if (!$id && (!$vars['tpl_id'] || !($tpl = EmailTemplateGroup::lookup($vars['tpl_id'])))) { $errors['tpl_id'] = 'Selection required'; } if ($errors) { return false; } $sql = ' updated=NOW() ' . ' ,name=' . db_input($vars['name']) . ' ,isactive=' . db_input($vars['isactive']) . ' ,notes=' . db_input($vars['notes']); if ($id) { $sql = 'UPDATE ' . EMAIL_TEMPLATE_GRP_TABLE . ' SET ' . $sql . ' WHERE tpl_id=' . db_input($id); if (db_query($sql)) { return true; } $errors['err'] = 'Unable to update the template. Internal error occurred'; } elseif ($tpl && ($info = $tpl->getInfo())) { $sql = 'INSERT INTO ' . EMAIL_TEMPLATE_GRP_TABLE . ' SET created=NOW(), ' . $sql; if (!db_query($sql) || !($new_id = db_insert_id())) { $errors['err'] = 'Unable to create template. Internal error'; return false; } $sql = 'INSERT INTO ' . EMAIL_TEMPLATE_TABLE . ' (created, updated, tpl_id, code_name, subject, body) SELECT NOW() as created, NOW() as updated, ' . db_input($new_id) . ' as tpl_id, code_name, subject, body FROM ' . EMAIL_TEMPLATE_TABLE . ' WHERE tpl_id=' . db_input($tpl->getId()); if (db_query($sql) && db_insert_id()) { return $new_id; } } return false; }