Newsletter auf Name und Vorname erweitern
Ist alles drin. Für die Kundennummer musst Du noch ein Extra-Plugin erzeugen (analog der anderen). Das mit der Übersetzung ist nicht so ganz einfach - da würde ich erstmal mit "englisch" leben.
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hallo HerrB,
ich nochmal, also die Lösung mit dem Plugin, finde ich nach wie vor super, auch das die Namen in der con_properties gespeichert werden ist auch noch OK, aber wie mache ich das, wenn ich eine Liste mit Mailadressen, Vorname und Name bekommen habe, welche ich in Contenido einladen will, 1500 Adressen von Hand einzeln anzulegen ist etwas aufwendig. Hast du eine Idee?
Danke
ich nochmal, also die Lösung mit dem Plugin, finde ich nach wie vor super, auch das die Namen in der con_properties gespeichert werden ist auch noch OK, aber wie mache ich das, wenn ich eine Liste mit Mailadressen, Vorname und Name bekommen habe, welche ich in Contenido einladen will, 1500 Adressen von Hand einzeln anzulegen ist etwas aufwendig. Hast du eine Idee?
Danke
Ja, schon. Schicke mir nochmal eine PM zur Erinnerung, dann poste ich was.
Ist ansonsten auch in der kommenden Version drin (Empfänger-Import mit Plugin-Berücksichtigung...).
Gruß
HerrB
Ist ansonsten auch in der kommenden Version drin (Empfänger-Import mit Plugin-Berücksichtigung...).
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
So, wenns geht, sollte man das erstmal testen.
1. In contenido/includes eine Datei namens include.recipients_import.php anlegen und mit folgendem Code füllen:
2. In contenido/includes/include.recipients_menu.php vor diese Zeile:
diesen Code einfügen:
Nun wird es haklig:
3. In con_area eine neue Zeile anlegen:
idarea: Aktuell höchster Wert + 1 (vorher ermitteln, vermutlich 90) - Wert merken!
parent_id: recipients
name: recipients_import
relevant: 1
online: 1
menuless: 0
4. In con_actions zwei neue Zeilen anlegen:
idaction: Aktuell höchster Wert + 1 (vorher ermitteln, vermutlich 434)
idarea: Wert von oben
alt_name: bleibt leer
name: recipients_import
code: bleibt leer
location: bleibt leer
relevant: 0
idaction: Aktuell höchster Wert + 1 (vorher ermitteln, vermutlich 435)
idarea: Wert von oben
alt_name: bleibt leer
name: recipients_import_exec
code: bleibt leer
location: bleibt leer
relevant: 0
5. In con_files eine neue Zeile anlegen:
idfile: Aktuell höchster Wert + 1 (vorher ermitteln, vermutlich ca. 200), Wert merken!
idarea: Wert von oben
filename: include.recipients_import.php
filetype: main
6. In con_frame_files eine neue Zeile anlegen:
idframefile: Aktuell höchster Wert + 1 (vorher ermitteln, vermutlich ca. 211)
idarea: Wert von oben
idframe: 4
idfile: Wert von eben
Bitte testen!!! Der Code ist "noch warm" und nicht wirklich mit Plugins getestet.
Den benötigten "Tab" bekommt man, wenn man die ganzen Daten (mit Kopfzeile mit den Spaltenbezeichnungen) in Excel einträgt, kopiert und von dort in das Feld einfügt. Werde da wohl ein ein Trennzeichen-Wähler bei Gelegenheit einbauen... (Workaorund: chr(9) durch das gewünschte Zeichen ersetzen, z.B. ";")
Beim Einfügen aus Excel wird immer eine Leerzeile mitkopiert, daher nach dem Einfügen einmal Backspace drücken.
Viel Erfolg.
Gruß
HerrB
1. In contenido/includes eine Datei namens include.recipients_import.php anlegen und mit folgendem Code füllen:
Code: Alles auswählen
<?php
/*****************************************
* File : $RCSfile: include.recipients_import.php,v $
* Project : Contenido
* Descr : Frontend user editor
* Modified : $Date: 2005/12/11 18:48:25 $
*
* © four for business AG, www.4fb.de, generated by HerrB
*
* $Id: include.recipients_import.php,v 1.3 2005/12/11 18:48:25 bbehrens Exp $
******************************************/
cInclude("classes", "widgets/class.widgets.page.php");
cInclude("classes", "class.ui.php");
cInclude("classes", "class.htmlelements.php");
cInclude("classes", "class.newsletter.recipients.php");
$oPage = new cPage;
$oRecipients = new RecipientCollection;
if (is_array($cfg['plugins']['recipients'])) {
foreach ($cfg['plugins']['recipients'] as $plugin) {
plugin_include("recipients", $plugin."/".$plugin.".php");
}
}
$aFields = array();
$aFieldDetails = array();
$aFields["name"] = strtolower(i18n("Name"));
$aFieldDetails["name"]["mandatory"] = false;
$aFieldDetails["name"]["type"] = "string";
$aFieldDetails["name"]["plugin"] = false;
$aFieldDetails["name"]["col"] = -1;
$aFields["email"] = strtolower(i18n("Mail"));
$aFieldDetails["email"]["mandatory"] = true;
$aFieldDetails["email"]["type"] = "string";
$aFieldDetails["email"]["plugin"] = false;
$aFieldDetails["email"]["col"] = -1;
$aFields["deactivated"] = strtolower(i18n("Deactivated"));
$aFieldDetails["active"]["mandatory"] = false;
$aFieldDetails["active"]["type"] = "boolean";
$aFieldDetails["active"]["plugin"] = false;
$aFieldDetails["active"]["col"] = -1;
$aFields["confirmed"] = strtolower(i18n("Confirmed"));
$aFieldDetails["confirmed"]["mandatory"]= false;
$aFieldDetails["confirmed"]["type"] = "boolean";
$aFieldDetails["confirmed"]["plugin"] = false;
$aFieldDetails["confirmed"]["col"] = -1;
$aFields["confirmeddate"] = strtolower(i18n("Confirmed Date"));
$aFieldDetails["confirmeddate"]["mandatory"]= false;
$aFieldDetails["confirmeddate"]["type"] = "string";
$aFieldDetails["confirmeddate"]["plugin"] = false;
$aFieldDetails["confirmeddate"]["col"] = -1;
/* Check out if there are any plugins */
if (is_array($cfg['plugins']['recipients'])) {
foreach ($cfg['plugins']['recipients'] as $sPlugin) {
if (function_exists("recipients_".$sPlugin."_wantedVariables") && function_exists("recipients_".$sPlugin."_store")) {
$aPluginTitles = call_user_func("recipients_".$sPlugin."_canonicalVariables");
$aPluginFields = call_user_func("recipients_".$sPlugin."_wantedVariables");
foreach ($aPluginFields as $sField) {
if ($_REQUEST["ckb".$sField]) {
$aFields[$sField] = strtolower(str_replace(" ","", $aPluginTitles[$sField]));
$aFieldDetails[$sField]["mandatory"]= true;
$aFieldDetails[$sField]["type"] = "string";
$aFieldDetails[$sField]["plugin"] = $sPlugin;
$aFieldDetails[$sField]["col"] = -1;
}
}
}
}
}
if ($action == "recipients_import_exec" && $perm->have_perm_area_action("recipients", "recipients_create")) {
$_REQUEST["txtData"] = trim(stripslashes($_REQUEST["txtData"]));
if ($_REQUEST["txtData"]) {
//echo "<pre>".nl2br(stripslashes($_REQUEST["txtData"]))."</pre>";
$aLines = explode("\n", stripslashes($_REQUEST["txtData"]));
$iAdded = 0;
$iDublettes = 0;
$iInvalid = 0;
$iRow = 0;
$iCol = 0;
$bStop = false;
$sMessage = "";
$aMessage = array();
$aInvalidLines = array();
foreach($aLines as $sLine) {
$iRow++;
$aParts = explode(chr(9), trim($sLine));
if ($iRow == 1) {
$aInvalidLines[] = $sLine;
foreach ($aParts as $sHeader) {
$sKey = array_search(strtolower(htmlentities(trim($sHeader))), $aFields);
if ($sKey === false) {
$aMessage[] = sprintf(mi18n("Given column header '%s' unknown, column ignored"), $sHeader);
} else {
$aFieldDetails[$sKey]["col"] = $iCol;
$iCol++;
}
}
foreach ($aFieldDetails as $sKey => $aDetails) {
if ($aDetails["mandatory"] && $aDetails["col"] == -1) {
$aMessage[] = sprintf(mi18n("Mandatory column '%s' wasn't found, import stopped"), $aDetails[$sKey]);
$bStop = true;
}
}
if ($bStop) {
exit;
} else {
$_REQUEST["txtData"] = "";
}
} else {
$sEMail = trim($aParts[$aFieldDetails["email"]["col"]]);
if ($aFieldDetails["name"]["col"] > -1) {
$sName = trim($aParts[$aFieldDetails["name"]["col"]]);
if ($sName == "") {
$sName = $sEMail;
}
} else {
$sName = $sEMail;
}
if ($sEMail == "") {
$aMessage[] = sprintf(mi18n("Item with empty mail address found, item ignored (name: %s, row: %s)"), $sName, $iRow);
$aInvalidLines[] = $sLine;
$iInvalid++;
} else if (!isValidMail($sEMail)) {
$aMessage[] = sprintf(mi18n("Mail address '%s' is invalid, item ignored (row: %s)"), $sEMail, $iRow);
$aInvalidLines[] = $sLine;
$iInvalid++;
} else if ($oRecipients->emailExists($sEMail)) {
$aMessage[] = sprintf(mi18n("Recipient with mail address '%s' already exists, item skipped (row: %s)"), $sEMail, $iRow);
$aInvalidLines[] = $sLine;
$iDublettes++;
} else {
unset ($sLine);
if ($oRecipient = $oRecipients->create($sEMail, $sName)) {
$iAdded++;
unset($aPluginValue);
$aPluginValue = array();
foreach ($aFieldDetails as $sKey => $aDetails) {
if ($aDetails["col"] > -1) {
if ($aDetails["plugin"] == false) {
if ($aDetails["type"] == "boolean") {
$sValue = strtolower(trim($aParts[$aDetails["col"]]));
if ($sValue == "yes" || $sValue == i18n("yes") || $sValue == "true" || (is_numeric($sValue) && $sValue > 0)) {
$oRecipient->set($sKey, 1);
} else {
$oRecipient->set($sKey, 0);
}
} else {
$sValue = trim($aParts[$aDetails["col"]]);
$oRecipient->set($sKey, $sValue);
}
} else {
// type may be mentioned here, also, but as plugins currently can't
// specify the type, just treat everything as string
// There may be plugins which store more than one value per plugin_store-
// function. As the plugin_store parameter is an array of values, collect
// all values in an array for later storing... unfortunately, that means,
// that we have to go through the fields array second time per item *sigh*
$aPluginValue[$aDetails["plugin"]][$sKey] = trim($aParts[$aDetails["col"]]);
}
}
}
// Store all base data
$oRecipient->store();
// Store plugin data (to store plugin data, only, where the column has been found in the data
// should be faster than going through all plugins and store mostly empty arrays)
$sCurrentPlugin = "";
foreach ($aFieldDetails as $sKey => $aDetails) {
if ($aDetails["col"] > -1 && $aDetails["plugin"] && $aDetails["plugin"] !== $sCurrentPlugin) {
$sCurrentPlugin = $aDetails["plugin"];
call_user_func("recipients_".$sCurrentPlugin."_store", $aPluginValue[$sCurrentPlugin]);
}
}
}
}
}
}
if (count($aInvalidLines) > 1) {
$_REQUEST["txtData"] = implode("\n", $aInvalidLines);
}
if (count($aMessage) > 0) {
$sMessage = $notification->returnNotification("warning", implode("<br />", $aMessage))."<br />";
}
$sMessage .= $notification->returnNotification("info", sprintf(i18n("%d recipients added, %d recipients skipped (email already exists) and %d invalid recipients/e-mail adresses ignored. Invalid recipients are shown (if any)."), $iAdded, $iDublettes, $iInvalid));
if ($iAdded > 0) {
$oPage->setReload();
}
}
}
$oForm = new UI_Table_Form("properties");
$oForm->setVar("frame", $frame);
$oForm->setVar("area", $area);
$oForm->setVar("action", "recipients_import_exec");
$oForm->addHeader(i18n("Import recipients"));
$oAreaData = new cHTMLTextarea("txtData", $_REQUEST["txtData"], 80, 20);
$sInfo = sprintf(i18n("Insert recipients using this format: <data><tab><data>... - each recipient in a new line.".
"<br />The first line must contain the column names; this specifies the column order, ".
"<br />e.g. name mail -> first column contains the name, the second the mail address.".
"<br /><br />Example:<br />name mail<br />Smith jon.smith@domain.tld".
"<br /><br />The following column names will be recognized:<br />%s"), implode("<br />", $aFields));
$oForm->add(i18n("Recipients"), $oAreaData->render()."<br />".$sInfo);
unset ($sInfo);
$oPage->setContent($sMessage.$oForm->render(true));
$oPage->render();
?>
Code: Alles auswählen
/* Create a link to purge subscribed but not confirmed recipients */
Code: Alles auswählen
/* Create a link to import recipients */
$oLink = new cHTMLLink;
$oLink->setMultiLink("recipients", "", "recipients_import", "recipients_import");
$oLink->setContent('<img style="padding-right: 4px;" src="'.$cfg["path"]["images"] . 'users_add.gif" align="middle">'.i18n("Import recipients").'</a>');
$sContent .= $oLink->render().'<br />'.chr(10);
3. In con_area eine neue Zeile anlegen:
idarea: Aktuell höchster Wert + 1 (vorher ermitteln, vermutlich 90) - Wert merken!
parent_id: recipients
name: recipients_import
relevant: 1
online: 1
menuless: 0
4. In con_actions zwei neue Zeilen anlegen:
idaction: Aktuell höchster Wert + 1 (vorher ermitteln, vermutlich 434)
idarea: Wert von oben
alt_name: bleibt leer
name: recipients_import
code: bleibt leer
location: bleibt leer
relevant: 0
idaction: Aktuell höchster Wert + 1 (vorher ermitteln, vermutlich 435)
idarea: Wert von oben
alt_name: bleibt leer
name: recipients_import_exec
code: bleibt leer
location: bleibt leer
relevant: 0
5. In con_files eine neue Zeile anlegen:
idfile: Aktuell höchster Wert + 1 (vorher ermitteln, vermutlich ca. 200), Wert merken!
idarea: Wert von oben
filename: include.recipients_import.php
filetype: main
6. In con_frame_files eine neue Zeile anlegen:
idframefile: Aktuell höchster Wert + 1 (vorher ermitteln, vermutlich ca. 211)
idarea: Wert von oben
idframe: 4
idfile: Wert von eben
Bitte testen!!! Der Code ist "noch warm" und nicht wirklich mit Plugins getestet.
Den benötigten "Tab" bekommt man, wenn man die ganzen Daten (mit Kopfzeile mit den Spaltenbezeichnungen) in Excel einträgt, kopiert und von dort in das Feld einfügt. Werde da wohl ein ein Trennzeichen-Wähler bei Gelegenheit einbauen... (Workaorund: chr(9) durch das gewünschte Zeichen ersetzen, z.B. ";")
Beim Einfügen aus Excel wird immer eine Leerzeile mitkopiert, daher nach dem Einfügen einmal Backspace drücken.
Viel Erfolg.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hui, das sieht kompliziert aus, werde ich bei Gelegenheit testen, ist auf jeden Fall besser als meine Lösung.
Trotzdem hier meine Lösung aus der Not heraus.
2 neue Ordner für die Dateiverwaltung anlegen
1. upload/x_csv-upload/ >> chmod 777
2. upload/x_sql-download/ >> chmod 777
Dann aus der DB die nächst Freien ids aus der con_news_rcp und con_properties suchen
Bei mir id=99 (con_news_rcp) und id2=299 (con_properties)
Dann aus der DB/con_news_rcp die hash und Adminschlüssel eines Eintrages kopieren, wenn noch kein Eintrag da ist, einfach über das Backend von Contenido einen neuen Empfänger eintragen und die Werte kopieren.
Dann die csv-Datei in den Ordner upload/x_csv-upload/ legen
Dann den unten stehen Code in einer PHP-Datei ausführen, bei mir habe ich diese direkt in das cms Verzeichnis gelegt, sonst müsst ihr die Pfade anpassen.
Nach dem Ausführen der PHP-Datei wird eine SQL Datei erzeugt, diese kann man sich mit rechter Maustaste "Ziel Speichern unter" auf die Platte ziehen oder sonst findet sich diese in der Dateiverwaltung upload/x_sql-download/
Auf ein direktes Einladen in die DB habe ich verzichtet, da ich so mehr Kontrolle habe.
Bitte vor Einsatz Backups durchführen.
Hier der Code der PHP-Datei
Trotzdem hier meine Lösung aus der Not heraus.
2 neue Ordner für die Dateiverwaltung anlegen
1. upload/x_csv-upload/ >> chmod 777
2. upload/x_sql-download/ >> chmod 777
Dann aus der DB die nächst Freien ids aus der con_news_rcp und con_properties suchen
Bei mir id=99 (con_news_rcp) und id2=299 (con_properties)
Dann aus der DB/con_news_rcp die hash und Adminschlüssel eines Eintrages kopieren, wenn noch kein Eintrag da ist, einfach über das Backend von Contenido einen neuen Empfänger eintragen und die Werte kopieren.
Dann die csv-Datei in den Ordner upload/x_csv-upload/ legen
Dann den unten stehen Code in einer PHP-Datei ausführen, bei mir habe ich diese direkt in das cms Verzeichnis gelegt, sonst müsst ihr die Pfade anpassen.
Nach dem Ausführen der PHP-Datei wird eine SQL Datei erzeugt, diese kann man sich mit rechter Maustaste "Ziel Speichern unter" auf die Platte ziehen oder sonst findet sich diese in der Dateiverwaltung upload/x_sql-download/
Auf ein direktes Einladen in die DB habe ich verzichtet, da ich so mehr Kontrolle habe.
Bitte vor Einsatz Backups durchführen.
Hier der Code der PHP-Datei
Code: Alles auswählen
<?php
echo "Folgende Datein sind unterhalb von Daten in der Dateiverwaltung hinterlegt";
//List aus in dem Verzeichnis ist
$d = dir("upload/x_csv-upload/");
while($inhalt = $d->read()) {
echo $inhalt . "<br>\n";
$neu = $inhalt;
}
$d->close();
// Datei oeffnen
$id="99";
$id2="299";
$fp = fopen("upload/x_csv-upload/".$neu."", "r");
//Ziel für die erzeugte Datei
$Datei = "upload/x_sql-download/erzeugteliste.sql";
//Zieldatei öffnen
$FilePointer = fopen($Datei, "w");
//Daten von Datei 1 auslesen und in Datei 2 schreiben
while($data = fgetcsv($fp, 8192, ";"))
{
$num= count ($data);
$id++;
$id2++;
//Ändert das @-Zeichen um
$mail=str_replace('@', '%40', $data[0]);
$Text = "INSERT INTO `con_news_rcp` (`idnewsrcp`, `idclient`, `idlang`, `email`, `confirmed`, `confirmeddate`, `lastaction`, `name`, `hash`, `deactivated`, `author`, `created`, `lastmodified`, `modifiedby`) VALUES ($id, 1, 1, '$mail', 1, '2006-07-19 00:00:00', NULL, '', 'hash-Schlüssel...bdd17960cf5', 0, 'Admin-Schlüssel...21232f29', '2006-07-19 00:00:00', '2006-07-19 00:00:00', 'Admin-Schlüssel...21232f29');\n";
fwrite($FilePointer, $Text);
/*echo "INSERT INTO `con_properties` (`idproperty`, `idclient`, `itemtype`, `itemid`, `type`, `name`, `value`, `author`, `created`, `modified`, `modifiedby`) VALUES ($id2, 1, 'idnewsrcp', '$id', 'contact', 'lastname', '$data[2]', 'nobody', ' ', ' ', 'nobody');";
echo "<br>\n";
$id2++;
echo "INSERT INTO `con_properties` (`idproperty`, `idclient`, `itemtype`, `itemid`, `type`, `name`, `value`, `author`, `created`, `modified`, `modifiedby`) VALUES ($id2, 1, 'idnewsrcp', '$id', 'contact', 'firstname', '$data[1]', 'nobody', ' ', ' ', 'nobody');";
echo "<br>\n";
*/
}
echo "<br>";
echo $id-99;
echo " Datensätze wurden eingetragen, die SQL-Datei wurde erzeugt und kann gedownloaded werde!<br>Link: <a href='upload/x_sql-download/erzeugteliste.sql'>erzeugteliste.sql</a>";
fclose ($fp);
fclose($FilePointer);
?>
Den hash-Wert hast Du hoffentlich nicht kopiert - der muss pro Empfänger eindeutig sein.
Wenn doch, die Spalte hash leeren (nicht löschen!) und via Browser contenido/tools/convert_recipient_keys.php aufrufen.
Gruß
HerrB
Wenn doch, die Spalte hash leeren (nicht löschen!) und via Browser contenido/tools/convert_recipient_keys.php aufrufen.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
*Seufz*
Das ist der Schlüssel, der im Link z.B. für MAIL_STOP gesetzt wird, damit man z.B. den Newsletter abbestellen kann. Der Schlüssel identifziert den Empfänger.
Gruß
HerrB
Das ist der Schlüssel, der im Link z.B. für MAIL_STOP gesetzt wird, damit man z.B. den Newsletter abbestellen kann. Der Schlüssel identifziert den Empfänger.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Genaugenommen melden alle den gleichen ab...
Gruß
HerrB

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Naja, jedenfalls habe ich gestern versucht 5000 Mails zu versenden, keine Ahnung wie viele jetzt wirklich draußen sind, weil die Übersicht nicht kam welche Mail versendet wurde. Und seit gestern haben wir erst 35 Abmeldungen, komisch, das hätte ja dann nicht gehen dürfen, aber egal, jetzt weiß ich es ja für den nächsten Newsletter.
Setzt Du denn schon die letzte Version des Backend-Codes ein? Siehe Signatur.
Man kann auch ein Senden in Blöcken aktivieren und das Schreiben in eine Log-Datei (Schreibrecht auf Mandanten/logs vorher kontrollieren).
Gruß
HerrB
Man kann auch ein Senden in Blöcken aktivieren und das Schreiben in eine Log-Datei (Schreibrecht auf Mandanten/logs vorher kontrollieren).
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Ah, stimmt, da habe ich jetzt gepennt.
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hallo HerrB,HerrB hat geschrieben:So, wenns geht, sollte man das erstmal testen.
1. In contenido/includes eine Datei namens include.recipients_import.php anlegen und mit folgendem Code füllen:
........
Viel Erfolg.
Gruß
HerrB
ich habe das mal wie beschrieben ausprobiert. Ergebnis:
in Backend: Extras -> Newsletter -> Empfänger, Aktionen erscheint eine neuer Menüpunkt 'Import recipients'
klickt man drauf, erscheint eine Fehlermeldung:
recipients_import is not in the actions table!
Use the following statement to insert it with minimal functionsinto the actions table:
INSERT INTO con_actions SET idaction = 433, idarea = , name = 'recipients_import', relevant = 1
Da täuscht sich das Backend aber, denn der Eintrag wurde gemacht.
Ich vermute, dass da noch irgend ein Verweis oder sowas fehlt. Die Einträge in der DB habe ich nochmal nachgeprüft. Sie wurden alle gemacht wie du beschrieben hast.
Contenido-Version ist 4.6.8
... denn sie wissen nicht was sie tun ...