Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Easy Populate & Products Attributes


VJ

Recommended Posts

i get this error can anyone help

Seems that your server has a 10 second timeout limit for php file executions. Most servers have a 30 second limit, but yours is quite a bit shorter.

 

Your file is most likely too large to be loaded in under 10 seconds. Go back and re-read the instruction manual, which tells you how to split your file and upload in parts. That's the only way around this.

 

SPECIAL INSTRUCTIONS FOR LARGE STORES

 

If your store has over 300 products, you will likely run into PHP timeout issues. The maximum time that a script can run is set in the php.ini file. The default is 30 seconds, and it seems that most people can upload about 300 items within that time.

 

If your store is over 300 items, you must split the file before it can be uploaded. You can do this by hand, or you can use the file-splitting feature of EP. If you split by hand remember that EP expects the first row in every file to be the headers, and will throw this line out. So if you don't have headers, it's going to throw out the first row of data.

 

To split a file with EP:

Go to Admin -> Catalog -> Easy Populate

Click the lower browse button and get the file you want to split.

Click the button named "Upload and Split file".

The file will be split into sections, each with 300 products, the last one being shorter as needed.

These files will be located in the catalog/temp directory.

You can download these files using the file manager tool under Admin -> Tools -> File Manager, or you can use your ftp client to download them.

Upload each split file independently in the normal way described above.

 

These new files will be saved in the /catalog/temp directory, and will be named like this: EP_Split1.txt, EP_Split2.txt, etc.

 

If these files are still to large, edit easypopulate and change the configuration variable $maxrecs to a smaller number. This controls how many records are put into a single file when you split it.

Edited by nibl69
Link to comment
Share on other sites

Cancel that ! :blush: :blush:

 

It was an ID10T error....

model No length was wrong.... no error was shown because "show errors" is turned off on the server :blush:

Great contrib.... works out of the box and does what it says on the tin !

 

I am having this problem but I do not know where it is coming from. The export works fine, but when I got to insert into DB nothing happens, it just says:

File uploaded.

Temporary filename: /tmp/phpWFUZy8

User filename: EP2007Jan09-1705.txt

Size: 21944

 

Nothing changes in the database. Can someone help me?

Link to comment
Share on other sites

I am having this problem but I do not know where it is coming from. The export works fine, but when I got to insert into DB nothing happens, it just says:

File uploaded.

Temporary filename: /tmp/phpWFUZy8

User filename: EP2007Jan09-1705.txt

Size: 21944

 

Nothing changes in the database. Can someone help me?

 

 

You probably have an error in your config for EP , but it's not being shown because your server has show errors turned off. It's a pain having show errors turned off when your trying to build a site. If you have access to your own server turn it on in PHP.INI or contact your host or maybe you can add something to htaccess. , but i don't know enough to tell you what you should add to htaccess.

 

in the meantime you could ...

 

Check the length of the "products_model" field in your DB (under products) ... the VARCHAR bit should match whats in easypopulate.php

 

at line 72 - check this for model length

 

$modelsize = 25;

 

also Check this at line 31 and make sure it is correct and that the DIR exisits and has 777 chmod

 

$tempdir = DIR_FS_DOCUMENT_ROOT . "temp/";

 

it could something else , but with show errors off it's going to be hard to track down unless you go over the install again very carefully. I had the same non error as you.

Link to comment
Share on other sites

Hi all,

 

After looking for an answer to the

 

TABLE_PRODUCTS_STOCK' doesn't exist

select products_stock_quantity from TABLE_PRODUCTS_STOCK where products_id = '1' and products_stock_attributes = '3-5'

 

and not finding any answer, i'v started digg'in and after very very short while, found that the solution for this is by configurung easypopultae.php file but ONLY IF YOU DONT HAVE THE QTYpro installed (otherwise, its another problem i guess...)

 

Admin --> easypoulate.php, find the following code (line 125):

 

// change this to true, if you use QTYpro and want to set attributes stock with EP.

global $products_attributes_stock;

$products_attributes_stock = true;

 

change the TRUE (third line) to FALSE. worked for me, hope that for you too.

 

Another small thing to who ever post the following version for this great contrib, make the default for the QTYpro as false, it would save some time for some of us.

 

Thanks.

S.

Installed contributions:

Ultimate_SEO, Article Manager 1.5, Dynamic SiteMap 2.0, Infopages, Google SiteMap XMl w/admin 2.1, HeaderTagControler 2.6.1, FCKosc 2.21, X-sell 2.3, Google Analytics Modul, All Products, Page Cache 1.5, EasyPopulate2.7d, Multi Product Manager 2.5, Define Main Page, and probably few others...

Link to comment
Share on other sites

You probably have an error in your config for EP , but it's not being shown because your server has show errors turned off. It's a pain having show errors turned off when your trying to build a site. If you have access to your own server turn it on in PHP.INI or contact your host or maybe you can add something to htaccess. , but i don't know enough to tell you what you should add to htaccess.]

 

I seem to be having this problem also. I can upload fine and it's not showing any errors (I have my server set to show errors). I get this message:

File uploaded.

Temporary filename: /var/tmp/phpvKbH2p

User filename: EP2007Jan10-0707-2.txt

Size: 118686

 

What is supposed to happen after this? I am just adding one product before I add the rest to what I already have. How does it get into the database?

 

Also, will it show up in the admin panel under the catalog?

 

Marcia

Link to comment
Share on other sites

Quick way but lame solution.... Easy populate has too many flaws left and I hope some serious PHP guru take a look and fix all of them. Anyway... thanks for your response.

 

 

I just took a look at my EP file and found something odd:

 

 $v_date_added = "CURRENT_TIMESTAMP";

 

should be replaced by

 

$v_date_added = CURRENT_TIMESTAMP;

 

try that

Link to comment
Share on other sites

Hi all,

 

i have installed EZPOP 2.7d, works o.k. but to: when uploading test products, filing feilds:

 

Model, name, price, Quantity, it uploded them, but i think not quite well:

 

First of all, when downlading a CSV file after uploadin CSV file with new test products, the new ones wont appeer in the CSV file; there isnt any sign of them...

 

The other thing is, that i have entered and deleted ALL the products manually, and i still see the test products (i have uploaded...) in the cart, even though i erased them.

 

Anyu i dea what can be the bug?

 

Thanks,

S.

Installed contributions:

Ultimate_SEO, Article Manager 1.5, Dynamic SiteMap 2.0, Infopages, Google SiteMap XMl w/admin 2.1, HeaderTagControler 2.6.1, FCKosc 2.21, X-sell 2.3, Google Analytics Modul, All Products, Page Cache 1.5, EasyPopulate2.7d, Multi Product Manager 2.5, Define Main Page, and probably few others...

Link to comment
Share on other sites

I just took a look at my EP file and found something odd:

 

 $v_date_added = "CURRENT_TIMESTAMP";

 

should be replaced by

 

$v_date_added = CURRENT_TIMESTAMP;

 

try that

 

Indeed it worked!... Thanks... Also there is another occurrence a few lines above that I did eliminate the commas for the CURRENT_TIMESTAMP too.

Link to comment
Share on other sites

Model, name, price, Quantity, it uploded them, but i think not quite well:

 

First of all, when downlading a CSV file after uploadin CSV file with new test products, the new ones wont appeer in the CSV file; there isnt any sign of them...

 

The other thing is, that i have entered and deleted ALL the products manually, and i still see the test products (i have uploaded...) in the cart, even though i erased them.

could be that you haven't uploaded a complete product in your test. download complete, then add your new products and upload. Inserting incomplete product definitions may cause other problems in osC also. Always make sure your original products and your new products all have unique model numbers since this is what is matched up when uploading.

Link to comment
Share on other sites

okay... need some help here.

 

Making a site for a book shop with over 20000 products. I have all the information in an excel spreadsheet. I've installed the contribution with no troubles. Been reading through the manual and a lot of it is above my head.

 

I chopped up the spreadsheet just to test it with only 30 so products. I've saved the sheet as a text file. when i upload the file i get this message

 

