Newsletter-Überarbeitung CVS

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Getestet mit IE V6.000.28..., FireFox V1.0 auf Windows XP SP1

Gruß
HerrB
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

achja, der Snapshot wird gerade erzeugt...FYI ;)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

HerrB hat geschrieben:

Code: Alles auswählen

<html>
<head>
    <title></title>
    <script type="text/javascript" src="scripts/rowMark.js"></script>
    <script type="text/javascript" src="scripts/infoBox.js"></script>
    <script type="text/javascript" src="scripts/general.js"></script>
	{SCRIPTS}
    <link rel="stylesheet" type="text/css" href="styles/contenido.css" />
</head>
<table width="100%" height=100%" border="0" cellspacing="0" cellpadding="0"> 
<tr><td valign="top">
<body style="margin:{MARGIN}px; {EXTRA}">
{CONTENT}
</td></tr> 
</table>
</body>
</html>
ich möchte nicht motzen aber der code ist falsch
<body style="margin:{MARGIN}px; {EXTRA}">
sollte schon vor der tabelle stehen...
*** make your own tools (wishlist :: thx)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

ups? ändere ich morgen gleich
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

ups, very sorry. Funktioniert auch geändert.

Gruß
HerrB
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

timo hat geschrieben:ups? ändere ich morgen gleich
achso *g* das bezog sich auf HerrB's änderung ;)

verwirrung pur ;)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

@HerrB
wie ist den hier der aktuelle stand ?
*** make your own tools (wishlist :: thx)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Die Änderungen (source_base, sourceCVS) könnten eingearbeitet werden (vor allem die Änderungen in der DB).

Was noch fehlt, ist die Ergänzung/Korrektur einer Option in der Funktion für die Speicherung neuer Newsletter-Empfänger. Mit dieser Option könnte der Empfänger bereits beim Anlegen mehreren Gruppen zugeordnet werden (z.Z. ist nur die Zuordnung der Standard-Gruppe oder >einer< anderen Gruppe möglich).

Darauf müsst ihr nicht unbedingt warten, dass ist später der Austausch einer Datei und ich arbeite dran.

Für die Installation müsste im Setup bei Update eine Konvertierung bzw. Ergänzung des Empfänger-Keys integriert werden - wenn mir jemand einen Tipp geben könnte, wo man sowas integriert, würde ich mich noch drum kümmern.

Die Newsletter-Module sind in Arbeit (Fortschritt: 75%, werden dann übrigens wohl 'Newsletter Handler' und 'Newsletter Form' heißen, 'Newsletter Process' finde ich nicht so günstig). Sofern ihr bereits erste Module einsetzen wollt, könnt ihr die Module für V4.5.x verwenden (da kommen nur Funktionen hinzu, die Technik bleibt gleich).

Ich glaube, ihr hattet da Änderungen in Bezug auf die Beschriftung von Einträgen bei den Rechten gemacht - da bräuchte ich ggf. noch die Info, ob sich was geändert hat oder ob die Beschriftung nach wie vor in cfg_language_de.inc.php eingetragen wird (e.g. als $lngAct["news"]["news_save"] = i18n("Edit newsletter");).

Es wäre herzallerliebst, wenn ihr in der classes\class.frontend.users.php unter function loadItem { ... } den folgenden Code ergänzen könntet:

Code: Alles auswählen

/* HerrB:
	* checkUserName returns true, if there is a recipient with the specified e-mail address; otherwise false
	* @param  $email string	e-mail
	* @return frontend user item if item with e-mail exists, false otherwise
	*/		
	function checkUserName ($username)
	{
		global $client;
		
		/* Function may get unchecked data, protect db */
		$username = str_replace (";","",$username); 
		$username = str_replace ("--","",$username); 
		$username = str_replace ("'","",$username); 
		$username = str_replace ("\"","",$username); 
		$this->select("idclient='$client' AND username='" . urlencode(strtolower($username)) . "'");
		
		if ($item = $this->next())
		{
			return $item;
		} else {
			return false;
		}
	}
Ähm, wenn man das mit dem str_replace besser mit $_arrInFilters = array('urlencode', 'htmlspecialchars', 'addslashes'); und $mangledUserName = $feuser->_inFilter($username); machen sollte, bitte ich um Nachricht... (warum ist _inFilter eigentlich keine globale Funktion, sondern ein Methode der ItemCollection... ohne Objekt wäre IMHO praktischer und schneller ... außerdem habe ich _inFilter noch nicht so verstanden, glaube ich: was passiert, wenn der _arrInFilters-Array nicht definiert wird? Aber das kann ich mir auch mal alleine ansehen...). Ich versuche es dann umgehend zu korrigieren und zu testen.

