Modify

Opened 3 years ago

Closed 3 years ago

#2497 closed Bug/Fehler (fixed)

Bestellstatus als Standard definieren erzeugt weisse Seite

Reported by: Torsten Riemer Owned by: somebody
Priority: normal Milestone: modified-shop-2.0.8.0
Component: Admin Version: 2.0.7.2
Keywords: Cc:
Blocked By: Blocking:

Description

Versucht man einen andere Bestellstatus als Standard zu definieren, dann erhält man beim Speichern eine weisse Seite.

[2023-04-19 10:58:09]	[error]	[modified]	[pid:8313]	ERROR found for URL: /admin/orders_status.php?page=1&action=insert	{}	{}
[2023-04-19 10:58:09]	[error]	[modified]	[pid:8313]	Undefined constant "MODULE_PAYMENT_CASH_TEXT_TITLE" in File: /var/www/clients/client1/web1/web/includes/modules/payment/cash.php on Line: 26	{}	{}

Attachments (0)

Change History (7)

comment:1 by noRiddle, 3 years ago

An dieser Stelle in der /admin/orders_status.php

        if (isset($_POST['default']) && ($_POST['default'] == 'on')) {
          // update installed payment
          $payment_installed = explode(';', MODULE_PAYMENT_INSTALLED);
          for ($i=0, $n=count($payment_installed); $i<$n; $i++) {
            $class = substr($payment_installed[$i], 0, strrpos($payment_installed[$i], '.'));
            if (file_exists(DIR_FS_CATALOG_MODULES . 'payment/' . $payment_installed[$i])) {
              include(DIR_FS_CATALOG_MODULES . 'payment/' . $payment_installed[$i]);
              $module = new $class();
              if (isset($module->order_status) && $module->order_status == DEFAULT_ORDERS_STATUS_ID) {
                xtc_db_query("UPDATE " . TABLE_CONFIGURATION . " 
                                 SET configuration_value = '" . (int)$orders_status_id . "' 
                               WHERE configuration_key = '".strtoupper('MODULE_PAYMENT_'.$class.'_ORDER_STATUS_ID')."'");
              }
            ...

müssen wohl auch die Sprachdateien der MODULE_PAYMENT_INSTALLED includiert werden.
Ansonsten müsste man alle Zahlungsmodule überarbeiten und den ->title, die ->description und ggfls. die ->info mittels

defined('XX') OR define('XXX');

Also so

        if (isset($_POST['default']) && ($_POST['default'] == 'on')) {
          // update installed payment
          $payment_installed = explode(';', MODULE_PAYMENT_INSTALLED);
          for ($i=0, $n=count($payment_installed); $i<$n; $i++) {
            $class = substr($payment_installed[$i], 0, strrpos($payment_installed[$i], '.'));
            if (file_exists(DIR_FS_CATALOG_MODULES . 'payment/' . $payment_installed[$i])) {
              include(DIR_FS_CATALOG_MODULES . 'payment/' . $payment_installed[$i]);
              include(DIR_FS_LANGUAGES.$_SESSION['language'].'/modules/payment/'.$payment_installed[$i]); //added language file, noRiddle
              $module = new $class();
              if (isset($module->order_status) && $module->order_status == DEFAULT_ORDERS_STATUS_ID) {
                xtc_db_query("UPDATE " . TABLE_CONFIGURATION . " 
                                 SET configuration_value = '" . (int)$orders_status_id . "' 
                               WHERE configuration_key = '".strtoupper('MODULE_PAYMENT_'.$class.'_ORDER_STATUS_ID')."'");
              }

definieren.

Gruß,
noRiddle

comment:2 by noRiddle, 3 years ago

*NACHTRAG*
Ach, ich vergaß: Getestet => geht.

Gruß,
noRiddle

comment:3 by Gerhard Waldemair, 3 years ago

Resolution: fixed
Status: newclosed

In 15126:

fix #2497 - include language files to change default orders status

comment:4 by anonymous, 3 years ago

Bei einer Neuinstallation von 2.07 und einer sofortigen Anpassung der /admin/orders_status.php
muss zuerst eine beliebige Zahlmethode installiert werden,
sonst erlebt man bei dem Versuch den "Standard" im Bestellstatus zu ändern
wieder die weisse Seite und sucht nach weiteren Fehlern.

comment:5 by anonymous, 3 years ago

Resolution: fixed
Status: closedreopened

comment:6 by Torsten Riemer, 3 years ago

Kann ich nachvollziehen.
Folgende Logs wurden erstellt:

mod_warning_admin

[2023-06-10 21:24:38]	[warning]	[modified]	[pid:47362]	WARNING found for URL: /admin/orders_status.php?page=1&oID=2&action=save	{}	{}
[2023-06-10 21:24:38]	[warning]	[modified]	[pid:47362]	require_once(/.../.../.../test/lang/german/modules/payment): Failed to open stream: Undefined error: 0 in File: /.../.../.../test/admin/orders_status.php on Line: 73	{}	{}

mod_error_admin

[2023-06-10 21:24:38]	[error]	[modified]	[pid:47362]	ERROR found for URL: /admin/orders_status.php?page=1&oID=2&action=save	{}	{}
[2023-06-10 21:24:38]	[error]	[modified]	[pid:47362]	Failed opening required '/.../.../.../test/lang/german/modules/payment/' (include_path='.:/Applications/MAMP/bin/php/php8.0.24/lib/php') in File: /.../.../.../test/admin/orders_status.php on Line: 73	{}	{}

comment:7 by Gerhard Waldemair, 3 years ago

Resolution: fixed
Status: reopenedclosed

In 15245:

fix #2497 - check for installed payment methods

Modify Ticket

Action
as closed The owner will remain somebody.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.