Файл: system/controllers/forms/backend/actions/copy.php
Строк: 19
<?php
class actionFormsCopy extends cmsAction {
public function run($form_id = 0) {
$form_data = $this->model->getForm($form_id);
if(!$form_data){ cmsCore::error404(); }
$do = 'copy';
$form = $this->getForm('form', [$do]);
$is_submitted = $this->request->has('submit');
if ($is_submitted){
$form_data = array_merge($form_data, $form->parse($this->request, $is_submitted));
$errors = $form->validate($this, $form_data);
if (!$errors){
unset($form_data['id']);
$id = $this->model->addForm($form_data);
$fields = $this->model->filterEqual('form_id', $form_id)->orderBy('ordering', 'asc')->get('forms_fields');
if($fields){
foreach ($fields as $field){
unset($field['id']);
$field['form_id'] = $id;
$this->model->addFormField($field);
}
}
cmsUser::addSessionMessage(sprintf(LANG_FORMS_CP_FORMS_COPY_CREATED, $form_data['title']), 'success');
$this->redirectToAction('form_fields', array($id));
}
if ($errors){
cmsUser::addSessionMessage(LANG_FORM_ERRORS, 'error');
}
}
return $this->cms_template->render('backend/add', [
'menu' => $this->getFormMenu($do, $form_data['id']),
'form_data' => $form_data,
'do' => $do,
'form' => $form,
'errors' => isset($errors) ? $errors : false
]);
}
}