00001 <?php 00002 // --------------------------------------------------------------------------- 00003 // $Id$ 00004 // --------------------------------------------------------------------------- 00005 // OpenRat Content Management System 00006 // Copyright (C) 2002-2004 Jan Dankert, cms@jandankert.de 00007 // 00008 // This program is free software; you can redistribute it and/or 00009 // modify it under the terms of the GNU General Public License 00010 // as published by the Free Software Foundation; either version 2 00011 // of the License, or (at your option) any later version. 00012 // 00013 // This program is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 // GNU General Public License for more details. 00017 // 00018 // You should have received a copy of the GNU General Public License 00019 // along with this program; if not, write to the Free Software 00020 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00021 // --------------------------------------------------------------------------- 00022 // $Log$ 00023 // Revision 1.5 2004-12-26 20:20:57 dankert 00024 // Bei erstem Aufruf Fehlermeldung vermeiden 00025 // 00026 // Revision 1.4 2004/11/28 23:55:36 dankert 00027 // addNotice() 00028 // 00029 // Revision 1.3 2004/05/02 14:49:37 dankert 00030 // Einf?gen package-name (@package) 00031 // 00032 // Revision 1.2 2004/04/24 20:30:23 dankert 00033 // addslashes() entfernt 00034 // 00035 // Revision 1.1 2004/04/24 15:14:52 dankert 00036 // Initiale Version 00037 // 00038 // --------------------------------------------------------------------------- 00039 00040 00048 class TransferAction extends Action 00049 { 00050 var $defaultSubAction = 'import'; 00051 00052 00053 function TransferAction() 00054 { 00055 } 00056 00057 00058 function import() 00059 { 00060 $folderName = $this->getRequestVar('local_folder'); 00061 00062 if ( $folderName != '' ) 00063 { 00064 $dir = @opendir( $folderName ); 00065 00066 if ( !is_resource( $dir ) ) 00067 { 00068 $this->addNotice('file',"directory '$folderName' not readable",'ERROR','error'); 00069 } 00070 else 00071 { 00072 while( $filename = readdir($dir) ) 00073 { 00074 $full_filename = $folderName.'/'.$filename; 00075 00076 if ( $filename != "." && 00077 $filename != ".." && 00078 is_file($full_filename) ) 00079 { 00080 $file = new File(); 00081 $file->parentid = intval( $this->getRequestVar('objectid') ); 00082 $file->parse_filename( basename($filename) ); 00083 $file->name = $file->filename; 00084 $file->desc = ''; 00085 00086 // Datei lesen 00087 $f = fopen( $full_filename,'r' ); 00088 $file->value = fread($f,filesize($full_filename)); 00089 fclose( $f ); 00090 00091 $file->add(); 00092 $this->addNotice('file',$file->name,'IMPORTED','ok'); 00093 00094 unset( $file ); 00095 } 00096 } 00097 closedir( $dir ); 00098 } 00099 } 00100 00101 $folders = array(); 00102 00103 $folder = new Folder(); 00104 foreach( $folder->getAllFolders() as $objectid ) 00105 { 00106 $f = new Folder( $objectid ); 00107 $folders[$objectid] = implode( FILE_SEP,$f->parentObjectNames(true,true) ); 00108 } 00109 00110 asort( $folders ); 00111 $this->setTemplateVar( 'folders',$folders ); 00112 00113 $this->forward( 'transfer_import' ); 00114 } 00115 00116 00117 // function export() 00118 // { 00119 // if ( isset($REQ['folderid']) && isset($REQ['local_folder']) ) 00120 // { 00121 // if ( !is_dir( $REQ['local_folder'] ) ) 00122 // { 00123 // $var['log'] = 'directory not found'; 00124 // } 00125 // else 00126 // { 00127 // $var['log'] = "reading projectfolder ...\n"; 00128 // 00129 // $sql = new Sql( 'SELECT * FROM {t_file}'. 00130 // ' WHERE folderid={folderid}' ); 00131 // $sql->setInt('folderid',$REQ['folderid']); 00132 // $files = $db->getCol( $sql->query ); 00133 // 00134 // foreach( $files as $fileid ) 00135 // { 00136 // $file = new File(); 00137 // $file->fileid = $fileid; 00138 // $file->load(); 00139 // 00140 // $full_filename = $REQ['local_folder'].'/'.$file->filename; 00141 // if ( $file->extension != '' ) 00142 // $full_filename .= '.'.$file->extension; 00143 // $var['log'] .= "saving $full_filename\n"; 00144 // 00145 // // Datei lesen 00146 // $f = fopen( $file->tmpfile(),'r' ); 00147 // $value = fread($f,filesize($file->tmpfile())); 00148 // fclose( $f ); 00149 // 00150 // // Datei lesen 00151 // $f = fopen( $full_filename,'w' ); 00152 // fwrite( $f,$value ); 00153 // fclose( $f ); 00154 // 00155 // unset( $file ); 00156 // } 00157 // } 00158 // } 00159 // 00160 // 00161 // $folders = array(); 00162 // 00163 // $folder = new Folder(); 00164 // foreach( $folder->getAllFolders() as $objectid ) 00165 // { 00166 // $f = new Folder( $objectid ); 00167 // $folders[$objectid] = implode( ' » ',$f->parentObjectNames(true,true) ); 00168 // } 00169 // 00170 // asort( $folders ); 00171 // $this->setTemplateVar( 'folders',$folders ); 00172 // 00173 // 00174 // $this->forward( 'transfer_export' ); 00175 // } 00176 00177 00178 // function copyproject() 00179 // { 00180 // if ( isset($REQ['folderid']) && isset($REQ['local_folder']) ) 00181 // { 00182 // if ( !is_dir( $REQ['local_folder'] ) ) 00183 // { 00184 // $var['log'] = 'directory not found'; 00185 // } 00186 // else 00187 // { 00188 // $var['log'] = "reading projectfolder ...\n"; 00189 // 00190 // $sql = new Sql( 'SELECT * FROM {t_file}'. 00191 // ' WHERE folderid={folderid}' ); 00192 // $sql->setInt('folderid',$REQ['folderid']); 00193 // $files = $db->getCol( $sql->query ); 00194 // 00195 // foreach( $files as $fileid ) 00196 // { 00197 // $file = new File(); 00198 // $file->fileid = $fileid; 00199 // $file->load(); 00200 // 00201 // $full_filename = $REQ['local_folder'].'/'.$file->filename; 00202 // if ( $file->extension != '' ) 00203 // $full_filename .= '.'.$file->extension; 00204 // $var['log'] .= "saving $full_filename\n"; 00205 // 00206 // // Datei lesen 00207 // $f = fopen( $file->tmpfile(),'r' ); 00208 // $value = fread($f,filesize($file->tmpfile())); 00209 // fclose( $f ); 00210 // 00211 // // Datei lesen 00212 // $f = fopen( $full_filename,'w' ); 00213 // fwrite( $f,$value ); 00214 // fclose( $f ); 00215 // 00216 // unset( $file ); 00217 // } 00218 // } 00219 // } 00220 // 00221 // 00222 // $sql = new Sql( 'SELECT id FROM {t_folder}' ); 00223 // $sql->setInt('projectid',$projectid); 00224 // $folders = $db->getCol( $sql->query ); 00225 // 00226 // $var['folders'] = array(); 00227 // 00228 // foreach( $folders as $folderid ) 00229 // { 00230 // $folder = new Folder( $folderid ); 00231 // $folder->load(); 00232 // $folder->filenames = false; 00233 // $var['folders'][$folderid] = implode(' » ',$folder->parentfolder( true,true )); 00234 // } 00235 // 00236 // asort( $var['folders'] ); 00237 // 00238 // $this->forward( 'transfer_copyproject' ); 00239 // } 00240 00241 } 00242 00243 ?>
1.5.8