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: Captcha in eigene Datei anzeigen lassen und im Admin Aktivieren?

    MarcoMG

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Hallo,

    ich möchte mir eine eigene Datei erstellen in der beim Aufrufen auch das Captcha vom Shop Angezeigt wird wen es Aktiviert ist, ich weiss leider nicht wo ich dafür was eintragen muss und hoffe hier hilfe dafür zu bekommen.

    Ich habe in der contact_us.php und contact_us.html folgende einträge gefunden und an meineDatei eingetragen aber diese einfach in meine Datei eingeben wird nicht reichen oder?

    PHP Teil
    Code: PHP  [Auswählen]
    // captcha
    $use_captcha = array();
    if (defined('MODULE_CAPTCHA_ACTIVE')) {
      $use_captcha = explode(',', MODULE_CAPTCHA_ACTIVE);
    }
    defined('MODULE_CAPTCHA_CODE_LENGTH') or define('MODULE_CAPTCHA_CODE_LENGTH', 6);
    defined('MODULE_CAPTCHA_LOGGED_IN') or define('MODULE_CAPTCHA_LOGGED_IN', 'True');

    require_once (DIR_WS_CLASSES.'modified_captcha.php');

    $mod_captcha = $_mod_captcha_class::getInstance();

      if (in_array('purchase', $use_captcha)) {
        if ($mod_captcha->validate((isset($_POST['vvcode'])) ? $_POST['vvcode'] : '') !== true) {
          $messageStack->add('purchase', strip_tags(ERROR_VVCODE, '<b><strong>'));
          $error = true;
        }
      }
     
      if (in_array('purchase', $use_captcha)) {
      $smarty->assign('VVIMG', $mod_captcha->get_image_code());
      $smarty->assign('INPUT_VVCODE', $mod_captcha->get_input_code());
    }
     

    Template Teil
    Code: PHP  [Auswählen]
    {if $VVIMG}
            <tr>
              <td><span class="fieldtext">{#text_sec_code#}</span>{$VVIMG}</td>
           </tr>
          {/if}
          {if $INPUT_VVCODE}
            <tr>
              <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$INPUT_VVCODE}</span></td>
           </tr>
          {/if}
             
    {if "SIGN_CONDITIONS_ON_CHECKOUT"|defined}
          <br />
          <div class="cus_check cus_check_small">
            {if $PRIVACY_CHECKBOX}{$PRIVACY_CHECKBOX}{/if}
            <label for="privacy"><strong>{if $PRIVACY_CHECKBOX}{#text_privacy_accept#}{else}{#text_privacy_notice#}{/if}</strong> {$PRIVACY_LINK}</label>
         </div>
        {else}
          {if $PRIVACY_CHECKBOX}
            <br />
            <div class="cus_check cus_check_small">
              {$PRIVACY_CHECKBOX}
              <label for="privacy"><strong>{#text_privacy_accept#}</strong> {$PRIVACY_LINK}</label>
           </div>
          {/if}
        {/if}
     


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

    Karl1

    • Experte
    • Beiträge: 1.804
    Hallo MarcoMG,
    ich vermute, dass dein Code nicht funktioniert.

    Du benutzt in der If-Abfrage den String "purchase".
    Code: PHP  [Auswählen]
    ...
    $use_captcha = explode(',', MODULE_CAPTCHA_ACTIVE);
    ...
    if (in_array('purchase', $use_captcha)) {
    ...

    Im Standardshop ist die Konstante "MODULE_CAPTCHA_ACTIVE" maximal mit "newsletter,contact,password,reviews,create_account" definiert.

    Wird "purchase" nicht gefunden, wird nie ein Captcha ausgegeben.

    Gruß Karl

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    [...]
    ich möchte mir eine eigene Datei erstellen in der beim Aufrufen auch das Captcha vom Shop Angezeigt wird wen es Aktiviert ist, ich weiss leider nicht wo ich dafür was eintragen muss und hoffe hier hilfe dafür zu bekommen.
    [...]

    Damit du im admin in der "Erw. Konfiguration" -> "Captcha" das Captcha für deine Purchase Seite aktivieren kannst, musst du in der Datenbank z.B. mit phpMyAdmin folgendes SQL-Kommando ausführen.

    Code: PHP  [Auswählen]
    INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'MODULE_CAPTCHA_ACTIVE', 'newsletter,contact,password', 25, 1, NULL, NOW(), NULL, 'xtc_cfg_multi_checkbox(array(\'purchase\' => \'Purchase\', \'newsletter\' => \'Newsletter\', \'contact\' => \'Contact\', \'password\' => \'Password\', \'reviews\' => \'Reviews\', \'create_account\' => \'Registration\'), \'chr(44)\',') ON DUPLICATE KEY UPDATE set_function = 'xtc_cfg_multi_checkbox(array(\'purchase\' => \'Purchase\', \'newsletter\' => \'Newsletter\', \'contact\' => \'Contact\', \'password\' => \'Password\', \'reviews\' => \'Reviews\', \'create_account\' => \'Registration\'), \'chr(44)\',';

    Gruss
    Hanspeter

    MarcoMG

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Hallo MarcoMG,
    ich vermute, dass dein Code nicht funktioniert.

    Du benutzt in der If-Abfrage den String "purchase".
    Code: PHP  [Auswählen]
    ...
    $use_captcha = explode(',', MODULE_CAPTCHA_ACTIVE);
    ...
    if (in_array('purchase', $use_captcha)) {
    ...

    Im Standardshop ist die Konstante "MODULE_CAPTCHA_ACTIVE" maximal mit "newsletter,contact,password,reviews,create_account" definiert.

    Wird "purchase" nicht gefunden, wird nie ein Captcha ausgegeben.

    Gruß Karl
    Hallo,
    vielen dank ich habe nun purchase durch ,contact ersetzt aber das Bild vom Captcha ist immer nich nicht zu sehen.

    [...]
    ich möchte mir eine eigene Datei erstellen in der beim Aufrufen auch das Captcha vom Shop Angezeigt wird wen es Aktiviert ist, ich weiss leider nicht wo ich dafür was eintragen muss und hoffe hier hilfe dafür zu bekommen.
    [...]

    Damit du im admin in der "Erw. Konfiguration" -> "Captcha" das Captcha für deine Purchase Seite aktivieren kannst, musst du in der Datenbank z.B. mit phpMyAdmin folgendes SQL-Kommando ausführen.

    Code: PHP  [Auswählen]
    INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'MODULE_CAPTCHA_ACTIVE', 'newsletter,contact,password', 25, 1, NULL, NOW(), NULL, 'xtc_cfg_multi_checkbox(array(\'purchase\' => \'Purchase\', \'newsletter\' => \'Newsletter\', \'contact\' => \'Contact\', \'password\' => \'Password\', \'reviews\' => \'Reviews\', \'create_account\' => \'Registration\'), \'chr(44)\',') ON DUPLICATE KEY UPDATE set_function = 'xtc_cfg_multi_checkbox(array(\'purchase\' => \'Purchase\', \'newsletter\' => \'Newsletter\', \'contact\' => \'Contact\', \'password\' => \'Password\', \'reviews\' => \'Reviews\', \'create_account\' => \'Registration\'), \'chr(44)\',';

    Gruss
    Hanspeter

    Vielen dank

    Karl1

    • Experte
    • Beiträge: 1.804
    Hast du im Admin Captcha "contact" aktiviert - angemeldete Kunden "Ja"?
    Hast du Einträge in den Logs?
    Siehst du auf deiner Kontaktseite das Captcha?

    Poste mal den kompletten Code deiner Datei, ansonsten kann man nur raten.

    MarcoMG

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Hallo,
    ja das habe ich gemachtin den Logs des Shops steht.

    Ja auf meiner Kontakt Seite sehe ich das Captcha.

    Code: PHP  [Auswählen]
    Undefined constant "MODULE_CAPTCHA_WIDTH" in File: /var/www/vhosts/example.eu/httpdocs/display_vvcodes.php on Line: 41  {}      {}

    display_vvcodes.php soll es in meiner Version nicht mehr geben?

    Karl1

    • Experte
    • Beiträge: 1.804
    Hallo MarcoMG,
    was du da alles vor hast kann ich leider nicht nachvollziehen, da ich nicht weiß was du mit "purchase_hidden" usw. anstellen möchtest.
    Wenn man die Log-Meldungen bearbeitet und statt dem veraltetem Code
    Code: PHP  [Auswählen]
            $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES,'','SSL').'" alt="Captcha" />');
            //EOF - web28 - 2009-07-28 - FIX SSL captcha image path
            $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="8" maxlength="6"', 'text', false));
    den hier benutzt
    Code: PHP  [Auswählen]
          $smarty->assign('VVIMG', $mod_captcha->get_image_code());
          $smarty->assign('INPUT_CODE', $mod_captcha->get_input_code());
    bekommt man ein Captcha angezeigt.

    Gruß Karl

    MarcoMG

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Vielen dank

    MarcoMG

    • Mitglied
    • Beiträge: 191
    • Geschlecht:

    Damit du im admin in der "Erw. Konfiguration" -> "Captcha" das Captcha für deine Purchase Seite aktivieren kannst, musst du in der Datenbank z.B. mit phpMyAdmin folgendes SQL-Kommando ausführen.

    Code: PHP  [Auswählen]
    INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'MODULE_CAPTCHA_ACTIVE', 'newsletter,contact,password', 25, 1, NULL, NOW(), NULL, 'xtc_cfg_multi_checkbox(array(\'purchase\' => \'Purchase\', \'newsletter\' => \'Newsletter\', \'contact\' => \'Contact\', \'password\' => \'Password\', \'reviews\' => \'Reviews\', \'create_account\' => \'Registration\'), \'chr(44)\',') ON DUPLICATE KEY UPDATE set_function = 'xtc_cfg_multi_checkbox(array(\'purchase\' => \'Purchase\', \'newsletter\' => \'Newsletter\', \'contact\' => \'Contact\', \'password\' => \'Password\', \'reviews\' => \'Reviews\', \'create_account\' => \'Registration\'), \'chr(44)\',';

    Gruss
    Hanspeter

    Das habe ich gemacht,aber wen ich nun den Hacken im Admin raus nehme ist das Captcha immer noch zu sehen, habe ich etwas im Template vergessen?

    Timm

    • Fördermitglied
    • Beiträge: 6.165
    Caches gelöscht?

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Hallo MarcoMG ,

    und was passiert, wenn du den Haken bei "Contact" entfernst?

    Gruss
    Hanspeter

    MarcoMG

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Hallo hp,
    dann ist das Captcha weg.

    MarcoMG

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Caches gelöscht?

    Ja sind alle geleert.

    Karl1

    • Experte
    • Beiträge: 1.804
    Hallo MarcoMG,
    dann hast du aber an deiner Datei nochmal was verändert.
    Ausserdem sehe ich gerade erst, dass du diese Zeilen mehrfach verwendest.
    Code: PHP  [Auswählen]
    require_once (DIR_WS_CLASSES.'modified_captcha.php');
    $mod_captcha = $_mod_captcha_class::getInstance();

    $smarty->assign('VVIMG', $mod_captcha->get_image_code());
    $smarty->assign('INPUT_VVCODE', $mod_captcha->get_input_code());

    Du mischt alten Dateiinhalt mit Neuem.

    Gruß Karl

    MarcoMG

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Hallo Karl,
    ich habe die Doppelten Einträge raus genommen,aber an und ausschalten geht immer noch nicht.
    2 Antworten
    2333 Aufrufe
    03. Dezember 2013, 19:39:13 von antili
    4 Antworten
    2084 Aufrufe
    12. September 2016, 17:37:53 von Glera77
    5 Antworten
    8913 Aufrufe
    30. November 2011, 22:26:09 von Matt
               
    anything