eZ Publish  [4.0]
ezwordparser.php
Go to the documentation of this file.
00001 <?php
00002 //
00003 // Definition of eZWordParser class
00004 //
00005 // Created on: <17-Jun-2003 09:33:14 bf>
00006 //
00007 // ## BEGIN COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
00008 // SOFTWARE NAME: eZ Publish
00009 // SOFTWARE RELEASE: 4.0.x
00010 // COPYRIGHT NOTICE: Copyright (C) 1999-2008 eZ Systems AS
00011 // SOFTWARE LICENSE: GNU General Public License v2.0
00012 // NOTICE: >
00013 //   This program is free software; you can redistribute it and/or
00014 //   modify it under the terms of version 2.0  of the GNU General
00015 //   Public License as published by the Free Software Foundation.
00016 //
00017 //   This program is distributed in the hope that it will be useful,
00018 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
00019 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020 //   GNU General Public License for more details.
00021 //
00022 //   You should have received a copy of version 2.0 of the GNU General
00023 //   Public License along with this program; if not, write to the Free
00024 //   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
00025 //   MA 02110-1301, USA.
00026 //
00027 //
00028 // ## END COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
00029 //
00030 
00031 /*!
00032   \class eZWordParser ezwordparser.php
00033   \ingroup eZKernel
00034   \brief The class eZWordParser handles parsing of Word files and returns the metadata
00035 
00036 */
00037 
00038 class eZWordParser
00039 {
00040     function parseFile( $fileName )
00041     {
00042         $binaryINI = eZINI::instance( 'binaryfile.ini' );
00043 
00044         $textExtractionTool = $binaryINI->variable( 'WordHandlerSettings', 'TextExtractionTool' );
00045 
00046         $tmpName = "var/cache/" . md5( time() ) . '.txt';
00047         $handle = fopen( $tmpName, "w" );
00048         fclose( $handle );
00049 
00050         $perm = octdec( eZINI::instance()->variable( 'FileSettings', 'StorageFilePermissions' ) );
00051         chmod( $tmpName, $perm );
00052 
00053         exec( "$textExtractionTool $fileName > $tmpName", $ret );
00054 
00055         $metaData = "";
00056         if ( file_exists( $tmpName ) )
00057         {
00058             $fp = fopen( $tmpName, "r" );
00059             $metaData = fread( $fp, filesize( $tmpName ) );
00060             $metaData = strip_tags( $metaData );
00061             fclose( $fp );
00062             unlink( $tmpName );
00063         }
00064 
00065         return $metaData;
00066     }
00067 }
00068 
00069 ?>