Warning: move_uploaded_file(/home/magic/public_html/catalog//catalog/temp/testbollocks.txt) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/magic/public_html/catalog/admin/easypopulate_functions.php on line 43

 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpd5yJga' to '/home/magic/public_html/catalog//catalog/temp/testbollocks.txt' in /home/magic/public_html/catalog/admin/easypopulate_functions.php on line 43

 

 

File uploaded.

Temporary filename: /tmp/phpd5yJga

User filename: testbollocks.txt

Size: 12781

 

Warning: file(/home/magic/public_html/catalog//catalog/temp/testbollocks.txt) [function.file]: failed to open stream: No such file or directory in /home/magic/public_html/catalog/admin/easypopulate.php on line 805

 

Warning: Invalid argument supplied for foreach() in /home/magic/public_html/catalog/admin/easypopulate.php on line 844

 

I do have catalog/temp in my directory... can anyone explain to me where i'm going wrong. I noticed in the manual it mentions CHMOD 777, what is this, how do i access this or enable this...

 

Thanks in advance for any help, my brain is beginning to leak out my nose!!!! :'(

 

dave

Link to comment
Share on other sites

look at your URL's in teh warning:

 

catalog//catalog/

 

indicates that your admin config file probably need some adjustments

 

post your non sensitive parameters, I will tell you if I see something wrong.

Link to comment
Share on other sites

I am having this problem but I do not know where it is coming from. The export works fine, but when I got to insert into DB nothing happens, it just says:

File uploaded.

Temporary filename: /tmp/phpWFUZy8

User filename: EP2007Jan09-1705.txt

Size: 21944

 

Nothing changes in the database. Can someone help me?

you should see a list of items that were changed after that. are you using the "globals" patch for osCommerce? is globals turned off on your host's PHP installation? (ask your host)

Link to comment
Share on other sites

you should see a list of items that were changed after that. are you using the "globals" patch for osCommerce? is globals turned off on your host's PHP installation? (ask your host)

 

it use to work fine, I do not know what changed!

I use to get the long list of what was updated or new products. Now I get NO CHANGE TO DATA.

Link to comment
Share on other sites

Does easy populate support html coding in the description tab?

yes, if you are using v2.76d and you have enabled (set to true) the $excel_safe_output configure item.

Do i require additional changes if i have the header tags control added

if you want the HTC information included in your export and import, then yes. If you will enter the HTC info from the HTC admin tools, then no.

Link to comment
Share on other sites

okay... need some help here.

 

Making a site for a book shop with over 20000 products. I have all the information in an excel spreadsheet. I've installed the contribution with no troubles. Been reading through the manual and a lot of it is above my head.

 

I chopped up the spreadsheet just to test it with only 30 so products. I've saved the sheet as a text file. when i upload the file i get this message

I do have catalog/temp in my directory... can anyone explain to me where i'm going wrong. I noticed in the manual it mentions CHMOD 777, what is this, how do i access this or enable this...

 

Thanks in advance for any help, my brain is beginning to leak out my nose!!!! :'(

 

dave

You should do a complete export of your oringinal items (or the osC test data) and examine that to make sure your import is formatted correctly.

 

You need to create a temp folder on your site. You need to make sure the temp folder is setup (pointed to) correctly in the settings of EP.

 

I see this: /home/magic/public_html/catalog//catalog/temp/testbollocks.txt in your error message. this tells me your shop is in the /catalog/ sub-directory of your site. if this is true then this should be your setting in the EP file:

$tempdir = DIR_FS_DOCUMENT_ROOT . "temp/";

 

your next step is to ask your host to make sure this directory exists and is writeable (chmod 777)

/home/magic/public_html/catalog/temp/

Edited by surfalot
Link to comment
Share on other sites

it use to work fine, I do not know what changed!

I use to get the long list of what was updated or new products. Now I get NO CHANGE TO DATA.

your host may have changed things without warning. They do that. you need to ask your host as I said above.

Link to comment
Share on other sites

Okay, so I have the download working now. Do I need to download every field?

if you will upload new products, yes. if you are changing existing products, no

 

I'm getting a host of errors and warnings when I try to upload the file.

Yes, I have created the temp directory and set the permissions to 777

One thing I am confused on is this line:

// Please set DOCUMENT_ROOT to $DOCUMENT_ROOT in your /catalog/admin/includes/configure.php

looks like your setting in your /catalog/admin/includes/configure.php is not right.

 

should look like this:

 

define('DIR_FS_DOCUMENT_ROOT', $DOCUMENT_ROOT);

Link to comment
Share on other sites

Hi,

I am trying to download my test data to see what kind of file I need to build. But when I click on any of the create and download links, nothing happens (the page just refreshes). Please help. I plan to check the example.txt, and try to upload that to see if I get any error.

 

In the installation directions:

1. have uploaded the appropriate files

2 Added link to Admin

3. My store is set up in the public html/dev/DirA/stores; that is for example, my admin file is www.domain.com/dev/DirA/stores/admin; so I created the temp file under the stores directory;

so that in easypopulate.php

$tempdir = DIR_FS_DOCUMENT_ROOT . "/stores/temp/";

 

 

I tried setting Document root as

('DIR_FS_DOCUMENT_ROOT', $DOCUMENT_ROOT); // where the pages are located on the server

 

and then as

 

('DIR_FS_DOCUMENT_ROOT', '/home/my_id/public_html/dev/DirA'); // where the pages are located on the server

Link to comment
Share on other sites

You should do a complete export of your oringinal items (or the osC test data) and examine that to make sure your import is formatted correctly.

 

You need to create a temp folder on your site. You need to make sure the temp folder is setup (pointed to) correctly in the settings of EP.

 

I see this: /home/magic/public_html/catalog//catalog/temp/testbollocks.txt in your error message. this tells me your shop is in the /catalog/ sub-directory of your site. if this is true then this should be your setting in the EP file:

$tempdir = DIR_FS_DOCUMENT_ROOT . "temp/";

 

your next step is to ask your host to make sure this directory exists and is writeable (chmod 777)

/home/magic/public_html/catalog/temp/

 

Hi,

 

I've changed the DIR_FS_DOCUMENT_ROOT to this

$tempdir = DIR_FS_DOCUMENT_ROOT . "temp/";

 

Still not working.

 

I contacted my host and asked them to make sire the temp directory is writeable (chmod 777) and i was told that chmod 777 is not possible but chmod 775 is (which is apparently similar)!

 

I was asked by pixclinic to post my configuration file, so here it is.

 

<?php
/*
 $Id: configuration.php,v 1.43 2003/06/29 22:50:51 hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 [url=http://www.oscommerce.com]http://www.oscommerce.com[/url]

 Copyright © 2003 osCommerce

 Released under the GNU General Public License
*/

 require('includes/application_top.php');

 $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');

 if (tep_not_null($action)) {
switch ($action) {
  case 'save':
	$configuration_value = tep_db_prepare_input($HTTP_POST_VARS['configuration_value']);
	$cID = tep_db_prepare_input($HTTP_GET_VARS['cID']);

	tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . tep_db_input($configuration_value) . "', last_modified = now() where configuration_id = '" . (int)$cID . "'");

	tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cID));
	break;
}
 }

 $gID = (isset($HTTP_GET_VARS['gID'])) ? $HTTP_GET_VARS['gID'] : 1;

 $cfg_group_query = tep_db_query("select configuration_group_title from " . TABLE_CONFIGURATION_GROUP . " where configuration_group_id = '" . (int)$gID . "'");
 $cfg_group = tep_db_fetch_array($cfg_group_query);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<script language="javascript" src="includes/general.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onLoad="SetFocus();">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="2" cellpadding="2">
 <tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</table></td>
