Created
May 1, 2012 20:44
-
-
Save Koala/2571227 to your computer and use it in GitHub Desktop.
Redaxo::XForm class.xform.generate_wettbewerb_key.inc.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* | |
* $element[1] namens_label - Label mit dem Namen | |
* $element[2] wettbewerbskuerzel - IR für regional, ID für international deutsch, IE für international englisch | |
* $element[3] no_db - wenn der Key nicht in die DB geschrieben werden soll | |
* | |
* @author koala | |
* | |
*/ | |
class rex_xform_generate_wettbewerb_key extends rex_xform_abstract | |
{ | |
function postFormAction() | |
{ | |
// names-Label auslesen | |
// Labels to get | |
$l = explode(",",$this->getElement(1)); | |
$wettbewerbskuerzel = $this->getElement(2); | |
$no_db = $this->getElement(3); | |
$datum = date('dmY'); | |
$_wettbewerbskey = ''; | |
/** | |
* check mal, ob ein passendes Kürzel übergeben wurde | |
* FixMe: Das geht sicher auch kuerzer zu schreiben? | |
*/ | |
if ($wettbewerbskuerzel != 'IR' && $wettbewerbskuerzel != 'ID' && $wettbewerbskuerzel != 'IE') { | |
$wettbewerbskuerzel = 'Es trat ein Fehler auf. Bitte wenden sie sich an die Organisatoren. '; | |
} | |
// $this->params["value_pool"]["sql"] = Array for database | |
// $k enthält den Namen der im Label 'name' steht | |
$k = $namens_label = ''; | |
foreach ($this->params["value_pool"]["sql"] as $key => $value) | |
{ | |
if (in_array ($key,$l)) { | |
$k .= $value; | |
} | |
} | |
if ($k != '') { | |
$namens_label = $k; | |
// scheiß alles raus, was nicht Buchstaben und Zahlen ist | |
$namens_label = preg_replace('/[^A-Za-z0-9]+/', '', $namens_label); | |
} else { | |
$namens_label = ' Kein Name uebergen.'; | |
} | |
$_wettbewerbskey = $wettbewerbskuerzel . '_' . $datum . '_' . $namens_label; | |
if ($this->params["debug"]) | |
{ | |
echo "<hr /><pre>"; var_dump($_wettbewerbskey); echo "</pre><hr />"; | |
} | |
$this->params["value_pool"]["email"]['activation_key'] = $_wettbewerbskey; | |
if ($no_db != 'no_db') { | |
$this->params["value_pool"]["sql"]['activation_key'] = $_wettbewerbskey; | |
} | |
return; | |
} | |
function getDescription() | |
{ | |
return "generate_wettbewerb_key -> Beispiel: generate_wettbewerb_key|namens_label|wettbewebskuerzel(IR für regional, ID für international deutsch, IE für international englisch)|[no_db]"; | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment