Jump to content
blucollarguy

Multi_Vendor_Shipping new thread

Recommended Posts

There are a few things that I can see, just from a quick look. Try these and let me know if you still have problems.

 

Line 62: change to $vendors_id='1', not '0'. I need to fix that in a few other places as well. It's a remnant of an idea that the database didn't like.

 

Line 114: Uncomment the first query and get rid of the second. You want it to look like this:

    $vendors_data_query = tep_db_query("select handling_charge,
                                               handling_per_box
                                        from " . TABLE_VENDORS . "
                                        where vendors_id = '" . (int)$vendors_id . "'"
                                      );
    $vendors_data = tep_db_fetch_array($vendors_data_query);

You don't need the country and zip code for this module, but you do need the handling charges.

 

Line 143: I would change this to:

                                                    'cost' => constant('MODULE_SHIPPING_FREESHIPPER_COST' . $vendors_id) + $handling)));

 

Line 199: You need the underscore at the end of the text part of the constant names, like this:

'MODULE_SHIPPING_FREESHIPPER_STATUS_' . $vendors_id

to avoid breaking the Remove function.

 

That's all I can see right now. If I get a chance a bit later I may play with this some more. Please let me know how this works.

 

Regards

Jim


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

Share this post


Link to post
Share on other sites

Jim, Thanks for taking a look at this...

 

Line 199: You need the underscore at the end of the text part of the constant names, like this:

'MODULE_SHIPPING_FREESHIPPER_STATUS_' . $vendors_id

to avoid breaking the Remove function.

I don't know how I missed this. I guess I've looked at this just a bit too much...

 

Anyway, your suggestions worked. I have a full set of shipping modules now. This morning I add MVS to another test installation that's a bit closer to my actual store setup. Works great.

 

Thanks,

Rick Knight

Share this post


Link to post
Share on other sites
Jim, Craig & Tanaka,

 

Also, Craig I know you guys are busy trying to get another release out the door, but have you had a chance to look at the Fedex1 module I sent?

Sorry Rick, been chasing so many different things today I hadn't had the chance to get back to you. I did get it working on my test server but came across a couple of small bugs, hope to have them chased down tonight or in the morning as well as get the USPS module tested. You've done great with these Rick, thanks for all the input. Also the "free shipper" module is another that I started on but never completed, so kudos on that effort as well! I'm planning on getting out another release tomorrow, so be ready for another round of testing and "bug squashing" as Jim keeps telling me.

 

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: webmaster@blucollarsales.com

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!

Share this post


Link to post
Share on other sites

I have uploaded the next release, mvs_0.9rc2.1.

It is here:

The download

 

Please check the "readme" file for the list of file changes, there are quite a few.

This release includes the following Updates:

Many bug fixes

Moved much of the code work from "checkout_shipping.php" to catalog/includes/modules/vendor_shipping.php

New Order Views from the Admin

Detailed Customer Email Confirmation added as an option

Customer Order View from "my account"

UPS module

USPS module

 

Enjoy!

Craig :thumbsup: :)


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: webmaster@blucollarsales.com

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!

Share this post


Link to post
Share on other sites

Hi Craig, I got the new update installed and so far the only problem I've found is in admin under "Customers Orders" when you try to pull an invoice, the error reads

Parse error: parse error, unexpected $ in /home/gtrmall/public_html/thetoolshed/admin/invoice.php on line 218

But there are only 216 lines in the new invoice.php file, so I'm at a loss.

 

Reguards,

James

Share this post


Link to post
Share on other sites

OK Guys, I've got another error, so I redone the installation over again to make sure it wasn't me, and still errors, so I gave up and took 2 valum's. So Here's what happening: When you either try to add a new vendor or edit a vendor I receive this error:

Fatal error: Call to undefined function: tep_get_country_list() in /home/gtrmall/public_html/thetoolshed/admin/vendors.php on line 331

I have added more mod's which was working well with the 1st release and I used a merge and compare to install this new release. I guess I'll wait and see what you guys have to tell me.

 

Regards,

James

Share this post


Link to post
Share on other sites
OK Guys, I've got another error, so I redone the installation over again to make sure it wasn't me, and still errors, so I gave up and took 2 valum's. So Here's what happening: When you either try to add a new vendor or edit a vendor I receive this error:

Fatal error: Call to undefined function: tep_get_country_list() in /home/gtrmall/public_html/thetoolshed/admin/vendors.php on line 331

I have added more mod's which was working well with the 1st release and I used a merge and compare to install this new release. I guess I'll wait and see what you guys have to tell me.

 

Regards,

James

No problem James, you apparrently missed this file edit:

in admin/functions/html_output.php - at the end of the file before the closting "?>", add this

   //MVS
 ////
