Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[Contribution] Auction Module


deathgod

Recommended Posts

KVallema: Look in your product_info.php and search for: tep_image_submit('button_in_cart.gif

 

There should be two instances of this. The second one you should remove/comment out. You probably also have to comment out the table-cells that it is located in as well.

(note that I have also commented out the review-button, as I do not use it)

 

Looking at your code I had the same approach.

My question is now to make the " Terms & Conditions: " radio button working.

 

I succeed the countdown to be functionnal! Wouf.

Still looking to get the " You won " message.

But I do not know the exact conditions to get it ...

 

Keep on the good work.

Link to comment
Share on other sites

  • Replies 220
  • Created
  • Last Reply

Top Posters In This Topic

Looking at your code I had the same approach.

My question is now to make the " Terms & Conditions: " radio button working.

 

I succeed the countdown to be functionnal! Wouf.

Still looking to get the " You won " message.

But I do not know the exact conditions to get it ...

 

Keep on the good work.

Look at my post at the top of the page. I have a suggestion for at least a partial solution, but I am totally green with javascript unfortunately. :P

 

The "You Won" message -should- work out of the box with this contribution. There is also an enhanced version of the mail part of the script a few pages back.

Link to comment
Share on other sites

KVallema: Look in your product_info.php and search for: tep_image_submit('button_in_cart.gif

 

There should be two instances of this. The second one you should remove/comment out. You probably also have to comment out the table-cells that it is located in as well.

 

It should look like this:

 

			<!-- eof moved from bellow by [email protected] for auction product contribution -->

			<?php
			//bof added by [email protected] for auction product contribution
							//rewriten by MarcusDesign
				if ($auction_product) {
					include_once(DIR_WS_MODULES.'/auction_bids.php');
									} else {
							?>
								  <!--<tr>
									<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
									  <tr class="infoBoxContents">
										<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
										  <tr>
											<td width="10"><?php //echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
											<td class="main"><?php //echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?></td>
											<td class="main" align="right"><?php //echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td>
											<td width="10"><?php //echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
										  </tr>
										</table></td>
									  </tr>
									</table></td>
								  </tr>
								  <tr>
									<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
								  </tr>-->
							<?php
			  }
							//eof added by [email protected] for auction product contribution

 

(note that I have also commented out the review-button, as I do not use it)

 

hmm....I didn't find this 'second' instance...but I think maybe I am referring to the wrong place...it's the NEW PRODUCTS section that has the BUY NOW -link

 

cheers,

KImmo

Link to comment
Share on other sites

hmm....I didn't find this 'second' instance...but I think maybe I am referring to the wrong place...it's the NEW PRODUCTS section that has the BUY NOW -link

I hadn't thought of that. This is perhaps another problem that needs addressing, the fact that the buy-it-now button is still visible and usable on all the other pages where the products are listed.

 

I haven't tested it, but I think a simple check like on the product_info page should be enough to fix it:

 

if ($auction_product) {
  //product is an auction, do nothing
 } else {
//regular product,   print the buy-it-now button
<?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?>
}

 

Or reverse it:

 

if (!$auction_product) {
  <?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?>
 } else {
}

 

Find all instances of where you need this done, and replace it with the above.

Link to comment
Share on other sites

I have to look into removing the Add to Cart or Buy Now links from the what's new pages a bit later....just ran into a curious problem

 

I got the outbid-emails going out...did some re-writing for the email...and realized there was something funky with the highest bidder thingy

 

I've done the change mentioned here a bit earlier to show the firstname of the bidders...but now that I go and make a bid...the new highest bid gets registered on the list...but the firstname doesn't change...

 

I am about to hire someone to install this thingy for me and fix all the bugs....but before I go and spend my money...anyone here that can help me??

 

I also need to get the overbid amount thing working as well... :(

Link to comment
Share on other sites

I am about to hire someone to install this thingy for me and fix all the bugs....but before I go and spend my money...anyone here that can help me??

I would advise against it, as currently there are several people working on the next version of this contribution. Now there is no particular release date for it, as the fix/todo-list is rather extensive as you can see from my post (not a complete list either), but hopefully it will be done in due time.

Link to comment
Share on other sites

and my countdown is continuously the same...no matter what I change to the TZ offset...

 

Hello,

 

May be this could help you to get the stuff working: I performed some cosmetic in " catalog/includes/modules/auction_bids.php " (in order to add/remove colums).

<?php
/*
 $Id: auctions_bids.php,v 1.4 2007/06/18 08:11:33 hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/
?>
<!-- beg /includes/modules/auctions_bids.php -->
<tr>
<td>
	<!-- beg of table_1 -->
	<table width="686">
		<tr>
			<td width="278">
			<!-- bof added by [email protected] for auction product contribution -->
<?php
if ($auction_product) { 
	$auction_query = tep_db_query("select auctions_starting_price, expires_date, overbid_amount from " . TABLE_AUCTIONS_PRODUCTS . " where products_id = '" . $product_info['products_id']. "' and status = '1' ");
	$auction_infor = tep_db_fetch_array($auction_query);
	//$datetime_count_down = strtotime($auction_infor['expires_date'])-time();
	$datetime_count_down = tep_date_count_down($auction_infor['expires_date']);
	$thours = AUCTION_END_TIMEOFFSET;
?>
<script language="Javascript">
function termWindow() {
window.open ("auction_terms.php");
}
</script>
				<!-- beg of table_2 -->
				<table class="infoBox">
					<tr>
						<td width="239" class="infoBoxContents"><?php echo TEXT_AUCTION_PRICE . ' ' . $products_price; ?></td>
					</tr>
					<tr>
						<td class="infoBoxContents"><?php echo TEXT_EXPIRED_DATE . ' ' . $auction_infor['expires_date']; ?>
						<br />
						(<b><span id="countdown_date" > </span></b> <?php echo TEXT_DATETIME_LEFT; ?>)
						</td>
					</tr>
					<tr>
						<td class="infoBoxContents"><?php echo TEXT_OVERBID_AMOUNT . ' ' . $currencies->display_price($auction_infor['overbid_amount'], tep_get_tax_rate($product_info['products_tax_class_id'])); ?></td>
					</tr>
				</table>
				<!-- end of table_2 -->
<?php
 } // end if ($auction_product)
else {
  echo $products_price; 
 } // end else if
?>
<!-- eof added by [email protected] for auction product contribution -->
			</td>
			<td width="396">
<!-- bof added by [email protected] for auction product contribution -->
<?php // If auction has expired
$mfo_auction_query = mysql_fetch_object(tep_db_query("select auctions_starting_price, expires_date, overbid_amount from " . TABLE_AUCTIONS_PRODUCTS . " where products_id = '" . $product_info['products_id']. "' and status = '1' "));
if (strtotime($mfo_auction_query->expires_date)<time()) {
echo tep_end_auction_valid();
} elseif ( $auction_product ) { // Not sure, but probably similar to - If auction has not expired
?>
<!-- beg of form -->
<?php
echo tep_draw_form('auction_bid',tep_href_link(FILENAME_PRODUCT_INFO),'post', 'onsubmit="return check_agree(this);"');
?>
<input type="hidden" name="placebid" value="true" id="placebid" />
<input type="hidden" name="auction_id" id="auction_id" value="<?php echo $auction_id; ?>" />
<input type="hidden" name="products_id" value="<?php echo (int)$HTTP_GET_VARS['products_id']; ?>" id="products_id" />
<!-- beg of table_3 -->
<table>
	<tr>
		<td class="main" colspan="2"><?php echo TEXT_BID_PRICE . ' ' . tep_draw_input_field('bid_price', $bid_price);?></td>
	</tr>
	<tr>
		<td class="main"><a href="java script:void(0);" onclick="NewWindow('<?php echo tep_href_link(FILENAME_AUCTION_TERMS); ?>','auction_terms','400','300','yes');return false"><?php echo CONDITIONS; ?>:</a></td>
		<td onclick="window.document.auction_bid.agree.checked = !window.document.auction_bid.agree.checked;" align="right" width="20px"><?php echo tep_draw_checkbox_field('agree','true', false, 'onclick="window.document.auction_bid.agree.checked = !window.document.auction_bid.agree.checked;"'); ?></td>
	</tr>
	<tr>
		<td colspan="2"><?php echo tep_image_submit('placebid.gif', IMAGE_BUTTON_PLACEBID); ?></td>
	</tr>
</table>
<!-- end of table_3 -->
</form>
<!-- end of form -->
</td>
<?php
} // end elseif ( $auction_product )
?>
<!-- eof added by [email protected] for auction product contribution -->
</td>
</tr>
</table>
</td>
</tr>
<!-- beg auction_bid_list -->
<tr>
<td class="main"><b><?php echo TEXT_AUCTIONS_BID_LIST; ?></b></td>
</tr>
<tr>
<td>
	<!-- beg of table_4 -->
	<table border="0" width="100%" cellspacing="0" cellpadding="0">
		<tr>
			<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2" >
				<tr class="productListing-heading" >
					<td class="productListing-heading"><?php echo TABLE_HEADING_NUMBER; ?></td>
					<td class="productListing-heading"><?php echo TABLE_HEADING_CUSTOMERS; ?></td>
					<td class="productListing-heading" align="center"><?php echo TABLE_HEADING_BID_PRICE; ?> </td>
					<td class="productListing-heading"><?php echo TABLE_HEADING_BID_DATE_ADDED; ?></td>
					<td class="productListing-heading" align="center"> </td>
				</tr>
<?php
if (isset($HTTP_GET_VARS['page']) && ($HTTP_GET_VARS['page'] > 1)) $rows = $HTTP_GET_VARS['page'] * MAX_DISPLAY_SEARCH_RESULTS - MAX_DISPLAY_SEARCH_RESULTS;
$products_query_raw = "select concat(c.customers_firstname, c.customers_lastname) as customers_name, c.customers_id, ab.bid_price, ab.bid_status, ab.bid_date_added from ".TABLE_CUSTOMERS." c, ".TABLE_AUCTIONS_BIDS.' ab,'.TABLE_AUCTIONS_PRODUCTS.' ap where c.customers_id = ab.customers_id and ab.auctions_id=ap.auctions_id and ab.auctions_id='.$auction_id.' order by bid_price DESC ';
$rows = 0;
$products_query = tep_db_query($products_query_raw);
while ($products = tep_db_fetch_array($products_query)) {
$rows++;
if (strlen($rows) < 2) {
	$rows = '0' . $rows;
}
?>
				<tr class="productListing-data" >
					<td class="productListing-data"><?php echo $rows; ?>.</td>
					<td class="productListing-data"><?php echo $products['customers_id']; ?></td>
					<td class="productListing-data" align="center"><?php echo $currencies->display_price($products['bid_price'], tep_get_tax_rate($products['products_tax_class_id']) ); ?> </td>
					<td class="productListing-data"><?php echo $products['bid_date_added']; ?></td>
					<td>
						<?php if ($products['bid_status']=='won') { echo tep_image(DIR_WS_ICONS.'auctionwon.gif',IMAGE_BUTTON_AUCTION_WON); }?>
					</td>
				</tr>
<?php
} // end while
?>
			</table>
			<!-- end of table_4 -->
		</td>
	</tr>
</table>
<!-- end of table_1 -->
</td>
</tr>
<!-- end auction_bid_list -->
<script type="text/javascript">
// beg TZCountDown //
// ****  Time Zone Count Down Javascript  **** //
/*
Visit http://rainbow.arch.scriptmania.com/scripts/
for this script and many more
*/

////////// CONFIGURE THE COUNTDOWN SCRIPT HERE //////////////////
// $datetime_count_down calculated by /includes/functions/general.php tep_date_count_down
var month = '<?php echo $datetime_count_down['1']; ?>'	 //  '*' for next month, '0' for this month or 1 through 12 for the month 
var day = '<?php echo "+".$datetime_count_down['2']; ?>';	   //  Offset for day of month day or + day  
var hour = '<?php echo $datetime_count_down['3']; ?>';		//  0 through 23 for the hours of the day
var tz = 0;		 //  Offset for your timezone in hours from UTC
var lab = 'countdown_date';	//  The id of the page entry where the timezone countdown is to show

function start() {displayTZCountDown(setTZCountDown(month,day,hour,tz),lab);}

// **	The start function can be changed if required   **
window.onload = start();

////////// DO NOT EDIT PAST THIS LINE //////////////////

function setTZCountDown(month,day,hour,tz) {
var toDate = new Date();
if (month == '*')toDate.setMonth(toDate.getMonth() + 1);
else if (month > 0) {
	if (month <= toDate.getMonth())toDate.setYear(toDate.getYear() + 1);
		toDate.setMonth(month-1);
}
if (day.substr(0,1) == '+') {
	var day1 = parseInt(day.substr(1));
	toDate.setDate(toDate.getDate()+day1-1);
}
else {
	toDate.setDate(day);
}
toDate.setHours(0);
toDate.setMinutes(0-(tz*60));
toDate.setSeconds(0);
var fromDate = new Date();
//fromDate.setMinutes(fromDate.getMinutes());
var diffDate = new Date(0);
diffDate.setMilliseconds(toDate - fromDate);
return Math.floor(diffDate.valueOf()/1000);
}

function displayTZCountDown(countdown,tzcd) {
if (countdown < 0) document.getElementById(tzcd).innerHTML = "Sorry, you are too late.";
else {
	var secs = countdown % 60; 
	if (secs < 10) secs = '0'+secs;
	var countdown1 = (countdown - secs) / 60;
	var mins = countdown1 % 60; 
	if (mins < 10) mins = '0'+mins;
	countdown1 = (countdown1 - mins) / 60;
	var hours = countdown1 % 24;
	var days = (countdown1 - hours) / 24;
	document.getElementById(tzcd).innerHTML = days + " <?php echo COUNTDOWN_DAYS; ?> " + (days == 1 ? '' : '<?php echo COUNTDOWN_SECS; ?>') + ' ' +hours+ '<?php echo COUNTDOWN_HOURS; ?>'+'  : ' +mins+ '<?php echo COUNTDOWN_MINS; ?> : '+secs+'<?php echo COUNTDOWN_SECS;?>';
	setTimeout('displayTZCountDown('+(countdown-1)+',\''+tzcd+'\');',999);
}
}
// end TZCountDown //
</script>

<!-- eof added by [email protected] for auction product contribution	  -->
<!-- end /includes/modules/auctions_bids.php -->

 

You should also check the functions in general.php ($datetime_count_down calculated by /includes/functions/general.php tep_date_count_down above)

Read your install.txt carefully. If the problem is still there, it may be located in product_info.php ( tricky stuff ).

 

Visit My dummy development Website

 

dimitryous

Edited by dimitryous
Link to comment
Share on other sites

7. Something needs to happen when the auction ends, either:

 

7.1) The product is added to the customers Shopping Cart with the correct price (I think this is the best method, and it's already halfway implemented in the current Auction version, although it doesn't work).

7.2) An order is created with the auction product, but the customer has to pay manually.

 

And preferably an email should be automatically sent to the winner.

 

8. Infobox (at the moment shows the newest auction, haven't been able to figure out how to show the auction that is closest to ending)

 

-Upload latest_auction.php to includes\boxes

 

-Open column_left.php or column_right.php and add:

require(DIR_WS_BOXES . 'latest_auction.php');

 

-In includes\languages\english.php (or translate to the language of your choice), add:

define('BOX_HEADING_AUCTON_LATEST', 'Latest Auction');

 

Hello,

 

I did'nt suceed to get latest_aution.php...

 

Someone has the code somewhere?

 

Thanks.

 

dimitryous.

Link to comment
Share on other sites

Sorry dimitryous, I forgot to post it here.

 

<?php
/*
 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2007 osCommerce

 Released under the GNU General Public License
*/
?>
<!-- latest_auction //-->
	  <tr>
		<td>
<?php

$auctions_query_box = "select p.products_id, pd.products_name, p.products_price, p.products_tax_class_id, p.products_image, a.auctions_starting_price, a.expires_date from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_AUCTIONS_PRODUCTS . " a where p.products_status = '1' and a.products_id = p.products_id and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and a.status = '1' order by expires_date DESC LIMIT 1";

 $info_box_contents = array();
 $info_box_contents[] = array('text' => BOX_HEADING_AUCTON_LATEST);

 new infoBoxHeading($info_box_contents, false, false);

$auctions_query = tep_db_query($auctions_query_box);
while ($auctions = tep_db_fetch_array($auctions_query)) {
 $info_box_contents = array();
 $info_box_contents[] = array('text' => '<div align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $auctions['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $auctions['products_image'], $auctions['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $auctions['products_id']) . '">' . $auctions['products_name'] . '</a><br>' .$currencies->display_price($auctions['auctions_starting_price'], tep_get_tax_rate($auctions['products_tax_class_id'])) . '<br><br><a href="auctions.php"><b>View All Auctions</a></b></div>');
  } 

new infoBox($info_box_contents);
?>
		</td>
	  </tr>
<!-- latest_auction //-->

Link to comment
Share on other sites

Sorry dimitryous, I forgot to post it here.

 

Thank you much for your code: ok.

 

I tried an " advanced search " and believe that advanced_search.php file need some modifications: I will try to pin-point where more exactly because the results may lead to confuse users (products are either " auctions products " or " regular products ").

The result - if orphan ( I mean only one product coming out of the search ) - should presents the relevant screen.

 

Thanks and keep on the good work.

 

_______________________________

L'esprit anime la main qui guide l'outil.

Link to comment
Share on other sites

You'll need this manual order maker contribution to do that. If you can activate an auction you are not missing anything inside the contrib package...

//Micke

( see page 7 of this topic )

 

Hello,

I just installed the above contribution but I get the following error:

404 Not Found

The requested URL /catalog/admin/FILENAME_ORDERS_EDIT was not found on this server.

 

FILENAME_ORDERS_EDIT = " some_code.php " not being defined in " /catalog/admin/includes/filenames.php " file...

This is due to line 154

tep_redirect(tep_href_link(FILENAME_ORDERS_EDIT, 'oID=' . $insert_id, 'SSL'));

in " /catalog/admin/create_order_process.php " near the end of the file...

 

Did I miss to download/upload a file?

 

Some help, please otherwise all collapse.

 

TIA

Edited by dimitryous
Link to comment
Share on other sites

@dimitryous: Insert this into filenames.php in admin\includes

 

define('FILENAME_ORDERS_EDIT', 'edit_orders.php');

 

Hello,

Thanks a lot but I still miss something:

404 File Not Found

" The requested URL /catalog/admin/edit_orders.php was not found on this server. "

 

I'm a little bit confused to disturb you but would like my stuff to work.

 

TIA

Link to comment
Share on other sites

Hello,

Thanks a lot but I still miss something:

404 File Not Found

" The requested URL /catalog/admin/edit_orders.php was not found on this server. "

 

I'm a little bit confused to disturb you but would like my stuff to work.

 

TIA

 

I printed this entire topic to get a .pdf file, performed a global search of " edit_orders ": no result.

Link to comment
Share on other sites

@dimitryous: Insert this into filenames.php in admin\includes

 

define('FILENAME_ORDERS_EDIT', 'edit_orders.php');

 

Hello,

I got all the stuff working fine now. It was a little bit difficult because of the use of order editor contribution

 

I finally conclude that ( at least in my case ) :

 

1- admin is requested to place a manual order for the winner of the auction: an e-mail is sent to the winner

2- the winner is invited to log-in and complete his order

 

Is the above correct?

 

Thank you.

Link to comment
Share on other sites

Hi all,

 

I've corrected some errors within the auction module and uploaded v1.4.4 today !

 

- corrected the countdown-script for users with Internet Explorer

- corrected the checkbox 'Agree with terms'. Now you HAVE to click on the checkbox to bid.

 

Marcus

Link to comment
Share on other sites

Hello,

I got all the stuff working fine now. It was a little bit difficult because of the use of order editor contribution

 

I finally conclude that ( at least in my case ) :

 

1- admin is requested to place a manual order for the winner of the auction: an e-mail is sent to the winner

2- the winner is invited to log-in and complete his order

 

Is the above correct?

 

Thank you.

 

Hi dimitryous,

As i see on your test page you have a fix for the following problems?

 

2. Overbid Amount does not work.

3. Time when the Auction ends needs to be able to be set

Date bid added to be shown in real time, not 0000-00-...

 

It would be a real help for me if you could let me know how did you fixed the problem with Date bid added to be shown in real time.

Link to comment
Share on other sites

Excelent idea that needs more work.

 

 

1. it has SQL injection risks.

you need to make sure you clean the data from the URL before you insert it into your database as a query.

 

like:

 

$mfo_auction_query = mysql_fetch_object(tep_db_query('select auctions_starting_price, expires_date, overbid_amount from ' . TABLE_AUCTIONS_PRODUCTS . ' where products_id = ' . $_GET['products_id'] . ' and status'));

2. it has many bugs in implementation and design.

For instance, If you use a module to make some of the code why not use two modules to make product_info as clean as possible.

 

 

3. Timestamp is not saved in the bid, mistakes with table names, forgotten code parts.

fixed:

 

$sql_auction = "insert into ".TABLE_AUCTIONS_BIDS." (auctions_bids_id, auctions_id,customers_id,bid_price,bid_status, bid_date_added) values('','$auction_id','$customers_id','$bid_price', '', now())";

thanks

I hope to add some bug fixes to this post.

Link to comment
Share on other sites

3. Timestamp is not saved in the bid, mistakes with table names, forgotten code parts.

fixed:

 

$sql_auction = "insert into ".TABLE_AUCTIONS_BIDS." (auctions_bids_id, auctions_id,customers_id,bid_price,bid_status, bid_date_added) values('','$auction_id','$customers_id','$bid_price', '', now())";

 

I've tryed the code above this way:

 

INSERT INTO `table_auction_bids` (`auctions_bids_id`, `auctions_id`, `customers_id`, `bid_price', `bid_status`, `bid_date_added`) VALUES (``,`$auction_id`,`$customers_id`,`$bid_price`, ``, now());

 

But the mysql gives an error:

ERROR: Unclosed quote @ 182

 

Wheare is that unclosed quote?

Link to comment
Share on other sites

I've tryed the code above this way:

INSERT INTO `table_auction_bids` (`auctions_bids_id`, `auctions_id`, `customers_id`, `bid_price', `bid_status`, `bid_date_added`) VALUES (``,`$auction_id`,`$customers_id`,`$bid_price`, ``, now());

But the mysql gives an error:

ERROR: Unclosed quote @ 182

Wheare is that unclosed quote?

 

 

 

show me the exact code and not only the query.

Link to comment
Share on other sites

Hi bbbig!

 

I just tried to register but got the following at the bottom of the screen:

 

1146 - Table 'techinfoline_com_b2b.visual_verify_code' doesn't exist

 

DELETE FROM visual_verify_code WHERE oscsid='b534d661e46e89dd65125b198aa55f51'

 

[TEP STOP]

 

Do I need an visual code to register? 040777 at edelphy dot com

Keep on the good work.

dimitryous

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