Newsletter OHNE Capcha?

Thema wurde von Manni_HB, 16. Mai 2011 erstellt.

  1. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Ich möchte die Newsletter-Anmeldung ohne Capcha - Spam hin, Spam her.
    Dazu liegt doch bestimmt irgendwo in einer Schublade eine kleine Step-by-Step Anleitung - oder? :)

    Besten Dank bereits jetzt!
     
  2. Alexander Barroi

    Alexander Barroi Neues Mitglied

    Registriert seit:
    6. Juni 2011
    Beiträge:
    1
    Danke erhalten:
    0
    Hallo,

    entschuldigen Sie bitte das ich hier mit einer Frage antworte. Scheinbar haben Sie schon gefunden wie das mit der Newsletteranmeldung funktioniert. Leider wird das nicht bei der Kontoerstellung angeboten. Auch später finde ich keine Möglichkeit. Über einen kleinen Tipp würde ich mich sehr freuen.

    Vielen Dank im Voraus,
    Alexander Barroi
     
  3. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Tja, es gibt leider keinen "Captcha-Schalter" für die Newsletter.
    Musste ich halt die newsletter.html und newsletter.php selber umbauen.
     
  4. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Hat dies evtl. schon jemand gemacht?
     
  5. hai-end.com

    hai-end.com Erfahrener Benutzer

    Registriert seit:
    16. April 2012
    Beiträge:
    78
    Danke erhalten:
    0
    Danke vergeben:
    14
    Hallo Manfred,

    mich interessiert dieses Thema auch. Vor allem die Abmeldung sollte ohne Capcha möglich sein. Hast Du schon eine Möglichkeit gefunden?

    Beste Grüße
    Matthias
     
  6. hai-end.com

    hai-end.com Erfahrener Benutzer

    Registriert seit:
    16. April 2012
    Beiträge:
    78
    Danke erhalten:
    0
    Danke vergeben:
    14
    Gibt es tatsächlich keine Möglichkeit, den Sicherheitscode bei der Newsletter-Abmeldung zu deaktivieren?
     
  7. Sven (Sky-PC)

    Sven (Sky-PC) Erfahrener Benutzer

    Registriert seit:
    27. September 2013
    Beiträge:
    49
    Danke erhalten:
    15
    Danke vergeben:
    9
    #7 Sven (Sky-PC), 7. April 2014
    Zuletzt bearbeitet: 7. April 2014
    Moin!

    Leider gibt es derzeit keine Möglichkeit das Vorhaben updatesicher anzupassen. In der aktuellen Version 2.0.14.4 muss man zwei Dateien bearbeiten. Einmal die /templates/DeinTemplate/module/newsletter.html.

    Diese öffnen und den gesamten Inhalt in eine neu zu erstellende Datei im gleichen Unterordner mit dem Namen newsletter-USERMOD.html kopieren.
    Dann folgende Zeilen löschen oder auskommentieren:

    HTML:
    <div class="input vvcode">
          <label>{$txt.label_captcha}</label>
          <img src="{$VVIMG_URL}" alt="" title="" width="240" height="50" /><br />
          <input type="text" name="{$INPUT_CODE_NAME}" class="input-text" />
    </div>
                     
    Damit wird das Captcha zumindest erst einmal nicht mehr angezeigt. Da es eine USERMOD-Datei ist, ist das ganze hier an dieser Stelle auch noch updatesicher.

    Nur reicht das deaktivieren der Anzeige natürlich leider nicht aus, da die newsletter.php im Hauptverzeichnis nun meckert, dass das eingegebene mit dem angezeigten Captcha nicht übereinstimmt. Also öffnen wir uns auch diese Datei und suchen die Stelle:

    PHP:
    if ((strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])) {
    und kommentieren diese und die damit verbundene else Anweisung sowie die abschliessende geschweifte Klammer kurzerhand aus. Für alle nicht updatesicheren Anpassungen habe ich mir angewöhnt diese gut zu kommentieren und mit einer Kombination die sonst nicht im Quellcode vorkommt zu versehen. In meinem Fall durch den Zusatz SKY-PC. Dann brauche ich später in meiner Entwicklungsumgebung immer nur nach diesem Zusatz suchen und bekomme alle Dateien angezeigt, in denen ich nicht updatesichere Änderungen vorgenommen habe.

    Also sieht der gesamte Abschnitt in der newsletter.php bei mir jetzt so aus:

    PHP:
            // SKY-PC Start Newsletter Captcha deaktiviert
            // Folgende Zeile auskommentiert:
        // if ((strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])) {
            // SKY-PC End
        // EOF GM doesn't matter if capital or small letters 
            
            
    if( $_POST['check'] == 'inp' )
            {
                
    $check_mail_query xtc_db_query("select customers_email_address, mail_status from ".TABLE_NEWSLETTER_RECIPIENTS." where customers_email_address = '".xtc_db_input($_POST['email'])."'");
                if (!
    xtc_db_num_rows($check_mail_query)) {

                    if (isset (
    $_SESSION['customer_id'])) {
                        
    $customers_id $_SESSION['customer_id'];
                        
    $customers_status $_SESSION['customers_status']['customers_status_id'];
                        
    $customers_firstname $_SESSION['customer_first_name'];
                        
    $customers_lastname $_SESSION['customer_last_name'];
                    } else {

                        
    $check_customer_mail_query xtc_db_query("select customers_id, customers_status, customers_firstname, customers_lastname, customers_email_address from ".TABLE_CUSTOMERS." where customers_email_address = '".xtc_db_input($_POST['email'])."'");
                        if (!
    xtc_db_num_rows($check_customer_mail_query)) {
                            
    $customers_id '0';
                            
    $customers_status '1';
                            
    $customers_firstname TEXT_CUSTOMER_GUEST;
                            
    $customers_lastname '';
                        } else {
                            
    $check_customer xtc_db_fetch_array($check_customer_mail_query);
                            
    $customers_id $check_customer['customers_id'];
                            
    $customers_status $check_customer['customers_status'];
                            
    $customers_firstname $check_customer['customers_firstname'];
                            
    $customers_lastname $check_customer['customers_lastname'];
                        }

                    }

                    
    $sql_data_array = array ('customers_email_address' => xtc_db_input($_POST['email']), 'customers_id' => xtc_db_input($customers_id), 'customers_status' => xtc_db_input($customers_status), 'customers_firstname' => xtc_db_input($customers_firstname), 'customers_lastname' => xtc_db_input($customers_lastname), 'mail_status' => '0''mail_key' => xtc_db_input($vlcode), 'date_added' => 'now()');
                    
    xtc_db_perform(TABLE_NEWSLETTER_RECIPIENTS$sql_data_array);

                    
    $info_message TEXT_EMAIL_INPUT;
                                    
                                    
    $t_form_send true;

                    
    // BOF GM_MOD:
                    
    xtc_php_mail(EMAIL_SUPPORT_ADDRESSEMAIL_SUPPORT_NAMExtc_db_input($_POST['email']), ''''EMAIL_SUPPORT_REPLY_ADDRESSEMAIL_SUPPORT_REPLY_ADDRESS_NAME''''TEXT_EMAIL_SUBJECT$html_mail$txt_mail);

                } else {
                    
    $check_mail xtc_db_fetch_array($check_mail_query);

                    if (
    $check_mail['mail_status'] == '0') {

                        
    $info_message TEXT_EMAIL_EXIST_NO_NEWSLETTER;

                        
    // BOF GM_MOD:
                        
    xtc_php_mail(EMAIL_SUPPORT_ADDRESSEMAIL_SUPPORT_NAMExtc_db_input($_POST['email']), ''''EMAIL_SUPPORT_REPLY_ADDRESSEMAIL_SUPPORT_REPLY_ADDRESS_NAME''''TEXT_EMAIL_SUBJECT$html_mail$txt_mail);

                    } else {
                        
    $info_message TEXT_EMAIL_EXIST_NEWSLETTER;
                    }

                }
            }
            elseif( 
    $_POST['check'] == 'del' )
            {
                
    $check_mail_query xtc_db_query("select customers_email_address from ".TABLE_NEWSLETTER_RECIPIENTS." where customers_email_address = '".xtc_db_input($_POST['email'])."'");
                if (!
    xtc_db_num_rows($check_mail_query)) {
                    
    $info_message TEXT_EMAIL_NOT_EXIST;
                } else {
                    
    $del_query xtc_db_query("delete from ".TABLE_NEWSLETTER_RECIPIENTS." where customers_email_address ='".xtc_db_input($_POST['email'])."'");
                    
    // BOF GM_MOD:
                    
    xtc_db_query("update ".TABLE_CUSTOMERS." set customers_newsletter = '0' where customers_email_address = '".xtc_db_input($_POST['email'])."'");
                    
    $info_message TEXT_EMAIL_DEL;
                                    
    $t_form_send true;
                }
            }
            else
            {
                
    $info_message TEXT_NO_CHOICE;
            }
            
    // SKY-PC Start Newsletter Captcha deaktiviert:
            // Folgende Zeilen auskommentiert:
        //} 
        //else 
        //{
        //    $info_message = TEXT_WRONG_CODE;
        //}
            // SKY-PC End
    Anschliessend die newletter.php und die templates/DeinTemplate/module/newsletter-USERMOD.html hochladen. Die newsletter.php dabei überschreiben. Cache löschen nicht vergessen und die Captcha-Abfrage beim Ein- und Austragen des Newsletter entfällt.
     
  8. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Schade das genau dies im Admin -> Sicherheitseinstellungen nicht zu oder abschaltbar ist.

    newsletter.jpg
     
  9. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Man kann aber auch den ungenutzten "Gästebuch" Schalter nutzen!

    In der newsletter.php einfügen - zur Abfrage in der "..\module\newsletter-USERMOD.html":
    Code:
    $smarty->assign('GM_GUESTBOOK_VVCODE', gm_get_conf('GM_GUESTBOOK_VVCODE'));
    Dann weiter unten erweitern:
    Code:
        if (($_POST['check'] == 'inp') && (strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])  || gm_get_conf('GM_GUESTBOOK_VVCODE') == 'false') {
    Und fertig ist die Laube - mit der Option, datt Dingens bei Bedarf wieder einzuschalten.
     
  10. Sven (Sky-PC)

    Sven (Sky-PC) Erfahrener Benutzer

    Registriert seit:
    27. September 2013
    Beiträge:
    49
    Danke erhalten:
    15
    Danke vergeben:
    9
    Autsch und gerade gesehen: Dank meiner Blindheit tummeln wir uns gerade alle in dem Forum für das alte Gambio GX herum. :eek:
     
  11. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Pfui Teuxel aber auch! :)

    Nu nich mehr.
     
  12. Joschka

    Joschka Erfahrener Benutzer

    Registriert seit:
    27. Februar 2012
    Beiträge:
    771
    Danke erhalten:
    114
    Danke vergeben:
    218
    Nachdem ich im Liveshop keinen Newsletter aktiviert habe, habe ich aus Interesse im Testshop (v2.0.14.4 r12076) rumprobiert.
    Zur Kontoerstellung wird bei der Newsletteranmeldung weder als Gast noch als Standardkunde ein Captcha abgefragt.
    Gast bekommt kein Freischaltmail und im Gastkonto ist Newsletter auf "nicht abonniert"
    Standardkunde bekommt Mail mit Link, Freischalten klappt und Konto ist beim NL auf "abonniert"
    So weit, so halb gut.
    Es gibt aber im Kundenbereich des Standardkunden auch keine Möglichkeit sich vom Newsletter abzumelden.
    Interessant.....:confused:
    Ist das überhaupt vorgesehen? Oder kann sich der Kunde erst nach Erhalt des ersten NL beim Unsubscribe Button rauslöschen?