|
eZ Publish
[4.0]
|
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 ?>