diff options
Diffstat (limited to 'includes/jpeg_metadata_tk/EXIF_Makernote.php')
| -rw-r--r-- | includes/jpeg_metadata_tk/EXIF_Makernote.php | 334 |
1 files changed, 0 insertions, 334 deletions
diff --git a/includes/jpeg_metadata_tk/EXIF_Makernote.php b/includes/jpeg_metadata_tk/EXIF_Makernote.php deleted file mode 100644 index ceb82f4..0000000 --- a/includes/jpeg_metadata_tk/EXIF_Makernote.php +++ /dev/null @@ -1,334 +0,0 @@ -<?php - -/****************************************************************************** -* -* Filename: EXIF_Makernote.php -* -* Description: Provides functions for reading EXIF Makernote Information -* The actual functions for reading each manufacturers makernote -* are provided in the Makernotes directory. -* -* Author: Evan Hunter -* -* Date: 23/7/2004 -* -* Project: PHP JPEG Metadata Toolkit -* -* Revision: 1.11 -* -* Changes: 1.00 -> 1.11 : changed makernotes directory definition to allow -* the toolkit to be portable across directories -* -* URL: http://electronics.ozhiker.com -* -* Copyright: Copyright Evan Hunter 2004 -* -* License: This file is part of the PHP JPEG Metadata Toolkit. -* -* The PHP JPEG Metadata Toolkit is free software; you can -* redistribute it and/or modify it under the terms of the -* GNU General Public License as published by the Free Software -* Foundation; either version 2 of the License, or (at your -* option) any later version. -* -* The PHP JPEG Metadata Toolkit is distributed in the hope -* that it will be useful, but WITHOUT ANY WARRANTY; without -* even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License -* for more details. -* -* You should have received a copy of the GNU General Public -* License along with the PHP JPEG Metadata Toolkit; if not, -* write to the Free Software Foundation, Inc., 59 Temple -* Place, Suite 330, Boston, MA 02111-1307 USA -* -* If you require a different license for commercial or other -* purposes, please contact the author: evan@ozhiker.com -* -******************************************************************************/ - - -// Create the Makernote Parser and Interpreter Function Array - -$GLOBALS['Makernote_Function_Array'] = array( "Read_Makernote_Tag" => array( ), - "get_Makernote_Text_Value" => array( ), - "Interpret_Makernote_to_HTML" => array( ) ); - - -// Include the Main TIFF and EXIF Tags array - -include_once 'EXIF.php'; - - - -/****************************************************************************** -* -* Include the Makernote Scripts -* -******************************************************************************/ - -// Set the Makernotes Directory - -$dir = dirname(__FILE__) . "/Makernotes/"; // Change: as of version 1.11 - to allow directory portability - -// Open the directory -$dir_hnd = @opendir ( $dir ); - -// Cycle through each of the files in the Makernotes directory - -while ( ( $file = readdir( $dir_hnd ) ) !== false ) -{ - // Check if the current item is a file - if ( is_file ( $dir . $file ) ) - { - // Item is a file, break it into it's parts - $path_parts = pathinfo( $dir . $file ); - - // Check if the extension is php - if ( $path_parts["extension"] == "php" ) - { - // This is a php script - include it - include_once ($dir . $file) ; - } - } -} -// close the directory -closedir( $dir_hnd ); - - - - - - - - - - -/****************************************************************************** -* -* Function: Read_Makernote_Tag -* -* Description: Attempts to decodes the Makernote tag supplied, returning the -* new tag with the decoded information attached. -* -* Parameters: Makernote_Tag - the element of an EXIF array containing the -* makernote, as returned from get_EXIF_JPEG -* EXIF_Array - the entire EXIF array containing the -* makernote, as returned from get_EXIF_JPEG, in -* case more information is required for decoding -* filehnd - an open file handle for the file containing the -* makernote - does not have to be positioned at the -* start of the makernote -* -* -* Returns: Makernote_Tag - the Makernote_Tag from the parameters, but -* modified to contain the decoded information -* -******************************************************************************/ - -function Read_Makernote_Tag( $Makernote_Tag, $EXIF_Array, $filehnd ) -{ - - // Check if the Makernote is present but empty - this sometimes happens - if ( ( strlen( $Makernote_Tag['Data'] ) === 0 ) || - ( is_string( $Makernote_Tag['Data'] ) && $Makernote_Tag['Data'] === str_repeat ( "\x00", strlen( $Makernote_Tag['Data'] )) ) ) - { - // Modify the makernote to display that it is empty - $Makernote_Tag['Decoded Data'] = "Empty"; - $Makernote_Tag['Makernote Type'] = "Empty"; - $Makernote_Tag['Makernote Tags'] = "Empty"; - $Makernote_Tag['Decoded'] = TRUE; - - // Return the new makernote - return $Makernote_Tag; - } - - // Check if the Make Field exists in the TIFF IFD - if ( array_key_exists ( 271, $EXIF_Array[0] ) ) - { - // A Make tag exists in IFD0, collapse multiple strings (if any), and save result - $Make_Field = implode ( "\n", $EXIF_Array[0][271]['Data']); - } - else - { - // No Make field found - $Make_Field = ""; - } - - // Cycle through each of the "Read_Makernote_Tag" functions - - foreach( $GLOBALS['Makernote_Function_Array']['Read_Makernote_Tag'] as $func ) - { - // Run the current function, and save the result - $New_Makernote_Tag = $func( $Makernote_Tag, $EXIF_Array, $filehnd, $Make_Field ); - - // Check if a valid result was returned - if ( $New_Makernote_Tag !== FALSE ) - { - // A valid result was returned - stop cycling - break; - } - } - - // Check if a valid result was returned - if ( $New_Makernote_Tag === false ) - { - // A valid result was NOT returned - construct a makernote tag representing this - $New_Makernote_Tag = $Makernote_Tag; - $New_Makernote_Tag['Decoded'] = FALSE; - $New_Makernote_Tag['Makernote Type'] = "Unknown Makernote"; - } - - // Return the new makernote tag - return $New_Makernote_Tag; - -} - -/****************************************************************************** -* End of Function: Read_Makernote_Tag -******************************************************************************/ - - - - - - - - - -/****************************************************************************** -* -* Function: get_Makernote_Text_Value -* -* Description: Attempts to provide a text value for any makernote tag marked -* as type special. Returns false no handler could be found to -* process the tag -* -* Parameters: Exif_Tag - the element of an the Makernote array containing the -* tag in question, as returned from Read_Makernote_Tag -* Tag_Definitions_Name - The name of the Tag Definitions group -* within the global array IFD_Tag_Definitions -* -* -* Returns: output - the text value for the tag -* FALSE - If no handler could be found to process this tag, or if -* an error occured in decoding -* -******************************************************************************/ - -function get_Makernote_Text_Value( $Tag, $Tag_Definitions_Name ) -{ - - // Cycle through each of the "get_Makernote_Text_Value" functions - - foreach( $GLOBALS['Makernote_Function_Array']['get_Makernote_Text_Value'] as $func ) - { - // Run the current function, and save the result - $Text_Val = $func( $Tag, $Tag_Definitions_Name ); - - // Check if a valid result was returned - if ( $Text_Val !== FALSE ) - { - // valid result - return it - return $Text_Val; - } - } - - // No Special tag handler found for this tag - return false - return FALSE; - -} - - -/****************************************************************************** -* End of Function: get_Makernote_Text_Value -******************************************************************************/ - - - - - - - - -/****************************************************************************** -* -* Function: Interpret_Makernote_to_HTML -* -* Description: Attempts to interpret a makernote into html. -* -* Parameters: Makernote_Tag - the element of an EXIF array containing the -* makernote, as returned from get_EXIF_JPEG -* filename - the name of the JPEG file being processed ( used -* by scripts which display embedded thumbnails) -* -* -* Returns: output - the html representing the makernote -* -******************************************************************************/ - -function Interpret_Makernote_to_HTML( $Makernote_tag, $filename ) -{ - - // Create a string to receive the HTML - $output_str = ""; - - // Check if the makernote tag is valid - if ( $Makernote_tag === FALSE ) - { - // No makernote info - return - return $output_str; - } - - - // Check if the makernote has been marked as unknown - if ( $Makernote_tag['Makernote Type'] == "Unknown Makernote" ) - { - // Makernote is unknown - return message - $output_str .= "<h4 class=\"EXIF_Makernote_Small_Heading\">Unknown Makernote Coding</h4>\n"; - return $output_str; - } - else - { - // Makernote is known - add a heading to the output - $output_str .= "<p class=\"EXIF_Makernote_Text\">Makernote Coding: " . $Makernote_tag['Makernote Type'] . "</p>\n"; - } - - // Check if this is an empty makernote - if ( $Makernote_tag['Makernote Type'] == "Empty" ) - { - // It is empty - don't try to interpret - return $output_str; - } - - // Cycle through each of the "Interpret_Makernote_to_HTML" functions - - foreach( $GLOBALS['Makernote_Function_Array']['Interpret_Makernote_to_HTML'] as $func ) - { - // Run the current function, and save the result - $html_text = $func( $Makernote_tag, $filename ); - - // Check if a valid result was returned - if ( $html_text !== FALSE ) - { - // valid result - return it - return $output_str . $html_text; - } - } - - // No Interpreter function handled the makernote - return a message - - $output_str .= "<h4 class=\"EXIF_Makernote_Small_Heading\">Could not Decode Makernote, it may be corrupted or empty</h4>\n"; - - return $output_str; - - -} - -/****************************************************************************** -* End of Function: Interpret_Makernote_to_HTML -******************************************************************************/ - - - -?> |