Oh, und die news.php kann aus cms bzw. contenido/external/frontend entfernt werden.

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
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

HerrB hat geschrieben: Was noch fehlt, ist die Ergänzung/Korrektur einer Option in der Funktion für die Speicherung neuer Newsletter-Empfänger. Mit dieser Option könnte der Empfänger bereits beim Anlegen mehreren Gruppen zugeordnet werden (z.Z. ist nur die Zuordnung der Standard-Gruppe oder >einer< anderen Gruppe möglich).
ich glaube das wird kein problem darstellen nachzureichen...
HerrB hat geschrieben:Für die Installation müsste im Setup bei Update eine Konvertierung bzw. Ergänzung des Empfänger-Keys integriert werden - wenn mir jemand einen Tipp geben könnte, wo man sowas integriert, würde ich mich noch drum kümmern.
ich würd mal ganz auf die schnelle sagen, das ist schlecht...
anders es gibt im cvs_head eine datei die nennt sich convert_startarticle.php oder so ähnlich...
da würd ich vorschlagen eine entsprechende datei die diese konvertierung vornimmt reinzubauen... d.h natürlich zur folge das die datei dezitiert aufgerufen werden muss...
das über das setup zu machen ist etwas problematisch... was passiert wenn man dann nochmal ein upgrade aufruft etc...
ein großteil des neuen tabellen formats kann man über die tools/upgrade.php erledigen...
ob da aber ein umbenennen von felder vorhanden ist weiss ich leider nicht...
die einträge für die con_actions con_area con_sub_nav etc werden an sich direkt in der setup/sql/base.sql hinterlegt...
ach ja
bei con_area ist absofort eine neue spalte dazugekommen -> menuless

da müsste man sich nur an die syntax halten ;-)
HerrB hat geschrieben:ich glaube, ihr hattet da Änderungen in Bezug auf die Beschriftung von Einträgen bei den Rechten gemacht - da bräuchte ich ggf. noch die Info, ob sich was geändert hat oder ob die Beschriftung nach wie vor in cfg_language_de.inc.php eingetragen wird (e.g. als $lngAct["news"]["news_save"] = i18n("Edit newsletter");).
kurz und knapp -> da hat sich diesbezüglich nichts geändert...
zumindestens für das was du da benötigst...
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

na wie auch immer ich teste das mal beim aktuellen snapshot...
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ich bin gerade dabei die tools/upgrade.php dementsprechend anzupassen
und bin da gleich mal auf ein problem genagelt

ich hab soweit ich das gesehen habe keine möglichkeit das
zb AFTER `confirmed` oder AFTER `idlang`
zu berücksichtigen

die funktion dbUpgradeTable unterstützt das einfach nicht...
d.h. ich kann keinerlei reihenfolge angeben
nur beim erstmaligen installieren der db würde das stimmen...
bei einem upgrade werden die felder am ende eingereiht...

genauso wenig gibt es die möglichkeit ein bestehendes feld umzubenennen...

ALTER TABLE `con_news_rcp` CHANGE `lastmodified` `modified` DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL;
ALTER TABLE `con_news` CHANGE `lastmodified` `modified` DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL
geht einfach damit nicht...

oder hab ich da was übersehen...

wie auch immer das mit dem umbennen wäre glaube ich einfacher wenn man es komplett läßt, vielleicht gibts ja mal die möglichkeit das zu machen.. ;-)

nun ja mit einer umbenennung der feldernamen in modified sehen die einträge in tools/upgrade.php so aus

Code: Alles auswählen