// Creates a pull-down list of countries
function tep_get_country_list($name, $selected = '', $parameters = '') {
  $countries = tep_get_countries();

  return tep_draw_pull_down_menu($name, $countries, $selected, $parameters);
}

That should fix your "Vendors" issue.

And the invoice error is more of a puzzle, this usually means that a tag did not get closed properly, did you edit "invoice" or use the one in the package? I just tested the one in the package and it returned no errors for me. So look for these tags "{" and make sure there is a "}" for each one. Also check "(" to be sure there is a matching ")" for each. Good luck James, 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: webmaster@blucollarsales.com

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!

Share this post


Link to post
Share on other sites

Thanks Craig,

 

You was right I somehow missed the edit in html_output.php and I used a compare & merge program again this morning on the invoice.php and still had the same results.... so I just overwrote it from the file and everything works well now! Sorry for being a pain!

 

Thanks, James

Share this post


Link to post
Share on other sites
Thanks Craig,

 

You was right I somehow missed the edit in html_output.php and I used a compare & merge program again this morning on the invoice.php and still had the same results.... so I just overwrote it from the file and everything works well now! Sorry for being a pain!

 

Thanks, James

No problem James, glad it's working, 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: webmaster@blucollarsales.com

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!

Share this post


Link to post
Share on other sites

I just found a small bug in the latest release.

In catalog/includes/vendor_order_data.php at line 80:

 

$products_ordered .= "\n\t" . 'Options Selected - ' . $this->products[$l]['orders_products'][$i]['attributes'][$j]['option'] . ': ' . $this->products[$i]['orders_products'][$i]['attributes'][$j]['value'];

replace with this:

$products_ordered .= "\n\t" . 'Options Selected - ' . $this->products[$l]['orders_products'][$i]['attributes'][$j]['option'] . ': ' . $this->products[$l]['orders_products'][$i]['attributes'][$j]['value'];

This fixes missing "attributes" data from the confirmation email.

Sorry folks, 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: webmaster@blucollarsales.com

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!

Share this post


Link to post
Share on other sites

I've mostly instlaled this module, but am sitll not sure if it's what I need.

 

I have three different vendors, and they all use different shipping methods.

 

Example:

 

Vendor 1: USPS

Vendro 2: Fedex

Vendor 3: UPS

 

I just need to have a way for checkout to choose the correct method on per product basis.

 

Can this do that?

Share this post


Link to post
Share on other sites

Craig, Jim,

 

I think I found a problem in catalog/admin/orders. When I open a new order (after adding this latest version) I don't get the bottom half of the order. The order totals, comments box, order status and the couple of buttons that are normally at the bottom of the order view are missing. I do get the table showing the items purchased, but nothing below that except the page footer so I have no way to update the status of the order. If I look at an old order (before this version), all the information, comment box and buttons are avaliable. Did I miss some of the code here?

 

Other than that, I have been trying to break this, but without much success. Great job :thumbsup: .

 

I will keep trying.

 

Thanks,

Rick Knight

Share this post


Link to post
Share on other sites

Joe: Yes, this mod will do what you want. It will also set those modules up so that they work correctly with you vendor's "ship from" locations.

 

Rick: The Orders page on my test site works fine. I suspect that you missed something in admin/orders.php or one of the associated files. Do you get any error messages on the page or in your logs?

 

Regards

Jim


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

Share this post


Link to post
Share on other sites
Rick: The Orders page on my test site works fine. I suspect that you missed something in admin/orders.php or one of the associated files. Do you get any error messages on the page or in your logs?

Jim,

 

No error messages on the page or in my logs. Also, the footer does load, so I think I must have just missed something in the "new order old order" section. I'm gonna diff it again and see if I can find anything.

 

Rick Knight

Share this post


Link to post
Share on other sites
Joe: Yes, this mod will do what you want. It will also set those modules up so that they work correctly with you vendor's "ship from" locations.

 

Rick: The Orders page on my test site works fine. I suspect that you missed something in admin/orders.php or one of the associated files. Do you get any error messages on the page or in your logs?

 

Regards

Jim

 

Thanks JIm.....well I guess I just need to figure out how to set it up. But that is good to know, will save me alotta time

Share this post


Link to post
Share on other sites

so as it stands right now, this contrib will let me define vendors/suppliers for each product and when an order is placed that involves multiple vendors, they will each get an email concerning the items from the order that they supply ? do i have that correct and where do we stand on the level of completion ? where can i help ? im fairly adept with php coding.

i need this feature before i open my store

Share this post


Link to post
Share on other sites
so as it stands right now, this contrib will let me define vendors/suppliers for each product and when an order is placed that involves multiple vendors, they will each get an email concerning the items from the order that they supply ?  do i have that correct and where do we stand on the level of completion ?  where can i help ?  im fairly adept with php coding.

