Ergebnis 1 bis 8 von 8

Thema: Bestellen ohne Kundenkonto und Amazon Payment

  1. #1
    Padawan Stufe II Avatar von forbi099
    Registriert seit
    04.07.2008
    Beiträge
    114
    Themen
    30
    DANKE
    9
    Erhaltene Danke: 0

    Standard Bestellen ohne Kundenkonto und Amazon Payment

    Ich habe ein Problem mit Amazon Payment nach Einbau des Moduls Bestellen ohne Kundenkonto:

    Bei Klick auf den Amazon-Button lande ich im Schritt 1 von 3, Lieferinformationen.
    Die Versandkosten nach Zonen, die eigentlich € 4,95 betragen sollten, werden jetzt mit € 20,00 ausgewiesen.
    Nach Klick auf Weiter sehe ich im Schritt 2 von 3, Zahlungsinformationen den Warenbetrag als Nettobetrag
    und weiterhin die € 20,00 Versandkosten.
    Ein weiterer Klick auf Weiter bringt mich erneut auf die Anmeldeseite.

    Ansonsten funktioniert das Bezahlen mit Amazon sowohl mit und ohne Kundenanmeldung, wenn Amazon-Payment
    als Bezahlart bei den Zahlungsarten ausgewählt wird.

    Ich bräuchte dazu bitte dringend Hilfe.
    Vielen Dank

  2. #2
    Jedi-Ritter Avatar von webchills
    Registriert seit
    30.10.2004
    Ort
    Österreich
    Beiträge
    6.838
    Themen
    94
    DANKE
    3
    Erhaltene Danke: 1.186

    Standard

    Das Modul Amazon Pay enthält im Ordner OPTIONAL eigene Dateien für die Verwendung mit Cowoa. Bitte Anleitung zu Amazon Pay lesen und entsprechend ändern.
    !!! kostenloser Support ausschließlich im Forum - Nicht per Email, nicht per Telefon und nicht per PM !!!

  3. #3
    Padawan Stufe II Avatar von forbi099
    Registriert seit
    04.07.2008
    Beiträge
    114
    Themen
    30
    DANKE
    9
    Erhaltene Danke: 0
    Erstellt von

    Standard Unterschied zwischen Sandbox und Produktion?

    Ich habe zum Test eine mit meinem Shop identische Testumgebung aufgebaut
    und dabei festgestellt, dass Amazon Pay mit Button in der Sandbox-Umgebung
    völlig korrekt läuft, bei Umschalten auf die produktive Umgebung kommt der
    Fehler wie gehabt.

    Gibt es Unterschiede zwischen den beiden Umgebungen?
    Ich bin ein wenig ratlos.

    Kann das daran liegen, dass ich noch nicht die neueste Version des
    Amazon-Payment Moduls verwende?

  4. #4
    Jedi-Ritter Avatar von webchills
    Registriert seit
    30.10.2004
    Ort
    Österreich
    Beiträge
    6.838
    Themen
    94
    DANKE
    3
    Erhaltene Danke: 1.186

    Standard

    Poste den Inhalt der beiden folgenden Dateien als Code (zwischen # Schaltflächen):
    includes/modules/pages/checkout_frites_login/header_php.php
    includes/modules/pages/account_edit/header_php.php
    !!! kostenloser Support ausschließlich im Forum - Nicht per Email, nicht per Telefon und nicht per PM !!!

  5. #5
    Padawan Stufe II Avatar von forbi099
    Registriert seit
    04.07.2008
    Beiträge
    114
    Themen
    30
    DANKE
    9
    Erhaltene Danke: 0
    Erstellt von

    Standard

    Hier der Inhalt der beiden Dateien.

    In der Testumgebung habe ich die beiden Versionen dieser Dateien aus der optionalen Version für
    das Bestellen ohne Kundenkonto eingebaut wie du schon gemeint hattest, jedoch macht es keinen Unterschied.

    Vielleicht sollte ich Amazon Payment wirklich auf die aktuellste Version heben und dann
    nochmals probieren.

    Sehr befremdlich ist jedoch der Unterschied zwischen Sandbox und Produktion. Das macht
    einem das Testen nicht leicht....


    Code:
    <?php
    /**
     * Header code file for the customer's Account-Edit page
     *
     * @package page
     * @copyright Copyright 2003-2016 Zen Cart Development Team
     * @copyright Portions Copyright 2003 osCommerce
     * @license http://www.zen-cart-pro.at/license/2_0.txt GNU Public License V2.0
     * @version $Id: header_php.php 734 2016-05-08 09:49:16Z webchills $
     */
    // This should be first line of the script:
    $zco_notifier->notify('NOTIFY_HEADER_START_ACCOUNT_EDIT');
    
    if (!$_SESSION['customer_id']) {
      $_SESSION['navigation']->set_snapshot();
      zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL'));
    }
    
    require(DIR_WS_MODULES . zen_get_module_directory('require_languages.php'));
    if (isset($_POST['action']) && ($_POST['action'] == 'process')) {
      if (ACCOUNT_GENDER == 'true') $gender = zen_db_prepare_input($_POST['gender']);
      $firstname = zen_db_prepare_input($_POST['firstname']);
      $lastname = zen_db_prepare_input($_POST['lastname']);
      $nick = (!empty($_POST['nick']) ? zen_db_prepare_input($_POST['nick']) : '');
      if (ACCOUNT_DOB == 'true') $dob = (empty($_POST['dob']) ? zen_db_prepare_input('0001-01-01 00:00:00') : zen_db_prepare_input($_POST['dob']));
      $email_address = zen_db_prepare_input($_POST['email_address']);
      $email_address_confirm = zen_db_prepare_input($_POST['email_address_confirm']);
      $telephone = zen_db_prepare_input($_POST['telephone']);
      $fax = zen_db_prepare_input($_POST['fax']);
      $email_format = zen_db_prepare_input($_POST['email_format']);
    
      if (CUSTOMERS_REFERRAL_STATUS == '2' and $_POST['customers_referral'] != '') $customers_referral = zen_db_prepare_input($_POST['customers_referral']);
    
      $error = false;
    
      if (ACCOUNT_GENDER == 'true') {
        if ( ($gender != 'm') && ($gender != 'f') ) {
          $error = true;
          $messageStack->add('account_edit', ENTRY_GENDER_ERROR);
        }
      }
    
      if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) {
        $error = true;
        $messageStack->add('account_edit', ENTRY_FIRST_NAME_ERROR);
      }
    
      if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {
        $error = true;
        $messageStack->add('account_edit', ENTRY_LAST_NAME_ERROR);
      }
    
      if (ACCOUNT_DOB == 'true') {
        if (ENTRY_DOB_MIN_LENGTH > 0 or !empty($_POST['dob'])) {
          if (substr_count($dob,'/') > 2 || checkdate((int)substr(zen_date_raw($dob), 4, 2), (int)substr(zen_date_raw($dob), 6, 2), (int)substr(zen_date_raw($dob), 0, 4)) == false) {
            $error = true;
            $messageStack->add('account_edit', ENTRY_DATE_OF_BIRTH_ERROR);
          }
        }
      }
    
      if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {
        $error = true;
        $messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_ERROR);
      }
    
      if (!zen_validate_email($email_address)) {
        $error = true;
        $messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_CHECK_ERROR);
      }
      elseif ($email_address != $email_address_confirm) {
          $error = true;
          $messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_CONFIRM_NOT_MATCHING);
        }
    
      $check_email_query = "SELECT count(*) AS total
                            FROM   " . TABLE_CUSTOMERS . "
                            WHERE  customers_email_address = :emailAddress
                            AND    customers_id != :customersID";
    
      $check_email_query = $db->bindVars($check_email_query, ':emailAddress', $email_address, 'string');
      $check_email_query = $db->bindVars($check_email_query, ':customersID', $_SESSION['customer_id'], 'integer');
      $check_email = $db->Execute($check_email_query);
    
      if ($check_email->fields['total'] > 0) {
        $error = true;
        $messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS);
      }
    
      // check external hook for duplicate email address, so we can reject the change if duplicates aren't allowed externally
      // (the observers should set any messageStack output as needed)
      $nick_error = false;
      $zco_notifier->notify('NOTIFY_NICK_CHECK_FOR_EXISTING_EMAIL', $email_address, $nick_error, $nick);
      if ($nick_error) $error = true;
    
    
      if (strlen($telephone) < ENTRY_TELEPHONE_MIN_LENGTH) {
        $error = true;
        $messageStack->add('account_edit', ENTRY_TELEPHONE_NUMBER_ERROR);
      }
    
      $zco_notifier->notify('NOTIFY_HEADER_ACCOUNT_EDIT_VERIFY_COMPLETE');
    
      if ($error == false) {
        //update external bb system with new email address
        $zco_notifier->notify('NOTIFY_NICK_UPDATE_EMAIL_ADDRESS', $nick, $db->prepareInput($email_address));
    
        // build array of data to store the requested changes
        $sql_data_array = array(array('fieldName'=>'customers_firstname', 'value'=>$firstname, 'type'=>'stringIgnoreNull'),
                                array('fieldName'=>'customers_lastname', 'value'=>$lastname, 'type'=>'stringIgnoreNull'),
                                array('fieldName'=>'customers_email_address', 'value'=>$email_address, 'type'=>'stringIgnoreNull'),
                                array('fieldName'=>'customers_telephone', 'value'=>$telephone, 'type'=>'stringIgnoreNull'),
                                array('fieldName'=>'customers_fax', 'value'=>$fax, 'type'=>'stringIgnoreNull'),
                                array('fieldName'=>'customers_email_format', 'value'=>$email_format, 'type'=>'stringIgnoreNull')
        );
    
        if ((CUSTOMERS_REFERRAL_STATUS == '2' and $customers_referral != '')) {
          $sql_data_array[] = array('fieldName'=>'customers_referral', 'value'=>$customers_referral, 'type'=>'stringIgnoreNull');
        }
        if (ACCOUNT_GENDER == 'true') {
          $sql_data_array[] = array('fieldName'=>'customers_gender', 'value'=>$gender, 'type'=>'stringIgnoreNull');
        }
        if (ACCOUNT_DOB == 'true') {
          if ($dob == '0001-01-01 00:00:00' or $_POST['dob'] == '') {
            $sql_data_array[] = array('fieldName'=>'customers_dob', 'value'=>'0001-01-01 00:00:00', 'type'=>'date');
          } else {
            $sql_data_array[] = array('fieldName'=>'customers_dob', 'value'=>zen_date_raw($_POST['dob']), 'type'=>'date');
          }
        }
    
        $where_clause = "customers_id = :customersID";
        $where_clause = $db->bindVars($where_clause, ':customersID', $_SESSION['customer_id'], 'integer');
        $db->perform(TABLE_CUSTOMERS, $sql_data_array, 'update', $where_clause);
    
        $sql = "UPDATE " . TABLE_CUSTOMERS_INFO . "
                SET    customers_info_date_account_last_modified = now()
                WHERE  customers_info_id = :customersID";
    
        $sql = $db->bindVars($sql, ':customersID', $_SESSION['customer_id'], 'integer');
    
        $db->Execute($sql);
    
        $where_clause = "customers_id = :customersID AND address_book_id = :customerDefaultAddressID";
        $where_clause = $db->bindVars($where_clause, ':customersID', $_SESSION['customer_id'], 'integer');
        $where_clause = $db->bindVars($where_clause, ':customerDefaultAddressID', $_SESSION['customer_default_address_id'], 'integer');
        $sql_data_array = array(array('fieldName'=>'entry_firstname', 'value'=>$firstname, 'type'=>'stringIgnoreNull'),
        array('fieldName'=>'entry_lastname', 'value'=>$lastname, 'type'=>'string'));
    
        $db->perform(TABLE_ADDRESS_BOOK, $sql_data_array, 'update', $where_clause);
    
        $zco_notifier->notify('NOTIFY_HEADER_ACCOUNT_EDIT_UPDATES_COMPLETE');
    
        // reset the session variables
        $_SESSION['customer_first_name'] = $firstname;
        $_SESSION['customer_last_name'] = $lastname;
    
        $messageStack->add_session('account', SUCCESS_ACCOUNT_UPDATED, 'success');
    
        zen_redirect(zen_href_link(FILENAME_ACCOUNT, '', 'SSL'));
      }
    }
    
    $account_query = "SELECT customers_gender, customers_firstname, customers_lastname,
                             customers_dob, customers_email_address, customers_telephone, customers_nick,
                             customers_fax, customers_email_format, customers_referral
                      FROM   " . TABLE_CUSTOMERS . "
                      WHERE  customers_id = :customersID";
    
    $account_query = $db->bindVars($account_query, ':customersID', $_SESSION['customer_id'], 'integer');
    $account = $db->Execute($account_query);
    if (ACCOUNT_GENDER == 'true') {
      if (isset($gender)) {
        $male = ($gender == 'm') ? true : false;
      } else {
        $male = ($account->fields['customers_gender'] == 'm') ? true : false;
      }
      $female = !$male;
    }
    
    // if DOB field has database default setting, show blank:
    $dob = ($dob == '0001-01-01 00:00:00') ? '' : $dob;
    
    $customers_referral = $account->fields['customers_referral'];
    
    if (isset($customers_email_format)) {
      $email_pref_html = (($customers_email_format == 'HTML') ? true : false);
      $email_pref_none = (($customers_email_format == 'NONE') ? true : false);
      $email_pref_optout = (($customers_email_format == 'OUT')  ? true : false);
      $email_pref_text = (($email_pref_html || $email_pref_none || $email_pref_out) ? false : true);  // if not in any of the others, assume TEXT
    } else {
      $email_pref_html = (($account->fields['customers_email_format'] == 'HTML') ? true : false);
      $email_pref_none = (($account->fields['customers_email_format'] == 'NONE') ? true : false);
      $email_pref_optout = (($account->fields['customers_email_format'] == 'OUT')  ? true : false);
      $email_pref_text = (($email_pref_html || $email_pref_none || $email_pref_out) ? false : true);  // if not in any of the others, assume TEXT
    }
    
    $breadcrumb->add(NAVBAR_TITLE_1, zen_href_link(FILENAME_ACCOUNT, '', 'SSL'));
    $breadcrumb->add(NAVBAR_TITLE_2);
    
    // This should be last line of the script:
    $zco_notifier->notify('NOTIFY_HEADER_END_ACCOUNT_EDIT');
    Code:
    <?php
    /**
     * @package Amazon Pay for Zen Cart German
     * @copyright Copyright 2003-2014 Webiprog
     * @copyright Copyright 2003-2017 Zen Cart Development Team
     * @copyright Portions Copyright 2003 osCommerce
     * @license http://www.zen-cart-pro.at/license/2_0.txt GNU Public License V2.0
     * @version $Id: header_php.php 2017-10-16 20:29:16Z webchills $
     */
    // This should be first line of the script:
    $zco_notifier->notify('NOTIFY_HEADER_START_LOGIN');
    
    // redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled (or the session has not started)
    if ($session_started == false) {
        zen_redirect(zen_href_link(FILENAME_COOKIE_USAGE));
    }
    include_once((IS_ADMIN_FLAG === true ? DIR_FS_CATALOG_MODULES : DIR_WS_MODULES) . 'payment/frites/frites_functions.php');
    
    $links = fritesLinks();
    
    $frites_logged = fritesLogin();
    //echo '<pre>';print_r($frites_logged);echo '</pre>';die();
    
    //echo '<pre>';print_r(md5($frites_logged['user_profile']['user_id']));echo '</pre>';die();
    
    
    $loginAuthorized = false;
    
    if (!empty($frites_logged['status']) && isset($frites_logged['user_profile']['email']) && $frites_logged['user_profile']['email'] && isset($frites_logged['user_profile']['user_id'])
    ) {
    
        // define
        $customer_email = $frites_logged['user_profile']['email'];
        $frites_md = md5($frites_logged['user_profile']['user_id']);
    
        // Check if email exists
        $check_customer_query = "SELECT *
                               FROM " . TABLE_CUSTOMERS . "
                               WHERE customers_email_address = :emailAddress";
    
        $check_customer_query = $db->bindVars($check_customer_query, ':emailAddress', $customer_email, 'string');
        $check_customer = $db->Execute($check_customer_query);
    
        //fixed by oppo webiprog.com  (oleg@webiprog.com)
    // set the frites user_profile id If not logged in via Amazon
        if ($check_customer->RecordCount() && isset($check_customer->fields['customers_frites_userid']) && $check_customer->fields['customers_frites_userid'] == '' && $check_customer->fields['customers_email_address'] == $frites_logged['user_profile']['email'] && !empty($check_customer->fields['customers_id']) && is_numeric($check_customer->fields['customers_id'])
        ) {
    
            $customer_name = explode(' ', $frites_logged['user_profile']['name'], 2);
    
            // set the amazon user_profile id If not logged in via Amazon and update name
            $sql_customer_id = intval($check_customer->fields['customers_id']);
            $sql = "UPDATE " . TABLE_CUSTOMERS . "
                        SET 
                        customers_frites_userid = :fritesUserid,
                        customers_firstname = :fritesFirstName, 
                        customers_lastname = :fritesLastName
                        WHERE customers_id = :custID";
            $sql = $db->bindVars($sql, ':fritesUserid', $frites_md, 'string');
            $sql = $db->bindVars($sql, ':fritesFirstName', (!empty($customer_name[0]) ? $customer_name[0] : ''), 'string');
            $sql = $db->bindVars($sql, ':fritesLastName', (!empty($customer_name[1]) ? $customer_name[1] : ''), 'string');
            $sql = $db->bindVars($sql, ':custID', $sql_customer_id, 'integer');
            $db->Execute($sql);
    
        }
    
    
        if ($check_customer->RecordCount() && isset($check_customer->fields['customers_authorization']) && $check_customer->fields['customers_authorization'] == '4') {
            // this account is banned
            $zco_notifier->notify('NOTIFY_LOGIN_BANNED');
            $messageStack->add('login', TEXT_LOGIN_BANNED);
        } elseif ($check_customer->RecordCount() && !isset($check_customer->fields['customers_frites_userid'])) {
            //account exists but was not registered by amazon || user_id is wrong || fieldname `customers_frites_userid` not exists
            //redirect to original login
            zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL'));
    
        } elseif (!$check_customer->RecordCount()) {
            $new_acct_notify = true;
            $customer_name = explode(' ', $frites_logged['user_profile']['name'], 2);
    
            $acct_exists = false;
            // Create an account, if the account does not exist
            if (!$acct_exists) {
                // debug
                if (MODULE_PAYMENT_FRITES_IPN_DEBUG == 'Log File') {
                    fritesWriteLog('Creating account for ' . $frites_logged['user_profile']['email']);
                }
    
                // Generate a random 12-char password
                $password = zen_create_random_value(12);
    
                $sql_data_array = array();
    
                // set the customer information in the array for the table insertion
                $sql_data_array = array('customers_firstname' => (isset($customer_name[0]) ? trim($customer_name[0]) : ''), 'customers_lastname' => (isset($customer_name[1]) ? trim($customer_name[1]) : ''), 'customers_email_address' => $frites_logged['user_profile']['email'], 'customers_email_format' => (ACCOUNT_EMAIL_PREFERENCE == '1' ? 'HTML' : 'TEXT'), 'customers_telephone' => '', 'customers_fax' => '', 'customers_gender' => 'm', 'customers_newsletter' => '0', 'customers_password' => zen_encrypt_password($password), 'customers_frites_userid' => $frites_md);
    
                // insert the data
                $result = zen_db_perform(TABLE_CUSTOMERS, $sql_data_array);
    
                // grab the customer_id (last insert id)
                $customer_id = $db->Insert_ID();
    
                // set the Guest customer ID -- for PWA purposes
                $_SESSION['customer_guest_id'] = $customer_id;
    
                // TODO fix country codes and replace with currencies
                $country_id = frites_get_default_country_id();
                $state_id = 0;
    
                /*if (MODULE_PAYMENT_FRITES_REGION == 'UK') {
                    $country_id = 222;
                }
    
                if (MODULE_PAYMENT_FRITES_REGION == 'DE') {
                    $country_id = 81;
                }*/
    
                // set the customer address information in the array for the table insertion
                $sql_data_array = array('customers_id' => $customer_id, 'entry_gender' => 'm', 'entry_firstname' => (isset($customer_name[0]) ? trim($customer_name[0]) : ''), 'entry_lastname' => (isset($customer_name[1]) ? trim($customer_name[1]) : ''), 'entry_street_address' => '', 'entry_suburb' => '', 'entry_city' => '', 'entry_zone_id' => $state_id, 'entry_postcode' => $frites_logged['user_profile']['postal_code'], 'entry_country_id' => $country_id);
    
                // insert the data
                zen_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array);
    
                // grab the address_id (last insert id)
                $address_id = $db->Insert_ID();
    
                // set the address id lookup for the customer
                $sql = "UPDATE " . TABLE_CUSTOMERS . "
                        SET customers_default_address_id = :addrID
                        WHERE customers_id = :custID";
                $sql = $db->bindVars($sql, ':addrID', $address_id, 'integer');
                $sql = $db->bindVars($sql, ':custID', $customer_id, 'integer');
                $db->Execute($sql);
    
                // insert the new customer_id into the customers info table for consistency
                $sql = "INSERT INTO " . TABLE_CUSTOMERS_INFO . "
                               (customers_info_id, customers_info_number_of_logons, customers_info_date_account_created, customers_info_date_of_last_logon)
                        VALUES (:custID, 1, now(), now())";
                $sql = $db->bindVars($sql, ':custID', $customer_id, 'integer');
                $db->Execute($sql);
    
                // send Welcome Email if appropriate
                if ($new_acct_notify) {
                    // require the language file
                    global $language_page_directory, $template_dir;
                    if (!isset($language_page_directory))
                        $language_page_directory = DIR_WS_LANGUAGES . $_SESSION['language'] . '/';
                    if (file_exists($language_page_directory . $template_dir . '/create_account.php')) {
                        $template_dir_select = $template_dir . '/';
                    } else {
                        $template_dir_select = '';
                    }
    
                    require($language_page_directory . $template_dir_select . '/create_account.php');
    
                    // set the mail text
                    $email_text = sprintf(EMAIL_GREET_NONE, $frites_logged['user_profile']['name']) . EMAIL_WELCOME . "\n\n" . EMAIL_TEXT;
                    $email_text .= "\n\n" . EMAIL_EC_ACCOUNT_INFORMATION . "\nUsername: " . $frites_logged['user_profile']['email'] . "\nPassword: " . $password . "\n\n";
                    $email_text .= EMAIL_CONTACT;
                    // include create-account-specific disclaimer
                    $email_text .= "\n\n" . sprintf(EMAIL_DISCLAIMER_NEW_CUSTOMER, STORE_OWNER_EMAIL_ADDRESS) . "\n\n";
                    $email_html = array();
                    $email_html['EMAIL_GREETING'] = sprintf(EMAIL_GREET_NONE, $frites_logged['user_profile']['name']);
                    $email_html['EMAIL_WELCOME'] = EMAIL_WELCOME;
                    $email_html['EMAIL_MESSAGE_HTML'] = nl2br(EMAIL_TEXT . "\n\n" . EMAIL_EC_ACCOUNT_INFORMATION . "\nUsername: " . $frites_logged['user_profile']['email'] . "\nPassword: " . $password . "\n\n");
                    $email_html['EMAIL_CONTACT_OWNER'] = EMAIL_CONTACT;
                    $email_html['EMAIL_CLOSURE'] = nl2br(EMAIL_GV_CLOSURE);
                    $email_html['EMAIL_DISCLAIMER'] = sprintf(EMAIL_DISCLAIMER_NEW_CUSTOMER, '<a href="mailto:' . STORE_OWNER_EMAIL_ADDRESS . '">' . STORE_OWNER_EMAIL_ADDRESS . ' </a>');
    
                    // send the mail
                    if (trim(EMAIL_SUBJECT) != 'n/a')
                        zen_mail($frites_logged['user_profile']['name'], $frites_logged['user_profile']['email'], EMAIL_SUBJECT, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $email_html, 'welcome');
    
                } else {
                }
    
                // hook notifier class vis a vis account-creation
                $zco_notifier->notify('NOTIFY_LOGIN_SUCCESS_VIA_CREATE_ACCOUNT');
    
            } else {
            }
    
            // Check if email exists
            $check_customer_query = "SELECT customers_id, customers_firstname, customers_lastname, customers_password,
                                            customers_email_address, customers_default_address_id,
                                            customers_authorization, customers_referral
                                   FROM " . TABLE_CUSTOMERS . "
                                   WHERE customers_email_address = :emailAddress";
    
            $check_customer_query = $db->bindVars($check_customer_query, ':emailAddress', $customer_email, 'string');
            $check_customer = $db->Execute($check_customer_query);
    
            $loginAuthorized = true;
    
        }
    
        if ($check_customer->RecordCount() && isset($check_customer->fields['customers_frites_userid']) && $check_customer->fields['customers_frites_userid'] == $frites_md
        ) {
    
            $loginAuthorized = true;
        }
    
    
        if (!$loginAuthorized) {
            $error = true;
            $messageStack->add('login', TEXT_LOGIN_ERROR);
        } else {
            if (SESSION_RECREATE == 'True') {
                zen_session_recreate();
            }
    
            $check_country_query = "SELECT entry_country_id, entry_zone_id
                                  FROM " . TABLE_ADDRESS_BOOK . "
                                  WHERE customers_id = :customersID
                                  AND address_book_id = :addressBookID";
    
            $check_country_query = $db->bindVars($check_country_query, ':customersID', $check_customer->fields['customers_id'], 'integer');
            $check_country_query = $db->bindVars($check_country_query, ':addressBookID', $check_customer->fields['customers_default_address_id'], 'integer');
            $check_country = $db->Execute($check_country_query);
    
            $_SESSION['customer_id'] = $check_customer->fields['customers_id'];
            $_SESSION['customer_default_address_id'] = $check_customer->fields['customers_default_address_id'];
            $_SESSION['customers_authorization'] = $check_customer->fields['customers_authorization'];
            $_SESSION['customer_first_name'] = $check_customer->fields['customers_firstname'];
            $_SESSION['customer_last_name'] = $check_customer->fields['customers_lastname'];
            $_SESSION['customer_country_id'] = $check_country->fields['entry_country_id'];
            $_SESSION['customer_zone_id'] = $check_country->fields['entry_zone_id'];
    
            // enforce db integrity: make sure related record exists
            $sql = "SELECT customers_info_date_of_last_logon FROM " . TABLE_CUSTOMERS_INFO . " WHERE customers_info_id = :customersID";
            $sql = $db->bindVars($sql, ':customersID', $_SESSION['customer_id'], 'integer');
            $result = $db->Execute($sql);
            if ($result->RecordCount() == 0) {
                $sql = "insert into " . TABLE_CUSTOMERS_INFO . " (customers_info_id) values (:customersID)";
                $sql = $db->bindVars($sql, ':customersID', $_SESSION['customer_id'], 'integer');
                $db->Execute($sql);
            }
    
            // update login count
            $sql = "UPDATE " . TABLE_CUSTOMERS_INFO . "
                  SET customers_info_date_of_last_logon = now(),
                      customers_info_number_of_logons = IF(customers_info_number_of_logons, customers_info_number_of_logons+1, 1)
                  WHERE customers_info_id = :customersID";
    
            $sql = $db->bindVars($sql, ':customersID', $_SESSION['customer_id'], 'integer');
            $db->Execute($sql);
            $zco_notifier->notify('NOTIFY_LOGIN_SUCCESS');
    
            // bof: contents merge notice
            // save current cart contents count if required
            if (SHOW_SHOPPING_CART_COMBINED > 0) {
                $zc_check_basket_before = $_SESSION['cart']->count_contents();
            }
    
            // bof: not require part of contents merge notice
            // restore cart contents
            $_SESSION['cart']->restore_contents();
            // eof: not require part of contents merge notice
    
            // check current cart contents count if required
            if (SHOW_SHOPPING_CART_COMBINED > 0 && $zc_check_basket_before > 0) {
                $zc_check_basket_after = $_SESSION['cart']->count_contents();
                if (($zc_check_basket_before != $zc_check_basket_after) && $_SESSION['cart']->count_contents() > 0 && SHOW_SHOPPING_CART_COMBINED > 0) {
                    if (SHOW_SHOPPING_CART_COMBINED == 2) {
                        // warning only do not send to cart
                        $messageStack->add_session('header', WARNING_SHOPPING_CART_COMBINED, 'caution');
                    }
                    if (SHOW_SHOPPING_CART_COMBINED == 1) {
                        // show warning and send to shopping cart for review
                        $messageStack->add_session('shopping_cart', WARNING_SHOPPING_CART_COMBINED, 'caution');
                        zen_redirect(zen_href_link(FILENAME_SHOPPING_CART, '', 'NONSSL'));
                    }
                }
            }
            // eof: contents merge notice
    
            if (isset($_GET['only_login']) && $_GET['only_login']) {
                zen_redirect(zen_href_link(FILENAME_ACCOUNT, '', 'NONSSL'));
            } elseif (!empty($_GET['checkout_frites_confirmation'])) {
                zen_redirect($links['checkout_frites_confirmation']);
            } else {
                zen_redirect($links['checkout_frites_shipping']);
            }
        }
    
    } else {
    
        //fixed by oppo webiprog.com  (oleg@webiprog.com)
        //redirect to original login
        // Amazon did not accept login
        zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL'));
    }
    
    if (isset($_GET['only_login']) && $_GET['only_login']) {
        zen_redirect(zen_href_link(FILENAME_ACCOUNT, '', 'NONSSL'));
    } elseif (!empty($_GET['checkout_frites_confirmation'])) {
        zen_redirect($links['checkout_frites_confirmation']);
    } else {
        zen_redirect($links['checkout_frites_shipping']);
    }
    /*echo $loginAuthorized;
    echo '<pre>';print_r($_SESSION);echo '</pre>';
    echo '<pre>';print_r($frites_logged);echo '</pre>';
    echo '<pre>';print_r($_SERVER);echo '</pre>';
    die();
    
    zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL'));*/
    
    
    // This should be last line of the script:
    $zco_notifier->notify('NOTIFY_HEADER_END_LOGIN');

  6. #6
    Jedi-Ritter Avatar von webchills
    Registriert seit
    30.10.2004
    Ort
    Österreich
    Beiträge
    6.838
    Themen
    94
    DANKE
    3
    Erhaltene Danke: 1.186

    Standard

    Wenn Du Dir Deine gepostete includes/modules/pages/checkout_frites_login/header_php.php und die aus dem Ordner OPTIONAL nochmal etwas genauer ansiehst, dann siehst Du, dass Du die nötige Änderung für COWOA eben nicht vorgenommen hast.
    Korrekt wäre:

    Code:
    <?php
    /**
     * @package Amazon Pay for Zen Cart Deutsch (www.zen-cart-pro.at)
     * @copyright Copyright 2003-2014 Webiprog
     * @copyright Copyright 2003-2018 Zen Cart Development Team
     * @copyright Portions Copyright 2003 osCommerce
     * @license http://www.zen-cart-pro.at/license/2_0.txt GNU Public License V2.0
     * @version $Id: header_php.php for COWOA 2018-04-04 18:29:16Z webchills $
     */
    // This should be first line of the script:
    $zco_notifier->notify('NOTIFY_HEADER_START_LOGIN');
    
    // redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled (or the session has not started)
    if ($session_started == false) {
        zen_redirect(zen_href_link(FILENAME_COOKIE_USAGE));
    }
    include_once (IS_ADMIN_FLAG === true ? DIR_FS_CATALOG_MODULES : DIR_WS_MODULES) . 'payment/frites/frites_functions.php';
    
    $links = fritesLinks();
    
    $frites_logged = fritesLogin();
    
    
    
    $loginAuthorized = false;
    
    if (!empty($frites_logged['status']) && isset($frites_logged['user_profile']['email']) && $frites_logged['user_profile']['email'] && isset($frites_logged['user_profile']['user_id'])
    ) {
    
        // define
        $customer_email = $frites_logged['user_profile']['email'];
        $frites_md = md5($frites_logged['user_profile']['user_id']);
    
        // Check if email exists
        $check_customer_query = "SELECT *
                               FROM " . TABLE_CUSTOMERS . "
                               WHERE customers_email_address = :emailAddress
                               AND COWOA_account != 1";
    
        $check_customer_query = $db->bindVars($check_customer_query, ':emailAddress', $customer_email, 'string');
        $check_customer = $db->Execute($check_customer_query);
    
        //fixed by oppo webiprog.com  (oleg@webiprog.com)
    // set the frites user_profile id If not logged in via Amazon
        if ($check_customer->RecordCount() && isset($check_customer->fields['customers_frites_userid']) && $check_customer->fields['customers_frites_userid'] == '' && $check_customer->fields['customers_email_address'] == $frites_logged['user_profile']['email'] && !empty($check_customer->fields['customers_id']) && is_numeric($check_customer->fields['customers_id'])
        ) {
    
            $customer_name = explode(' ', $frites_logged['user_profile']['name'], 2);
    
            // set the amazon user_profile id If not logged in via Amazon and update name
            $sql_customer_id = intval($check_customer->fields['customers_id']);
            $sql = 'UPDATE ' . TABLE_CUSTOMERS . '
                        SET 
                        customers_frites_userid = :fritesUserid,
                        customers_firstname = :fritesFirstName, 
                        customers_lastname = :fritesLastName
                        WHERE customers_id = :custID';
            $sql = $db->bindVars($sql, ':fritesUserid', $frites_md, 'string');
            $sql = $db->bindVars($sql, ':fritesFirstName', (!empty($customer_name[0]) ? $customer_name[0] : ''), 'string');
            $sql = $db->bindVars($sql, ':fritesLastName', (!empty($customer_name[1]) ? $customer_name[1] : ''), 'string');
            $sql = $db->bindVars($sql, ':custID', $sql_customer_id, 'integer');
            $db->Execute($sql);
    
        }
    
    
        if ($check_customer->RecordCount() && isset($check_customer->fields['customers_authorization']) && $check_customer->fields['customers_authorization'] == '4') {
            // this account is banned
            $zco_notifier->notify('NOTIFY_LOGIN_BANNED');
            $messageStack->add('login', TEXT_LOGIN_BANNED);
        } elseif ($check_customer->RecordCount() && !isset($check_customer->fields['customers_frites_userid'])) {
            //account exists but was not registered by amazon || user_id is wrong || fieldname `customers_frites_userid` not exists
            //redirect to original login
            zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL'));
    
        } elseif (!$check_customer->RecordCount()) {
            $new_acct_notify = true;
            $customer_name = explode(' ', $frites_logged['user_profile']['name'], 2);
    
            $acct_exists = false;
            // Create an account, if the account does not exist
            if (!$acct_exists) {
                // debug
                if (MODULE_PAYMENT_FRITES_IPN_DEBUG == 'Log File') {
                    fritesWriteLog('Creating account for ' . $frites_logged['user_profile']['email']);
                }
    
                // Generate a random 12-char password
                $password = zen_create_random_value(12);
    
                $sql_data_array = array();
    
                // set the customer information in the array for the table insertion
                $sql_data_array = array('customers_firstname' => isset($customer_name[0]) ? trim($customer_name[0]) : '', 'customers_lastname' => isset($customer_name[1]) ? trim($customer_name[1]) : '', 'customers_email_address' => $frites_logged['user_profile']['email'], 'customers_email_format' => ACCOUNT_EMAIL_PREFERENCE == '1' ? 'HTML' : 'TEXT', 'customers_telephone' => '', 'customers_fax' => '', 'customers_gender' => 'm', 'customers_newsletter' => '0', 'customers_password' => zen_encrypt_password($password), 'customers_frites_userid' => $frites_md);
    
                // insert the data
                $result = zen_db_perform(TABLE_CUSTOMERS, $sql_data_array);
    
                // grab the customer_id (last insert id)
                $customer_id = $db->Insert_ID();
    
                // set the Guest customer ID -- for PWA purposes
                $_SESSION['customer_guest_id'] = $customer_id;
    
                // TODO fix country codes and replace with currencies
                $country_id = frites_get_default_country_id();
                $state_id = 0;
    
                
                // set the customer address information in the array for the table insertion
                $sql_data_array = array('customers_id' => $customer_id, 'entry_gender' => 'm', 'entry_firstname' => isset($customer_name[0]) ? trim($customer_name[0]) : '', 'entry_lastname' => isset($customer_name[1]) ? trim($customer_name[1]) : '', 'entry_street_address' => '', 'entry_suburb' => '', 'entry_city' => '', 'entry_zone_id' => $state_id, 'entry_postcode' => $frites_logged['user_profile']['postal_code'], 'entry_country_id' => $country_id);
    
                // insert the data
                zen_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array);
    
                // grab the address_id (last insert id)
                $address_id = $db->Insert_ID();
    
                // set the address id lookup for the customer
                $sql = 'UPDATE ' . TABLE_CUSTOMERS . '
                        SET customers_default_address_id = :addrID
                        WHERE customers_id = :custID';
                $sql = $db->bindVars($sql, ':addrID', $address_id, 'integer');
                $sql = $db->bindVars($sql, ':custID', $customer_id, 'integer');
                $db->Execute($sql);
    
                // insert the new customer_id into the customers info table for consistency
                $sql = 'INSERT INTO ' . TABLE_CUSTOMERS_INFO . '
                               (customers_info_id, customers_info_number_of_logons, customers_info_date_account_created, customers_info_date_of_last_logon)
                        VALUES (:custID, 1, now(), now())';
                $sql = $db->bindVars($sql, ':custID', $customer_id, 'integer');
                $db->Execute($sql);
    
                // send Welcome Email if appropriate
                if ($new_acct_notify) {
                    // require the language file
                    global $language_page_directory, $template_dir;
                    if (!isset($language_page_directory))
                        $language_page_directory = DIR_WS_LANGUAGES . $_SESSION['language'] . '/';
                    if (file_exists($language_page_directory . $template_dir . '/create_account.php')) {
                        $template_dir_select = $template_dir . '/';
                    } else {
                        $template_dir_select = '';
                    }
    
                    require $language_page_directory . $template_dir_select . '/create_account.php';
    
                    // set the mail text
                    $email_text = sprintf(EMAIL_GREET_NONE, $frites_logged['user_profile']['name']) . EMAIL_WELCOME . "\n\n" . EMAIL_TEXT;
                    $email_text .= "\n\n" . EMAIL_EC_ACCOUNT_INFORMATION . "\nUsername: " . $frites_logged['user_profile']['email'] . "\nPassword: " . $password . "\n\n";
                    $email_text .= EMAIL_CONTACT;
                    // include create-account-specific disclaimer
                    $email_text .= "\n\n" . sprintf(EMAIL_DISCLAIMER_NEW_CUSTOMER, STORE_OWNER_EMAIL_ADDRESS) . "\n\n";
                    $email_html = array();
                    $email_html['EMAIL_GREETING'] = sprintf(EMAIL_GREET_NONE, $frites_logged['user_profile']['name']);
                    $email_html['EMAIL_WELCOME'] = EMAIL_WELCOME;
                    $email_html['EMAIL_MESSAGE_HTML'] = nl2br(EMAIL_TEXT . "\n\n" . EMAIL_EC_ACCOUNT_INFORMATION . "\nUsername: " . $frites_logged['user_profile']['email'] . "\nPassword: " . $password . "\n\n");
                    $email_html['EMAIL_CONTACT_OWNER'] = EMAIL_CONTACT;
                    $email_html['EMAIL_CLOSURE'] = nl2br(EMAIL_GV_CLOSURE);
                    $email_html['EMAIL_DISCLAIMER'] = sprintf(EMAIL_DISCLAIMER_NEW_CUSTOMER, '<a href="mailto:' . STORE_OWNER_EMAIL_ADDRESS . '">' . STORE_OWNER_EMAIL_ADDRESS . ' </a>');
    
                    // send the mail
                    if (trim(EMAIL_SUBJECT) != 'n/a')
                        zen_mail($frites_logged['user_profile']['name'], $frites_logged['user_profile']['email'], EMAIL_SUBJECT, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $email_html, 'welcome');
    
                } else {
                }
    
                // hook notifier class vis a vis account-creation
                $zco_notifier->notify('NOTIFY_LOGIN_SUCCESS_VIA_CREATE_ACCOUNT');
    
            } else {
            }
    
           // Check if email exists
            $check_customer_query = "SELECT customers_id, customers_firstname, customers_lastname, customers_password,
                                            customers_email_address, customers_default_address_id,
                                            customers_authorization, customers_referral
                                   FROM " . TABLE_CUSTOMERS . "
                                   WHERE customers_email_address = :emailAddress
                                   AND COWOA_account != 1";
    
            $check_customer_query = $db->bindVars($check_customer_query, ':emailAddress', $customer_email, 'string');
            $check_customer = $db->Execute($check_customer_query);
    
            $loginAuthorized = true;
    
        }
    
        if ($check_customer->RecordCount() && isset($check_customer->fields['customers_frites_userid']) && $check_customer->fields['customers_frites_userid'] == $frites_md
        ) {
    
            $loginAuthorized = true;
        }
    
    
        if (!$loginAuthorized) {
            $error = true;
            $messageStack->add('login', TEXT_LOGIN_ERROR);
        } else {
            if (SESSION_RECREATE == 'True') {
                zen_session_recreate();
            }
    
            $check_country_query = 'SELECT entry_country_id, entry_zone_id
                                  FROM ' . TABLE_ADDRESS_BOOK . '
                                  WHERE customers_id = :customersID
                                  AND address_book_id = :addressBookID';
    
            $check_country_query = $db->bindVars($check_country_query, ':customersID', $check_customer->fields['customers_id'], 'integer');
            $check_country_query = $db->bindVars($check_country_query, ':addressBookID', $check_customer->fields['customers_default_address_id'], 'integer');
            $check_country = $db->Execute($check_country_query);
    
            $_SESSION['customer_id'] = $check_customer->fields['customers_id'];
            $_SESSION['customer_default_address_id'] = $check_customer->fields['customers_default_address_id'];
            $_SESSION['customers_authorization'] = $check_customer->fields['customers_authorization'];
            $_SESSION['customer_first_name'] = $check_customer->fields['customers_firstname'];
            $_SESSION['customer_last_name'] = $check_customer->fields['customers_lastname'];
            $_SESSION['customer_country_id'] = $check_country->fields['entry_country_id'];
            $_SESSION['customer_zone_id'] = $check_country->fields['entry_zone_id'];
    
            // enforce db integrity: make sure related record exists
            $sql = 'SELECT customers_info_date_of_last_logon FROM ' . TABLE_CUSTOMERS_INFO . ' WHERE customers_info_id = :customersID';
            $sql = $db->bindVars($sql, ':customersID', $_SESSION['customer_id'], 'integer');
            $result = $db->Execute($sql);
            if ($result->RecordCount() == 0) {
                $sql = 'insert into ' . TABLE_CUSTOMERS_INFO . ' (customers_info_id) values (:customersID)';
                $sql = $db->bindVars($sql, ':customersID', $_SESSION['customer_id'], 'integer');
                $db->Execute($sql);
            }
    
            // update login count
            $sql = 'UPDATE ' . TABLE_CUSTOMERS_INFO . '
                  SET customers_info_date_of_last_logon = now(),
                      customers_info_number_of_logons = IF(customers_info_number_of_logons, customers_info_number_of_logons+1, 1)
                  WHERE customers_info_id = :customersID';
    
            $sql = $db->bindVars($sql, ':customersID', $_SESSION['customer_id'], 'integer');
            $db->Execute($sql);
            $zco_notifier->notify('NOTIFY_LOGIN_SUCCESS');
    
            // bof: contents merge notice
            // save current cart contents count if required
            if (SHOW_SHOPPING_CART_COMBINED > 0) {
                $zc_check_basket_before = $_SESSION['cart']->count_contents();
            }
    
            // bof: not require part of contents merge notice
            // restore cart contents
            $_SESSION['cart']->restore_contents();
            // eof: not require part of contents merge notice
    
            // check current cart contents count if required
            if (SHOW_SHOPPING_CART_COMBINED > 0 && $zc_check_basket_before > 0) {
                $zc_check_basket_after = $_SESSION['cart']->count_contents();
                if (($zc_check_basket_before != $zc_check_basket_after) && $_SESSION['cart']->count_contents() > 0 && SHOW_SHOPPING_CART_COMBINED > 0) {
                    if (SHOW_SHOPPING_CART_COMBINED == 2) {
                        // warning only do not send to cart
                        $messageStack->add_session('header', WARNING_SHOPPING_CART_COMBINED, 'caution');
                    }
                    if (SHOW_SHOPPING_CART_COMBINED == 1) {
                        // show warning and send to shopping cart for review
                        $messageStack->add_session('shopping_cart', WARNING_SHOPPING_CART_COMBINED, 'caution');
                        zen_redirect(zen_href_link(FILENAME_SHOPPING_CART, '', 'NONSSL'));
                    }
                }
            }
            // eof: contents merge notice
    
            if (isset($_GET['only_login']) && $_GET['only_login']) {
                zen_redirect(zen_href_link(FILENAME_ACCOUNT, '', 'NONSSL'));
            } elseif (!empty($_GET['checkout_frites_confirmation'])) {
                zen_redirect($links['checkout_frites_confirmation']);
            } else {
                zen_redirect($links['checkout_frites_shipping']);
            }
        }
    
    } else {
    
       
        //redirect to original login
        // Amazon did not accept login
        zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL'));
    }
    
    if (isset($_GET['only_login']) && $_GET['only_login']) {
        zen_redirect(zen_href_link(FILENAME_ACCOUNT, '', 'NONSSL'));
    } elseif (!empty($_GET['checkout_frites_confirmation'])) {
        zen_redirect($links['checkout_frites_confirmation']);
    } else {
        zen_redirect($links['checkout_frites_shipping']);
    }
    // This should be last line of the script:
    $zco_notifier->notify('NOTIFY_HEADER_END_LOGIN');
    Und dann wird es auch funktionieren.

    Mit Sandbox versus Production hat das nichts zu tun.

    Nimm das zum Anlass, das Amazon Modul komplett zu entfernen.
    Dann installierst Du gleich die aktuelle Version und nimmst die für COWOA nötigen Änderungen wirklich vor

    Zusätzlich solltest Du dann bevor Du den nächsten Checkout machst, das Kundenkonto, das mit der Amazon Live Emailadresse wohl im Shop schon existiert löschen und dann frisch mit Amazon einloggen.

    Generell gibt es überhaupt keinen Amazon Checkout "ohne Kundenkonto". Es wird ei einem Amazon Checkout immer ein Kundenkonto angelegt. Gibt es bereits ein COWOA Konto mit dieser Adresse, dann wird ein neues echtes Kundenkonto angelegt. Voraussetzung dafür ist die Anpassung der includes/modules/pages/checkout_frites_login/header_php.php so wie es auch in der Anleitung beschrieben ist.
    !!! kostenloser Support ausschließlich im Forum - Nicht per Email, nicht per Telefon und nicht per PM !!!

  7. #7
    Padawan Stufe II Avatar von forbi099
    Registriert seit
    04.07.2008
    Beiträge
    114
    Themen
    30
    DANKE
    9
    Erhaltene Danke: 0
    Erstellt von

    Standard

    Vielen Dank für deine Antwort.

    Die von dir gepostete Version habe ich alternativ in meiner Test-Umgebung eingebaut, die
    auch SSL gesichert ist und wo ich ebenfalls frei zwischen Sandbox und Live
    Umgebung umschalten kann. Es ist im Verhalten jedoch wirklich kein Unterschied
    zu merken. Beide Versionen der beiden header-Dateien bringen das gleiche Ergebnis.

    Nun ich werde das Modul auf die neueste Version updaten und dann mit frischer
    E-Mail (ohne bestehendem Kundenkonto im Shop) nochmals neu starten.

    Die Frage ist aber dennoch, warum es aktuell in der Sandbox-Umgebung reibungsfrei
    funktioniert (obwohl es doch eigentlich nicht gehen dürfte). Wieso werden in der
    Sandbox-Umgebung Preise mit MwSt und korrekte Versandkosten augewiesen und
    im Live-Betrieb nicht?

    Muss ich zum Entfernen des alten Moduls alle Dateien wieder auf Originalzustand zurücksetzen
    und die im damaligen Ordner neuen Dateien löschen? Aber das werde ich wohl sehen, wenn
    ich die beiden Versionen vergleiche.

  8. #8
    Padawan Stufe II Avatar von forbi099
    Registriert seit
    04.07.2008
    Beiträge
    114
    Themen
    30
    DANKE
    9
    Erhaltene Danke: 0
    Erstellt von

    Standard

    Ich habe jetzt die neueste Version eingebaut und es funktioniert - auch mit Firefox

    Vielen Dank nochmals für die Unterstützung.

