orient
Archived-
Posts
41 -
Joined
-
Last visited
Profile Information
-
Real Name
Orient
orient's Achievements
-
I've run out of free space for the demo of this contrib. Would someone has installed it provide a demo to those new comers? Thanks
-
This contrib only effects files with the extention .jpg if you don't make any modification. Therefore, it has nothing to do with .swf files. You'd better check if there's some other contrib or scripts developed by yourself manipulating .swf files or not, or there may be some conflicts between them. Moreover, you'd see if there are other commands in you .hta files other than the Watermark contrib commands.
-
No, I don't think your root is /shop. Please use tools like env.php to determine your root directory, or consult your ISP.
-
Several More Little Bugs 1. Button swap bug in CUSTOM_CHECKOUT page In your ccc 9.3 demo, if I custom a new computer, it'll prompt me "ADD_TO_CART" button on CUSTOM_CHECKOUT page, while if I edit a already-customized computer, it'll prompt me "CONTINUE" button. This should be correct, however, on my installation, I'll always be prompted with "CONTINUE" button on CUSTOM_CHECKOUT page, no matter if its a new custom computer or an edit one. After looking into the code of CUSTOM_CHECKOUT.php, I think this bug relates to the following code (line 175-181) <?php if (!$sess_new){ echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); }else{ echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); } ?> If I switch the two buttons, it'll always prompt me the "ADD_TO_CART" button. Would you please take a look at the CUSTOM_CHECKOUT.php of the demo site, see if you've rewrite this part. Or please provide a bug fix by any means. P.S. This is a bug of the ccc 9.4 demo. And more over, 9.4 will double the config and price when edit a computer. 2. Edit computer bug On your ccc 9.3 demo, when I click edit from SHOPPING_CART page and back to BUILD page, it'll display products images, but on my installation, there're only the pull down menu and the more_info button, no images at all. Please take a look at the following image to understand this bug. According to some previous posts on your forum, I think this bug somehow relates to <input type="hidden" name="pics" value="<?php echo $HTTP_POST_VARS['ccc_pics'];?>"> isn't it? I also noticed that the README in the 9.3 package says 9.2, could it be that you didn't update the modification of osC files (shopping_cart.php and etc)? Anyway, I'd appreciate a bug fix for this. 3. Multi language compatibility bug The language buttons are only useful on the first page of ccc.php. If the custumer tries to change to another language from any page other than the fist page of ccc.php, (s)he will be redirected to either the first page of ccc.php or the store frontpage, or in BUILD page, lost all product selection options. Glad to see this bug has been fixed in 9.4 4. Pull down menu browser compatibility bug On BUILD page, when I pull the pull down menu of product selection out, I may see a clear list of products with prices change in a clear way. However, if I select one other than the default, the products list becomes a mess. This bug is found on IE 5.00.3700 and IE 5.00.2614. But on NetScape 7.0, the pull down menu is always fine while image products can't be shown. pull down menu BEFORE selection pull down menu AFTER selection Lucky enough, this bug can only be found on IE5. But I still wonder why your ccc 9.3 demo is not affected by this bug. 5. Two more questions: 5.1 The first item on CCC Config in admin is "Default Image For Custom Computers". What is this image for? I couldn't find it to be displayed anywhere after configuration. 5.2 I don't quite understand the function of changing catalog/product_info.php. Would you please tell me what the change will do to the product_info page. Comments on the coming upgrade verion 9.4 I do appreciate the currency feature a lot. However, other features are not as urgent as solving all the existing bugs of 9.3. From my point of view, it's more practical to have a fully working version up online rather than adding more fancy features with bug remaining. And I'd prefer the BUILD page layout of 9.3 If you couldn't fix all the bugs mentioned above (at least 1, 2, and 3) and have currency support included, I'll have my graphical version 9.3 finished and published. FOR A PREVIEW OF THE GRAPHICAL VERSION, PLEASE CLICK HERE.
-
it doesn't work with multi currency, does it?
-
Oh yeah, if you sacrifice the feature of displaying different watermark images according to image size of the version 1.1, you are able to prevent watermark to be added onto very small iamges.
-
Hi Lobo, Thanks for your compliments! Please also salute to Rob O'Donnell, the original script writer. This script works on the basis of image types. That means all jpeg images under protected directories will be watermarked. The size difference of images only determines which watermark (logo) image is incorporated with the original images. Therefore, if you don't want very small images to be watermarked in the protected directories, there's only one way out for you: Reformat the very samll jpeg image files to .gif files. I'm working hard on my online store now, hope to launch a live one for you guys soon.
-
Open the only .php file included in the package, and subsitute all the content with the following code. <?php //watermark program //Show that a jpeg image is going to be returned //echo $QUERY_STRING; //exit; header("Content-type: image/jpeg"); //File names $wmark='watermark.png'; $mimage=$QUERY_STRING; //Loading $watermark_img = imagecreatefrompng($wmark); $wmrk_size = getimagesize($wmark); $main_img = imagecreatefromjpeg($mimage); //ImageAlphaBlending($main_image, true); //Merge the 2 buffers $posx = (ImageSX($main_img) - ImageSX($watermark_img))/2; $posy = (ImageSY($main_img) - ImageSY($watermark_img))/2; imagecopy($main_img, $watermark_img, $posx, $posy, 0, 0, $wmrk_size[0], $wmrk_size[1]); //Output file to browser imagejpeg($main_img); imagedestroy($watermark_img); imagedestroy($main_img); ?>
-
Brunods, I don't think it's necessary, coz there are always some images on your web page you don't want watermark on them, such as icons and menu images. Therefore, my recommendation as well as my practice is to reformat all product images and any other images require copyright to .JPG to differentiate from non-copyright images.
-
Thanks for your advice. It might be a solution, however, I'd like to allow customers to select suitable currency for themselves.
-
According to the working principle of .htaccess, all subdirectories under the directory where you put the .htaccess will be protected by the watermark, unless you put a different .htaccess in a subdirectory to avoid the watermark.
-
[Contribution Update] Review Approval System
orient replied to jonah's topic in General Add-Ons Support
MANUAL INSTALLATION Unzip the file, copy the following files: 1) admin/includes/languages/images/buttons/review_approve.gif 2) admin/includes/languages/images/buttons/review_disapprove.gif Make these two buttons for other languages if necessary. Make changes to the following files ###################### 1. admin/reviews.php 1.1 ---find code--- case 'deleteconfirm': $reviews_id = tep_db_prepare_input($HTTP_GET_VARS['rID']); tep_db_query("delete from " . TABLE_REVIEWS . " where reviews_id = '" . (int)$reviews_id . "'"); tep_db_query("delete from " . TABLE_REVIEWS_DESCRIPTION . " where reviews_id = '" . (int)$reviews_id . "'"); tep_redirect(tep_href_link(FILENAME_REVIEWS, 'page=' . $HTTP_GET_VARS['page'])); break; ===add after=== case 'approve_review': $reviews_id = tep_db_prepare_input($HTTP_GET_VARS['rID']); tep_db_query("update " . TABLE_REVIEWS . " set approved=1 where reviews_id = " . $reviews_id); tep_redirect(tep_href_link(FILENAME_REVIEWS, 'page=' . $HTTP_GET_VARS['page'] . '&rID=' . $reviews_id)); break; case 'disapprove_review': $reviews_id = tep_db_prepare_input($HTTP_GET_VARS['rID']); tep_db_query("update " . TABLE_REVIEWS . " set approved=0 where reviews_id = " . $reviews_id); tep_redirect(tep_href_link(FILENAME_REVIEWS, 'page=' . $HTTP_GET_VARS['page'] . '&rID=' . $reviews_id)); break; 1.2 ---find code--- <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_DATE_ADDED; ?></td> ===add after=== <td class="dataTableHeadingContent" align="center"><?php echo TEXT_APPROVED; ?></td> 1.3 ---find code--- $reviews_query_raw = "select reviews_id, products_id, date_added, last_modified, reviews_rating from " . TABLE_REVIEWS . " order by date_added DESC"; ===REPLACE with=== $reviews_query_raw = "select reviews_id, products_id, date_added, last_modified, reviews_rating, approved from " . TABLE_REVIEWS . " order by date_added DESC"; 1.4 ---find code--- <td class="dataTableContent" align="right"><?php echo tep_date_short($reviews['date_added']); ?></td> ===add after=== <td class="dataTableContent" align="center"><?php echo $reviews['approved']==1?tep_image(DIR_WS_IMAGES . 'icon_status_green.gif', IMAGE_ICON_STATUS_GREEN, 10, 10):tep_image(DIR_WS_IMAGES . 'icon_status_red.gif', IMAGE_ICON_STATUS_RED, 10, 10); ?></td> 1.5 ---find code--- $contents[] = array('text' => '<br>' . TEXT_INFO_PRODUCTS_AVERAGE_RATING . ' ' . number_format($rInfo->average_rating, 2) . '%'); ===add after=== if($rInfo->approved==0){ $contents[] = array('align' => 'left', 'text' => '<br> ' . TEXT_APPROVED . ': ' . TEXT_NO ); $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_REVIEWS, tep_get_all_get_params(array('action', 'info')) . 'action=approve_review&rID=' . $rInfo->reviews_id, 'NONSSL') . '">' . tep_image_button('review_approve.gif', TEXT_APPROVE) . '</a>'); } elseif($rInfo->approved==1) { $contents[] = array('align' => 'left', 'text' => '<br> ' . TEXT_APPROVED . ': ' . TEXT_YES ); $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_REVIEWS, tep_get_all_get_params(array('action', 'info')) . 'action=disapprove_review&rID=' . $rInfo->reviews_id, 'NONSSL') . '">' . tep_image_button('review_disapprove.gif', TEXT_DISAPPROVE) . '</a>'); } else{ $contents[] = array('align' => 'left', 'text' => '<br> ' . TEXT_APPROVED . ': ' . "Unknown" ); } } break; ###################### 2. admin/includes/languages/english/reviews.php (other languages likewise) ===add before the ending ?>=== /* <Mav was here!> */ define('TEXT_APPROVED', 'Approved'); define('TEXT_APPROVE', 'Approve'); define('TEXT_DISAPPROVE', 'Disapprove'); define('TEXT_YES', 'Yes'); define('TEXT_NO', 'No'); /* </Mav was here!> */ ###################### 3. catalog/reviews.php ---find code--- $reviews_query_raw = "select r.reviews_id, left(rd.reviews_text, 100) as reviews_text, r.reviews_rating, r.date_added, p.products_id, pd.products_name, p.products_image, r.customers_name from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = r.products_id and r.reviews_id = rd.reviews_id and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and rd.languages_id = '" . (int)$languages_id . "' order by r.reviews_id DESC"; ===REPLACE with=== $reviews_query_raw = "select r.reviews_id, left(rd.reviews_text, 100) as reviews_text, r.reviews_rating, r.date_added, p.products_id, pd.products_name, p.products_image, r.customers_name from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = r.products_id and r.reviews_id = rd.reviews_id and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and rd.languages_id = '" . (int)$languages_id . "' and r.approved = '1' order by r.reviews_id DESC"; ###################### 4. catalog/product_reviews.php ---find code--- $reviews_query_raw = "select r.reviews_id, left(rd.reviews_text, 100) as reviews_text, r.reviews_rating, r.date_added, r.customers_name from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd where r.products_id = '" . (int)$product_info['products_id'] . "' and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int)$languages_id . "' order by r.reviews_id desc"; ===REPLACE with=== $reviews_query_raw = "select r.reviews_id, left(rd.reviews_text, 100) as reviews_text, r.reviews_rating, r.date_added, r.customers_name from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd where r.products_id = '" . (int)$product_info['products_id'] . "' and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int)$languages_id . "' and r.approved = '1' order by r.reviews_id desc"; ###################### 5. catalog/includes/boxes/reviews.php ---find code--- $random_select = "select r.reviews_id, r.reviews_rating, p.products_id, p.products_image, pd.products_name from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = r.products_id and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int)$languages_id . "' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "'"; ===REPLACE with=== $random_select = "select r.reviews_id, r.reviews_rating, p.products_id, p.products_image, pd.products_name from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = r.products_id and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int)$languages_id . "' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and r.approved = '1'"; ###################### 6. catalog/product_info.php ---find code--- $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'"); ===REPLACE with=== $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and approved = '1'"); ###################### -
Okay, VNekic, DEMO listed below. 1. PHPINFO DEMO - please use your browser search function to locate "GD Support"'' 2. GIFs without watermark 3. JPGs with watermark
-
secretuser, it's still path problem. Are you sure /catalog/images/image.php is the full (absolute) path? There's nothing like /public_html/in front of catalog/? My full path starts from /home/user/public_html/.....
-
expecting ...... :lol: