Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Quantity Price Breaks


jpweber

Recommended Posts

I tried to add Quantity price break distributor, yesterday it ran fine, today I got this error message. I don't what I did. I checked the sql table and I saw Products_to_discount_categories there. Can anyone help me please. Thanks

 

1146 - Table 'sml2005.TABLE_PRODUCTS_TO_DISCOUNT_CATEGORIES' doesn't exist

 

select pd.products_name, p.products_model, p.products_image, p.products_id, p.manufacturers_id, p.products_price, p.products_weight, p.products_quantity, p.products_qty_blocks, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, ptdc.discount_categories_id from products p left join specials s on p.products_id = s.products_id left join TABLE_PRODUCTS_TO_DISCOUNT_CATEGORIES ptdc on p.products_id = ptdc.products_id, products_description pd where p.products_status = '1' and pd.products_id = p.products_id and p.products_id = '40' and pd.language_id = '1'

Link to comment
Share on other sites

Is there a way to merge Quantity Price Break and Header Tags SEO in admin/categories.php?

Should be possible but I agree it often becomes a bit of a puzzle after adding several contributions in that file.

Link to comment
Share on other sites

  • 1 month later...

This is an excellent contribution. Thank you.

 

Im looking to insert a % discount rather than a price discount for some discount catagories.

Also, the field im looking to also sort by is size.

Ex.

The discount pools go as follow

Sizes - Amounts - %

1.5 - 6 bottle case - 15%

.750 - 12 bottle case - 15%

3.0 - 4 bottle case - 15%

5.0 - 4 per case - 15%

 

Any suggestions?

Edited by jvigilia
Link to comment
Share on other sites

  • 4 weeks later...

In process of testing this contribution I found if you have Option Type Features or any product attributes that have comma (for example customer who enters imprint text such as wedding date : August 23, 2010) the add to cart breaks and customer cannot see anything on the site but SQL error till they purge their cookies.

 

Here is a fix for that:

 

in

 

catalog/includes/classes/PriceFormatterStore.php

 

change this line

$product_id_list_temp_array = explode(",", $product_id_list);

 

to this

 

$product_id_list_temp_array = explode(">", $product_id_list);

 

That changed the separator from comma to a character that is not used in your option/attributes and that seemed to have fixed the issue. Looks like you can use any character or symbol that is not used in the attributes of your products. So you can make it look like

 

$product_id_list_temp_array = explode("*", $product_id_list);

or

$product_id_list_temp_array = explode("|", $product_id_list);

Genie Livingstone

thanks for not spamming the forums

Link to comment
Share on other sites

In version QPBPP_v1_3_5 you can only add net prices. I was looking for a way to put gross prices in and that is the way you do it:

 

admin/categories.php

 

After: (in the javascript section of categories.php)

function updateNet() {
 var taxRate = getTaxRate();
 var netValue = document.forms["new_product"].products_price_gross.value;

 if (taxRate > 0) {
   netValue = netValue / ((taxRate / 100) + 1);
 }

 document.forms["new_product"].products_price.value = doRound(netValue, 4);
}

insert:

<?php 
 for ($count = 0; $count <= (PRICE_BREAK_NOF_LEVELS - 1); $count++) {
?>
function updateGross<?php echo $count; ?>() {
 var taxRate = getTaxRate();
 var grossValue = document.forms["new_product"].products_price<?php echo $count; ?>.value;

 if (taxRate > 0) {
   grossValue = grossValue * ((taxRate / 100) + 1);
 }

 document.forms["new_product"].products_price_gross<?php echo $count; ?>.value = doRound(grossValue, 4);
}

function updateNet<?php echo $count; ?>() {
 var taxRate = getTaxRate();
 var netValue = document.forms["new_product"].products_price_gross<?php echo $count; ?>.value;

 if (taxRate > 0) {
   netValue = netValue / ((taxRate / 100) + 1);
 }

 document.forms["new_product"].products_price<?php echo $count; ?>.value = doRound(netValue, 4);
}
<?php } ?>

 

