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: Offline Mode lässt sich nicht abschalten Einloggen nicht möglich

    snocer

    • Fördermitglied
    • Beiträge: 326
    Habe vor einem Kunden Import aus einer Vorversion den Offline Modus aktiviert gehabt.
    Dieser lässt sich jetzt nicht mehr deaktivieren, eine Anmeldung mit der hinterlegten E-Mail und Kennwort schlägt fehl.

    Für Hinweise wäre ich sehr dankbar. So das wenigstens eine Einwahl wieder möglich wäre.

    cu snocer

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

    karsta.de

    • Experte
    • Beiträge: 3.156
    Geh in die Datenbank und in der Tabelle shop_configuration nimmst du den Eintrag im configuration_key > SHOP_OFFLINE  "checked" raus.

    BG kgd

    snocer

    • Fördermitglied
    • Beiträge: 326
    Danke schon mal ein Stück weiter. Nur kann ich mich immer noch nicht mit der beim Admin hinterlegten E-Mail und dem Kennwort anmelden. Hier kommt folgende Meldung: FEHLER: Keine Übereinstimmung der eingegebenen 'E-Mail-Adresse' und/oder dem 'Passwort'.
    Die Mail Adresse mit dem Kennwort hat aber vor dem Offline schalten definitiv funktioniert.
    Kennwort in DB ändern? mit welcher Verschlüsselung? MD5 oder SHA1

    Danke bereits jetzt für eine Antwort.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Versuche es mit der Passwort vergessen Funktion im Shop-Frontend. Wenn das nicht funktioniert schau in der Datenbanktabelle customers nach ob die Spaltenlänge customers_password varchar(60) ist, wenn nicht erweitre sie auf 60 und kontrolliere auch, ob die E-Mail-Adresse für den Admin noch stimmt.

    snocer

    • Fördermitglied
    • Beiträge: 326
    varchar Stand auf 50, habe ich auf 60 geändert. Aber immer noch keine Anmeldung möglich.
    Kann mann nicht so etwas wie einen Super Admin aktivieren? Habe hier wirklich Altdaten übernehmen müssen.

    Für weitere Hilfe schon mal Danke.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    versuche es jetzt nochmals mit der Passwort vergessen Funktion im Shop-Frontend.

    Gruss
    Hanspeter

    snocer

    • Fördermitglied
    • Beiträge: 326
    Habe ich mehrfach versucht, Link kommt auch an und es erscheint auch das Captcha und das Feld zur Eingabe der Mail Adressen, werden diese ausgeführt kommt aber dauerhaft diese Meldung:

    Leider müssen wir Ihnen mitteilen, dass Ihre Anfrage für ein neues Anmelde-Passwort entweder ungültig war oder abgelaufen ist.
    Bitte versuchen Sie es erneut.

    snocer

    • Fördermitglied
    • Beiträge: 326
    Erhalte nach Link bestätigung immer folgende Meldung:
    Leider müssen wir Ihnen mitteilen, dass Ihre Anfrage für ein neues Anmelde-Passwort entweder ungültig war oder abgelaufen ist.
    Bitte versuchen Sie es erneut.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Welche Shopversion ist im Einsatz?

    Poste doch hier mal den Inhalt der Datei password_double_opt.php

    Gruss
    Hanspeter

    snocer

    • Fördermitglied
    • Beiträge: 326
    Danke für Deine Geduld und Unterstützung. Neusete Version im Einsatz.
    Hier der Inhalt der Datei (php entfernt)
    define('VALID_REQUEST_TIME', 60*60);

    require ('includes/application_top.php');

    if (isset ($_SESSION['customer_id'])) {
       xtc_redirect(xtc_href_link(FILENAME_ACCOUNT, '', 'SSL'));
    }

    // captcha
    $use_captcha = array('password');
    if (defined('MODULE_CAPTCHA_ACTIVE')) {
      $use_captcha = explode(',', MODULE_CAPTCHA_ACTIVE);
    }
    defined('MODULE_CAPTCHA_CODE_LENGTH') or define('MODULE_CAPTCHA_CODE_LENGTH', 6);

    // create smarty elements
    $smarty = new Smarty;

    // include boxes
    require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');

    // include needed functions
    require_once (DIR_FS_INC.'xtc_encrypt_password.inc.php');
    require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');
    require_once (DIR_FS_INC.'secure_form.inc.php');

    // include needed classes
    require_once (DIR_FS_EXTERNAL.'password_policy/password_policy.php');

    // default case
    $case = 'double_opt';

    if (isset ($_GET['action']) && ($_GET['action'] == 'first_opt_in') && isset($_POST) && count($_POST) > 0) {
      $check_customer_query = xtc_db_query("SELECT customers_email_address,
                                                   customers_id
                                              FROM ".TABLE_CUSTOMERS."
                                             WHERE customers_email_address = '".xtc_db_input($_POST['email'])."'
                                               AND account_type != '1'");

      if (check_secure_form($_POST) === false) {
        if (!in_array('password', $use_captcha)) {
          $messageStack->add('password_double_opt_in', TEXT_CODE_ERROR);
        } else {
          $messageStack->add('password_double_opt_in', TEXT_EMAIL_ERROR);
        }
      } elseif (xtc_not_null($_POST['email']) && (!in_array('password', $use_captcha) || (isset($_POST['vvcode']) && isset($_SESSION['vvcode']) && strtoupper($_POST['vvcode']) == strtoupper($_SESSION['vvcode'])))) {
        $check_customer_query = xtc_db_query("SELECT customers_email_address,
                                                     customers_id
                                                FROM ".TABLE_CUSTOMERS."
                                               WHERE customers_email_address = '".xtc_db_input($_POST['email'])."'
                                                 AND account_type != '1'");

        if (xtc_db_num_rows($check_customer_query) < 1) {
          $case = 'wrong_mail';
          $messageStack->add('password_double_opt_in', sprintf(TEXT_LINK_MAIL_SENDED, (VALID_REQUEST_TIME / 60)));
        } else {
          $case = 'first_opt_in';
          $messageStack->add('password_double_opt_in', sprintf(TEXT_LINK_MAIL_SENDED, (VALID_REQUEST_TIME / 60)));
          $check_customer = xtc_db_fetch_array($check_customer_query);

          $vlcode = xtc_random_charcode(32);
          $link = xtc_href_link(FILENAME_PASSWORD_DOUBLE_OPT, 'action=verified&customers_id='.$check_customer['customers_id'].'&key='.$vlcode, 'SSL');

          // assign language to template for caching
          $smarty->assign('language', $_SESSION['language']);
          $smarty->assign('tpl_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/');
          $smarty->assign('logo_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/img/');

          // assign vars
          $smarty->assign('EMAIL', $check_customer['customers_email_address']);
          $smarty->assign('LINK', $link);
          $smarty->assign('VALID_REQUEST_TIME', (VALID_REQUEST_TIME / 60));

          // dont allow cache
          $smarty->caching = false;
          $smarty->assign('language', $_SESSION['language']);

          // create mails
          $html_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/new_password_mail.html');
          $txt_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/new_password_mail.txt');

          xtc_db_query("UPDATE ".TABLE_CUSTOMERS."
                           SET password_request_key = '".xtc_db_input($vlcode)."',
                               password_request_time = '".date('Y-m-d H:i:00')."'
                         WHERE customers_id = '".$check_customer['customers_id']."'");

          // send email
          xtc_php_mail(EMAIL_SUPPORT_ADDRESS,
                       EMAIL_SUPPORT_NAME,
                       $check_customer['customers_email_address'],
                       '',
                       '',
                       EMAIL_SUPPORT_REPLY_ADDRESS,
                       EMAIL_SUPPORT_REPLY_ADDRESS_NAME,
                       '',
                       '',
                       TEXT_EMAIL_PASSWORD_FORGOTTEN,
                       $html_mail,
                       $txt_mail);
        }
      } else {
        $case = 'code_error';
        if (!in_array('password', $use_captcha)) {
          $messageStack->add('password_double_opt_in', TEXT_CODE_ERROR);
        } else {
          $messageStack->add('password_double_opt_in', TEXT_EMAIL_ERROR);
        }
      }
    }

    // Verification
    if (isset ($_GET['action']) && $_GET['action'] == 'verified' && isset($_GET['key']) && $_GET['key'] != '') {
      $case = 'second_opt_in';

      $valid_params = array(
        'customers_id',
        'key',
      );

      // prepare variables
      foreach ($_GET as $gkey => $value) {
        if (!is_object(${$gkey}) && in_array($gkey , $valid_params)) {
          ${$gkey} = xtc_db_prepare_input($value);
        }
      }

      $check_customer_query = xtc_db_query("SELECT *
                                              FROM ".TABLE_CUSTOMERS."
                                             WHERE customers_id = '".(int)$customers_id."'
                                               AND password_request_key = '".xtc_db_input($key)."'");
      $check_customer = xtc_db_fetch_array($check_customer_query);
      if (!xtc_db_num_rows($check_customer_query) || $key == '') {
        $case = 'no_account';
        $messageStack->add('password_double_opt_in', TEXT_NO_ACCOUNT);
      } elseif (time() > (strtotime($check_customer['password_request_time']) + VALID_REQUEST_TIME)) {
        $case = 'double_opt';
        $messageStack->add('password_double_opt_in', TEXT_REQUEST_NOT_VALID);
      } else {

        if (isset ($_POST['action']) && ($_POST['action'] == 'process')) {

          $valid_params = array(
            'password_new',
            'password_confirmation',
          );

          // prepare variables
          foreach ($_POST as $key => $value) {
            if (!is_object(${$key}) && in_array($key , $valid_params)) {
              ${$key} = xtc_db_prepare_input($value);
            }
          }

          $error = false;
          $policy = new password_policy();
          if (!$policy->validate($password_new)) {
            $error = true;
            foreach ($policy->get_errors() as $k => $error) {
              $messageStack->add('password_double_opt_in', $error);
            }
          }
          elseif ($password_new != $password_confirmation) {
            $error = true;
            $messageStack->add('password_double_opt_in', ENTRY_PASSWORD_ERROR_NOT_MATCHING);
          }

          if ($error === false) {
            $sql_data_array = array('customers_password' => xtc_encrypt_password($password_new),
                                    'password_request_key' => '',
                                    'password_request_time' => '',
                                    'customers_last_modified' => 'now()',
                                    );
            xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array, 'update', "customers_id = '".(int) $check_customer['customers_id']."'");

            // redirect to login
            $messageStack->add_session('login', SUCCESS_PASSWORD_UPDATED, 'success');
            xtc_redirect(xtc_href_link(FILENAME_LOGIN, '', 'SSL'));
          }
        }
      }
    }

    $breadcrumb->add(NAVBAR_TITLE_PASSWORD_DOUBLE_OPT, xtc_href_link(FILENAME_PASSWORD_DOUBLE_OPT, '', 'SSL'));

    require (DIR_WS_INCLUDES.'header.php');

    switch ($case) {
      case 'second_opt_in':
        if ($messageStack->size('password_double_opt_in') > 0) {
          $smarty->assign('error', $messageStack->output('password_double_opt_in'));
        }
        $smarty->assign('FORM_ACTION', xtc_draw_form('password_double_opt_in', xtc_href_link(FILENAME_PASSWORD_DOUBLE_OPT, xtc_get_all_get_params(), 'SSL'), 'post').xtc_draw_hidden_field('action', 'process'));
        $smarty->assign('INPUT_NEW', xtc_draw_password_fieldNote(array ('name' => 'password_new', 'text' => '&nbsp;'. (xtc_not_null(ENTRY_PASSWORD_NEW_TEXT) ? '<span class="inputRequirement">'.ENTRY_PASSWORD_NEW_TEXT.'</span>' : ''))));
        $smarty->assign('INPUT_CONFIRM', xtc_draw_password_fieldNote(array ('name' => 'password_confirmation', 'text' => '&nbsp;'. (xtc_not_null(ENTRY_PASSWORD_CONFIRMATION_TEXT) ? '<span class="inputRequirement">'.ENTRY_PASSWORD_CONFIRMATION_TEXT.'</span>' : ''))));
        $smarty->assign('BUTTON_BACK', '<a href="'.xtc_href_link(FILENAME_ACCOUNT, '', 'SSL').'">'.xtc_image_button('button_back.gif', IMAGE_BUTTON_BACK).'</a>');
        $smarty->assign('BUTTON_SUBMIT', xtc_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE));
        $smarty->assign('FORM_END', '</form>');

        // dont allow cache
        $smarty->caching = 0;
        $smarty->assign('language', $_SESSION['language']);
        $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/account_password.html');
        break;

      case 'code_error' :
      case 'wrong_mail' :
      case 'no_account' :
      case 'double_opt' :
      case 'first_opt_in' :
        if (in_array('password', $use_captcha)) {
          $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
          $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="'.MODULE_CAPTCHA_CODE_LENGTH.'" maxlength="'.MODULE_CAPTCHA_CODE_LENGTH.'"', 'text', false));
        }
        if ($messageStack->size('password_double_opt_in') > 0) {
          $smarty->assign('info_message', $messageStack->output('password_double_opt_in'));
        }
        $smarty->assign('text_heading', HEADING_PASSWORD_FORGOTTEN);
        $smarty->assign('message', TEXT_PASSWORD_FORGOTTEN);
        $smarty->assign('SHOP_NAME', STORE_NAME);
        $smarty->assign('FORM_ACTION', xtc_draw_form('sign', xtc_href_link(FILENAME_PASSWORD_DOUBLE_OPT, 'action=first_opt_in', 'SSL')).secure_form());
        $smarty->assign('INPUT_EMAIL', xtc_draw_input_field('email', xtc_db_input(isset($_POST['email']) ? $_POST['email'] : ''), '', 'text', false));
        $smarty->assign('BUTTON_SEND', xtc_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE));
        $smarty->assign('FORM_END', '</form>');

        // dont allow cache
        $smarty->caching = 0;
        $smarty->assign('language', $_SESSION['language']);
        $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/password_double_opt_in.html');
        break;
    }

    $smarty->assign('main_content', $main_content);

    // dont allow cache
    $smarty->caching = 0;
    if (!defined('RM'))
      $smarty->load_filter('output', 'note');
    $smarty->display(CURRENT_TEMPLATE.'/index.html');
    include ('includes/application_bottom.php');

    snocer

    • Fördermitglied
    • Beiträge: 326
    Der Shop wird natürlich auch über https://(SSL) aufgerufen

    snocer

    • Fördermitglied
    • Beiträge: 326
    Dreh  mich leider im Kreis. Wie eine Dauerschleife. Vielleicht hat noch jemand eine Lösung parat.

    Danke cu snocer

    snocer

    • Fördermitglied
    • Beiträge: 326
    Habe es Dank verschiedener Hinweise doch noch hinbekommen.
    Fehler 1 war das Feld varchar = 50 statt dem Wert 60
    Fehler 2 war das ich erst in der DB ein neues Passwort generieren musste was auch länger war als das vorhandene.
    Und der Hauptfehler lag am fehlenden Datenbankstrukturupdate auf xx.4x.02 neueste Version. Bis vorgestern galt ja noch die Version xx.4x.01
    Aber ewig gebraucht, bis der mich mal wieder rangelassen hat. Aus dem Installpakage den _installer noch einmal hochgeladen und ausgeführt.

    Danke an alle für die Geduld und Unterstützung

    cu snocer
    7 Antworten
    2268 Aufrufe
    18. Februar 2017, 06:18:22 von m.susok
    3 Antworten
    747 Aufrufe
    02. April 2022, 17:42:42 von crewshop24
    14 Antworten
    5706 Aufrufe
    02. Mai 2010, 20:00:52 von Tomcraft
    5 Antworten
    3682 Aufrufe
    09. Mai 2013, 20:52:41 von Marcel G.
               
    anything