else $returnError = "the currently selected template does not support this setting!\nplease reload the page and try again."; } if(!$returnError) { if($propPath[0] == 'siteTexts' || !empty($settings->settingsDefinition[$propPath[0]][$propPath[1]])) { $decoded['value'] = trim($decoded['value']); if($decoded['params'] == 'delete') { $decoded['value'] = ''; $format = $settings->getDefinitionParam($propPath[0], $propPath[1], 'format'); if($propPath[0] == 'siteTexts' && !$format) $format = 'image'; if($format == 'image') { $oldF = $settings->get($propPath[0], $propPath[1]); @unlink($options['MEDIA_ROOT'] . $oldF); BertaEditor::images_deleteDerivatives($options['MEDIA_ROOT'], $oldF); } } if($decoded['value'] === '') $decoded['value'] = $settings->getDefinitionParam($propPath[0], $propPath[1], 'allow_blank') ? '' : $settings->getDefinitionParam($propPath[0], $propPath[1], 'default'); if($settings->getDefinitionParam($propPath[0], $propPath[1], 'validator')) { BertaUtils::validate($decoded['value'], $returnError, $settings->getDefinitionParam($propPath[0], $propPath[1], 'validator')); } $settings->update($propPath[0], $propPath[1], $decoded['value']); $returnUpdate = $decoded['value']; } else { $returnError = "the setting is not properly defined in the configuration!\n";
if ((string) $idx == '@attributes') { continue; } if ($im['@attributes']['src'] == $decoded['value']) { $imgToDelete = $im['@attributes']['src']; $posterToDelete = !empty($im['@attributes']['poster_frame']) ? $im['@attributes']['poster_frame'] : false; unset($sectionsList[$sName]['mediaCacheData']['file'][$idx]); break; } } if ($imgToDelete && file_exists($options['MEDIA_ROOT'] . $sectionsList[$sName]['mediafolder']['value'] . '/' . $imgToDelete)) { if (@unlink($options['MEDIA_ROOT'] . $sectionsList[$sName]['mediafolder']['value'] . '/' . $imgToDelete)) { BertaEditor::images_deleteDerivatives($options['MEDIA_ROOT'] . $sectionsList[$sName]['mediafolder']['value'] . '/', $imgToDelete); if ($posterToDelete) { @unlink($options['MEDIA_ROOT'] . $sectionsList[$sName]['mediafolder']['value'] . '/' . $posterToDelete); BertaEditor::images_deleteDerivatives($options['MEDIA_ROOT'] . $sectionsList[$sName]['mediafolder']['value'] . '/', $posterToDelete); } $returnUpdate = 'ok'; } else { $returnError = 'delete failed! check permissions.'; } } else { $returnError = 'file does not exist! media cache updated.'; } BertaEditor::updateImageCacheForSection($sectionsList[$sName]); BertaEditor::saveSections($sectionsList); } else { if ($decoded['property'] == 'galleryImageCaption') { // image / video caption $sectionsList = BertaEditor::getSections(); $sName = $decoded['section'];
$smallThumbInfo = getimagesize($smallThumbPath); // if uploaded for background, create lighter image & create an image for grid if ($sectionBackground) { $bgImagePath = BertaEditor::images_getBgImageFor($fileFolder . $fName); $bgImageInfo = getimagesize($bgImagePath); $gridImageSrc = BertaGallery::images_getGridImageFor($fileFolder . $fName); if ($gridImageSrc) { $gridImageInfo = getimagesize($fileFolder . $gridImageSrc); } } if ($settingsProperty) { // update setings value if ($settings->get($settingsProperty[0], $settingsProperty[1])) { $oldF = $settings->get($settingsProperty[0], $settingsProperty[1]); @unlink($fileFolder . $oldF); BertaEditor::images_deleteDerivatives($fileFolder, $oldF); } //generate 2x smaller image here, original will be for retina displays @2x $imInfo[0] = round($imInfo[0] / 2); $imInfo[1] = round($imInfo[1] / 2); BertaGallery::getResizedSrc($fileFolder, $fName, $imInfo[0], $imInfo[1]); $settings->update($settingsProperty[0], $settingsProperty[1], $fName); $settings->update($settingsProperty[0], $settingsProperty[1] . '_width', $imInfo[0]); $settings->update($settingsProperty[0], $settingsProperty[1] . '_height', $imInfo[1]); $settings->save(); } elseif ($sectionBackground) { $sectionsToEdit = BertaEditor::getSections(); if (empty($sectionsToEdit[$sectionName]['mediafolder'])) { $sectionsToEdit[$sectionName]['mediafolder'] = array(); } if (empty($sectionsToEdit[$sectionName]['mediafolder']['value'])) {