Grundsätzlich funktioniert das Modul wenn man diverse Fehler beseitigt.
Allerdings funktioniert es weiterhin bei NUR deutscher Sprache.
Sobald eine weitere zb. english aktiviert wird, gibt's sql-Fehler.
Ebenso die weiteren, angesprochenen Fehler sind noch vorhanden.
Ich habe einige elementar wichtige Fehler in den Dateien gefunden.
/admin/order_status_comments.php Zeilen 204 - 206 entfernen.
Weiter die Werte für das Textfeld hinzugefügt, da es ohne Formatierung war.
Dann die id's für die Buttons berichtigt.
Auch fehlende Einträge in der /lang/german/admin/order_status_comments.php.
ebenso habe ich den Erweiterungscode für die order.php etwas geändert.
Das beste wird sein, dass sich das mal bitte ein Coder installiert und überprüft.
Bis auf den Fehler bzgl. der language-ID, denke ich sind wir hier auf einem guten Weg.
<?php/* --------------------------------------------------------------
$Id: orders_status.php 1497 2010-11-15 18:06:58Z dokuman $
modified eCommerce Shopsoftware - community made shopping
http://www.modified eCommerce Shopsoftware.org
Copyright (c) 2010 modified eCommerce Shopsoftware
- create by >> Modulname: "orders_status_comments" by kahno 07.02.2013
- based on orders_status.php
- NEW TABLE =>> orders_status_text / create in mysql
--------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(orders_status.php,v 1.19 2003/02/06); www.oscommerce.com
(c) 2003 nextcommerce (orders_status.php,v 1.9 2003/08/18); www.nextcommerce.org
(c) 2006 XT-Commerce (orders_status.php 1125 2005-07-28)
Released under the GNU General Public License
--------------------------------------------------------------*/ require('includes/application_top.php'); $action = (isset($_GET['action']) ?
$_GET['action'] : ''); if (xtc_not_null
($action)) { switch ($action) { case 'insert': case 'save': if (isset($_GET['oID'])) $orders_status_comments_id = xtc_db_prepare_input
($_GET['oID']); $languages = xtc_get_languages
(); for ($i = 0, $n = sizeof($languages); $i < $n; $i++) { $orders_status_comments_text_array = $_POST['orders_status_comments_text']; $orders_status_comments_title_array = $_POST['orders_status_comments_title']; $language_id = $languages[$i]['id']; $sql_data_array = array( 'orders_status_comments_text' => xtc_db_prepare_input
($orders_status_comments_text_array[$language_id]), 'orders_status_comments_title' => xtc_db_prepare_input
($orders_status_comments_title_array[$language_id]) ); if ($action == 'insert') { if (!xtc_not_null
($orders_status_comments_id)) { $next_id_query = xtc_db_query
(" SELECT max(orders_status_comments_id)
AS orders_status_comments_id
FROM ".TABLE_ORDERS_STATUS_COMMENTS
." "); $next_id = xtc_db_fetch_array
($next_id_query); $orders_status_comments_id = $next_id['orders_status_comments_id'] + 1; } $insert_sql_data = array('orders_status_comments_id' => $orders_status_comments_id, 'language_id' => $language_id); $sql_data_array = xtc_array_merge
($sql_data_array, $insert_sql_data); xtc_db_perform
(TABLE_ORDERS_STATUS_COMMENTS
, $sql_data_array); } elseif ($action == 'save') { //BOF - web28 - 2010-07-11 - BUGFIX no entry stored for previous deactivated languages $orders_status_comments_query = xtc_db_query
(" SELECT *
FROM ".TABLE_ORDERS_STATUS_COMMENTS
."
WHERE language_id = '".(int
)$language_id."'
AND orders_status_comments_id = '".(int
)$orders_status_comments_id."'"); if (xtc_db_num_rows
($orders_status_comments_query) == 0) xtc_db_perform
(TABLE_ORDERS_STATUS_COMMENTS
, array ('orders_status_comments_id' => (int
)$orders_status_comments_id, 'language_id' => (int
)$language_id)); //EOF - web28 - 2010-07-11 - BUGFIX no entry stored for previous deactivated languages xtc_db_perform
(TABLE_ORDERS_STATUS_COMMENTS
, $sql_data_array, 'update', "orders_status_comments_id = '" . (int
)$orders_status_comments_id . "' and language_id = '" . (int
)$language_id . "'"); } } // Für automatische Anzeige max. Zeilen // Wird nicht benötigt da Texte je nach Bestellstatus ausgewählt werden und für einen Status mehrere Vorlagen existieren können! <<<</*
if (isset($_POST['default']) && ($_POST['default'] == 'on')) {
xtc_db_query(" UPDATE " . TABLE_CONFIGURATION . "
SET configuration_value = '" . xtc_db_input($orders_status_id) . "'
WHERE configuration_key = 'DEFAULT_ORDERS_STATUS_ID'");
}
*/ xtc_redirect
(xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&oID=' . $orders_status_comments_id)); break; // Überprüfen wie gelöscht werden kann << << case 'deleteconfirm': $oID = xtc_db_prepare_input
($_GET['oID']); /*
Wird nicht benötigt da Texte je nach Bestellstatus ausgewählt werden und für einen Status mehrere Vorlagen existieren können! <<<<
$orders_status_comments_query = xtc_db_query(" SELECT configuration_value
FROM " . TABLE_CONFIGURATION . "
WHERE configuration_key = 'DEFAULT_ORDERS_STATUS_ID'");
$orders_status_comments = xtc_db_fetch_array($orders_status_comments_query);
if ($orders_status_comments['configuration_value'] == $oID) {
xtc_db_query(" UPDATE " . TABLE_CONFIGURATION . "
SET configuration_value = ''
WHERE configuration_key = 'DEFAULT_ORDERS_STATUS_ID'");
}
*/ xtc_db_query
("delete from " . TABLE_ORDERS_STATUS_COMMENTS
. " where orders_status_comments_id = '" . xtc_db_input
($oID) . "'"); xtc_redirect
(xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'])); break; // Überprüfen wie gelöscht werden kann << << Vor Löschen Meldung ausgeben wegen unwiderruflich! case 'delete': $oID = xtc_db_prepare_input
($_GET['oID']); $remove_status = true; break; } } ?><!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 $_SESSION['language_charset']; ?>">
<title>
<?php echo TITLE
; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<script type="text/javascript" src="includes/general.js"></script>
</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 class="columnLeft2" 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 class="boxCenter" width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="80" rowspan="2">
<?php echo xtc_image
(DIR_WS_ICONS
.'heading_configuration.gif'); ?></td>
<td class="pageHeading">
<?php echo BOX_ORDERS_STATUS
; ?></td>
</tr>
<tr>
<td class="main" valign="top">XT Configuration</td>
</tr>
</table></td>
</tr>
<tr>
<td valign="top"><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="dataTableHeadingContentb" width="28%">
<?php echo TABLE_HEADING_ORDERS_STATUS_TITLE
; ?></td>
<td class="dataTableHeadingContentb" width="66%">
<?php echo TABLE_HEADING_ORDERS_STATUS_TEXT
; ?></td>
<td class="dataTableHeadingContentb" width="60px">
<?php echo TABLE_HEADING_ACTION
; ?> </td>
</tr>
<?php $orders_status_comments_query_raw = "select orders_status_comments_id, orders_status_comments_title, orders_status_comments_text from " . TABLE_ORDERS_STATUS_COMMENTS
. "
WHERE language_id = '" . $_SESSION['languages_id'] . "' order by orders_status_comments_id"; $orders_status_comments_split = new splitPageResults
($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS
, $orders_status_comments_query_raw, $orders_status_comments_query_numrows); $orders_status_comments_query = xtc_db_query
($orders_status_comments_query_raw); while ($orders_status_comments = xtc_db_fetch_array
($orders_status_comments_query)) { if ((!isset($_GET['oID']) || (isset($_GET['oID']) && ($_GET['oID'] == $orders_status_comments['orders_status_comments_id']))) && !isset($oInfo) && (substr($action, 0, 3) != 'new')) { $oInfo = new objectInfo
($orders_status_comments); } if (isset($oInfo) && is_object($oInfo) && ($orders_status_comments['orders_status_comments_id'] == $oInfo->orders_status_comments_id) ) { echo ' <tr class="dataTableRowSelected" onmouseover="this.style.cursor=\'pointer\'" onclick="document.location.href=\'' . xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id . '&action=edit') . '\'">' . "\n"; } else { echo ' <tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'pointer\'" onmouseout="this.className=\'dataTableRow\'" onclick="document.location.href=\'' . xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&oID=' . $orders_status_comments['orders_status_comments_id']) . '\'">' . "\n"; } echo ' <td class="dataTableContent" width="28%">' . $orders_status_comments['orders_status_comments_title'] . '</td>' . "\n"; echo ' <td class="dataTableContent" width=" ">' . $orders_status_comments['orders_status_comments_text'] . '</td>' . "\n"; ?> <td class="dataTableContent" width="60px" align="right">
<?php if (isset($oInfo) && is_object($oInfo) && ($orders_status_comments['orders_status_comments_id'] == $oInfo->orders_status_comments_id) ) { echo xtc_image
(DIR_WS_IMAGES
. 'icon_arrow_right.gif', ICON_ARROW_RIGHT
); } else { echo '<a href="' . xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&oID=' . $orders_status_comments['orders_status_comments_id']) . '">' . xtc_image
(DIR_WS_IMAGES
. 'icon_info.gif', IMAGE_ICON_INFO
) . '</a>'; } ?> </td>
</tr>
<?php }?> </table>
<!--?php
}
?-->
<tr>
<td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="smallText" valign="top">
<?php echo $orders_status_comments_split->display_count($orders_status_comments_query_numrows, MAX_DISPLAY_SEARCH_RESULTS
, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_ORDERS_STATUS_COMMENTS
); ?></td>
<td class="smallText" align="right">
<?php echo $orders_status_comments_split->display_links($orders_status_comments_query_numrows, MAX_DISPLAY_SEARCH_RESULTS
, MAX_DISPLAY_PAGE_LINKS
, $_GET['page']); ?></td>
</tr>
<?php if (empty($action)) {?> <tr>
<td colspan="2" align="right">
<?php echo '<a class="button" onclick="this.blur();" href="' . xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&action=new') . '">' . BUTTON_INSERT
. '</a>'; ?></td>
</tr>
<?php }?> </table></td>
</tr>
</table></td>
<?php $heading = array(); $contents = array(); switch ($action) { case 'new': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_NEW_ORDERS_STATUS
. '</b>'); $contents = array('form' => xtc_draw_form
('status', FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&action=insert')); $contents[] = array('text' => TEXT_INFO_INSERT_INTRO
); $orders_status_comments_inputs_string = ''; $languages = xtc_get_languages
(); for ($i = 0, $n = sizeof($languages); $i < $n; $i++) { $orders_status_comments_inputs_string .= '<br />' . xtc_image
(DIR_WS_LANGUAGES
.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']) . ' ' . xtc_draw_input_field
('orders_status_comments_title[' . $languages[$i]['id'] . ']'); $orders_status_comments_inputs_string .= '<br />' . xtc_image
(DIR_WS_LANGUAGES
.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']) . ' ' . xtc_draw_textarea_field
('orders_status_comments_text[' . $languages[$i]['id'] . ']', 'soft', '60', '5', false); } $contents[] = array('text' => '<br />' . TEXT_INFO_ORDERS_STATUS_COMMENTS_TEXT
. $orders_status_comments_inputs_string); $contents[] = array('align' => 'center', 'text' => '<br /><input type="submit" class="button" onclick="this.blur();" value="' . BUTTON_INSERT
. '"/> <a class="button" onclick="this.blur();" href="' . xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page']) . '">' . BUTTON_CANCEL
. '</a><br style="clear:both;" />'); break; case 'edit': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_EDIT_ORDERS_STATUS
. '</b>'); $contents = array('form' => xtc_draw_form
('status', FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id . '&action=save')); $contents[] = array('text' => TEXT_INFO_EDIT_INTRO
); $orders_status_comments_inputs_string = ''; $languages = xtc_get_languages
(); for ($i = 0, $n = sizeof($languages); $i < $n; $i++) { $orders_status_comments_inputs_string .= '<br />' . xtc_image
(DIR_WS_LANGUAGES
.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']) . ' ' . xtc_draw_input_field
('orders_status_comments_title[' . $languages[$i]['id'] . ']', xtc_get_orders_status_comments_title
($oInfo->orders_status_comments_id, $languages[$i]['id']), '', '', false); $orders_status_comments_inputs_string .= '<br />' . xtc_image
(DIR_WS_LANGUAGES
.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']) . ' ' . xtc_draw_textarea_field
('orders_status_comments_text[' . $languages[$i]['id'] . ']', 'soft', '60', '5', xtc_get_orders_status_comments_text
($oInfo->orders_status_comments_id, $languages[$i]['id']) , $oInfo->orders_status_comments_id, $languages[$i]['id'] , false); } $contents[] = array('text' => '<br />' . TEXT_INFO_ORDERS_STATUS_COMMENTS_TEXT
. $orders_status_comments_inputs_string); $contents[] = array('align' => 'center', 'text' => '<br /><input type="submit" class="button" onclick="this.blur();" value="' . BUTTON_UPDATE
. '"/> <a class="button" onclick="this.blur();" href="' . xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id) . '">' . BUTTON_CANCEL
. '</a><br style="clear:both;" />'); break; case 'delete': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_ORDERS_STATUS
. '</b>'); $contents = array('form' => xtc_draw_form
('status', FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id . '&action=deleteconfirm')); $contents[] = array('text' => TEXT_INFO_DELETE_INTRO
); if ((isset($oInfo->orders_status_comments_title)) && (!empty($oInfo->orders_status_comments_title))) { $contents[] = array('text' => '<br /><b>' . $oInfo->orders_status_comments_title . '</b>'); } else { $contents[] = array('text' => '<br /><b>' . $oInfo->orders_status_comments_text . '</b>'); } if ($remove_status) $contents[] = array('align' => 'center', 'text' => '<br /><input type="submit" class="button" onclick="this.blur();" value="' . BUTTON_DELETE
. '"/> <a class="button" onclick="this.blur();" href="' . xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id) . '">' . BUTTON_CANCEL
. '</a><br style="clear:both;" />'); break; default: if (isset($oInfo) && is_object($oInfo)) { $heading[] = array('text' => '<b>' . $oInfo->orders_status_comments_title . '</b>'); $contents[] = array('align' => 'center', 'text' => '<a class="button" onclick="this.blur();" href="' . xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id . '&action=edit') . '">' . BUTTON_EDIT
. '</a> <a class="button" onclick="this.blur();" href="' . xtc_href_link
(FILENAME_ORDERS_STATUS_COMMENTS
, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id . '&action=delete') . '">' . BUTTON_DELETE
. '</a><br style="clear:both;" />'); $orders_status_comments_inputs_string = ''; $languages = xtc_get_languages
(); for ($i = 0, $n = sizeof($languages); $i < $n; $i++) { $orders_status_comments_inputs_string .= '<br />' . xtc_image
(DIR_WS_LANGUAGES
.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']) . ' ' . xtc_get_orders_status_comments_text
($oInfo->orders_status_comments_id, $languages[$i]['id']); } $contents[] = array('text' => $orders_status_comments_inputs_string); } break; } if ( (xtc_not_null
($heading)) && (xtc_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>
</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'); ?> Ich hoffe Ihr kommt damit zurecht.