public function parse_watermarks_first_options($input_parameters) { $resultData = array(); $options = false; if (isset($input_parameters['options']) && $input_parameters['options']) { $options = $input_parameters['options']; unset($input_parameters['options']); } if (!$options) { $options = self::getOption(); } $keyCache1 = Utils::hashKey(array($options, 'parse_watermarks_first_options')); $tmp = TempDataAndCacheFile::get_cache($keyCache1); if (null !== $tmp) { return $tmp; } $remote = $this->di->getShared('remote'); $options['optimize_images_watermarks_watermark_text_background_opacity_value'] = 100; $options['optimize_images_watermarks_watermark_opacity_value'] = 100; $options['optimize_images_watermarks_watermark_text_outline_enable'] = ''; //setting watermark $paramsWatermarkOptions = array(); $paramsWatermarkOptions['text'] = array(); $paramsWatermarkOptions['image'] = array(); if (isset($options['optimize_images_watermarks_watermark_type']) && $options['optimize_images_watermarks_watermark_type']) { $options['optimize_images_watermarks_watermark_type'] = (array) $options['optimize_images_watermarks_watermark_type']; if (isset($options['optimize_images_watermarks_watermark_position']) && $options['optimize_images_watermarks_watermark_position']) { if (!empty($options['optimize_images_watermarks_watermark_position'])) { $options['optimize_images_watermarks_watermark_opacity_value'] = (int) $options['optimize_images_watermarks_watermark_opacity_value']; $options['optimize_images_watermarks_watermark_opacity_value'] = abs($options['optimize_images_watermarks_watermark_opacity_value']); if ($options['optimize_images_watermarks_watermark_opacity_value'] > 0) { if ($options['optimize_images_watermarks_watermark_opacity_value'] > 100) { $options['optimize_images_watermarks_watermark_opacity_value'] = 100; } if (isset($options['optimize_images_watermarks_watermark_type']['text'])) { if (isset($options['optimize_images_watermarks_watermark_text_value']) && $options['optimize_images_watermarks_watermark_text_value']) { $options['optimize_images_watermarks_watermark_text_value'] = trim($options['optimize_images_watermarks_watermark_text_value']); if ($options['optimize_images_watermarks_watermark_text_value']) { if (isset($options['optimize_images_watermarks_watermark_text_font_name']) && $options['optimize_images_watermarks_watermark_text_font_name']) { $options['optimize_images_watermarks_watermark_text_font_name'] = preg_replace('#[^a-z0-9\\-\\_]+#i', '', $options['optimize_images_watermarks_watermark_text_font_name']); $options['optimize_images_watermarks_watermark_text_font_name'] = strtolower($options['optimize_images_watermarks_watermark_text_font_name']); $options['optimize_images_watermarks_watermark_text_font_name'] = trim($options['optimize_images_watermarks_watermark_text_font_name']); if ($options['optimize_images_watermarks_watermark_text_font_name']) { if (isset($options['optimize_images_watermarks_watermark_text_size']) && $options['optimize_images_watermarks_watermark_text_size']) { $options['optimize_images_watermarks_watermark_text_size'] = trim($options['optimize_images_watermarks_watermark_text_size']); if ($options['optimize_images_watermarks_watermark_text_size']) { if (isset($options['optimize_images_watermarks_watermark_text_color']) && $options['optimize_images_watermarks_watermark_text_color']) { $options['optimize_images_watermarks_watermark_text_color'] = preg_replace('#[^a-z0-9]+#i', '', $options['optimize_images_watermarks_watermark_text_color']); $options['optimize_images_watermarks_watermark_text_color'] = strtolower($options['optimize_images_watermarks_watermark_text_color']); $options['optimize_images_watermarks_watermark_text_color'] = trim($options['optimize_images_watermarks_watermark_text_color']); if ($options['optimize_images_watermarks_watermark_text_color']) { if (isset($options['optimize_images_watermarks_watermark_text_opacity_value']) && $options['optimize_images_watermarks_watermark_text_opacity_value']) { $options['optimize_images_watermarks_watermark_text_opacity_value'] = trim($options['optimize_images_watermarks_watermark_text_opacity_value']); if ($options['optimize_images_watermarks_watermark_text_opacity_value']) { $options['optimize_images_watermarks_watermark_text_opacity_value'] = (int) $options['optimize_images_watermarks_watermark_text_opacity_value']; $options['optimize_images_watermarks_watermark_text_opacity_value'] = abs($options['optimize_images_watermarks_watermark_text_opacity_value']); if ($options['optimize_images_watermarks_watermark_text_opacity_value'] > 100) { $options['optimize_images_watermarks_watermark_text_opacity_value'] = 100; } $paramsWatermarkOptions['text'] = array('fontSize' => 12, 'fontColor' => PepVN_Data::hex2rgb('#' . $options['optimize_images_watermarks_watermark_text_color']), 'opacity' => $options['optimize_images_watermarks_watermark_text_opacity_value'] / 100, 'x' => 10, 'y' => 10, 'width' => null, 'height' => null, 'alignHorizontal' => 'center', 'alignVertical' => 'center', 'angle' => 0, 'strokeWidth' => 0, 'strokeColor' => '', 'fontFile' => $this->_folderFontPath . $options['optimize_images_watermarks_watermark_text_font_name'] . '.ttf', 'autoFit' => false, 'boxColor' => 0, 'boxOpacity' => $options['optimize_images_watermarks_watermark_text_opacity_value'] / 100, 'boxPaddingX' => '3%', 'boxPaddingY' => '4%', 'debug' => false); if (isset($options['optimize_images_watermarks_watermark_text_size']) && $options['optimize_images_watermarks_watermark_text_size']) { $options['optimize_images_watermarks_watermark_text_size'] = preg_replace('#[^0-9\\%]+#i', '', $options['optimize_images_watermarks_watermark_text_size']); $options['optimize_images_watermarks_watermark_text_size'] = trim($options['optimize_images_watermarks_watermark_text_size']); if (false === stripos($options['optimize_images_watermarks_watermark_text_size'], '%')) { $paramsWatermarkOptions['text']['fontSize'] = (int) $options['optimize_images_watermarks_watermark_text_size']; } } if (isset($options['optimize_images_watermarks_watermark_text_background_enable']) && $options['optimize_images_watermarks_watermark_text_background_enable']) { if (isset($options['optimize_images_watermarks_watermark_text_background_color']) && $options['optimize_images_watermarks_watermark_text_background_color']) { $options['optimize_images_watermarks_watermark_text_background_color'] = preg_replace('#[^a-z0-9]+#i', '', $options['optimize_images_watermarks_watermark_text_background_color']); $options['optimize_images_watermarks_watermark_text_background_color'] = strtolower($options['optimize_images_watermarks_watermark_text_background_color']); $options['optimize_images_watermarks_watermark_text_background_color'] = trim($options['optimize_images_watermarks_watermark_text_background_color']); if ($options['optimize_images_watermarks_watermark_text_background_color']) { $paramsWatermarkOptions['text']['boxColor'] = PepVN_Data::hex2rgb('#' . $options['optimize_images_watermarks_watermark_text_background_color']); if (isset($options['optimize_images_watermarks_watermark_text_background_opacity_value']) && $options['optimize_images_watermarks_watermark_text_background_opacity_value']) { $options['optimize_images_watermarks_watermark_text_background_opacity_value'] = trim($options['optimize_images_watermarks_watermark_text_background_opacity_value']); if ($options['optimize_images_watermarks_watermark_text_background_opacity_value']) { $options['optimize_images_watermarks_watermark_text_background_opacity_value'] = (int) $options['optimize_images_watermarks_watermark_text_background_opacity_value']; $options['optimize_images_watermarks_watermark_text_background_opacity_value'] = abs($options['optimize_images_watermarks_watermark_text_background_opacity_value']); if ($options['optimize_images_watermarks_watermark_text_background_opacity_value'] > 100) { $options['optimize_images_watermarks_watermark_text_background_opacity_value'] = 100; } $paramsWatermarkOptions['text']['boxOpacity'] = $options['optimize_images_watermarks_watermark_text_opacity_value'] / 100; } } } } } //optimize_images_watermarks_watermark_text_background_enable if (isset($options['optimize_images_watermarks_watermark_text_outline_enable']) && $options['optimize_images_watermarks_watermark_text_outline_enable']) { if (isset($options['optimize_images_watermarks_watermark_text_outline_width']) && $options['optimize_images_watermarks_watermark_text_outline_width']) { $options['optimize_images_watermarks_watermark_text_outline_width'] = preg_replace('#[^0-9]+#i', '', $options['optimize_images_watermarks_watermark_text_outline_width']); $options['optimize_images_watermarks_watermark_text_outline_width'] = (int) $options['optimize_images_watermarks_watermark_text_outline_width']; if ($options['optimize_images_watermarks_watermark_text_outline_width'] > 0) { if (isset($options['optimize_images_watermarks_watermark_text_outline_color']) && $options['optimize_images_watermarks_watermark_text_outline_color']) { $options['optimize_images_watermarks_watermark_text_outline_color'] = preg_replace('#[^a-z0-9]+#i', '', $options['optimize_images_watermarks_watermark_text_outline_color']); $options['optimize_images_watermarks_watermark_text_outline_color'] = strtolower($options['optimize_images_watermarks_watermark_text_outline_color']); $options['optimize_images_watermarks_watermark_text_outline_color'] = trim($options['optimize_images_watermarks_watermark_text_outline_color']); if ($options['optimize_images_watermarks_watermark_text_outline_color']) { $paramsWatermarkOptions['text']['strokeWidth'] = $options['optimize_images_watermarks_watermark_text_outline_width']; $paramsWatermarkOptions['text']['strokeColor'] = PepVN_Data::hex2rgb('#' . $options['optimize_images_watermarks_watermark_text_outline_color']); } } } } } //optimize_images_watermarks_watermark_text_outline_enable } } } } } } } } } } } //type text if (isset($options['optimize_images_watermarks_watermark_type']['image'])) { if (isset($options['optimize_images_watermarks_watermark_image_url']) && $options['optimize_images_watermarks_watermark_image_url']) { $options['optimize_images_watermarks_watermark_image_url'] = trim($options['optimize_images_watermarks_watermark_image_url']); if ($options['optimize_images_watermarks_watermark_image_url']) { if (Utils::isUrl($options['optimize_images_watermarks_watermark_image_url']) && Utils::isImageUrl($options['optimize_images_watermarks_watermark_image_url'])) { $imgWatermarkFilePath1 = $this->_folderCachePath; $imgWatermarkFilePath1 .= md5($options['optimize_images_watermarks_watermark_image_url']) . '.txt'; if (!is_file($imgWatermarkFilePath1)) { file_put_contents($imgWatermarkFilePath1, ''); $valueTemp1 = $remote->get($options['optimize_images_watermarks_watermark_image_url'], array('cache_timeout' => WP_PEPVN_CACHE_TIMEOUT_NORMAL)); if ($valueTemp1) { file_put_contents($imgWatermarkFilePath1, $valueTemp1); } } if (is_file($imgWatermarkFilePath1)) { $valueTemp1 = filesize($imgWatermarkFilePath1); if ($valueTemp1 && $valueTemp1 > 0) { if ($this->_isImageFileCanProcess($imgWatermarkFilePath1)) { $paramsWatermarkOptions['image']['watermark_image_file_path'] = $imgWatermarkFilePath1; if (isset($options['optimize_images_watermarks_watermark_image_width']) && $options['optimize_images_watermarks_watermark_image_width']) { $options['optimize_images_watermarks_watermark_image_width'] = preg_replace('#[^0-9\\%]+#i', '', $options['optimize_images_watermarks_watermark_image_width']); $options['optimize_images_watermarks_watermark_image_width'] = trim($options['optimize_images_watermarks_watermark_image_width']); if (false === stripos($options['optimize_images_watermarks_watermark_image_width'], '%')) { $options['optimize_images_watermarks_watermark_image_width'] = (int) $options['optimize_images_watermarks_watermark_image_width']; } } if (isset($options['optimize_images_watermarks_watermark_image_margin_x']) && $options['optimize_images_watermarks_watermark_image_margin_x']) { $options['optimize_images_watermarks_watermark_image_margin_x'] = preg_replace('#[^0-9]+#i', '', $options['optimize_images_watermarks_watermark_image_margin_x']); $options['optimize_images_watermarks_watermark_image_margin_x'] = trim($options['optimize_images_watermarks_watermark_image_margin_x']); $options['optimize_images_watermarks_watermark_image_margin_x'] = (int) $options['optimize_images_watermarks_watermark_image_margin_x']; $options['optimize_images_watermarks_watermark_image_margin_x'] = abs($options['optimize_images_watermarks_watermark_image_margin_x']); } if (isset($options['optimize_images_watermarks_watermark_image_margin_y']) && $options['optimize_images_watermarks_watermark_image_margin_y']) { $options['optimize_images_watermarks_watermark_image_margin_y'] = preg_replace('#[^0-9]+#i', '', $options['optimize_images_watermarks_watermark_image_margin_y']); $options['optimize_images_watermarks_watermark_image_margin_y'] = trim($options['optimize_images_watermarks_watermark_image_margin_y']); $options['optimize_images_watermarks_watermark_image_margin_y'] = (int) $options['optimize_images_watermarks_watermark_image_margin_y']; $options['optimize_images_watermarks_watermark_image_margin_y'] = abs($options['optimize_images_watermarks_watermark_image_margin_y']); } } } } } } } } //type image } } } } $options['optimize_images_image_quality_value'] = abs((int) $options['optimize_images_image_quality_value']); if ($options['optimize_images_image_quality_value'] >= 10 && $options['optimize_images_image_quality_value'] <= 100) { } else { $options['optimize_images_image_quality_value'] = 100; } $options['optimize_images_rename_img_filename_value'] = (string) $options['optimize_images_rename_img_filename_value']; $options['optimize_images_rename_img_filename_value'] = trim($options['optimize_images_rename_img_filename_value']); $options['optimize_images_maximum_files_handled_each_request'] = abs((int) $options['optimize_images_maximum_files_handled_each_request']); $resultData['options'] = $options; $resultData['paramsWatermarkOptions'] = $paramsWatermarkOptions; TempDataAndCacheFile::set_cache($keyCache1, $resultData); return $resultData; }