[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
rex_form & preSave - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
elsethos
Beiträge: 27
Registriert: 17. Okt 2008, 07:55

rex_form & preSave

23. Aug 2016, 12:11

Hallo,

ich wollte gern beim speichern eines Formulares ein Feld verschlüsselt abspeichern, was mit REDAXO 4.2.1 auch funktionierte. Mit Redaxo 5.2 scheitere ich.

im Formular:

Code: Alles auswählen

$form = rex_form::factory(rex::getTablePrefix().'xxxxxxxx',"xxxx","id=".$id,'post',$debug,'rex_form_extended');
eingebundene Klasse:

Code: Alles auswählen

class rex_form_extended {
	function preSave($fieldsetName, $fieldName, $fieldValue, &$saveSql)
	{
	   return sha1($fieldValue);
	}
}

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: rex_form & preSave

23. Aug 2016, 17:51

Probier es mal so:
$form = rex_form_extended::factory(rex::getTablePrefix().'xxxxxxxx',"xxxx","id=".$id,'post',$debug);
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

elsethos
Beiträge: 27
Registriert: 17. Okt 2008, 07:55

Re: rex_form & preSave

24. Aug 2016, 06:11

Hallo Gregor,

Danke für die Antwort. Dann erhalte ich aber folgende Fehlermeldung:

"Error" thrown in xxx/redaxo/src/addons/addonName/pages/index.php on line 58
Call to undefined method rex_form_extended::factory()

Folgendes habe ich bereits in der eingebundenen Klasse probiert:

Code: Alles auswählen

class rex_form_extended {
	function preSave($fieldsetName, $fieldName, $fieldValue, &$saveSql)
	{
	  die('FOO');
				
	   return parent::preSave($fieldsetName, $fieldName, sha1($fieldValue), $saveSql);
	}
}
der obige Code erzeugt jedoch keine Ausgabe.

Die Datei wird aber definitiv eingebunden, den setze ich nur:

Code: Alles auswählen

die('FOO');
wird eine Ausgabe generiert.

Es scheint, als greift die Klasse nicht auf die Funktion zu. Oder habe ich noch etwas anderes übersehen?

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: rex_form & preSave

24. Aug 2016, 08:56

Hej,

deine Klasse erbt nicht von der rex_form Klasse.

vg Thomas

elsethos
Beiträge: 27
Registriert: 17. Okt 2008, 07:55

Re: rex_form & preSave

24. Aug 2016, 09:10

Hallo Thomas,

ich nehme an du meinst?

Code: Alles auswählen

class rex_form_extended extends rex_form{
	function preSave($fieldsetName, $fieldName, $fieldValue, &$saveSql)
	{
				
	   return parent::preSave($fieldsetName, $fieldName, sha1($fieldValue), $saveSql);
	}
}
Aber auch dies ändert nichts.

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: rex_form & preSave

24. Aug 2016, 11:07

Das meint er, ja.
So dürfte der Fehler "Call to undefined method rex_form_extended::factory()" eigentlich nicht mehr kommen. Ist es denn der noch?
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

elsethos
Beiträge: 27
Registriert: 17. Okt 2008, 07:55

Re: rex_form & preSave

24. Aug 2016, 12:11

hallo und danke, jetzt klappt es. Ihr seid die Besten! :D :D :D

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: rex_form & preSave

24. Aug 2016, 13:56

Hej,
jetzt klappt es
was hast du zusätzlich zu deinem Code vorhin geändert?

Code: Alles auswählen

class rex_form_extended extends rex_form{
   function preSave($fieldsetName, $fieldName, $fieldValue, &$saveSql)
   {
            
      return parent::preSave($fieldsetName, $fieldName, sha1($fieldValue), $saveSql);
   }
}
vg Thomas

elsethos
Beiträge: 27
Registriert: 17. Okt 2008, 07:55

Re: rex_form & preSave

24. Aug 2016, 14:04

Ich hatte aus Versehen dies wieder eingebaut und nicht mitbekommen:

Code: Alles auswählen

$form = rex_form::factory(rex::getTablePrefix().'xxxxxxxx',"xxxx","id=".$id,'post',$debug,'rex_form_extended');
:wink:

Zurück zu „AddOns / Packages [R5]“