isError()) { exit_error('Error',$g->getErrorMessage()); } $upload_dir = $sys_ftp_upload_dir . "/" . $g->getUnixName(); if (getStringFromRequest('submit')) { $doc_group = getIntFromRequest('doc_group'); $title = getStringFromRequest('title'); $description = getStringFromRequest('description'); $file_url = getStringFromRequest('file_url'); $ftp_filename = getStringFromRequest('ftp_filename'); $uploaded_data = getUploadedFile('uploaded_data'); $language_id = getIntFromRequest('language_id'); $type = getStringFromRequest('type'); $name = getStringFromRequest('name'); if (!$doc_group || $doc_group == 100) { //cannot add a doc unless an appropriate group is provided exit_error($Language->getText('general','error'),$Language->getText('docman_new','no_valid_group')); } if (!$title || !$description || (!$uploaded_data && !$file_url && !$ftp_filename && (!$editor && !$name ) )) { exit_missing_param(); } $d = new Document($g); if (!$d || !is_object($d)) { exit_error($Language->getText('general','error'),$Language->getText('docman_new','error_blank_document')); } elseif ($d->isError()) { exit_error($Language->getText('general','error'),$d->getErrorMessage()); } switch ($type) { case 'editor' : { $data = getStringFromRequest('data'); $uploaded_data_name = $name; $sanitizer = new TextSanitizer(); $data = $sanitizer->SanitizeHtml($data); if (strlen($data)<1) { exit_error($Language->getText('general','error'),$Language->getText('docman_new','error_blank_document')); } $uploaded_data_type='text/html'; break; } case 'pasteurl' : { $data = ''; $uploaded_data_name=$file_url; $uploaded_data_type='URL'; break; } case 'httpupload' : { if (!is_uploaded_file($uploaded_data['tmp_name'])) { exit_error($Language->getText('general','error'),$Language->getText('general','invalid_filename')); } $data = addslashes(fread(fopen($uploaded_data['tmp_name'], 'r'), $uploaded_data['size'])); $file_url=''; $uploaded_data_name=$uploaded_data['name']; $uploaded_data_type=$uploaded_data['type']; break; } case 'ftpupload' : { $uploaded_data_name=$upload_dir.'/'.$ftp_filename; $data = addslashes(fread(fopen($uploaded_data_name, 'r'), filesize($uploaded_data_name))); } } if (!$d->create($uploaded_data_name,$uploaded_data_type,$data,$doc_group,$title,$language_id,$description)) { exit_error($Language->getText('general','error'),$d->getErrorMessage()); } else { if ($type == 'editor') { //release the cookie for the document contents (should expire at the end of the session anyway) setcookie ("gforgecurrentdocdata", "", time() - 3600); } Header("Location: /docman/?group_id=$group_id&feedback=".$Language->getText('docman_new','submitted_successfully')); exit; } } else { if (getStringFromRequest('Option')) { //option was selected, proceed to show each one $option_selected = getStringFromRequest('option_selected'); docman_header($Language->getText('docman_new','title'),$Language->getText('docman_new','section')); echo'
'. $Language->getText('docman_new','intro') .'
'; docman_footer(array()); } else { docman_header($Language->getText('docman_new','title'),$Language->getText('docman_new','section')); ?> '; $vals['httpupload'] = $Language->getText('docman','httpupload'); $vals['ftpupload'] = $Language->getText('docman','ftpupload'); $vals['pasteurl'] = $Language->getText('docman','pasteurl'); $vals['editor'] = $Language->getText('docman','editor'); echo $Language->getText('docman','select'); echo html_build_select_box_from_assoc($vals,'option_selected'); echo ' '; echo ''; docman_footer(array()); } } ?>