function pImage::replaceImageMapTitle
Search API
5.x pImage.class.php | pImage::replaceImageMapTitle($OldTitle, $NewTitle) |
File
- inc/
pchart/ pchart/ class/ pImage.class.php, line 330
Class
Code
function replaceImageMapTitle($OldTitle, $NewTitle)
{
if ($this->ImageMapStorageMode == NULL) {
return (-1);
}
if (is_array($NewTitle)) {
$NewTitle = $this->removeVOIDFromArray($OldTitle, $NewTitle);
}
if ($this->ImageMapStorageMode == IMAGE_MAP_STORAGE_SESSION)
{
if (!isset($_SESSION)) {
return (-1);
}
if (is_array($NewTitle))
{
$ID = 0;
foreach ($_SESSION [$this->ImageMapIndex] as $Key => $Settings) {
if ($Settings [3] == $OldTitle && isset($NewTitle [$ID])) {
$_SESSION [$this->ImageMapIndex][$Key][3] = $NewTitle [$ID];
$ID++;
}
}
}
else
{
foreach ($_SESSION [$this->ImageMapIndex] as $Key => $Settings) {
if ($Settings [3] == $OldTitle) {
$_SESSION [$this->ImageMapIndex][$Key][3] = $NewTitle;
}
}
}
}
elseif ($this->ImageMapStorageMode == IMAGE_MAP_STORAGE_FILE)
{
$TempArray = "";
$Handle = @fopen($this->ImageMapStorageFolder . "/" . $this->ImageMapFileName . ".map", "r");
if ($Handle)
{
while (($Buffer = fgets($Handle, 4096)) !== false)
{
$Fields = preg_split("/" . IMAGE_MAP_DELIMITER . "/", str_replace(array(chr(10), chr(13)), "", $Buffer));
$TempArray [] = array($Fields [0], $Fields [1], $Fields [2], $Fields [3], $Fields [4]);
}
fclose($Handle);
if (is_array($NewTitle))
{
$ID = 0;
foreach ($TempArray as $Key => $Settings) {
if ($Settings [3] == $OldTitle && isset($NewTitle [$ID])) {
$TempArray [$Key][3] = $NewTitle [$ID];
$ID++;
}
}
}
else
{
foreach ($TempArray as $Key => $Settings) {
if ($Settings [3] == $OldTitle) {
$TempArray [$Key][3] = $NewTitle;
}
}
}
$Handle = fopen($this->ImageMapStorageFolder . "/" . $this->ImageMapFileName . ".map", 'w');
foreach ($TempArray as $Key => $Settings)
{
fwrite($Handle, $Settings [0] . IMAGE_MAP_DELIMITER . $Settings [1] . IMAGE_MAP_DELIMITER . $Settings [2] . IMAGE_MAP_DELIMITER . $Settings [3] . IMAGE_MAP_DELIMITER . $Settings [4] . "\r\n");
}
fclose($Handle);
}
}
}