Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Offical Google Checkout module for osCommerce Support Thread


Silverado05

Recommended Posts

One more thing ,when I look into file response_error.log ,i got this message

 

Sat Feb 23 20:05:22 EST 2008:- Shopping cart not obtained from session.

Sat Feb 23 20:05:29 EST 2008:- Shopping cart not obtained from session.

Sat Feb 23 20:06:01 EST 2008:- Shopping cart not obtained from session.

Sat Feb 23 20:08:34 EST 2008:- Failed to Get Basic Authentication Headers

Sat Feb 23 20:09:30 EST 2008:- Failed to Get Basic Authentication Headers

 

If anyone got the same problem ,please give me any advices ,thank you so much

Link to comment
Share on other sites

  • Replies 1.2k
  • Created
  • Last Reply

Top Posters In This Topic

I have google installed and the other day I was testing it out. I got to the final stage of checkout when I noticed the shipping that are defualt wiht this to to be set to 1.00. When I tried to update the shipping informaton I now have on my site a greyed out google logo and the following message:

 

* There are multiple shipping options selected and they use different shipping tax tables or some dont use tax tables

 

Can anyone help me with this problem or better yet is there anyone who is very good at installing this mod and could install it correct for me if so please give me a respond .

Site is underconstruction I am always looking for good advice on how to improve my site fill free to comment.

Thanks! ATise

Link to comment
Share on other sites

I am doing the manual install, Option B in the installation.txt file. I am at 2a where it says:

 

2a. /catalog/admin/modules.php LINE 45

============================================================================

REPLACE:

 

case 'save':

while (list($key, $value) = each($HTTP_POST_VARS['configuration'])) {

tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . $value . "' where configuration_key = '" . $key . "'");

}

tep_redirect(tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $HTTP_GET_VARS['module']));

break;

 

WITH:

 

case 'save':

// ** GOOGLE CHECKOUT **

// fix configuration no saving -

reset($HTTP_POST_VARS['configuration']);

// end fix

// ** END GOOGLE CHECKOUT **

while (list($key, $value) = each($HTTP_POST_VARS['configuration'])) {

// ** GOOGLE CHECKOUT **

// Checks if module is of type google checkout and also verfies if this configuration is

// for the check boxes for the shipping options

if( is_array( $value ) ){

$value = implode( ", ", $value);

$value = ereg_replace (", --none--", "", $value);

}

// ** END GOOGLE CHECKOUT **

 

tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = " . gc_makeSqlString($value) . " where configuration_key = " . gc_makeSqlString($key));

}

tep_redirect(tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $HTTP_GET_VARS['module']));

break;

 

On line 45 of my file however I do not have that syntax - I have similar but slightly different syntax however on line 83:

 

case 'save':

reset($HTTP_POST_VARS['configuration']);

while (list($key, $value) = each($HTTP_POST_VARS['configuration'])) {

tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . $value . "' where configuration_key = '" . $key . "'");

}

tep_redirect(tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $HTTP_GET_VARS['module']));

break;

 

It is basically the same with an additional line (reset...) and it's on line 83 instead of 45. Should I just replace the code on line 83 instead of line 45? I apologize if this is a dumb question but I am not a programmer so I just want to make sure I'm doing the right thing. Thank you.

Link to comment
Share on other sites

Ok I see the issue - My orders.php file is way different - and it's because I have this "buysafe" module that came installed with the OSC I used. (I installed via cpanel, fantastico) This is really throwing me off, and I have never heard of buysafe before - is this something I should look into having or uninstalling?

Link to comment
Share on other sites

Ok this is not working out very well - I thought I replaced the right code however it clearly did not work. Now I have broken code showing up in my shopping cart page:

 

http://dealbranch.com/shopping_cart.php/sort/4a

 

I'm just going to wipe this install and start fresh with one that does not include buy safe - it looks like buy safe is some service that you pay for, I am not at all interested in that.

Link to comment
Share on other sites

For those of you who are not getting their orders updated:

 

You have to go into your Google Dashboard.

 

Go to settings.

 

Go to Integration.

 

Put in your API callback URL:

 

It looks like this: https://***YOUR SECURE DOMAIN***/googlecheckout/responsehandler.php

 

Put in your actual secure domain in place of ***YOUR SECURE DOMAIN***.

