Seite 2 von 2

Verfasst: Do 18. Mär 2004, 01:57
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.

Verfasst: Do 18. Mär 2004, 09:06
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)

Verfasst: Do 18. Mär 2004, 18:35
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?

Verfasst: Fr 19. Mär 2004, 01:42
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?

Verfasst: Fr 19. Mär 2004, 04:13
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

Verfasst: Sa 20. Mär 2004, 20:42
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.

Verfasst: Fr 2. Apr 2004, 15:35
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.

Verfasst: Fr 2. Apr 2004, 17:17
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:

Verfasst: Fr 2. Apr 2004, 22:16
von JensO
Super, vielen Dank! Funktioniert!

Wäre nur noch das Unsubscribe-Problem...

Verfasst: Mo 5. Apr 2004, 14:58
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...