Example #1
0
 /**
  * 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'];
 }