TransferAction.class.php

gehe zur Dokumentation dieser Datei
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( ' &raquo; ',$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(' &raquo; ',$folder->parentfolder( true,true ));
00234 //        }
00235 //   
00236 //        asort( $var['folders'] );
00237 //        
00238 //        $this->forward( 'transfer_copyproject' );
00239 //   }
00240 
00241 }
00242 
00243 ?>

Erzeugt am Thu May 14 00:55:48 2009 für OpenRat von  doxygen 1.5.8