/** * Copy a form properties and fields * @author: Albert Pérez Monfort (aperezm@xtec.cat) * @param: args The id of forum * @return: true if success and false if fails */ public function copy($args) { $fid = FormUtil::getPassedValue('fid', isset($args['fid']) ? $args['fid'] : null, 'POST'); // Security check if (!SecurityUtil::checkPermission('IWforms::', '::', ACCESS_ADMIN)) { return LogUtil::registerPermissionError(); } //Get item $item = ModUtil::apiFunc('IWforms', 'user', 'getFormDefinition', array('fid' => $fid)); if ($item == false) { LogUtil::registerError($this->__('Could not find form')); return System::redirect(ModUtil::url('IWforms', 'admin', 'main')); } //Get all field information $fields = ModUtil::apiFunc('IWforms', 'user', 'getAllFormFields', array('fid' => $fid)); if ($fields == false) { LogUtil::registerError($this->__('Could not find form fields, then it is not possible to copy the form')); return System::redirect(ModUtil::url('IWforms', 'admin', 'main')); } //copy form properties if (!DBUtil::insertObject($item, 'IWforms_definition', 'fid')) { return LogUtil::registerError($this->__('Error! Creation attempt failed.')); } //copy form fields foreach ($fields as $field) { $field['fid'] = $item['fid']; if (!DBUTil::insertObject($field, 'IWforms_note_definition', 'fndid')) { return LogUtil::registerError($this->__('Error! Creation attempt failed.')); } } // Return the id of the newly created item to the calling process return $item['fid']; }