Replace:

               if(is_array($price_breaks_array) && array_key_exists($count, $price_breaks_array)) {
                 echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_price' . $count, $price_breaks_array[$count]['products_price'], 'size="10"');
                 echo tep_draw_separator('pixel_trans.gif', '24', '15') . TEXT_PRODUCTS_QTY;
                 echo tep_draw_separator('pixel_trans.gif', '24', '15') . tep_draw_input_field('products_qty' . $count, $price_breaks_array[$count]['products_qty'], 'size="10"');
                 echo tep_draw_separator('pixel_trans.gif', '24', '15') . tep_draw_checkbox_field('products_delete' . $count, 'y', false) . TEXT_PRODUCTS_DELETE;
               } else {
                 echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_price' . $count, '', 'size="10"');
                 echo tep_draw_separator('pixel_trans.gif', '24', '15') . TEXT_PRODUCTS_QTY;
                 echo tep_draw_separator('pixel_trans.gif', '24', '15') . tep_draw_input_field('products_qty' . $count, '', 'size="10"');
               }

 

With:

               if(is_array($price_breaks_array) && array_key_exists($count, $price_breaks_array)) {
                 echo tep_draw_separator('pixel_trans.gif', '3', '15') . TEXT_PRODUCTS_PRICE_NET . ' ' . tep_draw_input_field('products_price' . $count, $price_breaks_array[$count]['products_price'], 'onKeyUp="updateGross'.$count.'()"');
                 echo '<br>' . tep_draw_separator('pixel_trans.gif', '3', '15') . TEXT_PRODUCTS_PRICE_GROSS . tep_draw_input_field('products_price_gross' . $count, $price_breaks_array[$count]['products_price'], 'onKeyUp="updateNet'.$count.'()"');
                 echo tep_draw_separator('pixel_trans.gif', '3', '15') . TEXT_PRODUCTS_QTY;
                 echo tep_draw_separator('pixel_trans.gif', '3', '15') . tep_draw_input_field('products_qty' . $count, $price_breaks_array[$count]['products_qty'], 'size="10"');
                 echo tep_draw_separator('pixel_trans.gif', '3', '15') . tep_draw_checkbox_field('products_delete' . $count, 'y', false) . TEXT_PRODUCTS_DELETE;
               } else {
                 echo tep_draw_separator('pixel_trans.gif', '3', '15') . TEXT_PRODUCTS_PRICE_NET . ' ' . tep_draw_input_field('products_price' . $count, $price_breaks_array[$count]['products_price'], 'onKeyUp="updateGross'.$count.'()"');
                 echo '<br>' . tep_draw_separator('pixel_trans.gif', '3', '15') . TEXT_PRODUCTS_PRICE_GROSS . tep_draw_input_field('products_price_gross' . $count, $price_breaks_array[$count]['products_price'], 'onKeyUp="updateNet'.$count.'()"');
                 echo tep_draw_separator('pixel_trans.gif', '3', '15') . TEXT_PRODUCTS_QTY;
                 echo tep_draw_separator('pixel_trans.gif', '3', '15') . tep_draw_input_field('products_qty' . $count, '', 'size="10"');
               }

 

Directly below after:

 

               ?>
             </td>
           </tr>
           <?php
           }
           ?>

 

Insert:

<script language="javascript"><!--
<?php 
 for ($count = 0; $count <= (PRICE_BREAK_NOF_LEVELS - 1); $count++) {
?>
updateGross<?php echo $count; ?>();
<?php
}
?>
//--></script>

 

Now you can enter the price as net or gross. :)

Link to comment
Share on other sites

opening my admin login, no longer likes me

 

1146 - Table 'admin_mystore_com.TABLE_ADMIN_FILES' doesn't exist

 

select admin_files_id from TABLE_ADMIN_FILES where FIND_IN_SET( '1', admin_groups_id) and admin_files_is_boxes = '1' and admin_files_name = 'administrator.php'

 

[TEP STOP]

 

thoughts?

Link to comment
Share on other sites

  • 4 weeks later...