dbUpgradeTable($prefix."_news", 'idnews', 'int(10)', '', 'PRI', '0', '','');
dbUpgradeTable($prefix."_news", 'idart', 'int(10)', '', '', '0', '','');
dbUpgradeTable($prefix."_news", 'idclient', 'int(10)', '', '', '0', '','');
dbUpgradeTable($prefix."_news", 'idlang', 'int(10)', '', '', '0', '','');
dbUpgradeTable($prefix."_news", 'welcome', 'tinyint(1)', '', '', '0', '','');
dbUpgradeTable($prefix."_news", 'name', 'varchar(255)', '', '', '', '','');
dbUpgradeTable($prefix."_news", 'subject', 'text', 'YES', '', '', '','');
dbUpgradeTable($prefix."_news", 'message', 'text', 'YES', '', '', '','');
dbUpgradeTable($prefix."_news", 'newsfrom', 'varchar(255)', '', '', '', '','');
dbUpgradeTable($prefix."_news", 'newsdate', 'datetime', 'YES', '', '', '','');
dbUpgradeTable($prefix."_news", 'author', 'varchar(32)', '', '', '', '','');
dbUpgradeTable($prefix."_news", 'created', 'datetime', '', '', '0000-00-00 00:00:00', '','');
dbUpgradeTable($prefix."_news", 'modified', 'datetime', '', '', '0000-00-00 00:00:00', '','');
dbUpgradeTable($prefix."_news", 'modifiedby', 'varchar(32)', '', '', '', '','');

dbUpgradeTable($prefix."_news_rcp", 'idnewsrcp', 'int(10)', '', 'PRI', '0', '','');
dbUpgradeTable($prefix."_news_rcp", 'idclient', 'int(10)', '', '', '0', '','');
dbUpgradeTable($prefix."_news_rcp", 'idlang', 'int(10)', '', '', '0', '','');
dbUpgradeTable($prefix."_news_rcp", 'email', 'varchar(255)', 'YES', '', '', '','');
dbUpgradeTable($prefix."_news_rcp", 'confirmed', 'tinyint(1)', '', '', '0', '','');
dbUpgradeTable($prefix."_news_rcp", 'confirmeddate', 'datetime', '', '', '0000-00-00 00:00:00', '','');
dbUpgradeTable($prefix."_news_rcp", 'lastaction', 'varchar(32)', 'YES', '', '', '','');
dbUpgradeTable($prefix."_news_rcp", 'name', 'varchar(255)', 'YES', '', '', '','');
dbUpgradeTable($prefix."_news_rcp", 'hash', 'varchar(32)', '', '', '', '','');
dbUpgradeTable($prefix."_news_rcp", 'deactivated', 'int(1)', '', '', '0', '','');
dbUpgradeTable($prefix."_news_rcp", 'author', 'varchar(32)', '', '', '', '','');
dbUpgradeTable($prefix."_news_rcp", 'created', 'datetime', '', '', '0000-00-00 00:00:00', '','');
dbUpgradeTable($prefix."_news_rcp", 'modified', 'datetime', '', '', '0000-00-00 00:00:00', '','');
dbUpgradeTable($prefix."_news_rcp", 'modifiedby', 'varchar(32)', '', '', '', '','');

dbUpgradeTable($prefix."_news_groups", 'idnewsgroup', 'int(10)', '', 'PRI', '0', '','');
dbUpgradeTable($prefix."_news_groups", 'idclient', 'int(10)', '', '', '0', '','');
dbUpgradeTable($prefix."_news_groups", 'idlang', 'int(10)', '', '', '0', '','');
dbUpgradeTable($prefix."_news_groups", 'groupname', 'varchar(32)', '', '', '', '','');
dbUpgradeTable($prefix."_news_groups", 'defaultgroup', 'tinyint(1)', '', '', '0', '','');

dbUpgradeTable($prefix."_news_groupmembers", 'idnewsgroupmember', 'int(10)', '', 'PRI', '0', '','');
dbUpgradeTable($prefix."_news_groupmembers", 'idnewsgroup', 'int(10)', '', '', '0', '','');
dbUpgradeTable($prefix."_news_groupmembers", 'idnewsrcp', 'int(10)', '', '', '0', '','');
weiteres folgt...
Zuletzt geändert von emergence am Di 18. Jan 2005, 23:34, insgesamt 1-mal geändert.
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ergänzungen für die setup/sql/base.sql (unter berücksichtigung des menuless patches)

Code: Alles auswählen

INSERT INTO !PREFIX!_area VALUES (86, '0', 'recipientgroups', 1, 1, 0);

Code: Alles auswählen

INSERT INTO !PREFIX!_nav_sub VALUES (81, 3, 86, 1, 'navigation/extra/recipientgroups', 1);

Code: Alles auswählen

