Newsletter Modul

JensO
Beiträge: 7
Registriert: Do 18. Mär 2004, 01:52
Kontaktdaten:

Beitrag von JensO »

Hallo, ich habe alles so gemacht wie beschrieben.
Leider ist der Bestätigungslink (domain.de/cms/news.php?confirm=b9488fee11cde865a0df8e9148119b9f) falsch, ich lande nach dem bestätigen immer wieder auf der Eingabeseite(http://www.domain.de/cms/front_content. ... de=&email=)
Ich habe ein Template mit beiden Modulen in jeweils einem Container erstellt und dann dem Artikel zugewiesen. Richtig?
Safe_mode ist momentan noch auf On, liegt es vielleicht daran?

Meine news.php:

Code: Alles auswählen

<?php
include ("config.php");

$targetidcatart = 46;

include ($contenido_path . "includes/config.php");
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "cfg_sql.inc.php");
#include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "cfg_language_".$language.".inc.php");
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "functions.general.php");

$oldpwd = getcwd();
chdir($cfg["path"]["contenido"].$cfg["path"]["cronjobs"]);
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "pseudo-cron.inc.php");
chdir($oldpwd);



$db = new DB_Contenido;

if ($cfgClient["set"] != "set")
{
    $sql = "SELECT
                idclient,
                frontendpath,
                htmlpath,
                errsite_cat,
                errsite_art
            FROM
            ".$cfg["tab"]["clients"];

    $db->query($sql);

    while ($db->next_record())
    {

            $cfgClient["set"] = "set";
            $cfgClient[$db->f("idclient")]["path"]["frontend"] = $db->f("frontendpath");
            $cfgClient[$db->f("idclient")]["path"]["htmlpath"] = $db->f("htmlpath");
            $errsite_idcat[$db->f("idclient")] = $db->f("errsite_cat");
            $errsite_idart[$db->f("idclient")] = $db->f("errsite_art");

            $cfgClient[$db->f("idclient")]["images"] = $db->f("htmlpath")."images/";
            $cfgClient[$db->f("idclient")]["upload"] = "upload/";

            $cfgClient[$db->f("idclient")]["htmlpath"]["frontend"] = $cfgClient[$db->f("idclient")]["path"]["htmlpath"];
            $cfgClient[$db->f("idclient")]["upl"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"]."upload/";
            $cfgClient[$db->f("idclient")]["upl"]["htmlpath"] = $cfgClient[$db->f("idclient")]["htmlpath"]["frontend"]."upload/";
            $cfgClient[$db->f("idclient")]["upl"]["frontendpath"] = "upload/";
            $cfgClient[$db->f("idclient")]["css"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "css/";
            $cfgClient[$db->f("idclient")]["js"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "js/";

        }


}

        $sql = "SELECT
				idlang,
                encoding
            FROM
            ".$cfg["tab"]["lang"];

        $db->query($sql);

        while ($db->next_record())
        {
        	$encoding[$db->f("idlang")] = $db->f("encoding");
        }

// Sprache wechseln
if (isset($changelang)) $lang = $changelang;

// Client wechseln
if (isset($changeclient)){
    $client = $changeclient;
    unset($lang);
}

// Client initialisieren
if (!isset($client)) {
        //load_client defined in frontend/config.php
        $client = $load_client;
}

// Initialize language
if (!isset($lang)) {
    //if is an entry load_lang in frontend/config.php use it,    else use the first language of this client
    if(isset($load_lang)){
        //load_client is set in    frontend/config.php
        $lang = $load_lang;

    }else{

        $sql = "SELECT
                    A.idlang
                FROM
                    ".$cfg["tab"]["clients"]." AS A,
                    ".$cfg["tab"]["lang"]." AS B
                WHERE
                    idclient='$client' AND
                    A.idlang=B.idlang AND
                    B.active='1'
                LIMIT
                    0,1";

        $db->query($sql);
        $db->next_record();

        $lang = $db->f("idlang");

    }
}

if ($_GET["mode"] == "confirm")
{
	$loc .= '&mode='.$_GET["mode"].'&email='.$_GET["email"].'&hash='.$_GET["hash"];
} else {
	$loc .= '&mode='.$_GET["mode"].'&email='.$_GET["email"];	
}

header ("Location: ".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?idcatart=$targetidcatart".$loc);

?>





die config.php:

Code: Alles auswählen

<?php

//path to contenido, for all inclusions
$contenido_path = "../contenido/";
$errorfont = "font3";
//fo the language file
$language="de";

/* Required: language and client */
$load_lang = "1";
$load_client = "1";

/* idcatart of the newsletter control page */
$newsletteridcatart = 46;

$frontend_debug["container_display"] = false;
$frontend_debug["module_display"] = false;
$frontend_debug["module_timing"] = false;

/*
* Uncomment this to benefit from the "alldebug" functionality :)

if ($HTTP_GET_VARS["alldebug"] == 1)
{
$frontend_debug["container_display"] = true;
$frontend_debug["module_display"] = true;
$frontend_debug["module_timing"] = true;
$force = 1;
} 
*/


?>
Bitte um Hilfe.
Steve_ti
Beiträge: 16
Registriert: Di 30. Dez 2003, 09:46
Kontaktdaten:

Beitrag von Steve_ti »

Teste mal direkt die zwei Urls

http://www.domain.de/cms/front_content.php?idcatart=46

und

http://www.domain.de/cms/news.php

Landest Du auf die richtige Seite?


Zweite Möglichkeit

arbeitest Du unter den Mandaten (Projekt) cms? (Contenido Demo-Site)

oder hast Du ein neuen Mandanten erstellt? Wenn der Fall ist, hast Du das richtige news.php angepasst? (Es gibt ein news.php pro Mandant)
Stefano
koffer
Beiträge: 107
Registriert: Mi 3. Sep 2003, 15:39
Kontaktdaten:

Beitrag von koffer »

Hallo,
ich lande mit den beiden Urls auf der richtigen Seite.
Außerdem habe ich Contenido mit den Demos installiert.
Was hat es denn mit der config.php auf sich?
JensO
Beiträge: 7
Registriert: Do 18. Mär 2004, 01:52
Kontaktdaten:

Beitrag von JensO »

koffer hat geschrieben:Hallo,
ich lande mit den beiden Urls auf der richtigen Seite.
Außerdem habe ich Contenido mit den Demos installiert.
Was hat es denn mit der config.php auf sich?
Genauso siehts bei mir auch aus. Weiß den keiner Rat?
JensO
Beiträge: 7
Registriert: Do 18. Mär 2004, 01:52
Kontaktdaten:

Beitrag von JensO »

So, bei mir funktioniert es jetzt...zumindest fast...

Ich habe jetzt die news.php aus contenido/external/frontend genommen:

Code: Alles auswählen

<?
$targetidcatart = 46;

include ("config.php");
include ($contenido_path . "includes/config.php");
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "cfg_sql.inc.php");
#include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "cfg_language_".$language.".inc.php");
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "functions.general.php");

$oldpwd = getcwd();
chdir($cfg["path"]["contenido"].$cfg["path"]["cronjobs"]);
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "pseudo-cron.inc.php");
chdir($oldpwd);



$db = new DB_Contenido;

if ($cfgClient["set"] != "set")
{
    $sql = "SELECT
                idclient,
                frontendpath,
                htmlpath,
                errsite_cat,
                errsite_art
            FROM
            ".$cfg["tab"]["clients"];

    $db->query($sql);

    while ($db->next_record())
    {

            $cfgClient["set"] = "set";
            $cfgClient[$db->f("idclient")]["path"]["frontend"] = $db->f("frontendpath");
            $cfgClient[$db->f("idclient")]["path"]["htmlpath"] = $db->f("htmlpath");
            $errsite_idcat[$db->f("idclient")] = $db->f("errsite_cat");
            $errsite_idart[$db->f("idclient")] = $db->f("errsite_art");

            $cfgClient[$db->f("idclient")]["images"] = $db->f("htmlpath")."images/";
            $cfgClient[$db->f("idclient")]["upload"] = "upload/";

            $cfgClient[$db->f("idclient")]["htmlpath"]["frontend"] = $cfgClient[$db->f("idclient")]["path"]["htmlpath"];
            $cfgClient[$db->f("idclient")]["upl"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"]."upload/";
            $cfgClient[$db->f("idclient")]["upl"]["htmlpath"] = $cfgClient[$db->f("idclient")]["htmlpath"]["frontend"]."upload/";
            $cfgClient[$db->f("idclient")]["upl"]["frontendpath"] = "upload/";
            $cfgClient[$db->f("idclient")]["css"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "css/";
            $cfgClient[$db->f("idclient")]["js"]["path"] = $cfgClient[$db->f("idclient")]["path"]["frontend"] . "js/";

        }


}

        $sql = "SELECT
				idlang,
                encoding
            FROM
            ".$cfg["tab"]["lang"];

        $db->query($sql);

        while ($db->next_record())
        {
        	$encoding[$db->f("idlang")] = $db->f("encoding");
        }

// Sprache wechseln
if (isset($changelang)) $lang = $changelang;

// Client wechseln
if (isset($changeclient)){
    $client = $changeclient;
    unset($lang);
}

// Client initialisieren
if (!isset($client)) {
        //load_client defined in frontend/config.php
        $client = $load_client;
}

// Initialize language
if (!isset($lang)) {
    //if is an entry load_lang in frontend/config.php use it,    else use the first language of this client
    if(isset($load_lang)){
        //load_client is set in    frontend/config.php
        $lang = $load_lang;

    }else{

        $sql = "SELECT
                    A.idlang
                FROM
                    ".$cfg["tab"]["clients"]." AS A,
                    ".$cfg["tab"]["lang"]." AS B
                WHERE
                    idclient='$client' AND
                    A.idlang=B.idlang AND
                    B.active='1'
                LIMIT
                    0,1";

        $db->query($sql);
        $db->next_record();

        $lang = $db->f("idlang");

    }
}

if (strlen($_GET["stop"]) == 32)
{
	$loc .= "&stop=".$_GET["stop"];
}

if (strlen($_GET["goon"]) == 32){
	$loc .= "&goon=".$_GET["goon"];
}

if (strlen($_GET["unsubscribe"]) == 32)
{
	$loc .= "&unsubscribe=".$_GET["unsubscribe"];
}

if (strlen($_GET["confirm"]) == 32)
{
	$loc .= "&confirm=".$_GET["confirm"];
}
header ("Location: ".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?idcatart=$targetidcatart".$loc);

?>

Warum unterscheidet die sich gegenüber der aus /cms?

Der Bestätigungslink funktioniert scheinbar, aber im Backend steht kein Haken bei "bestätigt". Bei "deaktiviert" ist der Haken nach der Bestätigung weg!? Oder ist es normal, das ich alle von Hand selbst setzen muß?

Desweiteren funktioniert unsubscribe nicht. Der Link erscheint zwar (http://www.domain.de/cms/news.php?mode= ... @domain.de), nach dem Klicken springe ich aber wieder auf die Eingabemaske für den Newsletter und der Empfänger bleibt bestehen.
Wo könnten die Fehler liegen?

Danke,
gruß Jens
JensO
Beiträge: 7
Registriert: Do 18. Mär 2004, 01:52
Kontaktdaten:

Beitrag von JensO »

Kann mir wirklich keiner helfen? Ich habe schon alles probiert und bin sämtliche Möglichkeiten durchgegangen.
Das nach der Bestätigung kein Haken bei bestätigt steht stört mich nicht weiter, das kann ich ja von Hand ändern.

Nur das Unsubscribe...Es klappt einfach nicht.
Acidgod
Beiträge: 91
Registriert: Di 6. Jan 2004, 10:17
Wohnort: Bremen
Kontaktdaten:

Beitrag von Acidgod »

JensO hat geschrieben: Das nach der Bestätigung kein Haken bei bestätigt steht stört mich nicht weiter, das kann ich ja von Hand ändern.
Diese Zeile suchen und mit dem roten Part ergänzen.
$sql = "UPDATE " .$cfg["tab"]["news_rcp"] ." SET deactivated = '0', confirmed = '1', lastmodified='$now' WHERE idnewsrcp

So wird dann auch der Haken bei "Bestätigt" gesetzt.
Acidgod
Beiträge: 91
Registriert: Di 6. Jan 2004, 10:17
Wohnort: Bremen
Kontaktdaten:

Beitrag von Acidgod »

Habe noch eine bessere Lösung:


Habe einfach beim

Code: Alles auswählen

$sql = "INSERT INTO ".$cfg["tab"]["news_rcp"] ." SET idnewsrcp = '".$db->nextid($cfg["tab"]["news_rcp"])."', idclient='$client', idlang='$lang', email='$email', name='$name', deactivated='1', confirmed = '1', created='$now'"; 
confirmed = '1', eingefügt.

Jetzt wir das Bestätigt immer beim anlegen aktiviert. (o:
JensO
Beiträge: 7
Registriert: Do 18. Mär 2004, 01:52
Kontaktdaten:

Beitrag von JensO »

Super, vielen Dank! Funktioniert!

Wäre nur noch das Unsubscribe-Problem...
Acidgod
Beiträge: 91
Registriert: Di 6. Jan 2004, 10:17
Wohnort: Bremen
Kontaktdaten:

Beitrag von Acidgod »

Na gern geschehen...

Aber hat den niemand eine Lösung für die andern Probleme? )o:
Habe nämlich das selbe Problem wie JensO was das Unsubscribe usw angeht...
Gesperrt