i need this feature before i open my store

Yes that is where it stands, keep in mind that we are still working out some of the bugs in MVS, as we find them, so I cannot guarantee that you will not face some difficulties. Also, depending on what payment modules you are working with, the email portion of this solution may need a LITTLE additional work for your store. You can read about that part here: VendorEmail Forum A few fixes and workarounds have been posted there. I will be updating Vendor Email portion soon, but it is integrated into MVS now, so no need to download it seperately unless you want to read the install instructions from that to help since we have not finished that part yet. The link to the contrib is in my signature.

So, enjoy, sounds like this will do EXACTLY what you need, 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: webmaster@blucollarsales.com

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!

Share this post


Link to post
Share on other sites

Jim,

Problem solved.

No error messages on the page or in my logs. Also, the footer does load, so I think I must have just missed something in the "new order old order" section. I'm gonna diff it again and see if I can find anything.

        if (tep_not_null($order->orders_shipping_id)) {
    	 require ('vendor_order_info.php');
    	 } else {    

The closing brace for this bit of code was the problem. When I merged the new code into my catalog/admin/orders.php I has one brace short. I added one where it looked appropriate, but after pouring over this till I started to go blind, I found the correct spot. Now it works.

 

One other(small) problem. In catalog/admin/orders.php, in the main Orders view, there's a small box to the right of the page with information about the currently selected order. This box has, among other things, a section near the bottom labeled "*COMMENTS" but the comments do not show up and below that is a section labeled "Products Ordered:". This section shows the total number of items orderd, quantity for each line item and the model name of the items. With an old order, this information shows up, but with a new order, I get the total quantity and then an "x" for each line item. Like this...

*COMMENTS

---------------------------

Products Ordered: 2

x

x

Do you get the same results on your system? Again, not a big deal and I'm going to look for it myself, but if you have any suggestion?

 

Thanks,

Rick Knight

Share this post


Link to post
Share on other sites
Thanks JIm.....well I guess I just need to figure out how to set it up.  But that is good to know, will save me alotta time

We are currently working on the instructions, basically though, at this point all affected files are included in the download, so you can either do a diff on each, or copy each to the respective locations. Usage is another matter, but relatively straight forward. There is some info in the download so take a shot at it, just back up everything or install on a test site first. 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: webmaster@blucollarsales.com

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!

Share this post


Link to post
Share on other sites
Jim,

Problem solved.

 

        if (tep_not_null($order->orders_shipping_id)) {
    	 require ('vendor_order_info.php');
    	 } else {    

The closing brace for this bit of code was the problem. When I merged the new code into my catalog/admin/orders.php I has one brace short. I added one where it looked appropriate, but after pouring over this till I started to go blind, I found the correct spot. Now it works.

 

One other(small) problem. In catalog/admin/orders.php, in the main Orders view, there's a small box to the right of the page with information about the currently selected order. This box has, among other things, a section near the bottom labeled "*COMMENTS" but the comments do not show up and below that is a section labeled "Products Ordered:". This section shows the total number of items orderd, quantity for each line item and the model name of the items. With an old order, this information shows up, but with a new order, I get the total quantity and then an "x" for each line item. Like this...Do you get the same results on your system? Again, not a big deal and I'm going to look for it myself, but if you have any suggestion?

 

Thanks,

Rick Knight

 

That's not one I"ve seen before Rick, double check your edits, if you don't get it post back and I'll see if I can duplicate it on my test site. Check the test site to see if you are getting what the installed files show there. MVS test site

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: webmaster@blucollarsales.com

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!

Share this post


Link to post
Share on other sites

Rick: The code for that is in admin/orders.php, around line 291:

    for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
     echo '          <tr class="dataTableRow">' . "\n" .
          '            <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .
          '            <td class="dataTableContent" valign="top">' . $order->products[$i]['name'];

It should be displaying the quantity followed by an "x", e.g. 3 x. If this is not working, check that the value of $order->products[$i]['qty'] is being set. If you're getting the rest of the line, look for a typo in the above code.

 

Regards

Jim


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

Share this post


Link to post
Share on other sites
*COMMENTS

---------------------------

Products Ordered: 2

x

x

Oops,

 

That's one of my mods. I know where the code is, so I'll see if I can move it. At this point, I can't find anything in the mod that doesn't seem to work!

 

I need to edit some of the mods I have installed, like RMA system and Margin Report to work with MVS, but I don't think that'll be much of a problem.

 

I'll keep trying to find a bug, but...

 

Thanks,

Rick Knight

Share this post


Link to post
Share on other sites
Rick: The code for that is in admin/orders.php, around line 291:

    for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
     echo '          <tr class="dataTableRow">' . "\n" .
          '            <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .
          '            <td class="dataTableContent" valign="top">' . $order->products[$i]['name'];

It should be displaying the quantity followed by an "x", e.g. 3 x. If this is not working, check that the value of $order->products[$i]['qty'] is being set. If you're getting the rest of the line, look for a typo in the above code.

 

Regards

Jim

 

Jim,

The order information shows up correctly in the invoice listing view. What I'm trying to do is get the quantity and model to show up in the orders view. There's a status box to the left of the orders list that shows information about the selected order without actually opening the order. It works fine on old orders, but on new orders, the quantity and model are not listed, just the "x" between the two. I can't see where the information should come from for new orders. Here's that section of code from catalog/admin/orders.php. Way down near the bottom of the this code, near

for ($i=0; $i<sizeof($order->products); $i++) {

Is where I'm lost. I've created an IF/ELSE statement (not in listing) to detect old or new order, but I don't see what variables to use for new orders? Again, this is minor, but if you can give me a quick pointer...

  $heading = array();
 $contents = array();

 switch ($action) {
   case 'delete':
     $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_ORDER . '</b>');

     $contents = array('form' => tep_draw_form('orders', FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=deleteconfirm'));
     $contents[] = array('text' => TEXT_INFO_DELETE_INTRO . '<br><br><b>' . $cInfo->customers_firstname . ' ' . $cInfo->customers_lastname . '</b>');
     $contents[] = array('text' => '<br>' . tep_draw_checkbox_field('restock') . ' ' . TEXT_INFO_RESTOCK_PRODUCT_QUANTITY);
     $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
     break;
   default:
     if (isset($oInfo) && is_object($oInfo)) {
       $heading[] = array('text' => '<b>[' . $oInfo->orders_id . ']  ' . tep_datetime_short($oInfo->date_purchased) . '</b>');

       $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=delete') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a>');
       $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $oInfo->orders_id) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $oInfo->orders_id) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a>');
       $contents[] = array('text' => '<br>' . TEXT_DATE_ORDER_CREATED . ' ' . tep_date_short($oInfo->date_purchased));
       if (tep_not_null($oInfo->last_modified)) $contents[] = array('text' => TEXT_DATE_ORDER_LAST_MODIFIED . ' ' . tep_date_short($oInfo->last_modified));
       $contents[] = array('text' => '<br>' . TEXT_INFO_PAYMENT_METHOD . ' '  . $oInfo->payment_method);
// RMA added
       $contents[] = array('align' => 'center', 'text' => '<BR><a href="' . tep_href_link('restore_order.php', 'oID=' . $oInfo->orders_id) . '"><font color=red>Restore Order</font></a>');
// EORMA
 
// WebMakers.com Added: Show Shipping Method
       $contents[] = array('text' => TEXT_INFO_SHIPPING_METHOD . ' ' . tep_get_orders_shipping_method($oID));

// BOF: WebMakers.com Added: Thanks to elari added to display product list for selected order
// indicate if comments exist
   $orders_history_query = tep_db_query("select orders_status_id, date_added, customer_notified, comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . $oInfo->orders_id . "' and comments !='" . "'" );
   if (tep_db_num_rows($orders_history_query)) {
       $contents[] = array('align' => 'left', 'text' => '<br>*COMMENTS');
   }

$contents[] = array('text' => '<br>' . tep_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3'));
$order = new order($oInfo->orders_id);
$contents[] = array('text' => 'Products Ordered: ' . sizeof($order->products) );
for ($i=0; $i<sizeof($order->products); $i++) {
 $contents[] = array('text' => $order->products[$i]['qty'] . ' x ' . $order->products[$i]['name']);

 if (sizeof($order->products[$i]['attributes']) > 0) {
   for ($j=0; $j<sizeof($order->products[$i]['attributes']); $j++) {
     $contents[] = array('text' => ' <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'] . '</i></nobr>' );
   }
 }
}

Thanks,

Rick Knight

Share this post


Link to post
Share on other sites

Rick: I think I see what you are trying to do. Craig wrote this part, so I'm not as familiar with it as I should be. Bear with me here....

 

Most of the code for new orders has been moved out to vendor_order_info.php. If you look in there, the variable for quantity is

$order->products[$l]['orders_products'][$i]['qty']

and the variable for product name is

$order->products[$l]['orders_products'][$i]['name']

In the above variables, $l is the vendor id and $i is the product id. I'm assuming that you have a loop already to step through the products. You'll need another loop outside that one to step through the vendors, using something like

  for ($l=0, $m=sizeof($order->products); $l<$m; $l++) {

If I didn't understand what you are trying to do, please let me know and I'll try again.

 

Regards

Jim


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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×