Ähnliche Themen

  1. Newsletter OHNE Kundenkonto
    Von bibi87 im Forum Sonstige Module
    Antworten: 20
    Letzter Beitrag: 27.01.2015, 12:01
  2. Bestellen ohne Kundenkonto
    Von Toi Dillov im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 2
    Letzter Beitrag: 16.02.2014, 12:14
  3. Cowa / Bestellen ohne Kundenkonto
    Von bumerang24 im Forum Bestellen ohne Kundenkonto - COWOA
    Antworten: 1
    Letzter Beitrag: 17.10.2013, 17:23
  4. Lieferanschrift fehlt bei Bestellen ohne Kundenkonto
    Von crumly im Forum Bestellen ohne Kundenkonto - COWOA
    Antworten: 3
    Letzter Beitrag: 28.06.2013, 23:31
  5. Bestellen ohne Kundenkonto
    Von alfa im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 8
    Letzter Beitrag: 05.02.2011, 23:03

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
zen-cart-pro.at
Zen Cart ist eine kostenlose unter der GPL-Lizenz veröffentlichte Open-Source Shopsoftware. Das System wird in den USA entwickelt, die amerikanische Website dazu ist www.zen-cart.com

Die deutsche Zen-Cart Version, um die es hier auf zen-cart-pro.at geht, ist eine Anpassung der amerikanischen Version an die Bedürfnisse von Onlineshopbetreibern im deutschsprachigen Raum.
Die amerikanische Zen-Cart Version berücksichtigt viele rechtliche Erfordernisse nicht, denen ein Onlineshop im deutschsprachigen Raum unterworfen ist. Daher wurde die deutsche Zen-Cart Version nicht nur bloß ins Deutsche übersetzt, sondern auch funktional auf die Anforderungen, die an Onlineshops in Deutschland, Österreich und der Schweiz gestellt werden, angepasst.

Die amerikanische Version ist extrem abgespeckt und stellt weiterführende Funktionalitäten durch zusätzliche Module bereit, die erst mühsam manuell installiert werden müssen. Zahlreiche häufig genutzte Erweiterungen und eigene Entwicklungen sind in der deutschen Zen Cart Version bereits vorinstalliert.
Die deutsche Zen-Cart Version bietet außerdem einen völlig multilingualen Adminbereich. Weitere für die deutsche Zen Cart Version angepasste Erweiterungen stehen in unserem Downloadbereich zur Verfügung.

Die deutsche Zen Cart Version wird seit 15 Jahren von einem Team von Entwicklern in Österreich und Deutschland betreut, weiterentwickelt und supportet und steht kostenlos in unserem Downloadbereich zur Verfügung.

[mehr]
Follow Us
  • zen-cart-pro-at auf Twitter
  • zen-cart-pro-at auf Github
  • zen-cart-pro-at auf SourceForge
Aktuelle Version
Zen Cart 1.5.6c deutsch
vom 01.09.2019
[Download]

unterstützen
Unterstütze die Weiterentwicklung der deutschen Zen Cart Version mit einer Spende!

Spende für die Weiterentwicklung der deutschen Zen Cart Version