Opened 7 years ago

Last modified 7 years ago

#1536 closed Bug/Fehler

Memory Limit überschritten in admin/mail.php — at Version 3

Reported by: Volker Rehn Owned by: somebody
Priority: normal Milestone: modified-shop-2.0.5.0
Component: Admin Version: 2.0.4.2
Keywords: Cc:
Blocked By: Blocking:

Description (last modified by Volker Rehn)

Die admin/mail.php überschreitet das memory limit, wenn der shop eine große Anzahl Kunden hat, bei meinen Tests ab 100000 Kunden. Das ist natürlich konfigurationsabhängig, sollte aber trotzdem nicht datenabhängig ein Limit erreichen.

Versendet man aus dem Adminbereich eine Mail an einen ausgewählten Kunden (über die Kundenliste), so wird neben den Kundengruppen die gesamte Kundentabelle abgefragt und ins Dropdown des Mailformulars übertragen.

Da der Kunde bereits ausgewählt ist, sollte dessen Mailadresse (sofern sie übergeben wurde) an dieser Stelle als Filter benutzt werden - und sonst keine weitere Liste für $customers erzeugen. Zeile 207, statt

// End customers Status 1.x
$mail_query = xtc_db_query("select customers_email_address, customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " order by customers_lastname");
while($customers_values = xtc_db_fetch_array($mail_query)) {
  $customers[] = array('id' => $customers_values['customers_email_address'],
                                   'text' => $customers_values['customers_lastname'] . ', ' . $customers_values['customers_firstname'] . ' (' . $customers_values['customers_email_address'] . ')');
}

zb so:

// End customers Status 1.x
$selected_customer = isset($_GET['customer']) ? $_GET['customer'] : $_POST['customers_email_address'];
if (!empty($selected_customer)) {
  $mail_query = xtc_db_query("select customers_email_address, customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " 
                where customers_email_address = '$selected_customer'
                order by customers_lastname");
  while($customers_values = xtc_db_fetch_array($mail_query)) {
    $customers[] = array('id' => $customers_values['customers_email_address'],
                                     'text' => $customers_values['customers_lastname'] . ', ' . $customers_values['customers_firstname'] . ' (' . $customers_values['customers_email_address'] . ')');
  }
}  

Change History (3)

comment:1 by Torsten Riemer, 7 years ago

Milestone: modified-shop-2.0.5.0
Version: 2.0.4.2

comment:2 by Volker Rehn, 7 years ago

Description: modified (diff)

comment:3 by Volker Rehn, 7 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.