<!-- body_text //-->
<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
  <tr>
	<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
	  <tr>
		<td class="pageHeading"><?php echo $cfg_group['configuration_group_title']; ?></td>
		<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
	  </tr>
	</table></td>
  </tr>
  <tr>
	<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
	  <tr>
		<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
		  <tr class="dataTableHeadingRow">
			<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CONFIGURATION_TITLE; ?></td>
			<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CONFIGURATION_VALUE; ?></td>
			<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>
		  </tr>
<?php
 $configuration_query = tep_db_query("select configuration_id, configuration_title, configuration_value, use_function from " . TABLE_CONFIGURATION . " where configuration_group_id = '" . (int)$gID . "' order by sort_order");
 while ($configuration = tep_db_fetch_array($configuration_query)) {
if (tep_not_null($configuration['use_function'])) {
  $use_function = $configuration['use_function'];
  if (ereg('->', $use_function)) {
	$class_method = explode('->', $use_function);
	if (!is_object(${$class_method[0]})) {
	  include(DIR_WS_CLASSES . $class_method[0] . '.php');
	  ${$class_method[0]} = new $class_method[0]();
	}
	$cfgValue = tep_call_function($class_method[1], $configuration['configuration_value'], ${$class_method[0]});
  } else {
	$cfgValue = tep_call_function($use_function, $configuration['configuration_value']);
  }
} else {
  $cfgValue = $configuration['configuration_value'];
}

if ((!isset($HTTP_GET_VARS['cID']) || (isset($HTTP_GET_VARS['cID']) && ($HTTP_GET_VARS['cID'] == $configuration['configuration_id']))) && !isset($cInfo) && (substr($action, 0, 3) != 'new')) {
  $cfg_extra_query = tep_db_query("select configuration_key, configuration_description, date_added, last_modified, use_function, set_function from " . TABLE_CONFIGURATION . " where configuration_id = '" . (int)$configuration['configuration_id'] . "'");
  $cfg_extra = tep_db_fetch_array($cfg_extra_query);

  $cInfo_array = array_merge($configuration, $cfg_extra);
  $cInfo = new objectInfo($cInfo_array);
}

if ( (isset($cInfo) && is_object($cInfo)) && ($configuration['configuration_id'] == $cInfo->configuration_id) ) {
  echo '				  <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cInfo->configuration_id . '&action=edit') . '\'">' . "\n";
} else {
  echo '				  <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $configuration['configuration_id']) . '\'">' . "\n";
}
?>
			<td class="dataTableContent"><?php echo $configuration['configuration_title']; ?></td>
			<td class="dataTableContent"><?php echo htmlspecialchars($cfgValue); ?></td>
			<td class="dataTableContent" align="right"><?php if ( (isset($cInfo) && is_object($cInfo)) && ($configuration['configuration_id'] == $cInfo->configuration_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $configuration['configuration_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>
		  </tr>
<?php
 }
?>
		</table></td>
<?php
 $heading = array();
 $contents = array();

 switch ($action) {
case 'edit':
  $heading[] = array('text' => '<b>' . $cInfo->configuration_title . '</b>');

  if ($cInfo->set_function) {
	eval('$value_field = ' . $cInfo->set_function . '"' . htmlspecialchars($cInfo->configuration_value) . '");');
  } else {
	$value_field = tep_draw_input_field('configuration_value', $cInfo->configuration_value);
  }

  $contents = array('form' => tep_draw_form('configuration', FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cInfo->configuration_id . '&action=save'));
  $contents[] = array('text' => TEXT_INFO_EDIT_INTRO);
  $contents[] = array('text' => '<br><b>' . $cInfo->configuration_title . '</b><br>' . $cInfo->configuration_description . '<br>' . $value_field);
  $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_update.gif', IMAGE_UPDATE) . ' <a href="' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cInfo->configuration_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
  break;
default:
  if (isset($cInfo) && is_object($cInfo)) {
	$heading[] = array('text' => '<b>' . $cInfo->configuration_title . '</b>');

	$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cInfo->configuration_id . '&action=edit') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a>');
	$contents[] = array('text' => '<br>' . $cInfo->configuration_description);
	$contents[] = array('text' => '<br>' . TEXT_INFO_DATE_ADDED . ' ' . tep_date_short($cInfo->date_added));
	if (tep_not_null($cInfo->last_modified)) $contents[] = array('text' => TEXT_INFO_LAST_MODIFIED . ' ' . tep_date_short($cInfo->last_modified));
  }
  break;
 }

 if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {
echo '			<td width="25%" valign="top">' . "\n";

$box = new box;
echo $box->infoBox($heading, $contents);

echo '			</td>' . "\n";
 }
?>
	  </tr>
	</table></td>
  </tr>
</table></td>
<!-- body_text_eof //-->
 </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

 

Thanks for all your help guys, muchly appreciated.

 

dave

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