Remember, the settings in your sandbox are separate from the settings in your real account. You have to make changes for both.

 

I have just tried to set this up and I get the following error when I pull my responsehandler.php file:

 

Warning: googlecheckout(/www/virtual/xxxxx/www.mysite.com.com/catalog/googlecheckout/catalog/includes/languages/english/modules/payment/googlecheckout.php): failed to open stream: No such file or directory in /usr/www/virtual/xxxxx/www.mysite.com.com/catalog/includes/modules/payment/googlecheckout.php on line 43

 

Fatal error: googlecheckout(): Failed opening required '/www/virtual/xxxxx/www.mysite.com.com/catalog/googlecheckout/catalog/includes/languages/english/modules/payment/googlecheckout.php' (include_path='.:/usr/local/lib/php:.:.') in /usr/www/virtual/xxxxx/www.mysite.com.com/catalog/includes/modules/payment/googlecheckout.php on line 43

 

It seem that when I open the file the path says the following:

 

	require_once(DIR_FS_CATALOG .'includes/languages/'. $language .'/modules/payment/googlecheckout.php');

 

But the true location of the file is :

 

(/www/virtual/xxxxx/www.mysite.com/catalog/includes/languages/english/modules/payment/googlecheckout.php):

 

How do I make it read the right path?

Site is underconstruction I am always looking for good advice on how to improve my site fill free to comment.

Thanks! ATise

Link to comment
Share on other sites

Just finished installing this add on. After some initial confusion as to why the tables didnt get created (found a thread with the SQL in it), I'm tring to test the setup and the pages seem to display ok but when I try and display the https://store/googlecheckout/responsehandler.php page I get a Invalid Merchant Id/Key Pair error. I verified both the sandbox an production keys so I'm not sure what else to check. The SSL is enabled and supported. I'm also getting prompted for a password when running it so I'm not sure if that correct. I've tried searching around but nothing useful is coming up. Any ideas ?

 

I am having this same problem where you able to figure out what was wrong? And also where is the password coming from. I take it must be your password with the google account you set up with google?

Site is underconstruction I am always looking for good advice on how to improve my site fill free to comment.

Thanks! ATise

Link to comment
Share on other sites

Can somebody tell me which Google Checkout I'm suppose to download? There are so many tabs.

 

 

You want to get it straight from Google. The one in the OSCommerce Community Add-ons section is not complete for some reason. The file you want is "google-checkout-oscommerce-v1.4.5a.zip".

 

 

Here is the page that you get it:

http://code.google.com/p/google-checkout-oscommerce/

 

Here is the link directly from Google's site:

http://google-checkout-oscommerce.googleco...rce-v1.4.5a.zip

 

Don't forget to enter in your API callback URL into your Google account after you install Google checkout.

Link to comment
Share on other sites

I have just tried to set this up and I get the following error when I pull my responsehandler.php file:

 

Warning: googlecheckout(/www/virtual/xxxxx/www.mysite.com.com/catalog/googlecheckout/catalog/includes/languages/english/modules/payment/googlecheckout.php): failed to open stream: No such file or directory in /usr/www/virtual/xxxxx/www.mysite.com.com/catalog/includes/modules/payment/googlecheckout.php on line 43

 

Fatal error: googlecheckout(): Failed opening required '/www/virtual/xxxxx/www.mysite.com.com/catalog/googlecheckout/catalog/includes/languages/english/modules/payment/googlecheckout.php' (include_path='.:/usr/local/lib/php:.:.') in /usr/www/virtual/xxxxx/www.mysite.com.com/catalog/includes/modules/payment/googlecheckout.php on line 43

 

It seem that when I open the file the path says the following:

 

	require_once(DIR_FS_CATALOG .'includes/languages/'. $language .'/modules/payment/googlecheckout.php');

 

But the true location of the file is :

 

(/www/virtual/xxxxx/www.mysite.com/catalog/includes/languages/english/modules/payment/googlecheckout.php):

 

How do I make it read the right path?

 

 

What does your DIR_FS_CATALOG in catalog/includes/configure.php read?

Link to comment
Share on other sites

Hi,

 

I have installed PayPal express from the contribution which Harald kindly released for us and now want to add Google Checkout as well.

 

