25 $blGeneratedImagesOnly = !$blDeleteMasterPicture;
27 $sAbsDynImageDir =
$myConfig->getPictureDir(
false);
28 $sMasterImage = basename($oObject->{
"oxarticles__oxpic" . $iIndex}->value);
29 if (!$sMasterImage || $sMasterImage ==
"nopic.jpg") {
33 $aPic = array(
"sField" =>
"oxpic" . $iIndex,
34 "sDir" => $oUtilsFile->getImageDirByType(
"M" . $iIndex, $blGeneratedImagesOnly),
35 "sFileName" => $sMasterImage);
37 $blDeleted = $myUtilsPic->safePictureDelete($aPic[
"sFileName"], $sAbsDynImageDir . $aPic[
"sDir"],
"oxarticles", $aPic[
"sField"]);
45 if ($this->
getMainIconName($sMasterImage) != basename($oObject->oxarticles__oxicon->value)) {
46 $aDelPics[] = array(
"sField" =>
"oxpic1",
47 "sDir" => $oUtilsFile->getImageDirByType(
"ICO", $blGeneratedImagesOnly),
53 if ($this->
getThumbName($sMasterImage) != basename($oObject->oxarticles__oxthumb->value)) {
54 $aDelPics[] = array(
"sField" =>
"oxpic1",
55 "sDir" => $oUtilsFile->getImageDirByType(
"TH", $blGeneratedImagesOnly),
60 foreach ($aDelPics as $aPic) {
61 $myUtilsPic->safePictureDelete($aPic[
"sFileName"], $sAbsDynImageDir . $aPic[
"sDir"],
"oxarticles", $aPic[
"sField"]);
66 if ($oObject->{
"oxarticles__oxzoom" . $iIndex}->value) {
67 if (basename($oObject->{
"oxarticles__oxzoom" . $iIndex}->value) !==
"nopic.jpg") {
69 $this->deleteZoomPicture($oObject, $iIndex);
80 public function deleteMainIcon($oObject)
82 if (($sMainIcon = $oObject->oxarticles__oxicon->value)) {
83 $sPath = $this->getConfig()->getPictureDir(
false) .
oxRegistry::get(
"oxUtilsFile")->getImageDirByType(
"ICO");
84 oxRegistry::get(
"oxUtilsPic")->safePictureDelete($sMainIcon, $sPath,
"oxarticles",
"oxicon");
93 public function deleteThumbnail($oObject)
95 if (($sThumb = $oObject->oxarticles__oxthumb->value)) {
97 $sPath = $this->getConfig()->getPictureDir(
false) .
oxRegistry::get(
"oxUtilsFile")->getImageDirByType(
"TH");
98 oxRegistry::get(
"oxUtilsPic")->safePictureDelete($sThumb, $sPath,
"oxarticles",
"oxthumb");
110 public function deleteZoomPicture($oObject, $iIndex)
113 $oDbHandler =
oxNew(
"oxDbMetaDataHandler");
114 $iZoomPicCount = (int) $this->getConfig()->getConfigParam(
'iZoomPicCount');
116 if ($iIndex > $iZoomPicCount || !$oDbHandler->fieldExists(
"oxzoom" . $iIndex,
"oxarticles")) {
117 if ($sZoomPicName = $this->getZoomName($oObject->{
"oxarticles__oxpic" . $iIndex}->value, $iIndex)) {
118 $sFieldToCheck =
"oxpic" . $iIndex;
123 $sZoomPicName = basename($oObject->{
"oxarticles__oxzoom" . $iIndex}->value);
124 $sFieldToCheck =
"oxzoom" . $iIndex;
127 if ($sZoomPicName && $sZoomPicName !=
"nopic.jpg") {
129 $sPath = $this->getConfig()->getPictureDir(
false) .
oxRegistry::get(
"oxUtilsFile")->getImageDirByType(
"Z" . $iIndex);
130 oxRegistry::get(
"oxUtilsPic")->safePictureDelete($sZoomPicName, $sPath,
"oxarticles", $sFieldToCheck);
141 public function getIconName($sFilename)
153 public function getMainIconName($sMasterImageFile)
155 return $this->_getBaseMasterImageFileName($sMasterImageFile);
165 public function getThumbName($sMasterImageFile)
167 return basename($sMasterImageFile);
178 public function getZoomName($sMasterImageFile, $iIndex)
180 return basename($sMasterImageFile);
190 protected function _getBaseMasterImageFileName($sMasterImageFile)
192 return basename($sMasterImageFile);
203 public function getImageSize($aImgSizes, $sIndex = null)
205 if (isset($sIndex) && is_array($aImgSizes) && isset($aImgSizes[$sIndex])) {
206 $aSize = explode(
'*', $aImgSizes[$sIndex]);
207 } elseif (is_string($aImgSizes)) {
208 $aSize = explode(
'*', $aImgSizes);
210 if (2 == count($aSize)) {
211 $x = (int) $aSize[0];
212 $y = (int) $aSize[1];
233 protected function _getPictureInfo($sFilePath, $sFile, $blAdmin =
false, $blSSL = null, $iLang = null, $iShopId = null)
236 if ($sAltUrl = $this->getAltImageUrl($sFilePath, $sFile, $blSSL)) {
237 return array(
'path' =>
false,
'url' => $sAltUrl);
240 $oConfig = $this->getConfig();
241 $sPath = $oConfig->getPicturePath($sFilePath . $sFile, $blAdmin, $iLang, $iShopId);
243 return array(
'path' =>
false,
'url' =>
false);
246 $sDirPrefix = $oConfig->getOutDir();
247 $sUrlPrefix = $oConfig->getOutUrl($blSSL, $blAdmin, $oConfig->getConfigParam(
'blNativeImages'));
249 return array(
'path' => $sPath,
'url' => str_replace($sDirPrefix, $sUrlPrefix, $sPath));
261 public function getAltImageUrl($sFilePath, $sFile, $blSSL = null)
263 $oConfig = $this->getConfig();
265 $sAltUrl = $oConfig->getConfigParam(
'sAltImageUrl');
267 $sAltUrl = $oConfig->getConfigParam(
'sAltImageDir');
271 if ((is_null($blSSL) && $oConfig->isSsl()) || $blSSL) {
273 $sSslAltUrl = $oConfig->getConfigParam(
'sSSLAltImageUrl');
275 $sSslAltUrl = $oConfig->getConfigParam(
'sSSLAltImageDir');
279 $sAltUrl = $sSslAltUrl;
283 if (!is_null($sFile)) {
284 $sAltUrl .=
'/' . $sFilePath . $sFile;
303 public function getPicUrl($sPath, $sFile, $sSize, $sIndex = null, $sAltPath =
false, $bSsl = null)
306 if ($sPath && $sFile && ($aSize = $this->getImageSize($sSize, $sIndex))) {
308 $aPicInfo = $this->_getPictureInfo(
"master/" . ($sAltPath ? $sAltPath : $sPath), $sFile, $this->
isAdmin(), $bSsl);
309 if ($aPicInfo[
'url'] && $aSize[0] && $aSize[1]) {
310 $sDirName =
"{$aSize[0]}_{$aSize[1]}_" . $this->getConfig()->getConfigParam(
'sDefaultImageQuality');
311 $sUrl = str_replace(
"/master/" . ($sAltPath ? $sAltPath : $sPath),
"/generated/{$sPath}{$sDirName}/", $aPicInfo[
'url']);
329 public function getProductPicUrl($sPath, $sFile, $sSize, $sIndex = null, $bSsl = null)
332 if (!$sFile || !($sUrl = $this->getPicUrl($sPath, $sFile, $sSize, $sIndex,
false, $bSsl))) {
333 $sUrl = $this->getPicUrl($sPath,
"nopic.jpg", $sSize, $sIndex,
"/", $bSsl);