Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Multi_Vendor_Shipping new thread


blucollarguy

Recommended Posts

Jim

This isn't at the top of my checkout_shipping.php page. Hmmmmmm

The above code is where the Catalog Install instructions said to be: Look for lines 58-135 and replace with the code that starts with the above. And that's where I put it.

 

Would it help if I posted the 530 lines of my catalog/checkout_shipping.php? As far as I know, the MVS contribution is the only modification I've made to this file. The only other contributions I've done to the site thus far is Header Tags Controller and Shadowbox effect.

 

I've gone over the install instructions several times now and don't see any mistakes on my part. I'm not perfect, but I just am not seeing what went wrong. *pouts* *grins*

The line numbers in the instructions may be off a bit if you have other mods to that file. If this file has only minor changes other than MVS, I suggest that you take the MVS file from the distribution and put the other changes back in. That will probably be quicker than trying to figure out where this one went wrong.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Simply, yes.

 

Thanks for setting me straight. I really appreciate it.

 

Could someone make a comment in the contribution itself to save others going down the path we did? If this contribution needs UPS XML installed with/before this one it would be helpful to say so I think

Edited by flying_kites
Link to comment
Share on other sites

Thanks for setting me straight. I really appreciate it.

 

Could someone make a comment in the contribution itself to save others going down the path we did? If this contribution needs UPS XML installed with/before this one it would be helpful to say so I think

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

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

General Notes:

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

 

The standard osCommerce shippng modules have been modified and are included in this package.

The UPS module was replaced with the UPS Choice for functionality purposes and the contribution

package is included in the "MVS_Options" folder. Also in this folder is the contribution folder and

all unmodified files for the UPSXML contribution that has been modified for MVS. Package Dimension

support has NOT been included with MVS, although the files it uses are included(packaging.php), so if you are interested in using that part of the UPSXML

contribution, you will have to install it seperately. You will find other optional contributions

that have either been modified to work with MVS or written specifically for MVS but are not included

with the standard installation.

 

 

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

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

Version History:

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

This quote is from the readme that is included in MVS1.1, not that is does, in fact, already say that UPSXML dimensional support must be installed separately, what good does it do to add notes about something if it isn't read?

 

I posted this in response to your question before, but it probably got lost in the shuffle, many posts do.

 

We try to cover as many bases as possible, but we can't do it all.

 

Good luck, Craig :)

Happy Coding!

Craig Garrison Sr

Anything worth having, is worth working for.

Multi Vendor Shipping V1.1 Demo Catalog

3 Vendors, each category, "buy" a product from each category to see how MVS works during checkout.

Multi Vendor Shipping V1.1 Demo Admin

login: [email protected]

pass: mvs_demo

MVS Thread:

Multi-Vendor Shipping

My contribs:

Download Multi Vendor Shipping V1.1

Vendor Email

Vendor Info in easypopulate

EZ Price Updater

And more to come!

Link to comment
Share on other sites

Hello Masters,

 

I know you guys are doing a great job, but we all have to start from somewhere like me at the beginning here. :)

 

I have searched but i couldnt find it anywhere :rolleyes:

Please,when installing mvs how do you run the mvs.sql file.

 

Sorry, again.

 

Many Thanks

Regards

 

Ali :)

Link to comment
Share on other sites

Hello Masters,

 

I know you guys are doing a great job, but we all have to start from somewhere like me at the beginning here. :)

 

I have searched but i couldnt find it anywhere :rolleyes:

Please,when installing mvs how do you run the mvs.sql file.

 

Sorry, again.

 

Many Thanks

Regards

 

Ali :)

phpMyAdmin is the common interface to use, usually accessible from your hosts control panel, click on "Mysql Databases", and then towards the bottom of the page you should see some text, "phpMyAdmin", click on this text. Select the appropraite database, and then select "SQL" or "Import" from the tabs across the top, upload the mvs.sql file. Your database should now be updated.

 

If by chance you don't have access in this manner, you should have another link for the same type of process from whatever control panel your host provides.

 

