Exemple #1
0
function formatFujifilmData($type, $tag, $intel, $data)
{
    if ($type == "ASCII") {
    } else {
        if ($type == "URATIONAL" || $type == "SRATIONAL") {
            $data = bin2hex($data);
            if ($intel == 1) {
                $data = intel2Moto($data);
            }
            $top = hexdec(substr($data, 8, 8));
            $bottom = hexdec(substr($data, 0, 8));
            if ($bottom != 0) {
                $data = $top / $bottom;
            } else {
                if ($top == 0) {
                    $data = 0;
                } else {
                    $data = $top . "/" . $bottom;
                }
            }
            if ($tag == "1011") {
                //FlashStrength
                $data = $data . " EV";
            }
        } else {
            if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") {
                $data = bin2hex($data);
                if ($intel == 1) {
                    $data = intel2Moto($data);
                }
                $data = hexdec($data);
                if ($tag == "1001") {
                    //Sharpness
                    if ($data == 1) {
                        $data = gettext_glf("Soft");
                    } else {
                        if ($data == 2) {
                            $data = gettext_glf("Soft");
                        } else {
                            if ($data == 3) {
                                $data = gettext_glf("Normal");
                            } else {
                                if ($data == 4) {
                                    $data = gettext_glf("Hard");
                                } else {
                                    if ($data == 5) {
                                        $data = gettext_glf("Hard");
                                    } else {
                                        $data = gettext_glf("Unknown") . ": " . $data;
                                    }
                                }
                            }
                        }
                    }
                }
                if ($tag == "1002") {
                    //WhiteBalance
                    if ($data == 0) {
                        $data = gettext_glf("Auto");
                    } else {
                        if ($data == 256) {
                            $data = gettext_glf("Daylight");
                        } else {
                            if ($data == 512) {
                                $data = gettext_glf("Cloudy");
                            } else {
                                if ($data == 768) {
                                    $data = gettext_glf("DaylightColor-fluorescence");
                                } else {
                                    if ($data == 769) {
                                        $data = gettext_glf("DaywhiteColor-fluorescence");
                                    } else {
                                        if ($data == 770) {
                                            $data = gettext_glf("White-fluorescence");
                                        } else {
                                            if ($data == 1024) {
                                                $data = gettext_glf("Incandenscense");
                                            } else {
                                                if ($data == 3840) {
                                                    $data = gettext_glf("Custom");
                                                } else {
                                                    $data = gettext_glf("Unknown") . ": " . $data;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                if ($tag == "1003") {
                    //Color
                    if ($data == 0) {
                        $data = gettext_glf("Chroma Saturation Normal(STD)");
                    } else {
                        if ($data == 256) {
                            $data = gettext_glf("Chroma Saturation High");
                        } else {
                            if ($data == 512) {
                                $data = gettext_glf("Chroma Saturation Low(ORG)");
                            } else {
                                $data = gettext_glf("Unknown: ") . $data;
                            }
                        }
                    }
                }
                if ($tag == "1004") {
                    //Tone
                    if ($data == 0) {
                        $data = gettext_glf("Contrast Normal(STD)");
                    } else {
                        if ($data == 256) {
                            $data = gettext_glf("Contrast High(HARD)");
                        } else {
                            if ($data == 512) {
                                $data = gettext_glf("Contrast Low(ORG)");
                            } else {
                                $data = gettext_glf("Unknown: ") . $data;
                            }
                        }
                    }
                }
                if ($tag == "1010") {
                    //FlashMode
                    if ($data == 0) {
                        $data = gettext_glf("Auto");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("On");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("Off");
                            } else {
                                if ($data == 3) {
                                    $data = gettext_glf("Red-Eye Reduction");
                                } else {
                                    $data = gettext_glf("Unknown: ") . $data;
                                }
                            }
                        }
                    }
                }
                if ($tag == "1020") {
                    //Macro
                    if ($data == 0) {
                        $data = gettext_glf("Off");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("On");
                        } else {
                            $data = gettext_glf("Unknown: ") . $data;
                        }
                    }
                }
                if ($tag == "1021") {
                    //FocusMode
                    if ($data == 0) {
                        $data = gettext_glf("Auto");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("Manual");
                        } else {
                            $data = gettext_glf("Unknown: ") . $data;
                        }
                    }
                }
                if ($tag == "1030") {
                    //SlowSync
                    if ($data == 0) {
                        $data = gettext_glf("Off");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("On");
                        } else {
                            $data = gettext_glf("Unknown: ") . $data;
                        }
                    }
                }
                if ($tag == "1031") {
                    //PictureMode
                    if ($data == 0) {
                        $data = gettext_glf("Auto");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("Portrait");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("Landscape");
                            } else {
                                if ($data == 4) {
                                    $data = gettext_glf("Sports");
                                } else {
                                    if ($data == 5) {
                                        $data = gettext_glf("Night");
                                    } else {
                                        if ($data == 6) {
                                            $data = gettext_glf("Program AE");
                                        } else {
                                            if ($data == 256) {
                                                $data = gettext_glf("Aperture Prority AE");
                                            } else {
                                                if ($data == 512) {
                                                    $data = gettext_glf("Shutter Prority");
                                                } else {
                                                    if ($data == 768) {
                                                        $data = gettext_glf("Manual Exposure");
                                                    } else {
                                                        $data = gettext_glf("Unknown: ") . $data;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                if ($tag == "1100") {
                    //ContinuousTakingBracket
                    if ($data == 0) {
                        $data = gettext_glf("Off");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("On");
                        } else {
                            $data = gettext_glf("Unknown: ") . $data;
                        }
                    }
                }
                if ($tag == "1300") {
                    //BlurWarning
                    if ($data == 0) {
                        $data = gettext_glf("No Warning");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("Warning");
                        } else {
                            $data = gettext_glf("Unknown: ") . $data;
                        }
                    }
                }
                if ($tag == "1301") {
                    //FocusWarning
                    if ($data == 0) {
                        $data = gettext_glf("Auto Focus Good");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("Out of Focus");
                        } else {
                            $data = gettext_glf("Unknown: ") . $data;
                        }
                    }
                }
                if ($tag == "1302") {
                    //AEWarning
                    if ($data == 0) {
                        $data = gettext_glf("AE Good");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("Over Exposure");
                        } else {
                            $data = gettext_glf("Unknown: ") . $data;
                        }
                    }
                }
            } else {
                if ($type == "UNDEFINED") {
                } else {
                    $data = bin2hex($data);
                    if ($intel == 1) {
                        $data = intel2Moto($data);
                    }
                }
            }
        }
    }
    return $data;
}
Exemple #2
0
function formatCanonData($type, $tag, $intel, $data, $exif, &$result)
{
    $place = 0;
    if ($type == "ASCII") {
        $result = $data = str_replace("", "", $data);
    } else {
        if ($type == "URATIONAL" || $type == "SRATIONAL") {
            $data = bin2hex($data);
            if ($intel == 1) {
                $data = intel2Moto($data);
            }
            $top = hexdec(substr($data, 8, 8));
            $bottom = hexdec(substr($data, 0, 8));
            if ($bottom != 0) {
                $data = $top / $bottom;
            } else {
                if ($top == 0) {
                    $data = 0;
                } else {
                    $data = $top . "/" . $bottom;
                }
            }
            if ($tag == "0204") {
                //DigitalZoom
                $data = $data . "x";
            }
        } else {
            if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") {
                $data = bin2hex($data);
                $result['RAWDATA'] = $data;
                if ($tag == "0001") {
                    //first chunk
                    $result['Bytes'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //0
                    if ($result['Bytes'] != strlen($data) / 2) {
                        return $result;
                    }
                    //Bad chunk
                    $result['Macro'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //1
                    switch ($result['Macro']) {
                        case 1:
                            $result['Macro'] = gettext_glf("Macro");
                            break;
                        case 2:
                            $result['Macro'] = gettext_glf("Normal");
                            break;
                        default:
                            $result['Macro'] = gettext_glf("Unknown");
                    }
                    $result['SelfTimer'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //2
                    switch ($result['SelfTimer']) {
                        case 0:
                            $result['SelfTimer'] = gettext_glf("Off");
                            break;
                        default:
                            $result['SelfTimer'] .= gettext_glf("/10s");
                    }
                    $result['Quality'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //3
                    switch ($result['Quality']) {
                        case 2:
                            $result['Quality'] = gettext_glf("Normal");
                            break;
                        case 3:
                            $result['Quality'] = gettext_glf("Fine");
                            break;
                        case 5:
                            $result['Quality'] = gettext_glf("Superfine");
                            break;
                        default:
                            $result['Quality'] = gettext_glf("Unknown");
                    }
                    $result['Flash'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //4
                    switch ($result['Flash']) {
                        case 0:
                            $result['Flash'] = gettext_glf("Off");
                            break;
                        case 1:
                            $result['Flash'] = gettext_glf("Auto");
                            break;
                        case 2:
                            $result['Flash'] = gettext_glf("On");
                            break;
                        case 3:
                            $result['Flash'] = gettext_glf("Red Eye Reduction");
                            break;
                        case 4:
                            $result['Flash'] = gettext_glf("Slow Synchro");
                            break;
                        case 5:
                            $result['Flash'] = gettext_glf("Auto + Red Eye Reduction");
                            break;
                        case 6:
                            $result['Flash'] = gettext_glf("On + Red Eye Reduction");
                            break;
                        case 16:
                            $result['Flash'] = gettext_glf("External Flash");
                            break;
                        default:
                            $result['Flash'] = gettext_glf("Unknown");
                    }
                    $result['DriveMode'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //5
                    switch ($result['DriveMode']) {
                        case 0:
                            $result['DriveMode'] = gettext_glf("Single/Timer");
                            break;
                        case 1:
                            $result['DriveMode'] = gettext_glf("Continuous");
                            break;
                        default:
                            $result['DriveMode'] = gettext_glf("Unknown");
                    }
                    $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //6
                    $result['FocusMode'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //7
                    switch ($result['FocusMode']) {
                        case 0:
                            $result['FocusMode'] = gettext_glf("One-Shot");
                            break;
                        case 1:
                            $result['FocusMode'] = gettext_glf("AI Servo");
                            break;
                        case 2:
                            $result['FocusMode'] = gettext_glf("AI Focus");
                            break;
                        case 3:
                            $result['FocusMode'] = gettext_glf("Manual Focus");
                            break;
                        case 4:
                            $result['FocusMode'] = gettext_glf("Single");
                            break;
                        case 5:
                            $result['FocusMode'] = gettext_glf("Continuous");
                            break;
                        case 6:
                            $result['FocusMode'] = gettext_glf("Manual Focus");
                            break;
                        default:
                            $result['FocusMode'] = gettext_glf("Unknown");
                    }
                    $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //8
                    $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //9
                    $result['ImageSize'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //10
                    switch ($result['ImageSize']) {
                        case 0:
                            $result['ImageSize'] = gettext_glf("Large");
                            break;
                        case 1:
                            $result['ImageSize'] = gettext_glf("Medium");
                            break;
                        case 2:
                            $result['ImageSize'] = gettext_glf("Small");
                            break;
                        default:
                            $result['ImageSize'] = gettext_glf("Unknown");
                    }
                    $result['EasyShooting'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //11
                    switch ($result['EasyShooting']) {
                        case 0:
                            $result['EasyShooting'] = gettext_glf("Full Auto");
                            break;
                        case 1:
                            $result['EasyShooting'] = gettext_glf("Manual");
                            break;
                        case 2:
                            $result['EasyShooting'] = gettext_glf("Landscape");
                            break;
                        case 3:
                            $result['EasyShooting'] = gettext_glf("Fast Shutter");
                            break;
                        case 4:
                            $result['EasyShooting'] = gettext_glf("Slow Shutter");
                            break;
                        case 5:
                            $result['EasyShooting'] = gettext_glf("Night");
                            break;
                        case 6:
                            $result['EasyShooting'] = gettext_glf("Black & White");
                            break;
                        case 7:
                            $result['EasyShooting'] = gettext_glf("Sepia");
                            break;
                        case 8:
                            $result['EasyShooting'] = gettext_glf("Portrait");
                            break;
                        case 9:
                            $result['EasyShooting'] = gettext_glf("Sport");
                            break;
                        case 10:
                            $result['EasyShooting'] = gettext_glf("Macro/Close-Up");
                            break;
                        case 11:
                            $result['EasyShooting'] = gettext_glf("Pan Focus");
                            break;
                        default:
                            $result['EasyShooting'] = gettext_glf("Unknown");
                    }
                    $result['DigitalZoom'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //12
                    switch ($result['DigitalZoom']) {
                        case 0:
                        case 65535:
                            $result['DigitalZoom'] = gettext_glf("None");
                            break;
                        case 1:
                            $result['DigitalZoom'] = gettext_glf("2x");
                            break;
                        case 2:
                            $result['DigitalZoom'] = gettext_glf("4x");
                            break;
                        default:
                            $result['DigitalZoom'] = gettext_glf("Unknown");
                    }
                    $result['Contrast'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //13
                    switch ($result['Contrast']) {
                        case 0:
                            $result['Contrast'] = gettext_glf("Normal");
                            break;
                        case 1:
                            $result['Contrast'] = gettext_glf("High");
                            break;
                        case 65535:
                            $result['Contrast'] = gettext_glf("Low");
                            break;
                        default:
                            $result['Contrast'] = gettext_glf("Unknown");
                    }
                    $result['Saturation'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //14
                    switch ($result['Saturation']) {
                        case 0:
                            $result['Saturation'] = gettext_glf("Normal");
                            break;
                        case 1:
                            $result['Saturation'] = gettext_glf("High");
                            break;
                        case 65535:
                            $result['Saturation'] = gettext_glf("Low");
                            break;
                        default:
                            $result['Saturation'] = gettext_glf("Unknown");
                    }
                    $result['Sharpness'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //15
                    switch ($result['Sharpness']) {
                        case 0:
                            $result['Sharpness'] = gettext_glf("Normal");
                            break;
                        case 1:
                            $result['Sharpness'] = gettext_glf("High");
                            break;
                        case 65535:
                            $result['Sharpness'] = gettext_glf("Low");
                            break;
                        default:
                            $result['Sharpness'] = gettext_glf("Unknown");
                    }
                    $result['ISO'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //16
                    switch ($result['ISO']) {
                        case 32767:
                        case 0:
                            $result['ISO'] = isset($exif['SubIFD']['ISOSpeedRatings']) ? $exif['SubIFD']['ISOSpeedRatings'] : 'Unknown';
                            break;
                        case 15:
                            $result['ISO'] = gettext_glf("Auto");
                            break;
                        case 16:
                            $result['ISO'] = gettext_glf("50");
                            break;
                        case 17:
                            $result['ISO'] = gettext_glf("100");
                            break;
                        case 18:
                            $result['ISO'] = gettext_glf("200");
                            break;
                        case 19:
                            $result['ISO'] = gettext_glf("400");
                            break;
                        default:
                            $result['ISO'] = gettext_glf("Unknown");
                    }
                    $result['MeteringMode'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //17
                    switch ($result['MeteringMode']) {
                        case 3:
                            $result['MeteringMode'] = gettext_glf("Evaluative");
                            break;
                        case 4:
                            $result['MeteringMode'] = gettext_glf("Partial");
                            break;
                        case 5:
                            $result['MeteringMode'] = gettext_glf("Center-weighted");
                            break;
                        default:
                            $result['MeteringMode'] = gettext_glf("Unknown");
                    }
                    $result['FocusType'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //18
                    switch ($result['FocusType']) {
                        case 0:
                            $result['FocusType'] = gettext_glf("Manual");
                            break;
                        case 1:
                            $result['FocusType'] = gettext_glf("Auto");
                            break;
                        case 3:
                            $result['FocusType'] = gettext_glf("Close-up (Macro)");
                            break;
                        case 8:
                            $result['FocusType'] = gettext_glf("Locked (Pan Mode)");
                            break;
                        default:
                            $result['FocusType'] = gettext_glf("Unknown");
                    }
                    $result['AFPointSelected'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //19
                    switch ($result['AFPointSelected']) {
                        case 12288:
                            $result['AFPointSelected'] = gettext_glf("Manual Focus");
                            break;
                        case 12289:
                            $result['AFPointSelected'] = gettext_glf("Auto Selected");
                            break;
                        case 12290:
                            $result['AFPointSelected'] = gettext_glf("Right");
                            break;
                        case 12291:
                            $result['AFPointSelected'] = gettext_glf("Center");
                            break;
                        case 12292:
                            $result['AFPointSelected'] = gettext_glf("Left");
                            break;
                        default:
                            $result['AFPointSelected'] = gettext_glf("Unknown");
                    }
                    $result['ExposureMode'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //20
                    switch ($result['ExposureMode']) {
                        case 0:
                            $result['ExposureMode'] = gettext_glf("EasyShoot");
                            break;
                        case 1:
                            $result['ExposureMode'] = gettext_glf("Program");
                            break;
                        case 2:
                            $result['ExposureMode'] = gettext_glf("Tv");
                            break;
                        case 3:
                            $result['ExposureMode'] = gettext_glf("Av");
                            break;
                        case 4:
                            $result['ExposureMode'] = gettext_glf("Manual");
                            break;
                        case 5:
                            $result['ExposureMode'] = gettext_glf("Auto-DEP");
                            break;
                        default:
                            $result['ExposureMode'] = gettext_glf("Unknown");
                    }
                    $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //21
                    $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //22
                    $result['LongFocalLength'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //23
                    $result['LongFocalLength'] .= " focal units";
                    $result['ShortFocalLength'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //24
                    $result['ShortFocalLength'] .= " focal units";
                    $result['FocalUnits'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //25
                    $result['FocalUnits'] .= " per mm";
                    $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //26
                    $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //27
                    $result['FlashActivity'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //28
                    switch ($result['FlashActivity']) {
                        case 0:
                            $result['FlashActivity'] = gettext_glf("Flash Did Not Fire");
                            break;
                        case 1:
                            $result['FlashActivity'] = gettext_glf("Flash Fired");
                            break;
                        default:
                            $result['FlashActivity'] = gettext_glf("Unknown");
                    }
                    $result['FlashDetails'] = str_pad(base_convert(intel2Moto(substr($data, $place, 4)), 16, 2), 16, "0", STR_PAD_LEFT);
                    $place += 4;
                    //29
                    $flashDetails = array();
                    if (substr($result['FlashDetails'], 1, 1) == 1) {
                        $flashDetails[] = gettext_glf('External E-TTL');
                    }
                    if (substr($result['FlashDetails'], 2, 1) == 1) {
                        $flashDetails[] = gettext_glf('Internal Flash');
                    }
                    if (substr($result['FlashDetails'], 4, 1) == 1) {
                        $flashDetails[] = gettext_glf('FP sync used');
                    }
                    if (substr($result['FlashDetails'], 8, 1) == 1) {
                        $flashDetails[] = gettext_glf('2nd(rear)-curtain sync used');
                    }
                    if (substr($result['FlashDetails'], 12, 1) == 1) {
                        $flashDetails[] = gettext_glf('1st curtain sync');
                    }
                    $result['FlashDetails'] = implode(",", $flashDetails);
                    $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //30
                    $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //31
                    $anotherFocusMode = hexdec(intel2Moto(substr($data, $place, 4)));
                    $place += 4;
                    //32
                    if (strpos(strtoupper($exif['IFD0']['Model']), "G1") !== false) {
                        switch ($anotherFocusMode) {
                            case 0:
                                $result['FocusMode'] = gettext_glf("Single");
                                break;
                            case 1:
                                $result['FocusMode'] = gettext_glf("Continuous");
                                break;
                            default:
                                $result['FocusMode'] = gettext_glf("Unknown");
                        }
                    }
                } else {
                    if ($tag == "0004") {
                        //second chunk
                        $result['Bytes'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //0
                        if ($result['Bytes'] != strlen($data) / 2) {
                            return $result;
                        }
                        //Bad chunk
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //1
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //2
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //3
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //4
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //5
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //6
                        $result['WhiteBalance'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //7
                        switch ($result['WhiteBalance']) {
                            case 0:
                                $result['WhiteBalance'] = gettext_glf("Auto");
                                break;
                            case 1:
                                $result['WhiteBalance'] = gettext_glf("Sunny");
                                break;
                            case 2:
                                $result['WhiteBalance'] = gettext_glf("Cloudy");
                                break;
                            case 3:
                                $result['WhiteBalance'] = gettext_glf("Tungsten");
                                break;
                            case 4:
                                $result['WhiteBalance'] = gettext_glf("Fluorescent");
                                break;
                            case 5:
                                $result['WhiteBalance'] = gettext_glf("Flash");
                                break;
                            case 6:
                                $result['WhiteBalance'] = gettext_glf("Custom");
                                break;
                            default:
                                $result['WhiteBalance'] = gettext_glf("Unknown");
                        }
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //8
                        $result['SequenceNumber'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //9
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //10
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //11
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //12
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //13
                        $result['AFPointUsed'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //14
                        $afPointUsed = array();
                        if ($result['AFPointUsed'] & 0x1) {
                            $afPointUsed[] = gettext_glf("Right");
                        }
                        //bit 0
                        if ($result['AFPointUsed'] & 0x2) {
                            $afPointUsed[] = gettext_glf("Center");
                        }
                        //bit 1
                        if ($result['AFPointUsed'] & 0x4) {
                            $afPointUsed[] = gettext_glf("Left");
                        }
                        //bit 2
                        if ($result['AFPointUsed'] & 0x800) {
                            $afPointUsed[] = gettext_glf("12");
                        }
                        //bit 12
                        if ($result['AFPointUsed'] & 0x1000) {
                            $afPointUsed[] = gettext_glf("13");
                        }
                        //bit 13
                        if ($result['AFPointUsed'] & 0x2000) {
                            $afPointUsed[] = gettext_glf("14");
                        }
                        //bit 14
                        if ($result['AFPointUsed'] & 0x4000) {
                            $afPointUsed[] = gettext_glf("15");
                        }
                        //bit 15
                        $result['AFPointUsed'] = implode(",", $afPointUsed);
                        $result['FlashBias'] = intel2Moto(substr($data, $place, 4));
                        $place += 4;
                        //15
                        switch ($result['FlashBias']) {
                            case 'ffc0':
                                $result['FlashBias'] = "-2 EV";
                                break;
                            case 'ffcc':
                                $result['FlashBias'] = "-1.67 EV";
                                break;
                            case 'ffd0':
                                $result['FlashBias'] = "-1.5 EV";
                                break;
                            case 'ffd4':
                                $result['FlashBias'] = "-1.33 EV";
                                break;
                            case 'ffe0':
                                $result['FlashBias'] = "-1 EV";
                                break;
                            case 'ffec':
                                $result['FlashBias'] = "-0.67 EV";
                                break;
                            case 'fff0':
                                $result['FlashBias'] = "-0.5 EV";
                                break;
                            case 'fff4':
                                $result['FlashBias'] = "-0.33 EV";
                                break;
                            case '0000':
                                $result['FlashBias'] = "0 EV";
                                break;
                            case '000c':
                                $result['FlashBias'] = "0.33 EV";
                                break;
                            case '0010':
                                $result['FlashBias'] = "0.5 EV";
                                break;
                            case '0014':
                                $result['FlashBias'] = "0.67 EV";
                                break;
                            case '0020':
                                $result['FlashBias'] = "1 EV";
                                break;
                            case '002c':
                                $result['FlashBias'] = "1.33 EV";
                                break;
                            case '0030':
                                $result['FlashBias'] = "1.5 EV";
                                break;
                            case '0034':
                                $result['FlashBias'] = "1.67 EV";
                                break;
                            case '0040':
                                $result['FlashBias'] = "2 EV";
                                break;
                            default:
                                $result['FlashBias'] = gettext_glf("Unknown");
                        }
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //16
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //17
                        $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //18
                        $result['SubjectDistance'] = hexdec(intel2Moto(substr($data, $place, 4)));
                        $place += 4;
                        //19
                        $result['SubjectDistance'] .= "/100 m";
                    } else {
                        if ($tag == "0008") {
                            //image number
                            if ($intel == 1) {
                                $data = intel2Moto($data);
                            }
                            $data = hexdec($data);
                            $result = round($data / 10000) . "-" . $data % 10000;
                        } else {
                            if ($tag == "000c") {
                                //camera serial number
                                if ($intel == 1) {
                                    $data = intel2Moto($data);
                                }
                                $data = hexdec($data);
                                $result = "#" . bin2hex(substr($data, 0, 16)) . substr($data, 16, 16);
                            }
                        }
                    }
                }
            } else {
                if ($type == "UNDEFINED") {
                } else {
                    $data = bin2hex($data);
                    if ($intel == 1) {
                        $data = intel2Moto($data);
                    }
                }
            }
        }
    }
    return $data;
}
Exemple #3
0
function formatOlympusData($type, $tag, $intel, $data)
{
    if ($type == "ASCII") {
    } else {
        if ($type == "URATIONAL" || $type == "SRATIONAL") {
            $data = bin2hex($data);
            if ($intel == 1) {
                $data = intel2Moto($data);
            }
            $top = hexdec(substr($data, 8, 8));
            $bottom = hexdec(substr($data, 0, 8));
            if ($bottom != 0) {
                $data = $top / $bottom;
            } else {
                if ($top == 0) {
                    $data = 0;
                } else {
                    $data = $top . "/" . $bottom;
                }
            }
            if ($tag == "0204") {
                //DigitalZoom
                $data = $data . "x";
            }
            if ($tag == "0205") {
                //Unknown2
                $data = $top . "/" . $bottom;
            }
        } else {
            if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") {
                $data = bin2hex($data);
                if ($intel == 1) {
                    $data = intel2Moto($data);
                }
                $data = hexdec($data);
                if ($tag == "0201") {
                    //JPEGQuality
                    if ($data == 1) {
                        $data = "SQ";
                    } else {
                        if ($data == 2) {
                            $data = "HQ";
                        } else {
                            if ($data == 3) {
                                $data = "SHQ";
                            } else {
                                $data = gettext_glf("Unknown") . ": " . $data;
                            }
                        }
                    }
                }
                if ($tag == "0202") {
                    //Macro
                    if ($data == 0) {
                        $data = "Normal";
                    } else {
                        if ($data == 1) {
                            $data = "Macro";
                        } else {
                            $data = gettext_glf("Unknown") . ": " . $data;
                        }
                    }
                }
            } else {
                if ($type == "UNDEFINED") {
                } else {
                    $data = bin2hex($data);
                    if ($intel == 1) {
                        $data = intel2Moto($data);
                    }
                }
            }
        }
    }
    return $data;
}
function formatPanasonicData($type, $tag, $intel, $data)
{
    if ($type == "ASCII") {
    } else {
        if ($type == "UBYTE" || $type == "SBYTE") {
            $data = bin2hex($data);
            if ($intel == 1) {
                $data = intel2Moto($data);
            }
            $data = hexdec($data);
            if ($tag == "000f") {
                //AFMode
                if ($data == 256) {
                    $data = "9-area-focusing";
                } else {
                    if ($data == 16) {
                        $data = "1-area-focusing";
                    } else {
                        if ($data == 4096) {
                            $data = gettext_glf("3-area-focusing (High speed)");
                        } else {
                            if ($data == 4112) {
                                $data = gettext_glf("1-area-focusing (High speed)");
                            } else {
                                if ($data == 16) {
                                    $data = gettext_glf("1-area-focusing");
                                } else {
                                    if ($data == 1) {
                                        $data = gettext_glf("Spot-focusing");
                                    } else {
                                        $data = "Unknown (" . $data . ")";
                                    }
                                }
                            }
                        }
                    }
                }
            }
        } else {
            if ($type == "URATIONAL" || $type == "SRATIONAL") {
                $data = bin2hex($data);
                if ($intel == 1) {
                    $data = intel2Moto($data);
                }
                $top = hexdec(substr($data, 8, 8));
                $bottom = hexdec(substr($data, 0, 8));
                if ($bottom != 0) {
                    $data = $top / $bottom;
                } else {
                    if ($top == 0) {
                        $data = 0;
                    } else {
                        $data = $top . "/" . $bottom;
                    }
                }
            } else {
                if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") {
                    $data = bin2hex($data);
                    if ($intel == 1) {
                        $data = intel2Moto($data);
                    }
                    $data = hexdec($data);
                    if ($tag == "0001") {
                        //Image Quality
                        if ($data == 2) {
                            $data = gettext_glf("High");
                        } else {
                            if ($data == 3) {
                                $data = gettext_glf("Standard");
                            } else {
                                if ($data == 6) {
                                    $data = gettext_glf("Very High");
                                } else {
                                    if ($data == 7) {
                                        $data = gettext_glf("RAW");
                                    } else {
                                        $data = gettext_glf("Unknown") . " (" . $data . ")";
                                    }
                                }
                            }
                        }
                    }
                    if ($tag == "0003") {
                        //White Balance
                        if ($data == 1) {
                            $data = gettext_glf("Auto");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("Daylight");
                            } else {
                                if ($data == 3) {
                                    $data = gettext_glf("Cloudy");
                                } else {
                                    if ($data == 4) {
                                        $data = gettext_glf("Halogen");
                                    } else {
                                        if ($data == 5) {
                                            $data = gettext_glf("Manual");
                                        } else {
                                            if ($data == 8) {
                                                $data = gettext_glf("Flash");
                                            } else {
                                                if ($data == 10) {
                                                    $data = gettext_glf("Black and White");
                                                } else {
                                                    if ($data == 11) {
                                                        $data = gettext_glf("Manual");
                                                    } else {
                                                        $data = gettext_glf("Unknown") . " (" . $data . ")";
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if ($tag == "0007") {
                        //Focus Mode
                        if ($data == 1) {
                            $data = gettext_glf("Auto");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("Manual");
                            } else {
                                if ($data == 4) {
                                    $data = gettext_glf("Auto, Focus button");
                                } else {
                                    if ($data == 5) {
                                        $data = gettext_glf("Auto, Continuous");
                                    } else {
                                        $data = gettext_glf("Unknown") . " (" . $data . ")";
                                    }
                                }
                            }
                        }
                    }
                    if ($tag == "001a") {
                        //Image Stabilizer
                        if ($data == 2) {
                            $data = gettext_glf("Mode 1");
                        } else {
                            if ($data == 3) {
                                $data = gettext_glf("Off");
                            } else {
                                if ($data == 4) {
                                    $data = gettext_glf("Mode 2");
                                } else {
                                    $data = gettext_glf("Unknown") . " (" . $data . ")";
                                }
                            }
                        }
                    }
                    if ($tag == "001c") {
                        //Macro mode
                        if ($data == 1) {
                            $data = gettext_glf("On");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("Off");
                            } else {
                                $data = gettext_glf("Unknown") . " (" . $data . ")";
                            }
                        }
                    }
                    if ($tag == "001f") {
                        //Shooting Mode
                        if ($data == 1) {
                            $data = gettext_glf("Normal");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("Portrait");
                            } else {
                                if ($data == 3) {
                                    $data = gettext_glf("Scenery");
                                } else {
                                    if ($data == 4) {
                                        $data = gettext_glf("Sports");
                                    } else {
                                        if ($data == 5) {
                                            $data = gettext_glf("Night Portrait");
                                        } else {
                                            if ($data == 6) {
                                                $data = gettext_glf("Program");
                                            } else {
                                                if ($data == 7) {
                                                    $data = gettext_glf("Aperture Priority");
                                                } else {
                                                    if ($data == 8) {
                                                        $data = gettext_glf("Shutter Priority");
                                                    } else {
                                                        if ($data == 9) {
                                                            $data = gettext_glf("Macro");
                                                        } else {
                                                            if ($data == 11) {
                                                                $data = gettext_glf("Manual");
                                                            } else {
                                                                if ($data == 13) {
                                                                    $data = gettext_glf("Panning");
                                                                } else {
                                                                    if ($data == 14) {
                                                                        $data = gettext_glf("Simple");
                                                                    } else {
                                                                        if ($data == 18) {
                                                                            $data = gettext_glf("Fireworks");
                                                                        } else {
                                                                            if ($data == 19) {
                                                                                $data = gettext_glf("Party");
                                                                            } else {
                                                                                if ($data == 20) {
                                                                                    $data = gettext_glf("Snow");
                                                                                } else {
                                                                                    if ($data == 21) {
                                                                                        $data = gettext_glf("Night Scenery");
                                                                                    } else {
                                                                                        if ($data == 22) {
                                                                                            $data = gettext_glf("Food");
                                                                                        } else {
                                                                                            if ($data == 23) {
                                                                                                $data = gettext_glf("Baby");
                                                                                            } else {
                                                                                                if ($data == 27) {
                                                                                                    $data = gettext_glf("High Sensitivity");
                                                                                                } else {
                                                                                                    if ($data == 29) {
                                                                                                        $data = gettext_glf("Underwater");
                                                                                                    } else {
                                                                                                        if ($data == 33) {
                                                                                                            $data = gettext_glf("Pet");
                                                                                                        } else {
                                                                                                            $data = gettext_glf("Unknown") . " (" . $data . ")";
                                                                                                        }
                                                                                                    }
                                                                                                }
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if ($tag == "0020") {
                        //Audio
                        if ($data == 1) {
                            $data = gettext_glf("Yes");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("No");
                            } else {
                                $data = gettext_glf("Unknown") . " (" . $data . ")";
                            }
                        }
                    }
                    if ($tag == "0023") {
                        //White Balance Bias
                        $data = $data . " EV";
                    }
                    if ($tag == "0024") {
                        //Flash Bias
                        $data = $data;
                    }
                    if ($tag == "0028") {
                        //Colour Effect
                        if ($data == 1) {
                            $data = gettext_glf("Off");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("Warm");
                            } else {
                                if ($data == 3) {
                                    $data = gettext_glf("Cool");
                                } else {
                                    if ($data == 4) {
                                        $data = gettext_glf("Black and White");
                                    } else {
                                        if ($data == 5) {
                                            $data = gettext_glf("Sepia");
                                        } else {
                                            $data = gettext_glf("Unknown") . " (" . $data . ")";
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if ($tag == "002a") {
                        //Burst Mode
                        if ($data == 0) {
                            $data = gettext_glf("Off");
                        } else {
                            if ($data == 1) {
                                $data = gettext_glf("Low/High Quality");
                            } else {
                                if ($data == 2) {
                                    $data = gettext_glf("Infinite");
                                } else {
                                    $data = gettext_glf("Unknown") . " (" . $data . ")";
                                }
                            }
                        }
                    }
                    if ($tag == "002c") {
                        //Contrast
                        if ($data == 0) {
                            $data = gettext_glf("Standard");
                        } else {
                            if ($data == 1) {
                                $data = gettext_glf("Low");
                            } else {
                                if ($data == 2) {
                                    $data = gettext_glf("High");
                                } else {
                                    $data = gettext_glf("Unknown") . " (" . $data . ")";
                                }
                            }
                        }
                    }
                    if ($tag == "002d") {
                        //Noise Reduction
                        if ($data == 0) {
                            $data = gettext_glf("Standard");
                        } else {
                            if ($data == 1) {
                                $data = gettext_glf("Low");
                            } else {
                                if ($data == 2) {
                                    $data = gettext_glf("High");
                                } else {
                                    $data = gettext_glf("Unknown") . " (" . $data . ")";
                                }
                            }
                        }
                    }
                    if ($tag == "002e") {
                        //Self Timer
                        if ($data == 1) {
                            $data = gettext_glf("Off");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("10s");
                            } else {
                                if ($data == 3) {
                                    $data = gettext_glf("2s");
                                } else {
                                    $data = gettext_glf("Unknown") . " (" . $data . ")";
                                }
                            }
                        }
                    }
                    if ($tag == "0030") {
                        //Rotation
                        if ($data == 1) {
                            $data = gettext_glf("Horizontal (normal)");
                        } else {
                            if ($data == 6) {
                                $data = gettext_glf("Rotate 90 CW");
                            } else {
                                if ($data == 8) {
                                    $data = gettext_glf("Rotate 270 CW");
                                } else {
                                    $data = gettext_glf("Unknown") . " (" . $data . ")";
                                }
                            }
                        }
                    }
                    if ($tag == "0032") {
                        //Color Mode
                        if ($data == 0) {
                            $data = gettext_glf("Normal");
                        } else {
                            if ($data == 1) {
                                $data = gettext_glf("Natural");
                            } else {
                                $data = gettext_glf("Unknown") . " (" . $data . ")";
                            }
                        }
                    }
                    if ($tag == "0036") {
                        //Travel Day
                        $data = $data;
                    }
                } else {
                    if ($type == "UNDEFINED") {
                    } else {
                        $data = bin2hex($data);
                        if ($intel == 1) {
                            $data = intel2Moto($data);
                        }
                    }
                }
            }
        }
    }
    return $data;
}
Exemple #5
0
function formatSanyoData($type, $tag, $intel, $data)
{
    if ($type == "ASCII") {
    } else {
        if ($type == "URATIONAL" || $type == "SRATIONAL") {
            $data = bin2hex($data);
            if ($intel == 1) {
                $data = intel2Moto($data);
            }
            $top = hexdec(substr($data, 8, 8));
            $bottom = hexdec(substr($data, 0, 8));
            if ($bottom != 0) {
                $data = $top / $bottom;
            } else {
                if ($top == 0) {
                    $data = 0;
                } else {
                    $data = $top . "/" . $bottom;
                }
            }
        } else {
            if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") {
                $data = bin2hex($data);
                if ($intel == 1) {
                    $data = intel2Moto($data);
                }
                $data = hexdec($data);
                if ($tag == "0200") {
                    //SpecialMode
                    if ($data == 0) {
                        $data = gettext_glf("Normal");
                    } else {
                        $data = gettext_glf("Unknown") . ": " . $data;
                    }
                }
                if ($tag == "0201") {
                    //Quality
                    if ($data == 2) {
                        $data = gettext_glf("High");
                    } else {
                        $data = gettext_glf("Unknown") . ": " . $data;
                    }
                }
                if ($tag == "0202") {
                    //Macro
                    if ($data == 0) {
                        $data = gettext_glf("Normal");
                    } else {
                        $data = gettext_glf("Unknown") . ": " . $data;
                    }
                }
            } else {
                if ($type == "UNDEFINED") {
                } else {
                    $data = bin2hex($data);
                    if ($intel == 1) {
                        $data = intel2Moto($data);
                    }
                }
            }
        }
    }
    return $data;
}
Exemple #6
0
function formatNikonData($type, $tag, $intel, $model, $data)
{
    if ($type == "ASCII") {
    } else {
        if ($type == "URATIONAL" || $type == "SRATIONAL") {
            $data = bin2hex($data);
            if ($intel == 1) {
                $data = intel2Moto($data);
            }
            $top = hexdec(substr($data, 8, 8));
            $bottom = hexdec(substr($data, 0, 8));
            if ($bottom != 0) {
                $data = $top / $bottom;
            } else {
                if ($top == 0) {
                    $data = 0;
                } else {
                    $data = $top . "/" . $bottom;
                }
            }
            if ($tag == "0085" && $model == 1) {
                //ManualFocusDistance
                $data = $data . " m";
            }
            if ($tag == "0086" && $model == 1) {
                //DigitalZoom
                $data = $data . "x";
            }
            if ($tag == "000a" && $model == 0) {
                //DigitalZoom
                $data = $data . "x";
            }
        } else {
            if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") {
                $data = bin2hex($data);
                if ($intel == 1) {
                    $data = intel2Moto($data);
                }
                $data = hexdec($data);
                if ($tag == "0003" && $model == 0) {
                    //Quality
                    if ($data == 1) {
                        $data = gettext_glf("VGA Basic");
                    } else {
                        if ($data == 2) {
                            $data = gettext_glf("VGA Normal");
                        } else {
                            if ($data == 3) {
                                $data = gettext_glf("VGA Fine");
                            } else {
                                if ($data == 4) {
                                    $data = gettext_glf("SXGA Basic");
                                } else {
                                    if ($data == 5) {
                                        $data = gettext_glf("SXGA Normal");
                                    } else {
                                        if ($data == 6) {
                                            $data = gettext_glf("SXGA Fine");
                                        } else {
                                            $data = gettext_glf("Unknown") . ": " . $data;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                if ($tag == "0004" && $model == 0) {
                    //Color
                    if ($data == 1) {
                        $data = gettext_glf("Color");
                    } else {
                        if ($data == 2) {
                            $data = gettext_glf("Monochrome");
                        } else {
                            $data = gettext_glf("Unknown") . ": " . $data;
                        }
                    }
                }
                if ($tag == "0005" && $model == 0) {
                    //Image Adjustment
                    if ($data == 0) {
                        $data = gettext_glf("Normal");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("Bright+");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("Bright-");
                            } else {
                                if ($data == 3) {
                                    $data = gettext_glf("Contrast+");
                                } else {
                                    if ($data == 4) {
                                        $data = gettext_glf("Contrast-");
                                    } else {
                                        $data = gettext_glf("Unknown") . ": " . $data;
                                    }
                                }
                            }
                        }
                    }
                }
                if ($tag == "0006" && $model == 0) {
                    //CCD Sensitivity
                    if ($data == 0) {
                        $data = "ISO-80";
                    } else {
                        if ($data == 2) {
                            $data = "ISO-160";
                        } else {
                            if ($data == 4) {
                                $data = "ISO-320";
                            } else {
                                if ($data == 5) {
                                    $data = "ISO-100";
                                } else {
                                    $data = gettext_glf("Unknown") . ": " . $data;
                                }
                            }
                        }
                    }
                }
                if ($tag == "0007" && $model == 0) {
                    //White Balance
                    if ($data == 0) {
                        $data = gettext_glf("Auto");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("Preset");
                        } else {
                            if ($data == 2) {
                                $data = gettext_glf("Daylight");
                            } else {
                                if ($data == 3) {
                                    $data = gettext_glf("Incandescense");
                                } else {
                                    if ($data == 4) {
                                        $data = gettext_glf("Flourescence");
                                    } else {
                                        if ($data == 5) {
                                            $data = gettext_glf("Cloudy");
                                        } else {
                                            if ($data == 6) {
                                                $data = gettext_glf("SpeedLight");
                                            } else {
                                                $data = gettext_glf("Unknown") . ": " . $data;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                if ($tag == "000b" && $model == 0) {
                    //Converter
                    if ($data == 0) {
                        $data = gettext_glf("None");
                    } else {
                        if ($data == 1) {
                            $data = gettext_glf("Fisheye");
                        } else {
                            $data = gettext_glf("Unknown") . ": " . $data;
                        }
                    }
                }
            } else {
                if ($type == "UNDEFINED") {
                    if ($tag == "0001" && $model == 1) {
                        //Unknown (Version?)
                        $data = $data / 100;
                    }
                    if ($tag == "0088" && $model == 1) {
                        //AF Focus Position
                        $temp = gettext_glf("Center");
                        $data = bin2hex($data);
                        $data = str_replace("01", "Top", $data);
                        $data = str_replace("02", "Bottom", $data);
                        $data = str_replace("03", "Left", $data);
                        $data = str_replace("04", "Right", $data);
                        $data = str_replace("00", "", $data);
                        if (strlen($data) == 0) {
                            $data = $temp;
                        }
                    }
                } else {
                    $data = bin2hex($data);
                    if ($intel == 1) {
                        $data = intel2Moto($data);
                    }
                    if ($tag == "0083" && $model == 1) {
                        //Lens Type
                        $data = hexdec(substr($data, 0, 2));
                        if ($data == 0) {
                            $data = gettext_glf("AF non D");
                        } else {
                            if ($data == 1) {
                                $data = gettext_glf("Manual");
                            } else {
                                if ($data == 2) {
                                    $data = "AF-D or AF-S";
                                } else {
                                    if ($data == 6) {
                                        $data = "AF-D G";
                                    } else {
                                        if ($data == 10) {
                                            $data = "AF-D VR";
                                        } else {
                                            $data = gettext_glf("Unknown") . ": " . $data;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if ($tag == "0087" && $model == 1) {
                        //Flash type
                        $data = hexdec(substr($data, 0, 2));
                        if ($data == 0) {
                            $data = gettext_glf("Did Not Fire");
                        } else {
                            if ($data == 4) {
                                $data = gettext_glf("Unknown");
                            } else {
                                if ($data == 7) {
                                    $data = gettext_glf("External");
                                } else {
                                    if ($data == 9) {
                                        $data = gettext_glf("On Camera");
                                    } else {
                                        $data = gettext_glf("Unknown") . ": " . $data;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    return $data;
}