Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: ereg_replace zu preg_replace

    Nils

    • Schreiberling
    • Beiträge: 422
    • Geschlecht:
    ereg_replace zu preg_replace
    am: 17. Mai 2015, 05:21:28
    Hallo,

    ich hab nen Problem aus der folgenden ereg_replace-Funktion eine funktionierenden preg_replace zu machen, da alle Beispiele, die ich online fand, statt "  '  aufwiesen:

    Code: PHP  [Auswählen]
    $products_price = ereg_replace(",",".",$products_price);

    Könnt mir bitte kurz jemand helfen?

    MFG
    Nils

    Linkback: https://www.modified-shop.org/forum/index.php?topic=32977.0

    Nils

    • Schreiberling
    • Beiträge: 422
    • Geschlecht:
    Re: ereg_replace zu preg_replace
    Antwort #1 am: 17. Mai 2015, 07:43:55
    Habs mittlerweile gelöst.

    (",",".",$products_price); muss durch Folgendes ersetzt werden:

    preg_replace("/(\",\",\".\",$products_price);/", "", $input_lines);

    MFG
    Nils

    web28

    • modified Team
    • Beiträge: 9.404
    Re: ereg_replace zu preg_replace
    Antwort #2 am: 17. Mai 2015, 12:40:36
    Code: PHP  [Auswählen]
    $products_price = str_replace(",",".",$products_price);

    Ist die einfachere und bessere Lösung.

    Gruss web28

    web0null

    • Experte
    • Beiträge: 1.998
    Re: ereg_replace zu preg_replace
    Antwort #3 am: 17. Mai 2015, 13:32:00
    Könnte es sein das du folgendes suchst?
    Eingabe von Preisen auch mit Komma anstatt Punkt

    Nils

    • Schreiberling
    • Beiträge: 422
    • Geschlecht:
    Re: ereg_replace zu preg_replace
    Antwort #4 am: 17. Mai 2015, 15:36:16
    Hallo und danke!

    @web0null

    Ne, ich wollte testen, ob der Einbau des Moduls aus folgendem Link möglich wäre, wobei ich dachte, dass dies unmöglich sei wegen Anzahl bisher verbauter Module:

    http://www.modified-shop.org/forum/index.php?topic=3836.0

    Dort kommt die oben genannte Funktion in einer Datei vor.

    Aber es ist sowieso ungeeignet für 1.06 SP2, weil:

    • Ich habe alle Stellen in der Anleitung problemlos ohne Zweifel einbauen können.
    • Dennoch wird es z.B. im Warenkorb nicht angezeigt und nicht berechnet.
      Man könnte meinen, dass es an meinen vielen Modulen liegen würde, aber:
    • Zu einer verbauten Datei, die neu war, wird im Adminbereich beim Klick auf Kundengruppen folgende Fehlermeldung angezeigt:
      Parse error: syntax error, unexpected end of file in /var/www/web336/html/root/admin/customers_status.php on line 569. Da die Datei unverändert übernommen wurde und es bei älteren Shopversionen nicht passiert, vermute ich, dass das mit der Version 1.06 SP2 bzw. der Kompatibilität mit dieser zusammenhängt

    Der ereg-Fehler ist der einzige sonstige sichtbare Fehler, der mit der von web28 genannten Lösung verschwunden ist. Daher wüsste ich keine Möglichkeit, um irgendwo bei der Fehlerbehebung anzufangen. Dafür fehlt mir das Wissen. Somit wird das Modul wieder ausgebaut. Da der Einbau verdammt umfangreich ist, soll dieser Bericht eine kleine Warnung für 1.06 SP2er-Besitzer sein. Mag sein, dass der Fehler ganz woanders liegt. Dafür müsste ich es nochmal im Demoshop testen. Da der Einbau aber sehr umfangreich ist, lass ich das lieber...

    MFG
    Nils

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: ereg_replace zu preg_replace
    Antwort #5 am: 17. Mai 2015, 19:03:14
    lad mal deine veränderte hoch, dann können wir uns das ja mal anschauen...
    Syntax Fehler gibt es häufig bei:
    - Semikolon ( ; ) vergessen
    - " und ' vertauscht (ein String hört nicht da auf wo er sollte)
    - du hast irgendwo bspw ein ?> zuviel oder ähnliches

    Nils

    • Schreiberling
    • Beiträge: 422
    • Geschlecht:
    Re: ereg_replace zu preg_replace
    Antwort #6 am: 17. Mai 2015, 22:39:20
    Gleich vorweg: Ich bekomme diesen Code nicht (wie es sonst immer geklappt hat) hier als Code eingefügt. Wieso denn bloß? Dadurch ist er auch unvollständig.
    Ich hänge es jetzt als Datei an, falls das funktioniert. Vielleicht kann in der Zwischenzeit mal jemand nachsehen, warum sich der Code nicht (wie in den Tests unten) einfügen lässt. Sorry, als Anhang funktioniert nicht und als (vollständiger) Code eingebette auch nicht. Ist ja klar, dass mir sowas wieder passiert...

    Hi Fakrae,

    danke fürs Angebot. Das mach ich doch glatt!
    Mit Syntax meinst du den Quelltext, der den Fehler laut Fehlermeldung verursacht?
    Falls du was anderes meinst, dann bitte nochmal erläutern. Ansonsten ist hier der (aber von mir unveränderte Code):

    P.S. Er ist doch von mir geändert worden, aber nur in Bezug auf die Änderungen in diesem Modul - bin irgendwie etwas durcheinander...

    Code: PHP  [Auswählen]
      /* --------------------------------------------------------------
       $Id: customers_status.php 3877 2012-11-09 13:39:14Z web28 $

       modified eCommerce Shopsoftware
       http://www.modified-shop.org

       Copyright (c) 2009 - 2013 [www.modified-shop.org]
       --------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce( based on original files from OSCommerce CVS 2.2 2002/08/28 02:14:35); www.oscommerce.com
       (c) 2003      nextcommerce (customers_status.php,v 1.28 2003/08/18); www.nextcommerce.org
       (c) 2006 XT-Commerce (customers_status.php 1064 2005-07-21)

       Released under the GNU General Public License
       --------------------------------------------------------------
       based on Third Party contribution:
       Customers Status v3.x  (c) 2002-2003 Copyright Elari elari@free.fr | www.unlockgsm.com/dload-osc/ | CVS : http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/elari/?sortby=date#dirlist

       Released under the GNU General Public License
       --------------------------------------------------------------*/

      require('includes/application_top.php');

      if (!function_exists('get_table_columns')) {
        function get_table_columns($table, $col = '') {
          $result_products_query = xtc_db_query("SHOW COLUMNS FROM ".$table);
          $columns = array();
          $test = false;
          while($row = mysql_fetch_assoc($result_products_query)){
            $columns[$row['Field']] = '';        
            if ($col != '' && $col == $row['Field']) {
              $test = true;
              break;
            }    
          }
          if ($col != '') {
            return $test;
          }
          return $columns;
        }
      }

      $action = (isset($_GET['action']) ? $_GET['action'] : '');

      if (xtc_not_null($action)) {
        switch ($action) {
          case 'insert':
          case 'save':
            $customers_status_id = xtc_db_prepare_input($_GET['cID']);

            $languages = xtc_get_languages();
            for ($i=0; $i<sizeof($languages); $i++) {
              $customers_status_name_array = $_POST['customers_status_name'];
              $customers_status_public = $_POST['customers_status_public'];
              $customers_status_show_price = $_POST['customers_status_show_price'];
              $customers_status_show_price_tax = $_POST['customers_status_show_price_tax'];
              $customers_status_min_order = $_POST['customers_status_min_order'];
              $customers_status_max_order = $_POST['customers_status_max_order'];
              $customers_status_discount = $_POST['customers_status_discount'];
              $customers_status_ot_discount_flag = $_POST['customers_status_ot_discount_flag'];
              $customers_status_ot_discount = $_POST['customers_status_ot_discount'];
              $customers_status_graduated_prices = $_POST['customers_status_graduated_prices'];
    // BOF - Tomcraft - 2010-05-03 - Included "multibuy for attributes"
            $customers_status_multibuy_attributes = $_POST['customers_status_multibuy_attributes'];  
    // EOF - Tomcraft - 2010-05-03 - Included "multibuy for attributes"
              $customers_status_discount_attributes = $_POST['customers_status_discount_attributes'];
              $customers_status_add_tax_ot = $_POST['customers_status_add_tax_ot'];
              $customers_status_payment_unallowed = preg_replace("'[\r\n\s]+'",'',$_POST['customers_status_payment_unallowed']);
              $customers_status_shipping_unallowed = preg_replace("'[\r\n\s]+'",'',$_POST['customers_status_shipping_unallowed']);
    // BOF lolly - addded Bonuspunkte Erweiterung
            $customers_status_payment = $_POST['customers_status_payment'];
            $customers_status_redeem_point_value = $_POST['customers_status_redeem_point_value'];
            $customers_status_payment_point_value = $_POST['customers_status_payment_point_value'];
            $customers_status_points_per_amount_purchase = $_POST['customers_status_points_per_amount_purchase'];
    // EOF lolly - addded Bonuspunkte Erweiterung

              $customers_fsk18 = $_POST['customers_fsk18'];
              $customers_fsk18_display = $_POST['customers_fsk18_display'];
              $customers_status_write_reviews = $_POST['customers_status_write_reviews'];
              $customers_status_read_reviews = $_POST['customers_status_read_reviews'];
              $customers_base_status = $_POST['customers_base_status'];

              $language_id = $languages[$i]['id'];

              $sql_data_array = array(
                                      'customers_status_name' => xtc_db_prepare_input($customers_status_name_array[$language_id]),
                                      'customers_status_public' => xtc_db_prepare_input($customers_status_public),
                                      'customers_status_show_price' => xtc_db_prepare_input($customers_status_show_price),
                                      'customers_status_show_price_tax' => xtc_db_prepare_input($customers_status_show_price_tax),
                                      'customers_status_min_order' => xtc_db_prepare_input($customers_status_min_order),
                                      'customers_status_max_order' => xtc_db_prepare_input($customers_status_max_order),
                                      'customers_status_discount' => xtc_db_prepare_input($customers_status_discount),
                                      'customers_status_ot_discount_flag' => xtc_db_prepare_input($customers_status_ot_discount_flag),
                                      'customers_status_ot_discount' => xtc_db_prepare_input($customers_status_ot_discount),
                                      'customers_status_graduated_prices' => xtc_db_prepare_input($customers_status_graduated_prices),
                                      'customers_status_add_tax_ot' => xtc_db_prepare_input($customers_status_add_tax_ot),
                                      'customers_status_payment_unallowed' => xtc_db_prepare_input($customers_status_payment_unallowed),
                                      'customers_status_shipping_unallowed' => xtc_db_prepare_input($customers_status_shipping_unallowed),
    // BOF lolly - addded Bonuspunkte Erweiterung
              'customers_status_payment' => xtc_db_prepare_input($customers_status_payment),
              'customers_status_redeem_point_value' => xtc_db_prepare_input($customers_status_redeem_point_value),
              'customers_status_payment_point_value' => xtc_db_prepare_input($customers_status_payment_point_value),
              'customers_status_points_per_amount_purchase' => xtc_db_prepare_input($customers_status_points_per_amount_purchase),
    // EOF lolly - addded Bonuspunkte Erweiterung
                                      'customers_fsk18' => xtc_db_prepare_input($customers_fsk18),
                                      'customers_fsk18_display' => xtc_db_prepare_input($customers_fsk18_display),
                                      'customers_status_write_reviews' => xtc_db_prepare_input($customers_status_write_reviews),
                                      'customers_status_read_reviews' => xtc_db_prepare_input($customers_status_read_reviews),
    // BOF - Tomcraft - 2010-05-03 - Included "multibuy for attributes"
              'customers_status_multibuy_attributes' => xtc_db_prepare_input($customers_status_multibuy_attributes),
    // EOF - Tomcraft - 2010-05-03 - Included "multibuy for attributes"
                                      'customers_status_discount_attributes' => xtc_db_prepare_input($customers_status_discount_attributes)
                                     );
              if ($action == 'insert') {
                if (!xtc_not_null($customers_status_id)) {
                  $next_id_query = xtc_db_query("SELECT MAX(customers_status_id) AS customers_status_id FROM " . TABLE_CUSTOMERS_STATUS . "");
                  $next_id = xtc_db_fetch_array($next_id_query);
                  $customers_status_id = $next_id['customers_status_id'] + 1;
                  // Check if table exists and delete it first
                  xtc_db_query("DROP TABLE IF EXISTS personal_offers_by_customers_status_" . $customers_status_id);
                  // We want to create a personal offer table corresponding to each customers_status
                  xtc_db_query("CREATE TABLE personal_offers_by_customers_status_" . $customers_status_id . " (price_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, products_id int NOT NULL, quantity int, personal_offer decimal(15,4))");

                  //Check if table column exists
                  if (!get_table_columns(TABLE_PRODUCTS,'group_permission_' . $customers_status_id)) {
                    xtc_db_query("ALTER TABLE ".TABLE_PRODUCTS." ADD  group_permission_" . $customers_status_id . " TINYINT( 1 ) NOT NULL");
                  }
                  //Check if table column exists
                  if (!get_table_columns(TABLE_CATEGORIES,'group_permission_' . $customers_status_id)) {
                    xtc_db_query("ALTER TABLE  ".TABLE_CATEGORIES." ADD  group_permission_" . $customers_status_id . " TINYINT( 1 ) NOT NULL");
                  }

                  $products_query = xtc_db_query("SELECT price_id, products_id, quantity, personal_offer FROM personal_offers_by_customers_status_" . $customers_base_status ."");
                  while($products = xtc_db_fetch_array($products_query)){
                    $product_data_array = array(
                                                'price_id' => xtc_db_prepare_input($products['price_id']),
                                                'products_id' => xtc_db_prepare_input($products['products_id']),
                                                'quantity' => xtc_db_prepare_input($products['quantity']),
                                                'personal_offer' => xtc_db_prepare_input($products['personal_offer'])
                                               );
                    xtc_db_perform('personal_offers_by_customers_status_' . $customers_status_id, $product_data_array);
                  }
                }
                $insert_sql_data = array('customers_status_id' => xtc_db_prepare_input($customers_status_id), 'language_id' => xtc_db_prepare_input($language_id));
                $sql_data_array = xtc_array_merge($sql_data_array, $insert_sql_data);
                xtc_db_perform(TABLE_CUSTOMERS_STATUS, $sql_data_array);
              } elseif ($action == 'save') {
                //BOF - web28 - 2010-07-11 - BUGFIX no entry stored for previous deactivated languages
                $customers_status_query = xtc_db_query("SELECT * FROM ".TABLE_CUSTOMERS_STATUS." WHERE language_id = '".$language_id."' AND customers_status_id = '".xtc_db_input($customers_status_id)."'");
                if (xtc_db_num_rows($customers_status_query) == 0)
                  xtc_db_perform(TABLE_CUSTOMERS_STATUS, array ('customers_status_id' => xtc_db_input($customers_status_id), 'language_id' => $language_id));
                //EOF - web28 - 2010-07-11 - BUGFIX no entry stored for previous deactivated languages
                xtc_db_perform(TABLE_CUSTOMERS_STATUS, $sql_data_array, 'update', "customers_status_id = '" . xtc_db_input($customers_status_id) . "' AND language_id = '" . $language_id . "'");
              }
            }

            $accepted_customers_status_image_files_extensions = array("jpg","jpeg","jpe","gif","png","bmp","tiff","tif","bmp");
            $accepted_customers_status_image_files_mime_types = array("image/jpeg","image/gif","image/png","image/bmp");
            if ($customers_status_image = xtc_try_upload('customers_status_image', DIR_WS_ICONS, '', $accepted_customers_status_image_files_extensions, $accepted_customers_status_image_files_mime_types)) {
              xtc_db_query("UPDATE " . TABLE_CUSTOMERS_STATUS . " SET customers_status_image = '" . $customers_status_image->filename . "' WHERE customers_status_id = '" . xtc_db_input($customers_status_id) . "'");
            }

            if ($_POST['default'] == 'on') {
              xtc_db_query("UPDATE " . TABLE_CONFIGURATION . " SET configuration_value = '" . xtc_db_input($customers_status_id) . "' WHERE configuration_key = 'DEFAULT_CUSTOMERS_STATUS_ID'");
            }

            xtc_redirect(xtc_href_link(FILENAME_CUSTOMERS_STATUS, 'page=' . $_GET['page'] . '&cID=' . $customers_status_id));
            break;

          case 'deleteconfirm':
            $cID = xtc_db_prepare_input($_GET['cID']);

            $customers_status_query = xtc_db_query("SELECT configuration_value FROM " . TABLE_CONFIGURATION . " WHERE configuration_key = 'DEFAULT_CUSTOMERS_STATUS_ID'");
            $customers_status = xtc_db_fetch_array($customers_status_query);
            if ($customers_status['configuration_value'] == $cID) {
              xtc_db_query("UPDATE " . TABLE_CONFIGURATION . " SET configuration_value = '' WHERE configuration_key = 'DEFAULT_CUSTOMERS_STATUS_ID'");
            }

            xtc_db_query("DELETE FROM " . TABLE_CUSTOMERS_STATUS . " WHERE customers_status_id = '" . (int)$cID . "'");

            // We want to drop the existing corresponding personal_offers table
            xtc_db_query("DROP TABLE IF EXISTS personal_offers_by_customers_status_" . (int)$cID);
            xtc_db_query("ALTER TABLE `products` DROP `group_permission_" . (int)$cID . "`");
            xtc_db_query("ALTER TABLE `categories` DROP `group_permission_" . (int)$cID . "`");
            xtc_redirect(xtc_href_link(FILENAME_CUSTOMERS_STATUS, 'page=' . (int)$_GET['page']));
            break;

          case 'delete':
            $cID = xtc_db_prepare_input($_GET['cID']);

            $status_query = xtc_db_query("SELECT COUNT(*) AS count FROM " . TABLE_CUSTOMERS . " WHERE customers_status = '" . xtc_db_input($cID) . "'");
            $status = xtc_db_fetch_array($status_query);

            $remove_status = true;
            if (($cID == DEFAULT_CUSTOMERS_STATUS_ID) || ($cID == DEFAULT_CUSTOMERS_STATUS_ID_GUEST) || ($cID == DEFAULT_CUSTOMERS_STATUS_ID_NEWSLETTER)) {
              $remove_status = false;
              $messageStack->add(ERROR_REMOVE_DEFAULT_CUSTOMERS_STATUS, 'error');
            } elseif ($status['count'] > 0) {
              $remove_status = false;
              $messageStack->add(ERROR_STATUS_USED_IN_CUSTOMERS, 'error');
            } else {
              $history_query = xtc_db_query("SELECT COUNT(*) AS count FROM " . TABLE_CUSTOMERS_STATUS_HISTORY . " WHERE '" . xtc_db_input($cID) . "' in (new_value, old_value)");
              $history = xtc_db_fetch_array($history_query);
              if ($history['count'] > 0) {
                // delete from history
                xtc_db_query("DELETE FROM " . TABLE_CUSTOMERS_STATUS_HISTORY . "
                              WHERE '" . xtc_db_input($cID) . "' in (new_value, old_value)");
                $remove_status = true;
                // $messageStack->add(ERROR_STATUS_USED_IN_HISTORY, 'error');
              }
            }
            break;
        }
      }

    require (DIR_WS_INCLUDES.'head.php');
    ?>
      <script type="text/javascript" src="includes/general.js"></script>
    </head>
    <body 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_customers.gif'); ?></td>
                        <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
                      </tr>
                      <tr>
                        <td class="main" valign="top"><?php echo BOX_HEADING_CUSTOMERS; ?></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="dataTableHeadingContent" align="left" width=""><?php echo 'cID'; ?></td>
                              <td class="dataTableHeadingContent" align="left" width=""><?php echo 'icon'; ?></td>
                              <td class="dataTableHeadingContent" align="left" width=""><?php echo 'user'; ?></td>
                              <td class="dataTableHeadingContent" align="left" width=""><?php echo TABLE_HEADING_CUSTOMERS_STATUS; ?></td>
                              <td class="dataTableHeadingContent" align="center" width=""><?php echo TABLE_HEADING_TAX_PRICE; ?></td>
                              <td class="dataTableHeadingContent" align="center" colspan="2"><?php echo TABLE_HEADING_DISCOUNT; ?></td>
                              <td class="dataTableHeadingContent" width=""><?php echo TABLE_HEADING_CUSTOMERS_GRADUATED; ?></td>
                              <td class="dataTableHeadingContent" width=""><?php echo TABLE_HEADING_CUSTOMERS_UNALLOW; ?></td>
                              <td class="dataTableHeadingContent" width=""><?php echo TABLE_HEADING_CUSTOMERS_UNALLOW_SHIPPING; ?></td>
    <!-- BOF lolly - addded Bonuspunkte Erweiterung -->
                    <td class="dataTableHeadingContent" width=""><?php echo TABLE_HEADING_CUSTOMERS_USE_POINTS; ?></td>
                    <td class="dataTableHeadingContent" width=""><?php echo TABLE_HEADING_CUSTOMERS_USE_REDEEM; ?></td>
                    <td class="dataTableHeadingContent" width=""><?php echo TABLE_HEADING_CUSTOMERS_USE_PAYMENT; ?></td>
                    <td class="dataTableHeadingContent" width=""><?php echo TABLE_HEADING_PAYMENT; ?></td>
    <!-- EOF lolly - addded Bonuspunkte Erweiterung -->
                              <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
                            </tr>
                            <?php
                            $customers_status_ot_discount_flag_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
                            $customers_status_graduated_prices_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
    // BOF lolly - addded Bonuspunkte Erweiterung
      $customers_status_payment_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
    // EOF lolly - addded Bonuspunkte Erweiterung
                            $customers_status_public_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
                            $customers_status_show_price_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
                            $customers_status_show_price_tax_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
    // BOF - Tomcraft - 2010-05-03 - Included "multibuy for attributes"
      $customers_status_multibuy_attributes_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
    // EOF - Tomcraft - 2010-05-03 - Included "multibuy for attributes"
                            $customers_status_discount_attributes_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
                            $customers_status_add_tax_ot_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
                            $customers_fsk18_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
                            $customers_fsk18_display_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
                            $customers_status_write_reviews_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
                            $customers_status_read_reviews_array = array(array('id' => '0', 'text' => ENTRY_NO), array('id' => '1', 'text' => ENTRY_YES));
                            $customers_status_query_raw = "select * from " . TABLE_CUSTOMERS_STATUS . " where language_id = '" . $_SESSION['languages_id'] . "' order by customers_status_id";

                            $customers_status_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, $customers_status_query_raw, $customers_status_query_numrows);
                            $customers_status_query = xtc_db_query($customers_status_query_raw);
                            while ($customers_status = xtc_db_fetch_array($customers_status_query)) {
                              if ((!isset($_GET['cID']) || (isset($_GET['cID']) && ($_GET['cID'] == $customers_status['customers_status_id']))) && !isset($cInfo) && (substr($action, 0, 3) != 'new')) {
                                $cInfo = new objectInfo($customers_status);
                              }

                              if (isset($cInfo) && is_object($cInfo) && ($customers_status['customers_status_id'] == $cInfo->customers_status_id) ) {
                                echo '<tr class="dataTableRowSelected" onmouseover="this.style.cursor=\'pointer\'" onclick="document.location.href=\'' . xtc_href_link(FILENAME_CUSTOMERS_STATUS, 'page=' . $_GET['page'] . '&cID=' . $cInfo->customers_status_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_CUSTOMERS_STATUS, 'page=' . $_GET['page'] . '&cID=' . $customers_status['customers_status_id']) . '\'">' . "\n";
                              }

                                //BOC - web28 2011-10-26 - show customers group
                                echo '<td class="dataTableContent" align="left">';
                                echo $customers_status['customers_status_id'];
                                echo '</td>';
                                //EOC - web28 2011-10-26 - show customers group
                                echo '<td class="dataTableContent" align="left">';
                                if ($customers_status['customers_status_image'] != '') {
                                  echo xtc_image(DIR_WS_ICONS . $customers_status['customers_status_image'] , IMAGE_ICON_INFO);
                                }
                                echo '</td>';

                                echo '<td class="dataTableContent" align="left">';
                                echo xtc_get_status_users($customers_status['customers_status_id']);
                                echo '</td>';

                                if ($customers_status['customers_status_id'] == DEFAULT_CUSTOMERS_STATUS_ID ) {
                                  echo '<td class="dataTableContent" align="left"><b>' . $customers_status['customers_status_name'];
                                  echo ' (' . TEXT_DEFAULT . ')';
                                } else {
                                  echo '<td class="dataTableContent" align="left">' . $customers_status['customers_status_name'];
                                }
                                if ($customers_status['customers_status_public'] == '1') {
                                  echo ' ,public ';
                                }
                                echo '</b></td>';

                                if ($customers_status['customers_status_show_price'] == '1') {
                                  echo '<td nowrap class="dataTableContent" align="center"> ';
                                  if ($customers_status['customers_status_show_price_tax'] == '1') {
                                    echo TAX_YES;
                                  } else {
                                    echo TAX_NO;
                                  }
                                } else {
                                  echo '<td class="dataTableContent" align="left"> ';
                                }
                                echo '</td>';
                                echo '<td nowrap class="dataTableContent" align="center">' . $customers_status['customers_status_discount'] . ' %</td>';
                                echo '<td nowrap class="dataTableContent" align="center">';
                                if ($customers_status['customers_status_ot_discount_flag'] == 0){
                                  echo '<font color="#ff0000">'.$customers_status['customers_status_ot_discount'].' %</font>';
                                } else {
                                  echo $customers_status['customers_status_ot_discount'].' %';
                                }
                                echo ' </td>';

                                echo '<td class="dataTableContent" align="center">';
                                if ($customers_status['customers_status_graduated_prices'] == 0) {
                                  echo NO;
                                } else {
                                  echo YES;
                                }
                                echo '</td>';
                                echo '<td nowrap class="dataTableContent" align="center">' . $customers_status['customers_status_payment_unallowed'] . '&nbsp;</td>';
                                echo '<td nowrap class="dataTableContent" align="center">' . $customers_status['customers_status_shipping_unallowed'] . '&nbsp;</td>';
    // BOF lolly - addded Bonuspunkte Erweiterung
        echo '<td nowrap class="dataTableContent" align="center">' . $customers_status['customers_status_points_per_amount_purchase'] . '&nbsp;</td>';
        echo '<td nowrap class="dataTableContent" align="center">' . $customers_status['customers_status_redeem_point_value'] . '&nbsp;</td>';
        echo '<td nowrap class="dataTableContent" align="center">' . $customers_status['customers_status_payment_point_value'] . '&nbsp;</td>';
        echo '<td class="dataTableContent" align="center">';
        if ($customers_status['customers_status_payment'] == 0) {
          echo NO;
        } else {
          echo YES;
        }
        echo '</td>';
    // EOF lolly - addded Bonuspunkte Erweiterung
                                echo "\n";
                                ?>
                                <?php /*<!-- BOF - Tomcraft - 2009-06-10 - added some missing alternative text on admin icons -->
                                <td class="dataTableContent" align="right"><?php if ( (is_object($cInfo)) && ($customers_status['customers_status_id'] == $cInfo->customers_status_id) ) { echo xtc_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . xtc_href_link(FILENAME_CUSTOMERS_STATUS, 'page=' . $_GET['page'] . '&cID=' . $customers_status['customers_status_id']) . '">' . xtc_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>&nbsp;</td>
                                */
    ?>
                                <td class="dataTableContent" align="right"><?php if (isset($cInfo) && is_object($cInfo) && ($customers_status['customers_status_id'] == $cInfo->customers_status_id) ) { echo xtc_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ICON_ARROW_RIGHT); } else { echo '<a href="' . xtc_href_link(FILENAME_CUSTOMERS_STATUS, 'page=' . $_GET['page'] . '&cID=' . $customers_status['customers_status_id']) . '">' . xtc_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>&nbsp;</td>
                                <?php /*<!-- EOF - Tomcraft - 2009-06-10 - added some missing alternative text on admin icons --> */?>
                              </tr>
                              <?php
                            }
                            ?>
                            <tr>
                              <td colspan="6">
                                <table border="0" width="100%" cellspacing="0" cellpadding="2">
                                  <tr>
                                    <td class="smallText" valign="top"><?php echo $customers_status_split->display_count($customers_status_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_CUSTOMERS_STATUS); ?></td>
                                    <td class="smallText" align="right"><?php echo $customers_status_split->display_links($customers_status_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_CUSTOMERS_STATUS, '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_CUSTOMERS_STATUS . '</b>');
                              $contents = array('form' => xtc_draw_form('status', FILENAME_CUSTOMERS_STATUS, 'page=' . $_GET['page'] . '&action=insert', 'post', 'enctype="multipart/form-data"'));
                              $contents[] = array('text' => TEXT_INFO_INSERT_INTRO);
                              $customers_status_inputs_string = '';
                              $languages = xtc_get_languages();
                              for ($i=0; $i<sizeof($languages); $i++) {
                                $customers_status_inputs_string .= '<br />' . xtc_image(DIR_WS_CATALOG.'lang/'.$languages[$i]['directory'].'/admin/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . xtc_draw_input_field('customers_status_name[' . $languages[$i]['id'] . ']');
                              }
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_NAME . $customers_status_inputs_string);
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_IMAGE . '<br />' . xtc_draw_file_field('customers_status_image') . ' (jpg,jpeg,jpe,gif,png,bmp,tiff,tif,bmp)');
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_PUBLIC_INTRO . '<br />' . ENTRY_CUSTOMERS_STATUS_PUBLIC . ' ' . xtc_draw_pull_down_menu('customers_status_public', $customers_status_public_array, $cInfo->customers_status_public ));
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_MIN_ORDER_INTRO . '<br />' . ENTRY_CUSTOMERS_STATUS_MIN_ORDER . ' ' . xtc_draw_input_field('customers_status_min_order', $cInfo->customers_status_min_order ));
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_MAX_ORDER_INTRO . '<br />' . ENTRY_CUSTOMERS_STATUS_MAX_ORDER . ' ' . xtc_draw_input_field('customers_status_max_order', $cInfo->customers_status_max_order ));
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_SHOW_PRICE_INTRO     . '<br />' . ENTRY_CUSTOMERS_STATUS_SHOW_PRICE . ' ' . xtc_draw_pull_down_menu('customers_status_show_price', $customers_status_show_price_array, $cInfo->customers_status_show_price ));
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_SHOW_PRICE_TAX_INTRO . '<br />' . ENTRY_CUSTOMERS_STATUS_SHOW_PRICE_TAX . ' ' . xtc_draw_pull_down_menu('customers_status_show_price_tax', $customers_status_show_price_tax_array, $cInfo->customers_status_show_price_tax ));
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_ADD_TAX_INTRO . '<br />' . ENTRY_CUSTOMERS_STATUS_ADD_TAX . ' ' . xtc_draw_pull_down_menu('customers_status_add_tax_ot', $customers_status_add_tax_ot_array, $cInfo->customers_status_add_tax_ot));
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_DISCOUNT_PRICE_INTRO . '<br />' . TEXT_INFO_CUSTOMERS_STATUS_DISCOUNT_PRICE . '<br />' . xtc_draw_input_field('customers_status_discount', $cInfo->customers_status_discount));
    // BOF - Tomcraft - 2010-05-03 - Included "multibuy for attributes"
          $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_MULTIBUY_ATTRIBUTES_INTRO . '<br />' . ENTRY_CUSTOMERS_STATUS_MULTIBUY_ATTRIBUTES . ' ' . xtc_draw_pull_down_menu('customers_status_multibuy_attributes', $customers_status_multibuy_attributes_array, $cInfo->customers_status_multibuy_attributes ));
    // EOF - Tomcraft - 2010-05-03 - Included "multibuy for attributes"
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_DISCOUNT_OT_XMEMBER_INTRO . '<br /> ' . ENTRY_OT_XMEMBER . ' ' . xtc_draw_pull_down_menu('customers_status_ot_discount_flag', $customers_status_ot_discount_flag_array, $cInfo->customers_status_ot_discount_flag ). '<br />' . TEXT_INFO_CUSTOMERS_STATUS_DISCOUNT_PRICE . '<br />' . xtc_draw_input_field('customers_status_ot_discount', $cInfo->customers_status_ot_discount));
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_GRADUATED_PRICES_INTRO . '<br />' . ENTRY_GRADUATED_PRICES . ' ' . xtc_draw_pull_down_menu('customers_status_graduated_prices', $customers_status_graduated_prices_array, $cInfo->customers_status_graduated_prices ));
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_DISCOUNT_ATTRIBUTES_INTRO . '<br />' . ENTRY_CUSTOMERS_STATUS_DISCOUNT_ATTRIBUTES . ' ' . xtc_draw_pull_down_menu('customers_status_discount_attributes', $customers_status_discount_attributes_array, $cInfo->customers_status_discount_attributes ));
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_PAYMENT_UNALLOWED_INTRO . '<br />' . ENTRY_CUSTOMERS_STATUS_PAYMENT_UNALLOWED . ' ' . xtc_draw_input_field('customers_status_payment_unallowed', $cInfo->customers_status_payment_unallowed ));
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_SHIPPING_UNALLOWED_INTRO . '<br />' . ENTRY_CUSTOMERS_STATUS_SHIPPING_UNALLOWED . ' ' . xtc_draw_input_field('customers_status_shipping_unallowed', $cInfo->customers_status_shipping_unallowed ));
    // BOF lolly - addded Bonuspunkte Erweiterung
          $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_CUSTOMERS_USE_POINTS . '<br />' . ENTRY_CUSTOMERS_STATUS_CUSTOMERS_USE_POINTS . ' ' . xtc_draw_input_field('customers_status_points_per_amount_purchase', $cInfo->customers_status_points_per_amount_purchase ));
          $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_CUSTOMERS_USE_REDEEM . '<br />' . ENTRY_CUSTOMERS_STATUS_CUSTOMERS_USE_REDEEM . ' ' . xtc_draw_input_field('customers_status_redeem_point_value', $cInfo->customers_status_redeem_point_value ));
          $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_CUSTOMERS_USE_PAYMENT . '<br />' . ENTRY_CUSTOMERS_STATUS_CUSTOMERS_USE_PAYMENT . ' ' . xtc_draw_input_field('customers_status_payment_point_value', $cInfo->customers_status_payment_point_value ));
          $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_STATUS_PAYMENT_INTRO . '<br />' . ENTRY_PAYMENT . ' <br />' . xtc_draw_pull_down_menu('customers_status_payment', $customers_status_payment_array, $cInfo->customers_status_payment ));
    // EOF lolly - addded Bonuspunkte Erweiterung
                              $contents[] = array('text' => '<br />' . TEXT_INFO_CUSTOMERS_FSK18_INTRO . '<br />' . ENTRY_CUSTOMERS_FSK18 . ' ' . xtc_draw_pull_down_menu('customers_fsk18', $customers_fsk18_array, $cInfo->customers_fsk18));

    [EDIT Tomcraft 18.05.2015: Code formatiert.]

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: ereg_replace zu preg_replace
    Antwort #7 am: 17. Mai 2015, 22:58:13
    Sorry, so hilft das nichts :D
    Du kannst die php-Datei zippen, dann kannst du sie anhängen.

    Und du kannst den Code vermutlich nicht direkt einfügen, weil der viel zu lang ist... sind immerhin >500 Zeilen

    Nils

    • Schreiberling
    • Beiträge: 422
    • Geschlecht:
    Re: ereg_replace zu preg_replace
    Antwort #8 am: 17. Mai 2015, 23:05:57
    Hi,

    hier ist sie jetzt gesiebenzippt im Anhang. (geht auch nicht)

    Dann als normale zip.

    MFG
    Nils

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: ereg_replace zu preg_replace
    Antwort #9 am: 18. Mai 2015, 07:25:24
    Bitte, probier das mal. Du hast die öffnende Klammer von
    Code: PHP  [Auswählen]
    if (isset($cInfo) && is_object($cInfo)) {
    nicht mehr geschlossen.
    Der Grund dafür war, dass du in Zeile 542 den kompletten Code-Block vor der schließenden Klammer } eingefügt hast und der //EOF-Kommentar deswegen die Klammer auskommentiert hat. --> Code immer in neue Zeilen einfügen und nicht einfach vor bestehenden Code :D

    Solchen Fehlern kommt man bspw. mit einem PHP-Code-Checker auf die Schliche.

    Beim Hochladen steht da übrigens, welche Dateiformate erlaubt sind... Und da stehen eben nur Bilddateien, txt und zip. -> kein php und kein 7z

    Nils

    • Schreiberling
    • Beiträge: 422
    • Geschlecht:
    Re: ereg_replace zu preg_replace
    Antwort #10 am: 18. Mai 2015, 15:27:45
    Hi, Fakrae,

    danke für den Tipp! Es funktioniert nun ohne dass irgendein Fehler angezeigt wird.

    Allerdings ist das Modul trotzdem ziemlich ernüchternd.
    Es ist das bei weitem umfangreichste Modul, das ich bisher gesehen habe (vom Code her).
    Und das Einzige, was das Modul bei mir macht ist, dass es im Backend alle Einstellmöglichkeiten gibt und dass in der Produktlisting die Punkteanzahl bei den Artikeln angezeigt wird, die man für den Kauf erhält.
    Das wars auch schon. Keine weitere Funktion außer dieser Punkteanzeige im Frontend.
    Habe auch zig Stunden mit Eclipse + xdebug herumexperimentiert. Allerdings war mir damit auch nicht geholfen. Ich werde es dann wohl leider wieder ausbauen müssen.

    Aber danke trotzdem!!

    MFG
    Nils

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: ereg_replace zu preg_replace
    Antwort #11 am: 18. Mai 2015, 15:44:45
    Gleich vorweg: Ich bekomme diesen Code nicht (wie es sonst immer geklappt hat) hier als Code eingefügt. Wieso denn bloß? Dadurch ist er auch unvollständig.
    Ich hänge es jetzt als Datei an, falls das funktioniert. Vielleicht kann in der Zwischenzeit mal jemand nachsehen, warum sich der Code nicht (wie in den Tests unten) einfügen lässt. Sorry, als Anhang funktioniert nicht und als (vollständiger) Code eingebettet auch nicht. Ist ja klar, dass mir sowas wieder passiert...
    [...]

    Dein Code hat die maximale Anzahl an Zeichen (65535) für einen Beitrag überschritten, daher wurde er abgeschnitten.

    Erlaubte Dateitypen sind: gif, jpg, jpeg, pdf, png, txt, zip
    (Das steht auch unterhalb des Buttons "Durchsuchen...") :!:

    Grüße

    Torsten

    Nils

    • Schreiberling
    • Beiträge: 422
    • Geschlecht:
    Re: ereg_replace zu preg_replace
    Antwort #12 am: 18. Mai 2015, 16:42:36
    Hallo Torsten,

    das war ja wieder klar, dass ich solch ein Pech habe.
    Mein Code war genau 65536 Zeichen lang.

    .. kleiner Scherz  :-PP

    kannst den langen Code gern löschen und durch eine kleine Erklärung für die Nachwelt/potentiellen Nachmacher hinterlassen...

    MFG
    Nils
    2 Antworten
    898 Aufrufe
    01. Dezember 2020, 14:22:45 von Thomas M.
    10 Antworten
    5920 Aufrufe
    08. Oktober 2013, 17:57:03 von 0815
    0 Antworten
    1963 Aufrufe
    01. Mai 2015, 04:01:59 von toppi
    2 Antworten
    2644 Aufrufe
    13. März 2016, 17:20:41 von pawie