Hope this gets you through it, Craig :)

Happy Coding!

Craig Garrison Sr

Anything worth having, is worth working for.

Multi Vendor Shipping V1.1 Demo Catalog

3 Vendors, each category, "buy" a product from each category to see how MVS works during checkout.

Multi Vendor Shipping V1.1 Demo Admin

login: [email protected]

pass: mvs_demo

MVS Thread:

Multi-Vendor Shipping

My contribs:

Download Multi Vendor Shipping V1.1

Vendor Email

Vendor Info in easypopulate

EZ Price Updater

And more to come!

Link to comment
Share on other sites

Thanks Craig, :)

 

Thats great, i try that.

 

you are doing a great job if i may say, it'll be sometimes before i get there, i hope it will be soon. :rolleyes:

 

Many Thanks, Regards

 

Ali

Link to comment
Share on other sites

This line is what sends customers directly to the payment page when they have only virtual products. Commenting it out will cause the problems you are seeing. I suspect that you have another error somewhere else as well, but I don't see anything wrong with the code you have shown..

 

Regards

Jim

 

 

Jim

 

Thanks for your answer

 

I do reallize what this line is for.

 

I completely reinstalled the entire MVS 1.1, and after testing everything I am still not able to ship virtual products by themselves. everything else works perfect in all ways. This is the only problem. When I turn MVS off everything then works without a glitch, even virtual products. And now, the above line is not commented out.

 

Larry

Link to comment
Share on other sites

Jim

 

Thanks for your answer

 

I do reallize what this line is for.

 

I completely reinstalled the entire MVS 1.1, and after testing everything I am still not able to ship virtual products by themselves. everything else works perfect in all ways. This is the only problem. When I turn MVS off everything then works without a glitch, even virtual products. And now, the above line is not commented out.

 

Larry

You have another modification to your code that adds a content type of"virtual_weight". I don't understand what this mod is doing, and it seems to be redundant. In any case, it comes from the get_content_type() method of the shopping_cart class (catalog/includes/classes/shopping_cart.php at lines 435-489.) Your other modifications should have been made there.

 

That method is called in the Order class and assigned to $order->content_type. That is used in several different places in the code. You will need to find all of those and modify them to recognize your new content type.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

You have another modification to your code that adds a content type of"virtual_weight". I don't understand what this mod is doing, and it seems to be redundant. In any case, it comes from the get_content_type() method of the shopping_cart class (catalog/includes/classes/shopping_cart.php at lines 435-489.) Your other modifications should have been made there.

 

That method is called in the Order class and assigned to $order->content_type. That is used in several different places in the code. You will need to find all of those and modify them to recognize your new content type.

 

Regards

Jim

 

 

The other modification is the gift voucher contribution, the content type "virtual_weight" is just what I pasted from the instructions. There is also content type of "virtual_weight" from the gift voucher contribution in the catalog/includes/classes/shopping_cart.php, at get_content_type. I have pasted that part of the classes/shopping_cart.php below. I know you are busy and I really hate taking up your time, but I love MVS and I really want to use it. My gift voucher contribution does work very well.

 

 

 

