Submit
Path:
~
/
home
/
getwphos
/
www
/
pioneerasphalt
/
wp-content
/
plugins
/
qode-optimizer
/
vendor
/
fileeye
/
pel
/
src
/
File Content:
PelEntryWindowsString.php
<?php /** * PEL: PHP Exif Library. * A library with support for reading and * writing all Exif headers in JPEG and TIFF images using PHP. * * Copyright (C) 2004, 2005, 2006, 2007 Martin Geisler. * * This program 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. * * This program 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 this program in the file COPYING; if not, write to the * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, * Boston, MA 02110-1301 USA */ /** * Class used to manipulate strings in the format Windows XP uses. * * When examining the file properties of an image in Windows XP one * can fill in title, comment, author, keyword, and subject fields. * Filling those fields and pressing OK will result in the data being * written into the Exif data in the image. * * The data is written in a non-standard format and can thus not be * loaded directly --- this class is needed to translate it into * normal strings. * * It is important that entries from this class are only created with * the {@link PelTag::XP_TITLE}, {@link PelTag::XP_COMMENT}, {@link * PelTag::XP_AUTHOR}, {@link PelTag::XP_KEYWORD}, and {@link * PelTag::XP_SUBJECT} tags. If another tag is used the data will no * longer be correctly decoded when reloaded with PEL. (The data will * be loaded as an {@link PelEntryByte} entry, which isn't as useful.) * * This class is to be used as in * <code> * $title = $ifd->getEntry(PelTag::XP_TITLE); * print($title->getValue()); * $title->setValue('My favorite cat'); * </code> * or if no entry is present one can add a new one with * <code> * $title = new PelEntryWindowsString(PelTag::XP_TITLE, 'A cute dog.'); * $ifd->addEntry($title); * </code> * * @author Martin Geisler <mgeisler@users.sourceforge.net> * @package PEL */ namespace lsolesen\pel; class PelEntryWindowsString extends PelEntry { /** * Two zero characters * * @var string */ const ZEROES = "\x0\x0"; /** * The string hold by this entry. * * This is the string that was given to the {@link __construct * constructor} or later to {@link setValue}, without any extra NULL * characters or any such nonsense. * * @var string */ private $str; /** * Make a new PelEntry that can hold a Windows XP specific string. * * @param int $tag * the tag which this entry represents. This should be * one of {@link PelTag::XP_TITLE}, {@link PelTag::XP_COMMENT}, * {@link PelTag::XP_AUTHOR}, {@link PelTag::XP_KEYWORD}, and {@link * PelTag::XP_SUBJECT} tags. If another tag is used, then this * entry will be incorrectly reloaded as a {@link PelEntryByte}. * @param string $str * the string that this entry will represent. It will * be passed to {@link setValue} and thus has to obey its * requirements. * @param bool $from_exif * internal use only, tells that string is UCS-2LE encoded, as PHP fails to detect this encoding */ public function __construct($tag, $str = '', $from_exif = false) { $this->tag = $tag; $this->format = PelFormat::BYTE; $this->setValue($str, $from_exif); } /** * Give the entry a new value. * * This will overwrite the previous value. The value can be * retrieved later with the {@link getValue} method. * * @param string $str * the new value of the entry. * @param bool $from_exif * internal use only, tells that string is UCS-2LE encoded, as PHP fails to detect this encoding */ public function setValue($str, $from_exif = false) { $zlen = strlen(static::ZEROES); if (false !== $from_exif) { $s = $str; if (substr($str, - $zlen, $zlen) == static::ZEROES) { $str = substr($str, 0, - $zlen); } $str = mb_convert_encoding($str, 'UTF-8', 'UCS-2LE'); } else { $s = mb_convert_encoding($str, 'UCS-2LE', 'auto'); } if (substr($s, - $zlen, $zlen) != static::ZEROES) { $s .= static::ZEROES; } $l = strlen($s); $this->components = $l; $this->str = $str; $this->bytes = $s; } /** * Return the string of the entry. * * @return string the string held, without any extra NULL * characters. The string will be the same as the one given to * {@link setValue} or to the {@link __construct constructor}. */ public function getValue() { return $this->str; } /** * Return the string of the entry. * * This methods returns the same as {@link getValue}. * * @param boolean $brief * not used. * @return string the string held, without any extra NULL * characters. The string will be the same as the one given to * {@link setValue} or to the {@link __construct constructor}. */ public function getText($brief = false) { return $this->str; } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
Pel.php
10753 bytes
0644
PelCanonMakerNotes.php
8958 bytes
0644
PelConvert.php
14173 bytes
0644
PelDataWindow.php
19433 bytes
0644
PelDataWindowOffsetException.php
1141 bytes
0644
PelDataWindowWindowException.php
1378 bytes
0644
PelEntry.php
7985 bytes
0644
PelEntryAscii.php
3793 bytes
0644
PelEntryByte.php
3039 bytes
0644
PelEntryCopyright.php
5324 bytes
0644
PelEntryException.php
2475 bytes
0644
PelEntryLong.php
4156 bytes
0644
PelEntryNumber.php
8694 bytes
0644
PelEntryRational.php
6221 bytes
0644
PelEntrySByte.php
3313 bytes
0644
PelEntrySLong.php
3429 bytes
0644
PelEntrySRational.php
5485 bytes
0644
PelEntrySShort.php
36714 bytes
0644
PelEntryShort.php
15184 bytes
0644
PelEntryTime.php
12303 bytes
0644
PelEntryUndefined.php
5621 bytes
0644
PelEntryUserComment.php
4104 bytes
0644
PelEntryVersion.php
5093 bytes
0644
PelEntryWindowsString.php
5663 bytes
0644
PelException.php
2044 bytes
0644
PelExif.php
4439 bytes
0644
PelFormat.php
6131 bytes
0644
PelIfd.php
56077 bytes
0644
PelIfdException.php
1426 bytes
0644
PelIllegalFormatException.php
1534 bytes
0644
PelInvalidArgumentException.php
1387 bytes
0644
PelInvalidDataException.php
1375 bytes
0644
PelJpeg.php
23082 bytes
0644
PelJpegComment.php
2762 bytes
0644
PelJpegContent.php
2262 bytes
0644
PelJpegInvalidMarkerException.php
1898 bytes
0644
PelJpegMarker.php
11789 bytes
0644
PelMakerNotes.php
2417 bytes
0644
PelMakerNotesMalformedException.php
1676 bytes
0644
PelOverflowException.php
2121 bytes
0644
PelTag.php
69462 bytes
0644
PelTiff.php
10078 bytes
0644
PelUnexpectedFormatException.php
2622 bytes
0644
PelWrongComponentCountException.php
2189 bytes
0644
N4ST4R_ID | Naxtarrr