Jump to content
PopTheTop

[Contribution] Admin Notes

Recommended Posts

Great contribution!

 

Maybe I'm missing something, but step 7 and further of the HTML manual doesn't say which file I've got to look for. :)

Share this post


Link to post
Share on other sites

That is because you are still editing the same file as step 6


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites

I need help m8`s.

 

Problem begins when i come to STEP 7. The installation file doesent tell what files to look in...i am allmost finished....but dont understand what file to look in...please help....

 

I am using MS2 version. If it is still the file from STEP 6...then i am missing everything from STEP7 in my database_tables.php file...is it another file to look in MS2 ?

 

Regards,

Fmunir

Edited by fmunir

Share this post


Link to post
Share on other sites

Ok, I see. I have to update it. I believe it is admin/customers.php

 

I should have a new update sometime today.


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites

Ok guys and gals...

 

I need your help. I just noticed that my update is not working. Can someone please help to get it to work correctly.

 

I want it so that IF the customer has an Admin Customer Note, it will display that note on the Admin / Customers page for the highlighted customer and if they DO NOT have an Admin Customer Note, it will display nothing as usual.

 

Here is the problem code...

 

This WORKS, but it displays the <HR> and "Customer Notes:" under it even when a customer does NOT have an Admin Customer Note. But if they DO have an Admin Customer Note, it will display the saved Admin Customer Notes fine.

        $contents[] = array('text' => '<hr width="100%" size="1" color="#000000" noshade>');
       $contents[] = array('text' => '<strong>Customer Notes:</strong><br><br>' . $sInfo->customers_notes);

 

 

 

This does NOT work, it displays nothing (correctly) if there are no saved Admin Customer Notes, but it does not display the saved Admin Customer Note if the customer DOES have an Admin Customer Note. - Question, why will it not display the Admin Customer Note if they DO have one?

    if (tep_not_null($cInfo->customers_notes)) {
     $contents[] = array('text' => '<hr width="100%" size="1" color="#000000" noshade>');
     $contents[] = array('text' => '<strong>Customer Notes:</strong><br><br>' . $sInfo->customers_notes);
   }


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites

I have also updated the install file...

 

Just updated the Install.htm file and uploaded it. I had no idea it was so incomplete. I either added the wrong version of the install file and deleted the correct one or I must have fell a sleep when I made it... It was very late!

 

Sorry...


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites

I guys,

 

 

I install this very usefull contribution. My costumer list is not available anymore, there is a SQL error.

 

Does the table "costumer" has to change? Is there an install.php file?

Share this post


Link to post
Share on other sites

Hi,

 

I just installed this, and without having seen it in action (not possible, yet) I already love it.

 

I get a parse error on line 852 when I want to go to customer, I guess this is the same error you got.I tried to figure it, but ......no succes. If you figured it out already can you please write done your solution?

 

Denice

 

I guys,

I install this very usefull contribution. My costumer list is not available anymore, there is a SQL error.

 

Does the table "costumer" has to change? Is there an install.php file?

Share this post


Link to post
Share on other sites

This is a really great contrib that I know I will use every day. Thank you.

 

I got one little prob though. For some reason if a category is empty MySQL throws an error:

 

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1

 

select contr_id, admin_note, category, status, note_created , contr_last_modified , date_status_change , last_update from admin_notes order by status , admin_note limit -20, 20

 

I can get around it by filling each category with a 'bunk' entry as a placeholder untill it gets used. Bad thing about that is that I'm not the only one using the Admin, so I'm afraid someone else will delete all the entries in a category and freak out.

 

Any idea why this is happening and what I could do to fix it?

Share this post


Link to post
Share on other sites
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1

 

select contr_id, admin_note, category, status, note_created , contr_last_modified , date_status_change , last_update from admin_notes order by status , admin_note limit -20, 20

looks like the split_page_results bug

 

change the line in split_page_results.php (admin and catalog)

$offset = ($max_rows_per_page * ($current_page_number - 1));

to

if ($offset < 0) $offset = 0;
$offset = ($max_rows_per_page * ($current_page_number - 1));

 

 

( http://www.oscommerce.com/community/bugs,1...limit+-20%2C+20 )


Please do not PM me for support, I will not respond anyway.

Share this post


Link to post
Share on other sites
Hi,

 

I just  installed this, and without having seen it in action (not possible, yet) I already love it.

 

I get a parse error on line 852 when I want to go to customer, I guess this is the same error you got.I tried to figure it, but ......no succes. If you figured it out already can you please write done your solution?

 

Denice

 

 

Hi,

 

I'm still not able to get to customer/admin.

 

I get this error if I try to go the customer/admin,

 

Parse error: parse error, unexpected $ in /home/jewelryt/public_html/test/admin/customers.php on line 851

 

 

This is how my customer. php looks like from line 836 to 851;

 

<?php

  }

?>

    </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'); ?>

 

Can somebody please help me and tell me where I can fix this error? All those codes are starting to look blurry to me >_<

Edited by jewelrytrends

Share this post


Link to post
Share on other sites

Post your FULL customers.php file and I will take a look. I do not know what it happening without all of your code displayed.


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites
This is a really great contrib that I know I will use every day. Thank you.

 

I got one little prob though. For some reason if a category is empty MySQL throws an error:

 

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1

 

select contr_id, admin_note, category, status, note_created , contr_last_modified , date_status_change , last_update from admin_notes order by status , admin_note limit -20, 20

 

I can get around it by filling each category with a 'bunk' entry as a placeholder untill it gets used. Bad thing about that is that I'm not the only one using the Admin, so I'm afraid someone else will delete all the entries in a category and freak out.

 

Any idea why this is happening and what I could do to fix it?

 

 

What do you mean if the "categories are empty"? Are you talking about the product categories?


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites
Post your FULL customers.php file and I will take a look. I do not know what it happening without all of your code displayed.

Hi,

 

Thank you for your quick responds, this is the whole file;

 

<?php

/*

$Id: customers.php,v 1.82 2003/06/30 13:54:14 dgw_ Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

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'] : '');

 

$error = false;

$processed = false;

 

if (tep_not_null($action)) {

switch ($action) {

case 'update':

$customers_id = tep_db_prepare_input($HTTP_GET_VARS['cID']);

$customers_firstname = tep_db_prepare_input($HTTP_POST_VARS['customers_firstname']);

$customers_lastname = tep_db_prepare_input($HTTP_POST_VARS['customers_lastname']);

$customers_email_address = tep_db_prepare_input($HTTP_POST_VARS['customers_email_address']);

$customers_telephone = tep_db_prepare_input($HTTP_POST_VARS['customers_telephone']);

$customers_fax = tep_db_prepare_input($HTTP_POST_VARS['customers_fax']);

$customers_newsletter = tep_db_prepare_input($HTTP_POST_VARS['customers_newsletter']);

 

$customers_gender = tep_db_prepare_input($HTTP_POST_VARS['customers_gender']);

$customers_dob = tep_db_prepare_input($HTTP_POST_VARS['customers_dob']);

// START Admin Notes

$customers_notes = tep_db_prepare_input($HTTP_POST_VARS['customers_notes']);

// END Admin Notes

$default_address_id = tep_db_prepare_input($HTTP_POST_VARS['default_address_id']);

$entry_street_address = tep_db_prepare_input($HTTP_POST_VARS['entry_street_address']);

$entry_suburb = tep_db_prepare_input($HTTP_POST_VARS['entry_suburb']);

$entry_postcode = tep_db_prepare_input($HTTP_POST_VARS['entry_postcode']);

$entry_city = tep_db_prepare_input($HTTP_POST_VARS['entry_city']);

$entry_country_id = tep_db_prepare_input($HTTP_POST_VARS['entry_country_id']);

 

$entry_company = tep_db_prepare_input($HTTP_POST_VARS['entry_company']);

$entry_state = tep_db_prepare_input($HTTP_POST_VARS['entry_state']);

if (isset($HTTP_POST_VARS['entry_zone_id'])) $entry_zone_id = tep_db_prepare_input($HTTP_POST_VARS['entry_zone_id']);

 

if (strlen($customers_firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) {

$error = true;

$entry_firstname_error = true;

} else {

$entry_firstname_error = false;

}

 

if (strlen($customers_lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {

$error = true;

$entry_lastname_error = true;

} else {

$entry_lastname_error = false;

}

 

if (ACCOUNT_DOB == 'true') {

if (checkdate(substr(tep_date_raw($customers_dob), 4, 2), substr(tep_date_raw($customers_dob), 6, 2), substr(tep_date_raw($customers_dob), 0, 4))) {

$entry_date_of_birth_error = false;

} else {

$error = true;

$entry_date_of_birth_error = true;

}

}

 

if (strlen($customers_email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {

$error = true;

$entry_email_address_error = true;

} else {

$entry_email_address_error = false;

}

 

if (!tep_validate_email($customers_email_address)) {

$error = true;

$entry_email_address_check_error = true;

} else {

$entry_email_address_check_error = false;

}

 

if (strlen($entry_street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) {

$error = true;

$entry_street_address_error = true;

} else {

$entry_street_address_error = false;

}

 

if (strlen($entry_postcode) < ENTRY_POSTCODE_MIN_LENGTH) {

$error = true;

$entry_post_code_error = true;

} else {

$entry_post_code_error = false;

}

 

if (strlen($entry_city) < ENTRY_CITY_MIN_LENGTH) {

$error = true;

$entry_city_error = true;

} else {

$entry_city_error = false;

}

 

if ($entry_country_id == false) {

$error = true;

$entry_country_error = true;

} else {

$entry_country_error = false;

}

 

if (ACCOUNT_STATE == 'true') {

if ($entry_country_error == true) {

$entry_state_error = true;

} else {

$zone_id = 0;

$entry_state_error = false;

$check_query = tep_db_query("select count(*) as total from " . TABLE_ZONES . " where zone_country_id = '" . (int)$entry_country_id . "'");

$check_value = tep_db_fetch_array($check_query);

$entry_state_has_zones = ($check_value['total'] > 0);

if ($entry_state_has_zones == true) {

$zone_query = tep_db_query("select zone_id from " . TABLE_ZONES . " where zone_country_id = '" . (int)$entry_country_id . "' and zone_name = '" . tep_db_input($entry_state) . "'");

if (tep_db_num_rows($zone_query) == 1) {

$zone_values = tep_db_fetch_array($zone_query);

$entry_zone_id = $zone_values['zone_id'];

} else {

$error = true;

$entry_state_error = true;

}

} else {

if ($entry_state == false) {

$error = true;

$entry_state_error = true;

}

}

}

}

 

if (strlen($customers_telephone) < ENTRY_TELEPHONE_MIN_LENGTH) {

$error = true;

$entry_telephone_error = true;

} else {

$entry_telephone_error = false;

}

 

$check_email = tep_db_query("select customers_email_address from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($customers_email_address) . "' and customers_id != '" . (int)$customers_id . "'");

if (tep_db_num_rows($check_email)) {

$error = true;

$entry_email_address_exists = true;

} else {

$entry_email_address_exists = false;

}

 

if ($error == false) {

 

$sql_data_array = array('customers_firstname' => $customers_firstname,

'customers_lastname' => $customers_lastname,

'customers_email_address' => $customers_email_address,

'customers_telephone' => $customers_telephone,

'customers_fax' => $customers_fax,

'customers_notes' => $customers_notes, // START \ END Admin Notes

'customers_newsletter' => $customers_newsletter);

 

if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $customers_gender;

if (ACCOUNT_DOB == 'true') $sql_data_array['customers_dob'] = tep_date_raw($customers_dob);

 

tep_db_perform(TABLE_CUSTOMERS, $sql_data_array, 'update', "customers_id = '" . (int)$customers_id . "'");

 

tep_db_query("update " . TABLE_CUSTOMERS_INFO . " set customers_info_date_account_last_modified = now() where customers_info_id = '" . (int)$customers_id . "'");

 

if ($entry_zone_id > 0) $entry_state = '';

 

$sql_data_array = array('entry_firstname' => $customers_firstname,

'entry_lastname' => $customers_lastname,

'entry_street_address' => $entry_street_address,

'entry_postcode' => $entry_postcode,

'entry_city' => $entry_city,

'entry_country_id' => $entry_country_id);

 

if (ACCOUNT_COMPANY == 'true') $sql_data_array['entry_company'] = $entry_company;

if (ACCOUNT_SUBURB == 'true') $sql_data_array['entry_suburb'] = $entry_suburb;

 

if (ACCOUNT_STATE == 'true') {

if ($entry_zone_id > 0) {

$sql_data_array['entry_zone_id'] = $entry_zone_id;

$sql_data_array['entry_state'] = '';

} else {

$sql_data_array['entry_zone_id'] = '0';

$sql_data_array['entry_state'] = $entry_state;

}

}

 

tep_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array, 'update', "customers_id = '" . (int)$customers_id . "' and address_book_id = '" . (int)$default_address_id . "'");

 

tep_redirect(tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID', 'action')) . 'cID=' . $customers_id));

 

} else if ($error == true) {

$cInfo = new objectInfo($HTTP_POST_VARS);

$processed = true;

}

 

break;

case 'deleteconfirm':

$customers_id = tep_db_prepare_input($HTTP_GET_VARS['cID']);

 

if (isset($HTTP_POST_VARS['delete_reviews']) && ($HTTP_POST_VARS['delete_reviews'] == 'on')) {

$reviews_query = tep_db_query("select reviews_id from " . TABLE_REVIEWS . " where customers_id = '" . (int)$customers_id . "'");

while ($reviews = tep_db_fetch_array($reviews_query)) {

tep_db_query("delete from " . TABLE_REVIEWS_DESCRIPTION . " where reviews_id = '" . (int)$reviews['reviews_id'] . "'");

}

 

tep_db_query("delete from " . TABLE_REVIEWS . " where customers_id = '" . (int)$customers_id . "'");

} else {

tep_db_query("update " . TABLE_REVIEWS . " set customers_id = null where customers_id = '" . (int)$customers_id . "'");

}

 

tep_db_query("delete from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customers_id . "'");

tep_db_query("delete from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customers_id . "'");

tep_db_query("delete from " . TABLE_CUSTOMERS_INFO . " where customers_info_id = '" . (int)$customers_id . "'");

tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . (int)$customers_id . "'");

tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where customers_id = '" . (int)$customers_id . "'");

tep_db_query("delete from " . TABLE_WHOS_ONLINE . " where customer_id = '" . (int)$customers_id . "'");

 

tep_redirect(tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID', 'action'))));

break;

default:

// START Admin Notes

$customers_query = tep_db_query("select c.customers_id, c.customers_gender, c.customers_firstname, c.customers_lastname, c.customers_dob, c.customers_email_address, a.entry_company, a.entry_street_address, a.entry_suburb, a.entry_postcode, a.entry_city, a.entry_state, a.entry_zone_id, a.entry_country_id, c.customers_telephone, c.customers_fax, c.customers_newsletter, c.customers_default_address_id, c.customers_notes from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a on c.customers_default_address_id = a.address_book_id where a.customers_id = c.customers_id and c.customers_id = '" . (int)$HTTP_GET_VARS['cID'] . "'");

// END Admin Notes $customers = tep_db_fetch_array($customers_query);

$cInfo = new objectInfo($customers);

}

}

?>

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

<?php

if ($action == 'edit' || $action == 'update') {

?>

<script language="javascript"><!--

 

function check_form() {

var error = 0;

var error_message = "<?php echo JS_ERROR; ?>";

 

var customers_firstname = document.customers.customers_firstname.value;

var customers_lastname = document.customers.customers_lastname.value;

<?php if (ACCOUNT_COMPANY == 'true') echo 'var entry_company = document.customers.entry_company.value;' . "\n"; ?>

<?php if (ACCOUNT_DOB == 'true') echo 'var customers_dob = document.customers.customers_dob.value;' . "\n"; ?>

var customers_email_address = document.customers.customers_email_address.value;

var entry_street_address = document.customers.entry_street_address.value;

var entry_postcode = document.customers.entry_postcode.value;

var entry_city = document.customers.entry_city.value;

var customers_telephone = document.customers.customers_telephone.value;

 

<?php if (ACCOUNT_GENDER == 'true') { ?>

if (document.customers.customers_gender[0].checked || document.customers.customers_gender[1].checked) {

} else {

error_message = error_message + "<?php echo JS_GENDER; ?>";

error = 1;

}

<?php } ?>

 

if (customers_firstname == "" || customers_firstname.length < <?php echo ENTRY_FIRST_NAME_MIN_LENGTH; ?>) {

error_message = error_message + "<?php echo JS_FIRST_NAME; ?>";

error = 1;

}

 

if (customers_lastname == "" || customers_lastname.length < <?php echo ENTRY_LAST_NAME_MIN_LENGTH; ?>) {

error_message = error_message + "<?php echo JS_LAST_NAME; ?>";

error = 1;

}

 

<?php if (ACCOUNT_DOB == 'true') { ?>

if (customers_dob == "" || customers_dob.length < <?php echo ENTRY_DOB_MIN_LENGTH; ?>) {

error_message = error_message + "<?php echo JS_DOB; ?>";

error = 1;

}

<?php } ?>

 

if (customers_email_address == "" || customers_email_address.length < <?php echo ENTRY_EMAIL_ADDRESS_MIN_LENGTH; ?>) {

error_message = error_message + "<?php echo JS_EMAIL_ADDRESS; ?>";

error = 1;

}

 

if (entry_street_address == "" || entry_street_address.length < <?php echo ENTRY_STREET_ADDRESS_MIN_LENGTH; ?>) {

error_message = error_message + "<?php echo JS_ADDRESS; ?>";

error = 1;

}

 

if (entry_postcode == "" || entry_postcode.length < <?php echo ENTRY_POSTCODE_MIN_LENGTH; ?>) {

error_message = error_message + "<?php echo JS_POST_CODE; ?>";

error = 1;

}

 

if (entry_city == "" || entry_city.length < <?php echo ENTRY_CITY_MIN_LENGTH; ?>) {

error_message = error_message + "<?php echo JS_CITY; ?>";

error = 1;

}

 

<?php

if (ACCOUNT_STATE == 'true') {

?>

if (document.customers.elements['entry_state'].type != "hidden") {

if (document.customers.entry_state.value == '' || document.customers.entry_state.value.length < <?php echo ENTRY_STATE_MIN_LENGTH; ?> ) {

error_message = error_message + "<?php echo JS_STATE; ?>";

error = 1;

}

}

<?php

}

?>

 

if (document.customers.elements['entry_country_id'].type != "hidden") {

if (document.customers.entry_country_id.value == 0) {

error_message = error_message + "<?php echo JS_COUNTRY; ?>";

error = 1;

}

}

 

if (customers_telephone == "" || customers_telephone.length < <?php echo ENTRY_TELEPHONE_MIN_LENGTH; ?>) {

error_message = error_message + "<?php echo JS_TELEPHONE; ?>";

error = 1;

}

 

if (error == 1) {

alert(error_message);

return false;

} else {

return true;

}

}

//--></script>

<?php

}

?>

</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">

<?php

if ($action == 'edit' || $action == 'update') {

$newsletter_array = array(array('id' => '1', 'text' => ENTRY_NEWSLETTER_YES),

array('id' => '0', 'text' => ENTRY_NEWSLETTER_NO));

?>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading"><?php echo HEADING_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><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr><?php echo tep_draw_form('customers', FILENAME_CUSTOMERS, tep_get_all_get_params(array('action')) . 'action=update', 'post', 'onSubmit="return check_form();"') . tep_draw_hidden_field('default_address_id', $cInfo->customers_default_address_id); ?>

<td class="formAreaTitle"><?php echo CATEGORY_PERSONAL; ?></td>

</tr>

<tr>

<td class="formArea"><table border="0" cellspacing="2" cellpadding="2">

<?php

if (ACCOUNT_GENDER == 'true') {

?>

<tr>

<td class="main"><?php echo ENTRY_GENDER; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_gender_error == true) {

echo tep_draw_radio_field('customers_gender', 'm', false, $cInfo->customers_gender) . '  ' . MALE . '  ' . tep_draw_radio_field('customers_gender', 'f', false, $cInfo->customers_gender) . '  ' . FEMALE . ' ' . ENTRY_GENDER_ERROR;

} else {

echo ($cInfo->customers_gender == 'm') ? MALE : FEMALE;

echo tep_draw_hidden_field('customers_gender');

}

} else {

echo tep_draw_radio_field('customers_gender', 'm', false, $cInfo->customers_gender) . '  ' . MALE . '  ' . tep_draw_radio_field('customers_gender', 'f', false, $cInfo->customers_gender) . '  ' . FEMALE;

}

?></td>

</tr>

<?php

}

?>

<tr>

<td class="main"><?php echo ENTRY_FIRST_NAME; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_firstname_error == true) {

echo tep_draw_input_field('customers_firstname', $cInfo->customers_firstname, 'maxlength="32"') . ' ' . ENTRY_FIRST_NAME_ERROR;

} else {

echo $cInfo->customers_firstname . tep_draw_hidden_field('customers_firstname');

}

} else {

echo tep_draw_input_field('customers_firstname', $cInfo->customers_firstname, 'maxlength="32"', true);

}

?></td>

</tr>

<tr>

<td class="main"><?php echo ENTRY_LAST_NAME; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_lastname_error == true) {

echo tep_draw_input_field('customers_lastname', $cInfo->customers_lastname, 'maxlength="32"') . ' ' . ENTRY_LAST_NAME_ERROR;

} else {

echo $cInfo->customers_lastname . tep_draw_hidden_field('customers_lastname');

}

} else {

echo tep_draw_input_field('customers_lastname', $cInfo->customers_lastname, 'maxlength="32"', true);

}

?></td>

</tr>

<?php

if (ACCOUNT_DOB == 'true') {

?>

<tr>

<td class="main"><?php echo ENTRY_DATE_OF_BIRTH; ?></td>

<td class="main">

 

<?php

if ($error == true) {

if ($entry_date_of_birth_error == true) {

echo tep_draw_input_field('customers_dob', tep_date_short($cInfo->customers_dob), 'maxlength="10"') . ' ' . ENTRY_DATE_OF_BIRTH_ERROR;

} else {

echo $cInfo->customers_dob . tep_draw_hidden_field('customers_dob');

}

} else {

echo tep_draw_input_field('customers_dob', tep_date_short($cInfo->customers_dob), 'maxlength="10"', true);

}

?></td>

</tr>

<?php

}

?>

<tr>

<td class="main"><?php echo ENTRY_EMAIL_ADDRESS; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_email_address_error == true) {

echo tep_draw_input_field('customers_email_address', $cInfo->customers_email_address, 'maxlength="96"') . ' ' . ENTRY_EMAIL_ADDRESS_ERROR;

} elseif ($entry_email_address_check_error == true) {

echo tep_draw_input_field('customers_email_address', $cInfo->customers_email_address, 'maxlength="96"') . ' ' . ENTRY_EMAIL_ADDRESS_CHECK_ERROR;

} elseif ($entry_email_address_exists == true) {

echo tep_draw_input_field('customers_email_address', $cInfo->customers_email_address, 'maxlength="96"') . ' ' . ENTRY_EMAIL_ADDRESS_ERROR_EXISTS;

} else {

echo $customers_email_address . tep_draw_hidden_field('customers_email_address');

}

} else {

echo tep_draw_input_field('customers_email_address', $cInfo->customers_email_address, 'maxlength="96"', true);

}

?></td>

</tr>

</table></td>

</tr>

<?php

if (ACCOUNT_COMPANY == 'true') {

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td class="formAreaTitle"><?php echo CATEGORY_COMPANY; ?></td>

</tr>

<tr>

<td class="formArea"><table border="0" cellspacing="2" cellpadding="2">

<tr>

<td class="main"><?php echo ENTRY_COMPANY; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_company_error == true) {

echo tep_draw_input_field('entry_company', $cInfo->entry_company, 'maxlength="32"') . ' ' . ENTRY_COMPANY_ERROR;

} else {

echo $cInfo->entry_company . tep_draw_hidden_field('entry_company');

}

} else {

echo tep_draw_input_field('entry_company', $cInfo->entry_company, 'maxlength="32"');

}

?></td>

</tr>

</table></td>

</tr>

<?php

}

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td class="formAreaTitle"><?php echo CATEGORY_ADDRESS; ?></td>

</tr>

<tr>

<td class="formArea"><table border="0" cellspacing="2" cellpadding="2">

<tr>

<td class="main"><?php echo ENTRY_STREET_ADDRESS; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_street_address_error == true) {

echo tep_draw_input_field('entry_street_address', $cInfo->entry_street_address, 'maxlength="64"') . ' ' . ENTRY_STREET_ADDRESS_ERROR;

} else {

echo $cInfo->entry_street_address . tep_draw_hidden_field('entry_street_address');

}

} else {

echo tep_draw_input_field('entry_street_address', $cInfo->entry_street_address, 'maxlength="64"', true);

}

?></td>

</tr>

<?php

if (ACCOUNT_SUBURB == 'true') {

?>

<tr>

<td class="main"><?php echo ENTRY_SUBURB; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_suburb_error == true) {

echo tep_draw_input_field('suburb', $cInfo->entry_suburb, 'maxlength="32"') . ' ' . ENTRY_SUBURB_ERROR;

} else {

echo $cInfo->entry_suburb . tep_draw_hidden_field('entry_suburb');

}

} else {

echo tep_draw_input_field('entry_suburb', $cInfo->entry_suburb, 'maxlength="32"');

}

?></td>

</tr>

<?php

}

?>

<tr>

<td class="main"><?php echo ENTRY_POST_CODE; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_post_code_error == true) {

echo tep_draw_input_field('entry_postcode', $cInfo->entry_postcode, 'maxlength="8"') . ' ' . ENTRY_POST_CODE_ERROR;

} else {

echo $cInfo->entry_postcode . tep_draw_hidden_field('entry_postcode');

}

} else {

echo tep_draw_input_field('entry_postcode', $cInfo->entry_postcode, 'maxlength="8"', true);

}

?></td>

</tr>

<tr>

<td class="main"><?php echo ENTRY_CITY; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_city_error == true) {

echo tep_draw_input_field('entry_city', $cInfo->entry_city, 'maxlength="32"') . ' ' . ENTRY_CITY_ERROR;

} else {

echo $cInfo->entry_city . tep_draw_hidden_field('entry_city');

}

} else {

echo tep_draw_input_field('entry_city', $cInfo->entry_city, 'maxlength="32"', true);

}

?></td>

</tr>

<?php

if (ACCOUNT_STATE == 'true') {

?>

<tr>

<td class="main"><?php echo ENTRY_STATE; ?></td>

<td class="main">

<?php

$entry_state = tep_get_zone_name($cInfo->entry_country_id, $cInfo->entry_zone_id, $cInfo->entry_state);

if ($error == true) {

if ($entry_state_error == true) {

if ($entry_state_has_zones == true) {

$zones_array = array();

$zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '" . tep_db_input($cInfo->entry_country_id) . "' order by zone_name");

while ($zones_values = tep_db_fetch_array($zones_query)) {

$zones_array[] = array('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);

}

echo tep_draw_pull_down_menu('entry_state', $zones_array) . ' ' . ENTRY_STATE_ERROR;

} else {

echo tep_draw_input_field('entry_state', tep_get_zone_name($cInfo->entry_country_id, $cInfo->entry_zone_id, $cInfo->entry_state)) . ' ' . ENTRY_STATE_ERROR;

}

} else {

echo $entry_state . tep_draw_hidden_field('entry_zone_id') . tep_draw_hidden_field('entry_state');

}

} else {

echo tep_draw_input_field('entry_state', tep_get_zone_name($cInfo->entry_country_id, $cInfo->entry_zone_id, $cInfo->entry_state));

}

 

?></td>

</tr>

<?php

}

?>

<tr>

<td class="main"><?php echo ENTRY_COUNTRY; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_country_error == true) {

echo tep_draw_pull_down_menu('entry_country_id', tep_get_countries(), $cInfo->entry_country_id) . ' ' . ENTRY_COUNTRY_ERROR;

} else {

echo tep_get_country_name($cInfo->entry_country_id) . tep_draw_hidden_field('entry_country_id');

}

} else {

echo tep_draw_pull_down_menu('entry_country_id', tep_get_countries(), $cInfo->entry_country_id);

}

?></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td class="formAreaTitle"><?php echo CATEGORY_CONTACT; ?></td>

</tr>

<tr>

<td class="formArea"><table border="0" cellspacing="2" cellpadding="2">

<tr>

<td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td>

<td class="main">

<?php

if ($error == true) {

if ($entry_telephone_error == true) {

echo tep_draw_input_field('customers_telephone', $cInfo->customers_telephone, 'maxlength="32"') . ' ' . ENTRY_TELEPHONE_NUMBER_ERROR;

} else {

echo $cInfo->customers_telephone . tep_draw_hidden_field('customers_telephone');

}

} else {

echo tep_draw_input_field('customers_telephone', $cInfo->customers_telephone, 'maxlength="32"', true);

}

?></td>

</tr>

<tr>

<td class="main"><?php echo ENTRY_FAX_NUMBER; ?></td>

<td class="main">

<?php

if ($processed == true) {

echo $cInfo->customers_fax . tep_draw_hidden_field('customers_fax');

} else {

echo tep_draw_input_field('customers_fax', $cInfo->customers_fax, 'maxlength="32"');

}

?></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td class="formAreaTitle"><?php echo CATEGORY_OPTIONS; ?></td>

</tr>

<tr>

<td class="formArea"><table border="0" cellspacing="2" cellpadding="2">

<tr>

<td class="main"><?php echo ENTRY_NEWSLETTER; ?></td>

<td class="main">

<?php

if ($processed == true) {

if ($cInfo->customers_newsletter == '1') {

echo ENTRY_NEWSLETTER_YES;

} else {

echo ENTRY_NEWSLETTER_NO;

}

echo tep_draw_hidden_field('customers_newsletter');

} else {

echo tep_draw_pull_down_menu('customers_newsletter', $newsletter_array, (($cInfo->customers_newsletter == '1') ? '1' : '0'));

}

?></td>

</tr>

<?php

// START Admin Notes

?>

<tr>

<td valign="top" class="main">Admin Notes:</td>

<td class="main">

<?php

if ($processed == true) {

echo $cInfo->customers_notes . tep_draw_hidden_field('customers_notes');

} else {

echo tep_draw_textarea_field('customers_notes', 'soft', '75', '5', ($cInfo->customers_notes));

}

?></td>

</tr>

<?php

// END Admin Notes

?>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

</tr>

<tr>

<td align="right" class="main"><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE) . ' <a href="' . tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('action'))) .'">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td>

</tr></form>

<?php

} else {

?>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr><?php echo tep_draw_form('search', FILENAME_CUSTOMERS, '', 'get'); ?>

<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>

<td class="smallText" align="right"><?php echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('search'); ?></td>

</form></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_LASTNAME; ?></td>

<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_FIRSTNAME; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACCOUNT_CREATED; ?></td>

<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>

</tr>

<?php

$search = '';

if (isset($HTTP_GET_VARS['search']) && tep_not_null($HTTP_GET_VARS['search'])) {

$keywords = tep_db_input(tep_db_prepare_input($HTTP_GET_VARS['search']));

$search = "where c.customers_lastname like '%" . $keywords . "%' or c.customers_firstname like '%" . $keywords . "%' or c.customers_email_address like '%" . $keywords . "%'";

}

// START Admin Notes

$customers_query_raw = "select c.customers_notes, c.customers_id, c.customers_lastname, c.customers_firstname, c.customers_email_address, a.entry_country_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a on c.customers_id = a.customers_id and c.customers_default_address_id = a.address_book_id " . $search . " order by $order";

// END Admin Notes $customers_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $customers_query_raw, $customers_query_numrows);

$customers_query = tep_db_query($customers_query_raw);

while ($customers = tep_db_fetch_array($customers_query)) {

$info_query = tep_db_query("select customers_info_date_account_created as date_account_created, customers_info_date_account_last_modified as date_account_last_modified, customers_info_date_of_last_logon as date_last_logon, customers_info_number_of_logons as number_of_logons from " . TABLE_CUSTOMERS_INFO . " where customers_info_id = '" . $customers['customers_id'] . "'");

$info = tep_db_fetch_array($info_query);

 

if ((!isset($HTTP_GET_VARS['cID']) || (isset($HTTP_GET_VARS['cID']) && ($HTTP_GET_VARS['cID'] == $customers['customers_id']))) && !isset($cInfo)) {

$country_query = tep_db_query("select countries_name from " . TABLE_COUNTRIES . " where countries_id = '" . (int)$customers['entry_country_id'] . "'");

$country = tep_db_fetch_array($country_query);

 

$reviews_query = tep_db_query("select count(*) as number_of_reviews from " . TABLE_REVIEWS . " where customers_id = '" . (int)$customers['customers_id'] . "'");

$reviews = tep_db_fetch_array($reviews_query);

 

$customer_info = array_merge($country, $info, $reviews);

 

$cInfo_array = array_merge($customers, $customer_info);

$cInfo = new objectInfo($cInfo_array);

}

 

if (isset($cInfo) && is_object($cInfo) && ($customers['customers_id'] == $cInfo->customers_id)) {

echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID', 'action')) . 'cID=' . $cInfo->customers_id . '&action=edit') . '\'">' . "\n";

} else {

echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID')) . 'cID=' . $customers['customers_id']) . '\'">' . "\n";

}

?>

<td class="dataTableContent"><?php echo $customers['customers_lastname']; ?></td>

<td class="dataTableContent"><?php echo $customers['customers_firstname']; ?></td>

<td class="dataTableContent" align="right"><?php echo tep_date_short($info['date_account_created']); ?></td>

<td class="dataTableContent" align="right"><?php if (isset($cInfo) && is_object($cInfo) && ($customers['customers_id'] == $cInfo->customers_id)) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID')) . 'cID=' . $customers['customers_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>

</tr>

<?php

}

?>

<tr>

<td colspan="4"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td class="smallText" valign="top"><?php echo $customers_split->display_count($customers_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $HTTP_GET_VARS['page'], TEXT_DISPLAY_NUMBER_OF_CUSTOMERS); ?></td>

<td class="smallText" align="right"><?php echo $customers_split->display_links($customers_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $HTTP_GET_VARS['page'], tep_get_all_get_params(array('page', 'info', 'x', 'y', 'cID'))); ?></td>

</tr>

<?php

if (isset($HTTP_GET_VARS['search']) && tep_not_null($HTTP_GET_VARS['search'])) {

?>

<tr>

<td align="right" colspan="2"><?php echo '<a href="' . tep_href_link(FILENAME_CUSTOMERS) . '">' . tep_image_button('button_reset.gif', IMAGE_RESET) . '</a>'; ?></td>

</tr>

<?php

}

?>

</table></td>

</tr>

</table></td>

<?php

$heading = array();

$contents = array();

 

switch ($action) {

case 'confirm':

$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_CUSTOMER . '</b>');

 

$contents = array('form' => tep_draw_form('customers', FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID', 'action')) . 'cID=' . $cInfo->customers_id . '&action=deleteconfirm'));

$contents[] = array('text' => TEXT_DELETE_INTRO . '<br><br><b>' . $cInfo->customers_firstname . ' ' . $cInfo->customers_lastname . '</b>');

if (isset($cInfo->number_of_reviews) && ($cInfo->number_of_reviews) > 0) $contents[] = array('text' => '<br>' . tep_draw_checkbox_field('delete_reviews', 'on', true) . ' ' . sprintf(TEXT_DELETE_REVIEWS, $cInfo->number_of_reviews));

$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID', 'action')) . 'cID=' . $cInfo->customers_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');

break;

default:

if (isset($cInfo) && is_object($cInfo)) {

$heading[] = array('text' => '<b>' . $cInfo->customers_firstname . ' ' . $cInfo->customers_lastname . '</b>');

 

// START Admin Notes

$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID', 'action')) . 'cID=' . $cInfo->customers_id . '&action=edit') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID', 'action')) . 'cID=' . $cInfo->customers_id . '&action=confirm') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS, 'cID=' . $cInfo->customers_id) . '">' . tep_image_button('button_orders.gif', IMAGE_ORDERS) . '</a> <a href="' . tep_href_link(FILENAME_MAIL, 'selected_box=tools&customer=' . $cInfo->customers_email_address) . '">' . tep_image_button('button_email.gif', IMAGE_EMAIL) . '</a>');

$contents[] = array('text' => '<br>' . TEXT_DATE_ACCOUNT_CREATED . ' ' . tep_date_short($cInfo->date_account_created));

$contents[] = array('text' => TEXT_DATE_ACCOUNT_LAST_MODIFIED . ' ' . tep_date_short($cInfo->date_account_last_modified));

$contents[] = array('text' => TEXT_INFO_DATE_LAST_LOGON . ' ' . tep_date_short($cInfo->date_last_logon));

$contents[] = array('text' => '<br>' . TEXT_INFO_NUMBER_OF_LOGONS . ' ' . $cInfo->number_of_logons);

$contents[] = array('text' => TEXT_INFO_NUMBER_OF_REVIEWS . ' ' . $cInfo->number_of_reviews);

$contents[] = array('text' => '<br>' . TEXT_INFO_COUNTRY . ' ' . $cInfo->countries_name);

$contents[] = array('text' => '<hr width="100%" size="1" color="#000000" noshade>');

$contents[] = array('text' => '<strong>Customer Notes:</strong><br><br>' . $cInfo->customers_notes);

// END Admin Notes }

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>

<?php

}

?>

</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'); ?>

Edited by jewelrytrends

Share this post


Link to post
Share on other sites

Great contrib that is working fine but I have a table displaying error.

 

When I type comments and update they are not displayed in a table but on their own.

 

Now I realise that this is down to the table layout but I have not been able to copy paste the orders.php onto my file as I have made changes in that section for another contrib.

 

I have spent hours messing around trying to solve this but whislt Ican get the table and texts to move I cant get them displayed in the box.

 

Hopefully someone can have a look at my orders.php and tell me where I am going wrong.

 

This is the section where the comments are added.

       <td class="main"><table border="1" cellspacing="0" cellpadding="5">
         <tr>
           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_DATE_ADDED; ?></b></td>
           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_CUSTOMER_NOTIFIED; ?></b></td>
           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_STATUS; ?></b></td>
           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
         </tr>
<?php
   $orders_history_query = tep_db_query("select orders_status_history_id, orders_status_id, date_added, customer_notified, comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID) . "' order by date_added");
//  orders_history_query = tep_db_query("select orders_status_history_id, orders_status_id, date_added, customer_notified, comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID) . "' order by date_added");
  if (tep_db_num_rows($orders_history_query)) {
     while ($orders_history = tep_db_fetch_array($orders_history_query)) {
       echo '          <tr>' . "\n" .
            '            <td class="smallText" align="center">' . tep_datetime_short($orders_history['date_added']) . '</td>' . "\n" .
            '            <td class="smallText" align="center">';
       if ($orders_history['customer_notified'] == '1') {
         echo tep_image(DIR_WS_ICONS . 'tick.gif', ICON_TICK) . "</td>\n";
       } else {
         echo tep_image(DIR_WS_ICONS . 'cross.gif', ICON_CROSS) . "</td>\n";
       }
       echo '            <td class="smallText">' . $orders_status_array[$orders_history['orders_status_id']] . '</td>' . "\n" .
            '            <td class="smallText">' . nl2br(tep_db_output($orders_history['comments'])) . ' </td>' . "\n" .
         /* ******* Edit comments ********* */
             '            <td class="smallText">' .
                	 tep_draw_form('edit_comment', FILENAME_ORDERS, tep_get_all_get_params(array()) ).
                   tep_draw_hidden_field('comment_id',$orders_history['orders_status_history_id']);

                   if($HTTP_POST_VARS['action_comment']=='edit_comment' && $HTTP_POST_VARS['comment_id'] == $orders_history['orders_status_history_id']) echo tep_image_submit('button_update.gif', IMAGE_EDIT);
                   else echo tep_image_submit('button_edit.gif', IMAGE_EDIT);

         if($HTTP_POST_VARS['action_comment']=='edit_comment' && $HTTP_POST_VARS['comment_id'] == $orders_history['orders_status_history_id']){
             echo tep_draw_hidden_field('action_comment','edit_comment_true');
        	 echo '<br>'.tep_draw_textarea_field('txt_comment','soft',60,5,stripslashes(nl2br(tep_db_output($orders_history['comments']))));
         }else echo tep_draw_hidden_field('action_comment','edit_comment');
        echo        '</form>'.' ';


        echo        tep_draw_form('delete_comment', FILENAME_ORDERS, tep_get_all_get_params(array()) );

               if($HTTP_POST_VARS['action_comment']=='delete_comment' && $HTTP_POST_VARS['comment_id'] == $orders_history['orders_status_history_id']){
              	 echo tep_draw_hidden_field('action_comment','delete_comment_true');
                  	 echo '<br>'.TEXT_INFO_DELETE_COMMENT.'<br><br><br>';
                   }else echo tep_draw_hidden_field('action_comment','delete_comment');

        echo       	 tep_draw_hidden_field('comment_id',$orders_history['orders_status_history_id']);

                   if($HTTP_POST_VARS['action_comment']=='delete_comment' && $HTTP_POST_VARS['comment_id'] == $orders_history['orders_status_history_id']) echo tep_image_submit('button_confirm.gif', IMAGE_CONFIRM);
                   else echo tep_image_submit('button_delete.gif', IMAGE_DELETE);
        echo        '</form> '.
                  '</td>' . "\n" .
/* ******* Edit comments eof ********* */
               '          </tr>' . "\n";
     }
   } else {
       echo '          <tr>' . "\n" .
            '            <td class="smallText" colspan="5">' . TEXT_NO_ORDER_HISTORY . '</td>' . "\n" .
            '          </tr>' . "\n";
   }
?>
       </table></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
     </tr>
     
     
         
         
     <?php
   $admin_comments_query = tep_db_query("select orders_id, date_added, comments from admin_comments where orders_id = '" . tep_db_input($oID) . "' order by date_added");
   if (tep_db_num_rows($admin_comments_query)) {
     while ($admin_history = tep_db_fetch_array($admin_comments_query)) {
       echo '          <tr>' . "\n" .
       
       
            '            <td class="smallText" align="center">' . tep_datetime_short($admin_history['date_added']) . '</td>' . "\n" .
            '            <td class="smallText">' . tep_db_output($admin_history['comments']) . ' </td>' . "\n" .
            '          </tr>' . "\n";
     }
   } else {
       echo '          <tr>' . "\n" .
            '            <td class="smallText" colspan="2">No Admin Comments.</td>' . "\n" .
            '          </tr>' . "\n";
   }
?>
                       
                   
                   <tr> 
                     <td><?php echo tep_draw_form('status', FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=update_admin_comments'); ?> 
                       <table width="100%" border="0" cellpadding="0" cellspacing="0" class="main">
                         <tr> 
                           <td class="main"><b>Admin Comments</b></td>
                         </tr>
                         <tr> 
                           <td><?php echo tep_draw_textarea_field('admin_comments', 'soft', '60', '5'); ?></td>
                         </tr>
                         <tr> 
                           <td><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?></td>
                         </tr>
                       </table></form></td>
     
     <tr>
       <td class="main"><br><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
     </tr>
     
     

 

Many thanks

Share this post


Link to post
Share on other sites
Hi,

 

Thank you for your quick responds, this is the whole file;

 

 

Now, can you please reply again post your file again USING THE CODE bracket button. If you do not put your HTML and PHP code in the CODE brackets, the outcome will not be correct.

 

If you do not see the buttons I speak of then you must be using the Quick Reply at the bottom. Do not use the Quick Reply when posting code.


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites

Ok guys and gals...

 

I need your help. I just noticed that my update is not working. Can someone please help to get it to work correctly.

 

I want it so that IF the customer has an Admin Customer Note, it will display that note on the Admin / Customers page for the highlighted customer and if they DO NOT have an Admin Customer Note, it will display nothing as usual.

 

Here is the problem code...

 

This WORKS, but it displays the <HR> and "Customer Notes:" under it even when a customer does NOT have an Admin Customer Note. But if they DO have an Admin Customer Note, it will display the saved Admin Customer Notes fine.

 ? ? ? ?$contents[] = array('text' => '<hr width="100%" size="1" color="#000000" noshade>');
? ? ? ?$contents[] = array('text' => '<strong>Customer Notes:</strong><br><br>' . $sInfo->customers_notes);

This does NOT work, it displays nothing (correctly) if there are no saved Admin Customer Notes, but it does not display the saved Admin Customer Note if the customer DOES have an Admin Customer Note. - Question, why will it not display the Admin Customer Note if they DO have one?

 ? ?if (tep_not_null($cInfo->customers_notes)) {
? ? ?$contents[] = array('text' => '<hr width="100%" size="1" color="#000000" noshade>');
? ? ?$contents[] = array('text' => '<strong>Customer Notes:</strong><br><br>' . $sInfo->customers_notes);
? ?}


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites

Denice,

Well, to be totally honest with you, I can not find anything by looking at the code you posted, but then again, it is real hard because I have to scroll off the page and up and down. It did not post correctly. When I try to block copy your code, it gets pasted all on one line and freaks my HTML editor out.

 

Because of this, I can not be of much help. may be someone else can try.


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites

I found the error in costumer.php

 

 

When you try to list your clients in admin section, an error occure :

 

1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit 0, 20' at line 1

 

select c.customers_notes, c.customers_id, c.customers_lastname, c.customers_firstname, c.customers_email_address, a.entry_country_id from customers c left join address_book a on c.customers_id = a.customers_id and c.customers_default_address_id = a.address_book_id order by limit 0, 20

 

[TEP STOP]

 

This error is due to a bad SQL sentence in the costumer.php file

 

To solve the problem :

 

replace : (around line 783)

 

$customers_query_raw = "select c.customers_notes, c.customers_id, c.customers_lastname, c.customers_firstname, c.customers_email_address, a.entry_country_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a on c.customers_id = a.customers_id and c.customers_default_address_id = a.address_book_id " . $search . " order by $order";

 

by :

 

$customers_query_raw = "select c.customers_notes, c.customers_id, c.customers_lastname, c.customers_firstname, c.customers_email_address, a.entry_country_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a on c.customers_id = a.customers_id and c.customers_default_address_id = a.address_book_id " . $search . " order by c.customers_lastname, c.customers_firstname";

 

 

the error is at the end of "order by..."...

 

now it works properly

Share this post


Link to post
Share on other sites

Thank you for pointing thatout. I forgot that I had installed the Admin Customer Sort contribution. I will post the update with your fix in a moment...


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites

Hi ! i'm tsruggling trying to get this so much needed contribution. I made all changes as in the install.html, but when i want to edit my customers , p.e. customer 72, calling the customers.php, like

 

 

/admin/customers.php?page=1&cID=72&action=edit

 

i get this error:

1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' c.customers_notes from customers c left join address_book a on

select c.customers_id, c.customers_gender, c.customers_fsk_18, c.customers_firstname, c.customers_lastname, c.customers_dob, c.customers_email_address, a.entry_company, a.entry_piva, a.entry_cf, a.entry_street_address, a.entry_suburb, a.entry_postcode, a.entry_city, a.entry_state, a.entry_zone_id, a.entry_country_id, c.customers_telephone, c.customers_fax, c.customers_newsletter, c.customers_default_address_id from, c.customers_notes from customers c left join address_book a on c.customers_default_address_id = a.address_book_id where a.customers_id = c.customers_id and c.customers_id = '75'

[TEP STOP]

 

Anyone can help me getting the contribution working ?

 

Thank you in advance

 

Sincerely

 

Roberto

Edited by busonero

Share this post


Link to post
Share on other sites

Did you install the SQL database updates as instructed to do?


L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Share this post


Link to post
Share on other sites

Hi Scott, thank you for your quick reply.

Well i just found out the contributions works if i call the Admin Notes under the Tools admnin menu.

 

Yes, i did the sql update :

 

SQL file to add: admin_notes.sql

 

and as i wish for each customer an admin note the

 

SQL file to add: admin_customer_notes.sql

 

too: ALTER TABLE customers ADD customers_notes LONGTEXT NOT NULL;

 

I checke the table customers, and the field was added.

 

Thank you for your help

 

Sincerely

Roberto

 

 

Did you install the SQL database updates as instructed to do?

Share this post


Link to post
Share on other sites

Scott, as the contributions from the Admin/Tool works, i create a new customer and added few lines admin notes. It works. Even in the database in the customer/customers_notes field the text is added.

 

The error i get occur only when i press the

 

1) customer/edit and

 

2) customer/delete

 

button.

 

Thank you for your help

 

Sincerely

 

Roberto

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

×