function get_content_type() {

$this->content_type = false;

 

if ( (DOWNLOAD_ENABLED == 'true') && ($this->count_contents() > 0) ) {

reset($this->contents);

while (list($products_id, ) = each($this->contents)) {

if (isset($this->contents[$products_id]['attributes'])) {

reset($this->contents[$products_id]['attributes']);

while (list(, $value) = each($this->contents[$products_id]['attributes'])) {

$virtual_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad where pa.products_id = '" . (int)$products_id . "' and pa.options_values_id = '" . (int)$value . "' and pa.products_attributes_id = pad.products_attributes_id");

$virtual_check = tep_db_fetch_array($virtual_check_query);

 

if ($virtual_check['total'] > 0) {

switch ($this->content_type) {

case 'physical':

$this->content_type = 'mixed';

 

return $this->content_type;

break;

default:

$this->content_type = 'virtual';

break;

}

} else {

switch ($this->content_type) {

case 'virtual':

$this->content_type = 'mixed';

 

return $this->content_type;

break;

default:

$this->content_type = 'physical';

break;

}

}

}

// ############ Added CCGV Contribution ##########

} elseif ($this->show_weight() == 0) {

reset($this->contents);

while (list($products_id, ) = each($this->contents)) {

$virtual_check_query = tep_db_query("select products_weight from " . TABLE_PRODUCTS . " where products_id = '" . $products_id . "'");

$virtual_check = tep_db_fetch_array($virtual_check_query);

if ($virtual_check['products_weight'] == 0) {

switch ($this->content_type) {

case 'physical':

$this->content_type = 'mixed';

 

return $this->content_type;

break;

default:

$this->content_type = 'virtual';

break;

}

} else {

switch ($this->content_type) {

case 'virtual':

$this->content_type = 'mixed';

 

return $this->content_type;

break;

default:

$this->content_type = 'physical';

break;

}

}

}

// ############ End Added CCGV Contribution ##########

} else {

switch ($this->content_type) {

case 'virtual':

$this->content_type = 'mixed';

 

return $this->content_type;

break;

default:

$this->content_type = 'physical';

break;

}

}

}

} else {

$this->content_type = 'physical';

}

 

return $this->content_type;

}

 

function unserialize($broken) {

for(reset($broken);$kv=each($broken);) {

$key=$kv['key'];

if (gettype($this->$key)!="user function")

$this->$key=$kv['value'];

}

}

 

// ############ Added CCGV Contribution ##########

// amend count_contents to show nil contents for shipping

// as we don't want to quote for 'virtual' item

// GLOBAL CONSTANTS if NO_COUNT_ZERO_WEIGHT is true then we don't count any product with a weight

// which is less than or equal to MINIMUM_WEIGHT

// otherwise we just don't count gift certificates

 

function count_contents_virtual() { // get total number of items in cart disregard gift vouchers

$total_items = 0;

if (is_array($this->contents)) {

reset($this->contents);

while (list($products_id, ) = each($this->contents)) {

$no_count = false;

$gv_query = tep_db_query("select products_model from " . TABLE_PRODUCTS . " where products_id = '" . $products_id . "'");

$gv_result = tep_db_fetch_array($gv_query);

if (ereg('^GIFT', $gv_result['products_model'])) {

$no_count=true;

}

if (NO_COUNT_ZERO_WEIGHT == 1) {

$gv_query = tep_db_query("select products_weight from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($products_id) . "'");

$gv_result=tep_db_fetch_array($gv_query);

if ($gv_result['products_weight']<=MINIMUM_WEIGHT) {

$no_count=true;

}

}

if (!$no_count) $total_items += $this->get_quantity($products_id);

}

}

return $total_items;

}

// ############ End Added CCGV Contribution ##########

}

?>

Link to comment
Share on other sites

Heya Jim and gang,

 

Ok, the errors I were having (see my last few posts above) were rectified when I deleted out of the test account's shopping cart the products that were being shipped via UPS and FedEx.

 

With the FedEx, I only have one vendor thus far using this shipping method and they only provide City, State, Zip Code. However, the error message I was receiving was that FedEx was needing a street address. I've emailed that vendor, explaining the situation in detail, but they came back saying Fed Ex only needs City, State, Zip Code. *shrugs* I've tried doing online searches for their street address but haven't gotten any results. Not sure where to go from here with this particular problem.

 