Knowing absolutely nothing about PHP, I should just give up! I'm so aggravated right now! Okay, first of all, I already had Option Types installed on my site as well as the security add-ons that were suggested in the forums. After installing Quantity Price Breaks I now have at least two problems so far....

 

1) When I go to www.mysite.com, it says, "Parse error: syntax error, unexpected T_RETURN, expecting T_FUNCTION in /home2/myusername/public_html/includes/classes/shopping_cart.php on line 464

When I go to that file and look at line 464, it says, "return $products_array;". I HAVE NOT A CLUE what that means or how to fix it!

 

2) When I go to my admin and click on Catalog and then "Categories / Products", it says "1146 - Table 'myusername_osc1.products_to_discount_categories' doesn't exist"

When I go admin/includes/database_tables.php the last "define" line defines this table so I don't understand why it's saying that it doesn't exist!

 

Thank god I backed up all of my files right before I installed this. If I've learned nothing else, I've learned to back up.....back up.....and back up again! I'll try to fix this (with your help) but, I guess I'll restore my store and give up if I don't get anywhere. It's a shame, too, because I really need this add-on!

 

Will someone please help?!

Link to comment
Share on other sites

In regards to my last post, I'm using OSCommerce v2.2 RC2 and the last 7 lines of my catalog/includes/database_tables.php file reads as follows:

 

define('TABLE_ZONES', 'zones');

// BOF qpbpp

define('TABLE_PRODUCTS_PRICE_BREAK', 'products_price_break');

define('TABLE_DISCOUNT_CATEGORIES', 'discount_categories');

define('TABLE_PRODUCTS_TO_DISCOUNT_CATEGORIES', 'products_to_discount_categories');

// EOF qpbpp

?>

 

I copied and pasted it directly to this post.

Link to comment
Share on other sites

1) When I go to www.mysite.com, it says, "Parse error: syntax error, unexpected T_RETURN, expecting T_FUNCTION in /home2/myusername/public_html/includes/classes/shopping_cart.php on line 464

When I go to that file and look at line 464, it says, "return $products_array;". I HAVE NOT A CLUE what that means or how to fix it!

The actual error is probably earlier. Can't tell you what it is. When I get an error like that I only have to scan the code to see what I did wrong. I'm sorry, I learned PHP by reading books and writing code.

 

2) When I go to my admin and click on Catalog and then "Categories / Products", it says "1146 - Table 'myusername_osc1.products_to_discount_categories' doesn't exist"

When I go admin/includes/database_tables.php the last "define" line defines this table so I don't understand why it's saying that it doesn't exist!

But did you actually run the sql commands to install these tables in the database?

Link to comment
Share on other sites

The actual error is probably earlier. Can't tell you what it is. When I get an error like that I only have to scan the code to see what I did wrong. I'm sorry, I learned PHP by reading books and writing code.

 

 

But did you actually run the sql commands to install these tables in the database?

 

You're probably gonna be upset when I say this but I don't even know what that means! What are "SQL commands" and what program do I use to run them? (I use a Mac, BTW) I guess my answer is, "No, I didn't." Is it too late to do that?

 

I backed up my site and then did the changes manually so, after I realized everything was messed up, I changed the file names of all the files I changed to "(Filename)2" and then used FTP to put all my original files back in. Right now my site is back to the way it was before the changes and I still have copies of the files with the Quantity Price Breaks changes, too. Hope that makes sense. I wanted my site back to "normal" without losing all the changes I made to the files so I could try to use them again when I work all the problems out.

 

I can tell you one thing that might make a difference. I had already installed a few different add-ons to my site (including STS, some security add-ons, Option Types) and, when I tried to install Quantity Price Breaks manually, I did run into ONE change where my original file didn't say EXACTLY what the instructions said that should. It was the includes/application_top.php file. The instructions for QPBPP read:

 

Find (around line 361 [around line 368 in edited file]):

 

 

$cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id']))+1, $HTTP_POST_VARS['id']);

 

Replace with:

 

 

//BOF qpbpp

//$cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id']))+1, $HTTP_POST_VARS['id']);

$cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id'])) + $HTTP_POST_VARS['cart_quantity'], $HTTP_POST_VARS['id']);

//EOF qpbpp

 

But my original file didn't look like that. It looked like this:

 

$cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $real_ids))+1, $real_ids);

 

 

Since all of that is jibberish to me, I wasn't sure what change to make. I tried two different things, one of which was just to replace it....as the instructions stated. The other was to look at both lines and try to combine the two. LOL (probably not funny)

I do want to learn PHP but that takes time and, in the meantime, we need a website and we can't afford to pay someone. So far, until now, I've been able to copy and paste using add-on instructions. This is the first time I've run into trouble. I'm learning as I go and I'm starting to read tutorials but I'm running a business with Mom, working full time as a Registered Nurse, and trying to keep everything else in my life running smoothly....which hasn't gone well since my husband's recent accidental death at 31-years-old. I'm sorry.....I'm just so frustrated! I have way too much on my plate!

 

If I get this installed correctly, our site will have to be good enough for Mom or she'll have to agree to pay someone. I'm done until I learn more about what I'm doing!

 

Thanks for responding!

Edited by cherishedmoments
Link to comment
Share on other sites

Jan, I know this is kind of off-topic but is there any particular resources that you'd suggest to teach myself PHP? I kinda taught myself HTML so I'm hoping I'll be able to do the same with PHP. There are numerous places on the web but I didn't know if one was better than the other or if there are books that would be better than the web. (sigh)

 

Thanks in advance!

Link to comment
Share on other sites

But did you actually run the sql commands to install these tables in the database?

 

I know I'm posting way too much but I just found something called phpMyAdmin on the control panel in my hosts website. It pulls up a page that says, "Run SQL query/queries on server "localhost":" at the top and has a box under it to enter text. I just don't know what I'm supposed to enter into it. I guess I'm learning more and more every day!

Link to comment
Share on other sites

"Run SQL query/queries on server "localhost":" at the top and has a box under it to enter text. I just don't know what I'm supposed to enter into it.

I think you can also upload .sql files to execute but if you want to use this particular box you copy the text from the .sql file (open with a text editor) into the box and then run it.

Link to comment
Share on other sites

Please help! I semi-successfully installed Quantity Price Breaks. My admin looks perfect and Quantity Price Breaks is installed. I can make changes to my products and, like I said.....nothing seems to be wrong at all in my admin. The problem I have now is this.... THIS When you first go to my site, everything looks ok. But when you click on an occasion from the left-hand column, my products aren't showing up! They show up in the "new items for October" and in the "Cart Contents"....just not when you try to click on an occasion! It won't let me put new items in my cart but, the ones that were already there (on a test account) still show up! The weird part is, the site seems to know how many products I have per category, it just displays blank products. If you try to click on one of the "blank" products, it says, "Product not found". What file have I messed up?! It seems like it should be an easy fix. I just don't now what file gets products from my admin and displays them when you click on them from the menu.

Link to comment
Share on other sites

Please help! I semi-successfully installed Quantity Price Breaks. My admin looks perfect and Quantity Price Breaks is installed. I can make changes to my products and, like I said.....nothing seems to be wrong at all in my admin. The problem I have now is this.... THIS When you first go to my site, everything looks ok. But when you click on an occasion from the left-hand column, my products aren't showing up!

You messed up includes/modules/product_listing.php. There is no real need to change this file. If you can live without not showing a "from" price in there just use your original file. Of course you have a backup :-"

Link to comment
Share on other sites

You messed up includes/modules/product_listing.php. There is no real need to change this file. If you can live without not showing a "from" price in there just use your original file. Of course you have a backup :-"

 

Jan, I'm back in business and I would kiss your cheek if you were here! Thank you soooooooo much!

Link to comment
Share on other sites

Ok, stupid question. I know I must have accidentally run the query twice because, when I go to my admin...."Maximum number of price break levels" is in there twice. Oops! How do I take one of them out? I wasn't sure if I had to type something into my query box or if it was something I could manually remove. I still don't know enough about that stuff. LOL