All the code seems ok, the file I have a problem with is shopping cart.php. Google requires code to be added where the PayPal code is and if I add it below the GoogleCheckout button does not work.

 

Can anyone help me with this?

 

Thanks in advance if anyone can.

 

 

<?php

   $initialize_checkout_methods = $payment_modules->checkout_initialization_method(); 

     if (!empty($initialize_checkout_methods)) { 
 ?> 
       <tr> 
         <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> 
       </tr> 
       <tr> 
         <td align="right" class="main" style="padding-right: 50px;"><?php echo TEXT_ALTERNATIVE_CHECKOUT_METHODS; ?></td> 
       </tr> 
 <?php 
       reset($initialize_checkout_methods); 
       while (list(, $value) = each($initialize_checkout_methods)) { 
 ?> 
       <tr> 
         <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> 
       </tr> 
       <tr> 
         <td align="right" class="main"><?php echo $value; ?></td> 
        </tr> 


  <tr>
    <td>
   <?php
   // ** GOOGLE CHECKOUT **
   // Checks if the Google Checkout payment module has been enabled and if so 
   // includes gcheckout.php to add the Checkout button to the page 
   if (defined('MODULE_PAYMENT_GOOGLECHECKOUT_STATUS') && MODULE_PAYMENT_GOOGLECHECKOUT_STATUS == 'True') {
     include_once('googlecheckout/gcheckout.php');
   }
   // ** END GOOGLE CHECKOUT **
   ?>
       </td>
     </tr>


   <?php
}
}

 } else {

?>

Link to comment
Share on other sites

I am about to give up on Google Checkout. Pretty much everything works. I even got some help with the shipping module and it works great. However, when I try a test transaction it alway fails at the payment stage and give "404" error. When I test the responshandler. I get this

 

"HTTP/1.0 400 Bad Request

Date: Mon, 25 Feb 2008 11:02:25 GMT

Server: Microsoft-IIS/6.0

X-Powered-By: ASP.NET

X-Powered-By: PHP/5.2.4

Set-Cookie: osCsid=luakjrq1obp7fmmjvik4sj7hh5; path=/; domain=www.get-

crocs.co.uk

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-

check=0

Pragma: no-cache

Content-Type: text/html

Content-Length: 32

X-Cache: MISS from proxy.globant.com

Proxy-Connection: close

 

 

Invalid or not supported Message "

 

I have tried to get some help from the forum on the Google site with no luck so I thought I woudl try here one last time and I I can't fix it, I'll just bin it.

Link to comment
Share on other sites

I am about to give up on Google Checkout. Pretty much everything works. I even got some help with the shipping module and it works great. However, when I try a test transaction it alway fails at the payment stage and give "404" error. When I test the responshandler. I get this

 

"HTTP/1.0 400 Bad Request

Date: Mon, 25 Feb 2008 11:02:25 GMT

Server: Microsoft-IIS/6.0

X-Powered-By: ASP.NET

X-Powered-By: PHP/5.2.4

Set-Cookie: osCsid=luakjrq1obp7fmmjvik4sj7hh5; path=/; domain=www.get-

crocs.co.uk

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-

check=0

Pragma: no-cache

Content-Type: text/html

Content-Length: 32

X-Cache: MISS from proxy.globant.com

Proxy-Connection: close

Invalid or not supported Message "

 

I have tried to get some help from the forum on the Google site with no luck so I thought I woudl try here one last time and I I can't fix it, I'll just bin it.

 

 

Have you filled in the callback URL in Google Checkout settings on the Google site?

Link to comment
Share on other sites

I am about to give up on Google Checkout. Pretty much everything works. I even got some help with the shipping module and it works great. However, when I try a test transaction it alway fails at the payment stage and give "404" error. When I test the responshandler. I get this

 

"HTTP/1.0 400 Bad Request

Date: Mon, 25 Feb 2008 11:02:25 GMT

Server: Microsoft-IIS/6.0

X-Powered-By: ASP.NET

X-Powered-By: PHP/5.2.4

Set-Cookie: osCsid=luakjrq1obp7fmmjvik4sj7hh5; path=/; domain=www.get-

crocs.co.uk

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-

check=0

Pragma: no-cache

Content-Type: text/html

Content-Length: 32

X-Cache: MISS from proxy.globant.com

Proxy-Connection: close

Invalid or not supported Message "

 

I have tried to get some help from the forum on the Google site with no luck so I thought I woudl try here one last time and I I can't fix it, I'll just bin it.

 

 

Hi got that but when u do transaction it still works. This problem happens in IE and not FF

Link to comment
Share on other sites

Hi got that but when u do transaction it still works. This problem happens in IE and not FF

 

Hi, I have filled in the responsehandler URL in Google and it is on a dedicated SSL connection.

 

I have also tried it with the Force Cookies Option true and false.

 

Thanks

Dan

Link to comment
Share on other sites

hi, i've exhasted the search at google.com and the search at this forum, and i did find one post asking about the exact same problem that i have, however that post never recieved a reply and was there since 2006, hopefully i can provide more information about my problem so that someone can help.

 

my issue:

I am using yahoo.com hosting and recently installed oscommerce and now trying to install the google checkout module. my first attempt didn't work, so i re-installed oscommerce, using the release version mentioned in the googlecheckout module's readme (as to what version the module works with). the module is now visible in the payment modules section of my oscommerce admin console, however, after clicking install and attempting to edit (to add merchant id, key and switching from sandbox), the edit panel to the right disapears.

 

also, when trying to access responsehandler.php (may not be exact filename), iexplorer asks me for an id and password. the googlecheckout readme doesn't address this directly, but i believe the mention of changing the permissions for the googlecheckout dir may be related to this, however, when i change the permissions using my ftp client, iexplorer still asks me for an ID and password when accessing responsehandler.php... the readme says to change the permissions when running oscommerce in a cgi implementation of php. i don't know if yahoo hosting uses php this way, but i suppose it doesn't matter as changing the permissions didn't help.

 

as i said, i did find an old post from someone having the exact same issue as mine, so i'm sure this is a common problem, but if i have to go with a diferent payment processor, i am willing to do that, althought i'm hoping its one without a monthly fee, any suggetions are welcome.

 

if anyone can help me in setting up googlecheckout, i'll greatly appreciate it. i wish the readme for the googlecheckout module was clearer and more straightforward...if i get this working for my website, i'll gladly write a howto for installing oscommerce and googlecheckout on a yahoo hosted website

 

thanks!

 

-johnnie

Link to comment
Share on other sites

Just installed Google Checkout v1.4.5_CCS.

 

But when I tried editing the Google Checkout details in the admin panel i got this error message:

 

"Fatal error: Call to undefined function: gc_cfg_select_shipping() in /var/www/vhosts/XXXX.XXX/catalog/admin/modules.php(238) : eval()'d code on line 1"

 

any clues????

 

Ta

 

You are missing the code in the instructions.txt for the admin/includes/functions/general.php or you accidently installed the changes in your catalog/includes/functions/general.php instead of ADMIN.

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

Hi,

 

I have installed PayPal express from the contribution which Harald kindly released for us and now want to add Google Checkout as well.

 

All the code seems ok, the file I have a problem with is shopping cart.php. Google requires code to be added where the PayPal code is and if I add it below the GoogleCheckout button does not work.

 

Can anyone help me with this?

 

Thanks in advance if anyone can.

<?php

   $initialize_checkout_methods = $payment_modules->checkout_initialization_method(); 

     if (!empty($initialize_checkout_methods)) { 
 ?> 
       <tr> 
         <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> 
       </tr> 
       <tr> 
         <td align="right" class="main" style="padding-right: 50px;"><?php echo TEXT_ALTERNATIVE_CHECKOUT_METHODS; ?></td> 
       </tr> 
 <?php 
       reset($initialize_checkout_methods); 
       while (list(, $value) = each($initialize_checkout_methods)) { 
 ?> 
       <tr> 
         <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> 
       </tr> 
       <tr> 
         <td align="right" class="main"><?php echo $value; ?></td> 
        </tr> 
  <tr>
    <td>
   <?php
   // ** GOOGLE CHECKOUT **
   // Checks if the Google Checkout payment module has been enabled and if so 
   // includes gcheckout.php to add the Checkout button to the page 
   if (defined('MODULE_PAYMENT_GOOGLECHECKOUT_STATUS') && MODULE_PAYMENT_GOOGLECHECKOUT_STATUS == 'True') {
     include_once('googlecheckout/gcheckout.php');
   }
   // ** END GOOGLE CHECKOUT **
   ?>
       </td>
     </tr>
   <?php
}
}

 } else {

?>

 

I'm not sure if this will work but make sure the </form> is before the google checkout button.

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

The many google statuses are confusing. How do I change the statuses so I can use my default oscommerce shipped status instead of using the google checkout google_shipped status?

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

The many google statuses are confusing. How do I change the statuses so I can use my default oscommerce shipped status instead of using the google checkout google_shipped status?

 

Still no progress, I tried changing the order status configs to 1 for processing and 3 for shipped at the top of admin/orders.php but this did no good, does anyone have an idea on how to do this?

 

Thanks in advance.

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

i can now edit googlecheckout and i added my merchant key and ID, for both production and sandbox, but i'm having trouble again... :rolleyes:

 

i spoke (or posted) too soon. eventhough i made progress and can edit googlecheckout's options, the checkout process doesn't seem right. when having only googlecheckout as the available payment methods, during checkout, all it says is "this is the only payment available" and nothing is shown, but just before clicking confirm, it does show that google checkout was selected with a link next to it saying "edit." clicking that just brings me back to the payment page with nothing shown. clicking confirm at the end simply brings me back to viewing the shopping cart.

 

i'm getting ready for another fresh install of oscommerce. i think i might have not followed option B install correctly, i was up at like 2 AM and getting really frustrated before i finanly searched for a php editor that could show me the lines where i needed to insert code. not too smart of me, i know. was like ice skating up hill, but i'm trying to be tenacious and not quit. i've now followed install option B as best i can with an offline folder of oscommerce and will upload in a few minutes. i'm crossing my fingers.

 

i sofar can't access responsehandler.php at all, i have a feeling its a simple fix that is beyond me right now since i'm so new at this. shouldn't changing the permissions (following the documentation,) using my ftp client, clear this up? why does iexplorer ask me for a login and password when trying to access responsehandler.php?

 

thanks

 

~johnnie

Link to comment
Share on other sites

I've been working with the current Google Checkout Module (v1.4.5_CCS) for about a week trying to get it to pull the Product Attributes for Attributes with Option Type "text area" as created by the current (v. 2.0.1 Complete Package) version of "Product Attributes - Option Type Feature" (OTF) :

 

http://www.oscommerce.com/community/contributions,160

 

I have conducted a manual installation of both Contributions.

Other Products Attributed created by OTF besides the "text-area" option type are passed without error.

 

This same problem is discussed without solution in the Forum Thread on OTF :

 

http://www.oscommerce.com/forums/index.php?sho...ature&st=20

 

Has anyone out there had similar problems? Any help on this is greatly appreciated, this contribution looks like a great Payment Module that would be perfect for our site if not for this glitch.

 

I think I have this fixed for use with google checkout now, here is my fix:

 

INTEGRATING GOOGLE CHECKOUT with PRODUCT ATTRIBUTES OPTION TYPE FEATURE

 

catalog/googlecheckout/gcheckout.php

 

FIND (line 142):

$attr_value = $attributes_values['products_options_values_name'];

 

CHANGE TO:

// Product Option Type

if ($value == PRODUCTS_OPTIONS_VALUE_TEXT_ID) {

 

$attr_value = $products[$i]['attributes_values'][$option] .

tep_draw_hidden_field('id[' . $products[$i]['id'] . '+++' .

$i . '][' . TEXT_PREFIX . $option . ']',

$products[$i]['attributes_values'][$option]);

 

} else {

$attr_value = $attributes_values['products_options_values_name'] .

tep_draw_hidden_field('id[' . $products[$i]['id'] . '+++' .

$i. '][' . $option . ']', $value);

}

// End Product Option Type

 

 

catalog/googlecheckout/responsehandler.php

 

FIND (line 631):

'products_options_values' => $attributes_values['products_options_values_name'],

 

CHANGE TO:

'products_options_values' => $order->products[$i]['attributes'][$j]['value'], // Product Options Changed

 

 

FIND (line 644)

$products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . $attributes_values['products_options_values_name'];

 

CHANGE TO:

// Product Option Type contribution

$products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . tep_decode_specialchars($order->products[$i]['attributes'][$j]['value']);

// $products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . $attributes_values['products_options_values_name'];

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...