Now, with the UPS error (paraphrase the error - couldn't establish a link to get a quote). I am using the first UPS shipping module in the MVS (not the UPS XML). I was assuming, and correct me if I'm wrong, that if one uses the first UPS shipping module for a vendor, you don't need to establish an UPS account, whereas you need one with the UPS XML one. Is this where my error is? And if I do need a UPS accuont for the first UPS module, there is no place when setting up that module for the vendor for putting in your UPS account information. So, that is why I assumed you didn't need one. How do I rectify this?

 

Side question - When using Table Rate and such, it's labeled as "Best Way" - where is the file I need to go to to change this label to another wording - and what suggestions do you have for better wording than just "Best Way"?

 

One last question - When a customer has several products in their cart, and thus various shipping methods listed (one per product) - where do I go (file) to make the list more "eye friendly"? I was thinking of perhaps bolding the product names or something. It's just hard to read when all the text on the checkout_shipping.php is all one font, face, and style. Any further suggestions on this?

 

Thanks in advance for helping with these 4 questions.

Link to comment
Share on other sites

I've got the old MVS installed on my store. Should I upgrade to the latest 1.0 version?

 

Would I have to go through all my products and set there vendor ID again?

Link to comment
Share on other sites

I've got the old MVS installed on my store. Should I upgrade to the latest 1.0 version?

 

Would I have to go through all my products and set there vendor ID again?

You should compare the files included in the package with the files in the version you installed to find the updates on the catalog side. On the admin, side I would suggest doing the same thing with osC modified files, and replacing the MVS files with the new versions, make back ups of every file you replace or update, VERY IMPORTANT !!!!!!!!!!!!!!

 

No changes will be made to your existing Vendors, so you won't need to change any product info(re-assign Vendors).

 

Good luck, Craig :)

Happy Coding!

Craig Garrison Sr

Anything worth having, is worth working for.

Multi Vendor Shipping V1.1 Demo Catalog

3 Vendors, each category, "buy" a product from each category to see how MVS works during checkout.

Multi Vendor Shipping V1.1 Demo Admin

login: [email protected]

pass: mvs_demo

MVS Thread:

Multi-Vendor Shipping

My contribs:

Download Multi Vendor Shipping V1.1

Vendor Email

Vendor Info in easypopulate

EZ Price Updater

And more to come!

Link to comment
Share on other sites

Heya Jim and gang,

 

Ok, the errors I were having (see my last few posts above) were rectified when I deleted out of the test account's shopping cart the products that were being shipped via UPS and FedEx.

 

With the FedEx, I only have one vendor thus far using this shipping method and they only provide City, State, Zip Code. However, the error message I was receiving was that FedEx was needing a street address. I've emailed that vendor, explaining the situation in detail, but they came back saying Fed Ex only needs City, State, Zip Code. *shrugs* I've tried doing online searches for their street address but haven't gotten any results. Not sure where to go from here with this particular problem.

They can't tell you their address? Something is wrong there. Perhaps you need to find a new vendor. I don't know what the product line is, so I can't tell how easy that would be. Your only other alternative would be to approximate the shipping charges with something like the Zones module, using the FedEx ratebook as a guide.

