function smarty_function_select_webmaster_image($params, &$smarty) { extract($params); if (empty($assign)) { $smarty->trigger_error("assign: missing 'assign' parameter"); return; } if (empty($image)) { $smarty->trigger_error("assign: missing 'image' parameter"); return; } cw_load('in_images'); $smarty->assign($assign, cw_in_images_assign($image)); }
$items_per_page_targets =& cw_session_register('items_per_page_targets', array()); if (!empty($_GET['items_per_page']) || !empty($items_per_page) || !empty($_GET['view_all']) || !empty($view_all)) { if ((!empty($_GET['view_all']) || !empty($view_all)) && !empty($app_config_file['interface']['max_count_view_products']) && $current_area == 'C') { $items_per_page_targets[$target] = $app_config_file['interface']['max_count_view_products']; } else { $items_per_page_targets[$target] = empty($_GET['items_per_page']) ? intval($items_per_page) : intval($_GET['items_per_page']); } cw_core_save_navigation($customer_id, $items_per_page_targets); } if (AREA_TYPE == 'A' && $_POST['action'] == 'update_settings' && is_array($_POST['configuration']) && $_POST['category']) { global $top_message; cw_load('config'); cw_config_update($_POST['category'], $_POST['configuration']); // TOFIX: Move to addon as hook if ($_POST['category'] == 'Watermarks') { cw_load('in_images'); $watermark_url = cw_in_images_assign('watermark_url'); $watermark_url = $watermark_url['image_path']; touch($watermark_url); } $_tmp = parse_url($_POST['l_redirect']); parse_str($_tmp['query'], $merge_arr); if (!is_array($merge_arr)) { $merge_arr = array(); } $l_redirect = cw_core_assign_addition_params($_tmp['path'], $merge_arr, array(), '&', false); $top_message = array('content' => cw_get_langvar_by_name('txt_settings_was_updated'), 'type' => 'I'); if ($target != 'configuration' && $target != 'settings') { cw_header_location($l_redirect); } }
function cw_image_get_watermarked($path) { global $config; $opacity = $config['Watermarks']['opacity']; if (!file_exists($path)) { return false; } $orig_fn = $path; $wmrkd_fn = preg_replace("'^(.*)(\\.[a-z]+)\$'i", "\$1.wmrkd\$2", $path); cw_load('in_images'); $wmrk_fn = cw_in_images_assign('watermark_url'); $wmrk_fn = $wmrk_fn['image_path']; if (file_exists($wmrkd_fn) && file_exists($wmrk_fn) && filemtime($wmrkd_fn) >= filemtime($wmrk_fn) && filemtime($wmrkd_fn) >= filemtime($orig_fn)) { return $wmrkd_fn; } if (!file_exists($wmrk_fn)) { return $orig_fn; } $attrs_wmrk = cw_get_image_size($wmrk_fn); $attrs_img = cw_get_image_size($orig_fn); $im_w = $attrs_img[1]; $im_h = $attrs_img[2]; $im_type = $attrs_img[3]; $wm_w = $attrs_wmrk[1]; $wm_h = $attrs_wmrk[2]; $wm_type = $attrs_wmrk[3]; $image = imagecreatefromstring(file_get_contents($orig_fn)); $watermark_or = imagecreatefromstring(file_get_contents($wmrk_fn)); if ($wm_w > $im_w / 1.5) { $sw = 1.5 * $wm_w / $im_w; } else { $sw = 1; } if ($wm_h > $im_h / 2) { $sh = 2 * $wm_h / $im_h; } else { $sh = 1; } if ($sw > $sh) { $scl = $sw; } else { $scl = $sh; } $watermark = imagecreatetruecolor($wm_w / $scl, $wm_h / $scl); imagecolortransparent($watermark, imagecolorallocate($watermark, 0, 0, 0)); imagecopyresized($watermark, $watermark_or, 0, 0, 0, 0, $wm_w / $scl, $wm_h / $scl, $wm_w, $wm_h); imagedestroy($watermark_or); $wm_w = $wm_w / $scl; $wm_h = $wm_h / $scl; $left = ($im_w - $wm_w) / 2; $right = ($im_h - $wm_h) / 2; #imagecopyresampled($image, $watermark, $left, $right, 0, 0, $wm_w/$scl, $wm_h/$scl, $wm_w, $wm_h); imagecopymerge($image, $watermark, $left, $right, 0, 0, $wm_w, $wm_h, $opacity); switch ($im_type) { case 'image/jpeg': imagejpeg($image, $wmrkd_fn, 100); break; case 'image/gif': imagegif($image, $wmrkd_fn); break; case 'image/png': imagepng($image, $wmrkd_fn, 9); break; default: imagejpeg($image, $wmrkd_fn, 100); } return $wmrkd_fn; }