Link to comment
Share on other sites

when I go to my admin...."Maximum number of price break levels" is in there twice. Oops! How do I take one of them out?

Where you see it, you can probably also delete the duplicate entry (table configuration). I'm not that familiar with the user interface of phpMyAdmin so can't be more specific.

Link to comment
Share on other sites

  • 2 weeks later...

I hate to say it but I'm back again! I don't know if you remember but I said before that I installed STS but hadn't played around with it (I left it set to "false"). Then I added QPBPP and got it working just fine. Well, a few days ago, I finally set STS to "true". Everything looked fine and seemed to work fine. I configured a template and got it looking how I wanted. No errors on the customer's end. I thought everything was fine! They, today, I decided to edit some pictures and make them look better. I saved the new pictures to my computer and was ready to upload them to my product listings. I went to my admin and clicked "edit" on one of my products. I uploaded the new picture and then clicked "preview" at the bottom. It took me to the next page where I saw the bright green bar at the top (my picture was uploaded successfully) and I clicked "update". Then I got this:

 

Fatal error: Call to undefined function qpbpp_insert_update_discount_cats() in /home/username/public_html/admin/categories.php on line 277

 

Line 277 in that file reads as follows:

 

$discount_category_result = qpbpp_insert_update_discount_cats($products_id, $current_discount_category, $new_discount_category);

 

Now it never did that before I changed STS to "true". So I guess I'm just not sure what went wrong or what's causing the problem. What should I do? Does this mean that my price breaks will be ignored until I get it fixed?

Edited by cherishedmoments
Link to comment
Share on other sites

Now it never did that before I changed STS to "true".

Hard to see a connection between STS and the admin/categories.php file. I assume that particular function (should) has (have) been added to admin/includes/functions/general.php. That file (or any other file where it went into) is included by application_top.php on the admin side. If that is not included a lot more things would have gone wrong.

 

I suggest you check the instructions again to see where that function should have been added and that it is indeed added (and not for example outside of the PHP tags in the file).

Link to comment
Share on other sites

Hard to see a connection between STS and the admin/categories.php file. I assume that particular function (should) has (have) been added to admin/includes/functions/general.php. That file (or any other file where it went into) is included by application_top.php on the admin side. If that is not included a lot more things would have gone wrong.

 

I suggest you check the instructions again to see where that function should have been added and that it is indeed added (and not for example outside of the PHP tags in the file).

 

Okay, you were right. I changed STS to false and it still does that. It was just a coincidence.

I have added "Dynamenu" lately and also added some of the little "tweaks" that people added to that add-on. My guess is that I've done something that conflicted with QPBPP because the line that causes the fatal error is a line I added with QPBPP. It was within this:

 

// BOF qpbpp

tep_db_query("delete from " . TABLE_PRODUCTS_PRICE_BREAK . " where products_id = '" . (int)$products_id . "'");

for ($count = 0; $count <= (PRICE_BREAK_NOF_LEVELS - 1); $count++) {

if(isset($HTTP_POST_VARS['products_price' . $count]) && tep_not_null($HTTP_POST_VARS['products_price' . $count]) &&

isset($HTTP_POST_VARS['products_qty' . $count]) && tep_not_null($HTTP_POST_VARS['products_qty' . $count]) &&

!(isset($HTTP_POST_VARS['products_delete' . $count]) && tep_not_null($HTTP_POST_VARS['products_delete' . $count]))) {

$sql_price_break_data_array = array(

'products_id' => (int)$products_id,

'products_price' => tep_db_prepare_input($HTTP_POST_VARS['products_price' . $count]),

'products_qty' => tep_db_prepare_input($HTTP_POST_VARS['products_qty' . $count]));

tep_db_perform(TABLE_PRODUCTS_PRICE_BREAK, $sql_price_break_data_array);

}

}

 

$current_discount_category = (int)$_POST['current_discount_cat_id'];

$new_discount_category = (int)$_POST['discount_categories_id'];