INSERT INTO !PREFIX!_files VALUES (189, 86, 'include.recipients.group_menu.php', 'main');
INSERT INTO !PREFIX!_files VALUES (190, 86, 'include.recipients.group.subnav.php', 'main');
INSERT INTO !PREFIX!_files VALUES (191, 86, 'include.recipients.group_edit.php', 'main');

Code: Alles auswählen

INSERT INTO !PREFIX!_frame_files VALUES (196, 86, 2, 189);
INSERT INTO !PREFIX!_frame_files VALUES (197, 86, 3, 190);
INSERT INTO !PREFIX!_frame_files VALUES (198, 86, 4, 191);

Code: Alles auswählen

INSERT INTO !PREFIX!_actions VALUES (422, 86, '', 'recipientgroup_delete', '', '', 1);
INSERT INTO !PREFIX!_actions VALUES (423, 86, '', 'recipientgroup_create', '', '', 1);
INSERT INTO !PREFIX!_actions VALUES (424, 86, '', 'recipientgroup_recipient_delete', '', '', 1);
INSERT INTO !PREFIX!_actions VALUES (425, 86, '', 'recipientgroup_save_group', '', '', 1);
INSERT INTO !PREFIX!_actions VALUES (426, 19, '', 'news_send_exec', '', '', 0);
INSERT INTO !PREFIX!_actions VALUES (427, 16, '', 'news_duplicate', '', '', 0);
INSERT INTO !PREFIX!_actions VALUES (428, 50, '', 'recipients_purge', '', '', 0);
zu dem vorigen hab ich noch ne anmerkung
die 0 am schluss sorgt dafür das das recht nicht unter bereiche gelistet wird (ist das so beabsichtigt ?)

änderungen in base.sql

Code: Alles auswählen

INSERT INTO !PREFIX!_actions VALUES (341, 50, '', 'recipients_editrecipient', '', '', 1);
INSERT INTO !PREFIX!_actions VALUES (342, 50, '', 'recipients_createrecipient', '', '', 1);
INSERT INTO !PREFIX!_actions VALUES (343, 50, '', 'recipients_delete', '', '', 1);
wird ersetzt durch

Code: Alles auswählen

INSERT INTO !PREFIX!_actions VALUES (341, 50, '', 'recipients_save', '', '', 1);
INSERT INTO !PREFIX!_actions VALUES (342, 50, '', 'recipients_create', '', '', 1);
INSERT INTO !PREFIX!_actions VALUES (343, 50, '', 'recipients_delete', '', '', 1);
und

Code: Alles auswählen

INSERT INTO !PREFIX!_actions VALUES (337, 16, '', 'news_editnewsletter', '', '', 1);
INSERT INTO !PREFIX!_actions VALUES (338, 16, '', 'news_createnewsletter', '', '', 1);
durch

Code: Alles auswählen

INSERT INTO !PREFIX!_actions VALUES (337, 16, '', 'news_save', '', '', 1);
INSERT INTO !PREFIX!_actions VALUES (338, 16, '', 'news_create', '', '', 1);
eine con_sequence anpassung ist nicht notwendig... das macht die setup upgrade und install option automatisch...
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

das script das die letzten anpassungen vornimmt müsste zuerst kontrollieren ob der nette schlüssel generiert wurde und

zweitens
falls einträge in lastmodified vorhanden sind auf das feld modified kopieren.
anschließend müsste das feld lastmodified gelöscht werden...

wäre eine variante
die andere das feld modified löschen falls lastmodified vorhanden ist
und last modified umbennen...

ich stell noch ein zipfile auf den server mit allen änderungen...

habs soweit getestet, nette funktionalität die der newsletter nun bietet...
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

hier der link
-> http://dayside.net/newsletter_cvs-2005-01-18.zip

wohlgemerkt das läuft wirklich nur mit contenido-cvs-2005-01-18.tar

ich hoffe das ist so brauchbar...
-> http://www.contenido.org/forum/viewtopi ... 8882#38882
ist ebenso schon behoben... die beiden zeilen hab ich aber noch nicht aus
-> include.frontend.user_menu.php entfernt...
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ach ja
templates/template.generic_page.html

sollte bei der tabelle nicht

Code: Alles auswählen

<table width="100%" border="0" cellspacing="0" cellpadding="0">
nicht folgendes ergänzt werden

Code: Alles auswählen

 height="100%"
sonst hat man beim extras/newsletter links oben ein weisses feld... ;-)
*** make your own tools (wishlist :: thx)
Antworten