Now, with the UPS error (paraphrase the error - couldn't establish a link to get a quote). I am using the first UPS shipping module in the MVS (not the UPS XML). I was assuming, and correct me if I'm wrong, that if one uses the first UPS shipping module for a vendor, you don't need to establish an UPS account, whereas you need one with the UPS XML one. Is this where my error is? And if I do need a UPS accuont for the first UPS module, there is no place when setting up that module for the vendor for putting in your UPS account information. So, that is why I assumed you didn't need one. How do I rectify this?

Correct, no account is needed. To debug, go to catalog/includes/modules/vendors_shipping/ups.php, Lines 353-355: Uncomment and replace the email address with yours. Run a test order and examine the email for hints of what's going wrong. If you can't figure it out, post the email body here and we'll take a look.

Side question - When using Table Rate and such, it's labeled as "Best Way" - where is the file I need to go to to change this label to another wording - and what suggestions do you have for better wording than just "Best Way"?

 

One last question - When a customer has several products in their cart, and thus various shipping methods listed (one per product) - where do I go (file) to make the list more "eye friendly"? I was thinking of perhaps bolding the product names or something. It's just hard to read when all the text on the checkout_shipping.php is all one font, face, and style. Any further suggestions on this?

 

Thanks in advance for helping with these 4 questions.

The last two require changes in catalog/includes/languages/english/checkout_shipping.php, catalog/includes/languages/english.php, or catalog/includes/languages/english/modules/vendor_shipping/table.php. A search for the text string that you want to modify or remove will usually turn up the proper file. For shipping, perhaps something like "Ground" (which it usually is.)

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Jim,

 

Thank you yet again for helping out.

 

FedEx situation: yeah, after 2 days, no answer from them. They are one of 13 vendors I have - I guess I can drop them. I agree, something fishy if they won't provide a street address. Even if there isn't anything fishy on their end, it doesn't instill confidence in me. Thankfully, I hadn't loaded many of their products.

 

UPS Situation: I did your suggestion, will be doing a test purchase here shortly. I'll let you know what happens.

 

"Best Way" - I found a thread in the General Support forum for the files and when I do the test purchase, I should see my changes. I just put "Shipping", but your "Ground" might end up being a better choice.

 

I'll go into the appropriate file to change the appearance of the shipping_checkout.php page once I know things are working right.

 

Thank you again!

Link to comment
Share on other sites

ummmm, I was just in the vendors_shipping folder making the UPS changes Jim mentioned above and now I notice .php files in there that I don't remember uploading. Does anyone recognize them?

 

freeamount.php

$Id$ freeamount.php 2

 Modified for MVS V1.0 2006/03/25 JCK/CWG
 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2006 osCommerce

 Released under the GNU General Public License

 ----------------------------------------------
 ane - 06/02/02 - modified freecount.php to
 allow for freeshipping on minimum order amount
 originally written by dwatkins 1/24/02
 Modified BearHappy 09/04/04
 ----------------------------------------------

 

spu.php

$Id: spu.php,v 1.4 2002/11/10 14:29:56 mattice Exp $
 CONTRIB is Store Pickup Shipping Module (http://www.oscommerce.com/community/contributions,164)
 Based upon spu.php / spu.php by M. Halvorsen (http://www.arachnia-web.com)

 Made to work with latest check-out procedure by Matthijs (Mattice)
 >> e-mail:	[email protected]
 >> site:	  http://www.matthijs.org

 TO TRANSLATE IN GERMAN !!

 Modified for MVS V1.0 2006/03/25 JCK/CWG
 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2006 osCommerce

 

Or, am I just going nutz and these are supposed to be here?

Link to comment
Share on other sites

The other modification is the gift voucher contribution, the content type "virtual_weight" is just what I pasted from the instructions. There is also content type of "virtual_weight" from the gift voucher contribution in the catalog/includes/classes/shopping_cart.php, at get_content_type. I have pasted that part of the classes/shopping_cart.php below. I know you are busy and I really hate taking up your time, but I love MVS and I really want to use it. My gift voucher contribution does work very well.

<code snipped>

I don't see the content_type of "virtual_weight" anywhere in the code that you pasted. I also don't see anything wrong with that code. The only store that I have that is using both CCGV and MVS is using an older version of CCGV which is quite different, so that's no help. You still have a bug somewhere, but I doubt that it's in this particular code. Unless I've missed something. That's quite possible.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

ummmm, I was just in the vendors_shipping folder making the UPS changes Jim mentioned above and now I notice .php files in there that I don't remember uploading. Does anyone recognize them?

Or, am I just going nutz and these are supposed to be here?

Those are shipping modules added in MVS 1.0. They are contributions that have been modified for MVS. I can't, however, guarantee anybody's sanity after looking at PHP for this long. Especially mine. :blink:

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Ok, I did a test purchase that included two vendors that use UPS. I still get the "We are unable to obtain a rate quote for UPS shipping" message.

 

I got 6 emails for these two products. All six say the same thing:

UPSOnLine5%Missing ConsigneeCountry%6840

 

I'm off to see if I am missing Country in the Vendor Management. *shrugs*

Link to comment
Share on other sites

The thing is, I didn't upload those files (there's actually another one also). I manually created the vendors_shipping folder and added:

fedex1.php

flat.php

item.php

table.php

ups.php

upsxml.php

usps.php

zones.php

 

How did the spu.php and the other ones get added? Did I "activate them" somehow when I did some work in the Vendors Management section of Admin?

 

Those are shipping modules added in MVS 1.0. They are contributions that have been modified for MVS. I can't, however, guarantee anybody's sanity after looking at PHP for this long. Especially mine. :blink:

 

Regards

Jim

Link to comment
Share on other sites

Ok, I did a test purchase that included two vendors that use UPS. I still get the "We are unable to obtain a rate quote for UPS shipping" message.

 

I got 6 emails for these two products. All six say the same thing:

UPSOnLine5%Missing ConsigneeCountry%6840

 

I'm off to see if I am missing Country in the Vendor Management. *shrugs*

"ConsigneeCountry" is the customer's ship-to country. That should be getting passed to the module. Unfortunately there are a number of places that it could go missing.

 

The modules don't copy themselves. I hope. Perhaps you uploaded the entire directory without realizing it.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Ok, I am in catalog/includes/languages/english.php and I do not see an entry concerning the customer's country. This could be my UPS problem. Since I only ship within the US, what are the lines I need to add to this file so the US is listed within the customers accounts by default (or the only entry in a drop down menu) so it appeases the UPS gods?

 

Also, concerning the mystery files - no, I uploaded the ones I listed by hand individually - just as long as they are legitamate files and not something someone added by hacking or such, I won't worry about it.

Link to comment
Share on other sites

Ok, I am in catalog/includes/languages/english.php and I do not see an entry concerning the customer's country. This could be my UPS problem. Since I only ship within the US, what are the lines I need to add to this file so the US is listed within the customers accounts by default (or the only entry in a drop down menu) so it appeases the UPS gods?

 

Also, concerning the mystery files - no, I uploaded the ones I listed by hand individually - just as long as they are legitamate files and not something someone added by hacking or such, I won't worry about it.

The customer's country comes from the Order class (catalog/includes/classes/order.php) which gets it from the database (customers_country column in the Orders table.) I would look first in the database to see if the country is being recorded correctly. If the country is correct in the database then the problem lies in one of the above two files. If it is not correct in the database, you may have an error in your checkout shipping or checkout process code. If all of those are correct, then check the Orders and Shopping Cart classes.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

I have to be honest - I don't understand half of what you said. I'm still a complete newbie.

 

I looked at the Orders table in myPHPAdmin - it's showing and labeled the same as street address, city, state, etc. Not sure how I would know if it's "being recorded correctly".

 

I also looked in classes/order.php and country is showing just like other elements of a customer's address.

 

The ONLY problem I can see is what I stated above - that anything concerning Country is not showing in catalog/includes/languages/english.php. The only thing I can think of what that I may have stupidly deleted country, since I was assuming that since I will only be shipping within the US, I didn't need reference to countries, not knowing that shipping modules would need this.

 

So, what lines do I add back into the english.php file so country selection shows up in a customer's account, so they are required to select a country? IF someone can add a code that would allow for just the US to show up so no one selects another country, that would be great also.

Link to comment
Share on other sites

I looked at the Orders table in myPHPAdmin - it's showing and labeled the same as street address, city, state, etc. Not sure how I would know if it's "being recorded correctly".

 

Open the orders table, click on the "Browse" tab, then look at the entries in the "delivery_country" column... if they say United States, it is being recorded correctly.

 

I also looked in classes/order.php and country is showing just like other elements of a customer's address.

 

The ONLY problem I can see is what I stated above - that anything concerning Country is not showing in catalog/includes/languages/english.php. The only thing I can think of what that I may have stupidly deleted country, since I was assuming that since I will only be shipping within the US, I didn't need reference to countries, not knowing that shipping modules would need this.

 

So, what lines do I add back into the english.php file so country selection shows up in a customer's account, so they are required to select a country? IF someone can add a code that would allow for just the US to show up so no one selects another country, that would be great also.

 

The easy way is to use Winmerge to compare your english.php file with the stock osc version, add back in any missing bits, then in your database delete all countries except USA.

 

:)

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...