$discount_category_result = qpbpp_insert_update_discount_cats($products_id, $current_discount_category, $new_discount_category); {

if ($discount_category_result == false)

$messageStack->add_session(ERROR_UPDATE_INSERT_DISCOUNT_CATEGORY, 'error');

}

// EOF qpbpp

 

Sound like the place to start? I know that Dynamenu has me make changes to application_top.php.

Link to comment
Share on other sites

Hard to see a connection between STS and the admin/categories.php file. I assume that particular function (should) has (have) been added to admin/includes/functions/general.php. That file (or any other file where it went into) is included by application_top.php on the admin side. If that is not included a lot more things would have gone wrong.

 

I suggest you check the instructions again to see where that function should have been added and that it is indeed added (and not for example outside of the PHP tags in the file).

 

Jan,

I just wanted to say thanks! I installed Dynamenu and, when I did, I tried to add an "added feature" that someone suggested. They failed to mention that, in order to do that, I had to install an SEO add-on (why, I don't know because they had TOTALLY unrelated functions!). I didn't realize that until I got to the end and went to the forums to figure out what went wrong. That's when I read that I had to have SEO installed. Well, it is a VERY hard install and I never figured it out. I attempted and failed. I tried to undo everything that I had done but, somehow I managed to replace my general.php file in the process. Once I realized that (thanks to you), I put the QPBPP code back into that file and, of course, my fatal error was gone. Thank you so much!

I know I post here alot. I'm REALLY trying to learn PHP but it's not easy (as you know) and I'm still quite the newbie. I am learning through things like this, though. What has helped me the most is downloading software for my Mac computer called, "Text Wrangler". Not only will it do file comparisons, but it also will allow me to use FTP to compare my sites files with files on my computer (such as the general.php file that came with QPBPP). So, I can open the two, it'll show me the differences, and I can either replace that line or not. I guess we all learn as we go! I certainly appreciate your patience with me, though, as I learn! :-) One of the hardest things for me is figuring out what error messages mean. I'm starting to get it, though. I have a better understanding of how files work with each other. I understand, now, that my error was telling me that I was missing this line:

 

function qpbpp_insert_update_discount_cats($products_id, $current_discount_categories_id, $new_discount_categories_id) {

 

from general.php and it couldn't find it! See, I'm learning!!!! :-)

Link to comment
Share on other sites

Hi, I've just spent the past 2 1/2 hours reading the forum posts for this module and haven't found an actual solution for the issue that I am having. I have installed the module and run the sql script that came with it, but now on my product_info.php?products_id=28 page I get this error message:

1146 - Table 'db3435795133.products_to_discount_categories' doesn't exist

select pd.products_name, p.products_model, p.products_image, p.products_id, p.manufacturers_id, p.products_price, p.products_weight, p.products_quantity, p.products_qty_blocks, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, ptdc.discount_categories_id from products p left join specials s on p.products_id = s.products_id left join products_to_discount_categories ptdc on p.products_id = ptdc.products_id, products_description pd where p.products_status = '1' and pd.products_id = p.products_id and p.products_id = '28' and pd.language_id = '1'

[TEP STOP]

 

on my admin/categories.php page I get:

 

1146 - Table 'db3435795133.products_to_discount_categories' doesn't exist

select p.products_id, pd.products_name, p.products_quantity, p.products_image, p.products_price, p.products_qty_blocks, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status, ptdc.discount_categories_id, dc.discount_categories_name from products p left join products_to_discount_categories ptdc on p.products_id = ptdc.products_id left join discount_categories dc using(discount_categories_id), products_description pd, products_to_categories p2c where p.products_id = pd.products_id and pd.language_id = '1' and p.products_id = p2c.products_id and p2c.categories_id = '0' order by pd.products_name

[TEP STOP]

 

 

on my admin/discount_categories.php page I get:

 

1146 - Table 'db3435795133.discount_categories' doesn't exist

select count(*) as total from discount_categories dc 

[TEP STOP]

 

The only thing that I can figure is that the SQL script has gone wrong somehow. But maybe I am overlooking a php error. help? Suggestions?

 

Thank you.

Edited by woodpress
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...