Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Koala/2571227 to your computer and use it in GitHub Desktop.
Save Koala/2571227 to your computer and use it in GitHub Desktop.
Redaxo::XForm class.xform.generate_wettbewerb_key.inc.php
<?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