3 * GForge Doc Mgr Facility
5 * Copyright 2002 GForge, LLC
15 by Quentin Cregan, SourceForge 06/2000
17 Complete OO rewrite by Tim Perdue 1/2003
22 require_once('pre.php');
23 require_once('common/docman/Document.class');
24 require_once('common/docman/DocumentGroupFactory.class');
25 require_once('include/doc_utils.php');
26 require_once('include/DocumentGroupHTML.class');
28 $group_id = getIntFromRequest('group_id');
32 $g =& group_get_object($group_id);
33 if (!$g || !is_object($g)) {
34 exit_error('Error','Could Not Get Group');
35 } elseif ($g->isError()) {
36 exit_error('Error',$g->getErrorMessage());
39 $upload_dir = $sys_ftp_upload_dir . "/" . $g->getUnixName();
41 if (getStringFromRequest('submit')) {
42 $doc_group = getIntFromRequest('doc_group');
43 $title = getStringFromRequest('title');
44 $description = getStringFromRequest('description');
45 $file_url = getStringFromRequest('file_url');
46 $ftp_filename = getStringFromRequest('ftp_filename');
47 $uploaded_data = getUploadedFile('uploaded_data');
48 $language_id = getIntFromRequest('language_id');
51 if (!$doc_group || $doc_group == 100) {
52 //cannot add a doc unless an appropriate group is provided
53 exit_error($Language->getText('general','error'),$Language->getText('docman_new','no_valid_group'));
56 if (!$title || !$description || (!$uploaded_data && !$file_url && !$ftp_filename )) {
60 $d = new Document($g);
61 if (!$d || !is_object($d)) {
62 exit_error($Language->getText('general','error'),$Language->getText('docman_new','error_blank_document'));
63 } elseif ($d->isError()) {
64 exit_error($Language->getText('general','error'),$d->getErrorMessage());
69 $uploaded_data_name=$file_url;
70 $uploaded_data_type='URL';
71 } elseif ($ftp_filename!=100) { //100 == None
72 $uploaded_data_name=$upload_dir.'/'.$ftp_filename;
73 $data = addslashes(fread(fopen($uploaded_data_name, 'r'), filesize($uploaded_data_name)));
74 } elseif ($uploaded_data) {
75 if (!is_uploaded_file($uploaded_data['tmp_name'])) {
76 exit_error($Language->getText('general','error'),$Language->getText('general','invalid_filename'));
78 $data = addslashes(fread(fopen($uploaded_data['tmp_name'], 'r'), $uploaded_data['size']));
80 $uploaded_data_name=$uploaded_data['name'];
81 $uploaded_data_type=$uploaded_data['type'];
85 if (!$d->create($uploaded_data_name,$uploaded_data_type,$data,$doc_group,$title,$language_id,$description)) {
86 exit_error($Language->getText('general','error'),$d->getErrorMessage());
88 Header("Location: /docman/?group_id=$group_id&feedback=".$Language->getText('docman_new','submitted_successfully'));
93 docman_header($Language->getText('docman_new','title'),$Language->getText('docman_new','section'));
96 <?php echo $Language->getText('docman_new','intro') ?>
99 <form name="adddata" action="<?php echo getStringFromServer('PHP_SELF')."?group_id=$group_id"; ?>" method="post" enctype="multipart/form-data">
101 <table border="0" width="75%">
105 <strong> <?php echo $Language->getText('docman_new','doc_title') ?> :</strong> <?php echo utils_requiredField(); ?> <?php echo $Language->getText('general', 'min_characters', array(5)) ?><br />
106 <input type="text" name="title" size="40" maxlength="255" />
112 <strong> <?php echo $Language->getText('docman_new','description') ?> :</strong> <?php echo utils_requiredField(); ?> <?php echo $Language->getText('general', 'min_characters', array(10)) ?><br />
113 <input type="text" name="description" size="50" maxlength="255" />
119 <strong> <?php echo $Language->getText('docman_new','upload_file') ?> :</strong> <?php echo utils_requiredField(); ?><br />
120 <input type="file" name="uploaded_data" size="30" /><br /><br />
121 <strong> <?php echo $Language->getText('docman_new','upload_url') ?> :</strong> <?php echo utils_requiredField(); ?><br />
122 <input type="text" name="file_url" size="50" />
124 <?php if ($sys_use_ftpuploads) {
126 echo '<strong>'.$Language->getText('docman_new','ftpupload_new_file',array($sys_ftp_upload_host)).'<br />';
127 echo $Language->getText('docman_new','ftpupload_choosefile').'</strong>'. utils_requiredField() .'<br />';
129 $ftp_files_arr=array_merge($arr,ls($upload_dir,true));
130 echo html_build_select_box_from_arrays($ftp_files_arr,$ftp_files_arr,'ftp_filename','');
139 <strong> <?php echo $Language->getText('docman_new','language') ?> :</strong><br />
141 echo html_get_language_popup($Language,'language_id',1);
148 <strong> <?php echo $Language->getText('docman_new','group') ?> :</strong><br />
150 $dgf = new DocumentGroupFactory($g);
151 if ($dgf->isError()) {
152 exit_error('Error',$dgf->getErrorMessage());
155 $dgh = new DocumentGroupHTML($g);
156 if ($dgh->isError()) {
157 exit_error('Error',$dgh->getErrorMessage());
160 //display_groups_option($group_id);
161 $selected_doc_group=getIntFromRequest('selected_doc_group');
162 $dgh->showSelectNestedGroups($dgf->getNested(), 'doc_group', false, $selected_doc_group);
168 <input type="submit" name="submit" value=" <?php echo $Language->getText('docman_new','submit') ?> " />
171 docman_footer(array());