]> git.mxchange.org Git - city.git/commitdiff
Continued with language rewrite:
authorRoland Haeder <roland@mxchange.org>
Wed, 29 Jun 2016 18:08:52 +0000 (20:08 +0200)
committerRoland Haeder <roland@mxchange.org>
Mon, 19 Sep 2016 20:15:40 +0000 (22:15 +0200)
- new 'core' now no longer supports language-based templates, please keep
  localization out of them.
- I think of this:
  + translate all to English (default) language
  + maintain .po files for easy (and open-sourced) localization)
  + in those are replacements from the English language to the language in question
  + use php_intl (maybe right) to do that stuff (core changes are needed)

Signed-off-by: Roland Haeder <roland@mxchange.org>
71 files changed:
application/city/templates/code/.htaccess [new file with mode: 0644]
application/city/templates/code/action_city_login_city_map.ctp [new file with mode: 0644]
application/city/templates/code/action_city_login_government_startup_help.ctp [new file with mode: 0644]
application/city/templates/code/action_city_login_government_training.ctp [new file with mode: 0644]
application/city/templates/code/action_city_login_logout.ctp [new file with mode: 0644]
application/city/templates/code/action_city_login_profile.ctp [new file with mode: 0644]
application/city/templates/code/action_city_login_status_problem.ctp [new file with mode: 0644]
application/city/templates/code/action_city_login_welcome.ctp [new file with mode: 0644]
application/city/templates/code/block_persona_data.ctp [new file with mode: 0644]
application/city/templates/code/captch_graphic_code.ctp [new file with mode: 0644]
application/city/templates/code/city_main.ctp [new file with mode: 0644]
application/city/templates/code/confirm_link.ctp [new file with mode: 0644]
application/city/templates/code/emergency_exit.ctp [new file with mode: 0644]
application/city/templates/code/footer.ctp [new file with mode: 0644]
application/city/templates/code/header.ctp [new file with mode: 0644]
application/city/templates/code/home.ctp [new file with mode: 0644]
application/city/templates/code/login_failed.ctp [new file with mode: 0644]
application/city/templates/code/login_form.ctp [new file with mode: 0644]
application/city/templates/code/login_main.ctp [new file with mode: 0644]
application/city/templates/code/logout_done.ctp [new file with mode: 0644]
application/city/templates/code/mail_debug.ctp [new file with mode: 0644]
application/city/templates/code/menu_block.ctp [new file with mode: 0644]
application/city/templates/code/menu_entry.ctp [new file with mode: 0644]
application/city/templates/code/register_form.ctp [new file with mode: 0644]
application/city/templates/de/.htaccess [deleted file]
application/city/templates/de/code/.htaccess [deleted file]
application/city/templates/de/code/action_city_login_city_map.ctp [deleted file]
application/city/templates/de/code/action_city_login_government_startup_help.ctp [deleted file]
application/city/templates/de/code/action_city_login_government_training.ctp [deleted file]
application/city/templates/de/code/action_city_login_logout.ctp [deleted file]
application/city/templates/de/code/action_city_login_profile.ctp [deleted file]
application/city/templates/de/code/action_city_login_status_problem.ctp [deleted file]
application/city/templates/de/code/action_city_login_welcome.ctp [deleted file]
application/city/templates/de/code/block_persona_data.ctp [deleted file]
application/city/templates/de/code/captch_graphic_code.ctp [deleted file]
application/city/templates/de/code/city_main.ctp [deleted file]
application/city/templates/de/code/confirm_link.ctp [deleted file]
application/city/templates/de/code/emergency_exit.ctp [deleted file]
application/city/templates/de/code/footer.ctp [deleted file]
application/city/templates/de/code/header.ctp [deleted file]
application/city/templates/de/code/home.ctp [deleted file]
application/city/templates/de/code/login_failed.ctp [deleted file]
application/city/templates/de/code/login_form.ctp [deleted file]
application/city/templates/de/code/login_main.ctp [deleted file]
application/city/templates/de/code/logout_done.ctp [deleted file]
application/city/templates/de/code/mail_debug.ctp [deleted file]
application/city/templates/de/code/menu_block.ctp [deleted file]
application/city/templates/de/code/menu_entry.ctp [deleted file]
application/city/templates/de/code/register_form.ctp [deleted file]
application/city/templates/de/emails/.htaccess [deleted file]
application/city/templates/de/emails/text_resend_link.tpl [deleted file]
application/city/templates/de/html/.htaccess [deleted file]
application/city/templates/de/image/.htaccess [deleted file]
application/city/templates/de/image/base_code.xml [deleted file]
application/city/templates/de/image/code_captcha.img [deleted file]
application/city/templates/de/image/emergency_exit.img [deleted file]
application/city/templates/de/menu/.htaccess [deleted file]
application/city/templates/de/menu/base_menu.xml [deleted file]
application/city/templates/de/menu/generic_menu_entries.xml [deleted file]
application/city/templates/de/menu/login_area_menu_entries.xml [deleted file]
application/city/templates/emails/.htaccess [new file with mode: 0644]
application/city/templates/emails/text_resend_link.tpl [new file with mode: 0644]
application/city/templates/html/.htaccess [new file with mode: 0644]
application/city/templates/image/.htaccess [new file with mode: 0644]
application/city/templates/image/base_code.xml [new file with mode: 0644]
application/city/templates/image/code_captcha.img [new file with mode: 0644]
application/city/templates/image/emergency_exit.img [new file with mode: 0644]
application/city/templates/menu/.htaccess [new file with mode: 0644]
application/city/templates/menu/base_menu.xml [new file with mode: 0644]
application/city/templates/menu/generic_menu_entries.xml [new file with mode: 0644]
application/city/templates/menu/login_area_menu_entries.xml [new file with mode: 0644]

diff --git a/application/city/templates/code/.htaccess b/application/city/templates/code/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/application/city/templates/code/action_city_login_city_map.ctp b/application/city/templates/code/action_city_login_city_map.ctp
new file mode 100644 (file)
index 0000000..c5b8480
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+// Get form helper instance
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_map'));
+
+// Prefetch user instance
+$helperInstance->prefetchValueInstance('user');
+
+// Get manager instance
+$managerInstance = ManagerFactory::createManagerByType('city');
+
+// Now set the extra instance
+$helperInstance->setExtraInstance($managerInstance);
+
+// Get user instance
+$userInstance = Registry::getRegistry()->getInstance('user');
+
+// Is a city already founded?
+if ($userInstance->isGuest()) {
+       // Guests are not allowed to found cities
+       $helperInstance->addFormNote('guest', "Du musst dich beim Spiel {?app_full_name?} anmelden, dann kannst du erst St&auml;dte gr&uuml;nden.");
+} elseif (!$managerInstance->isCityAlreadyFounded()) {
+       // No, then generate form:
+       // Add group for city creation (first city only)
+       $helperInstance->addFormGroup('city_create', "Gr&uuml;nde deine erste Stadt.");
+
+       // City name input field
+       $helperInstance->addFormSubGroup('city_name', "Bitte gebe den Namen der Stadt ein.");
+       $helperInstance->addFieldText('city_name', "Dein Stadtname:");
+       $helperInstance->addInputTextField('city_name');
+
+       // CAPTCHA enabled?
+       if ($helperInstance->ifFormSecuredWithCaptcha()) {
+               $helperInstance->addFormGroup('captcha_user', "Die virtuelle Beantragung von Starthilfe ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, damit du die Starthilfe beantragen kannst.");
+               $helperInstance->addCaptcha();
+       } // END - if
+
+       // Final notices
+       $helperInstance->addFormGroup('buttons', "Soll so die Stadt angelegt werden?");
+       $helperInstance->addInputResetButton("Alles nochmal eingeben");
+       $helperInstance->addInputSubmitButton("Stadt anlegen");
+       $helperInstance->addFormNote('more_cities', "Du kannst sp&auml;ter auch weitere St&auml;dte anlegen, fange aber erstmal klein an.");
+
+       // Flush the finished form
+       $helperInstance->flushContent();
+} else {
+       // Add notice
+       $helperInstance->addFormGroup('city_created', "Deine Stadt {?block_city_name?}:");
+
+       // Assign all data fields
+       $helperInstance->assignField('city_name');
+
+       // A city has already been created, so render it
+       $managerInstance->renderCityMap($helperInstance);
+
+       // Flush the finished form
+       $helperInstance->flushContent();
+}
+
+// [EOC]
+?>
+<div id="government_frame">
+       <div id="government_header">
+               Stadtkarte
+       </div>
+
+       <div id="government_form">
+               {?city_map?}
+       </div>
+</div>
diff --git a/application/city/templates/code/action_city_login_government_startup_help.ctp b/application/city/templates/code/action_city_login_government_startup_help.ctp
new file mode 100644 (file)
index 0000000..bce1daf
--- /dev/null
@@ -0,0 +1,62 @@
+<?php
+// Get form helper instance
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_government_startup'));
+
+// Prefetch user instance
+$helperInstance->prefetchValueInstance('user');
+
+// Add main form group
+$helperInstance->addFormNote('reality_warning', "WARNUNG: Bitte dieses Formular nicht mit echten Angaben ausf&uuml;llen! (Die Profildaten sollte jedoch echt sein.)");
+
+// Add group for personal data
+$helperInstance->addFormGroup('persona_data', "Deine pers&ouml;nliche Daten, die f&uuml;r die Beantragung n&ouml;tig sind:");
+
+// Display email, surname and family name
+$helperInstance->addFormNote('surname', "Vorname: <span class=\"persona_data\">".$helperInstance->getValueField('surname')."</span>");
+$helperInstance->addFormNote('family', "Nachname: <span class=\"persona_data\">".$helperInstance->getValueField('family')."</span>");
+$helperInstance->addFormNote('email', "Email-Adresse: <span class=\"persona_data\">".$helperInstance->getValueField('email')."</span>");
+$helperInstance->addFormNote('birthday', "Geburtstag: <span class=\"persona_data\">".(int)$helperInstance->getValueField('birth_day').".".(int)$helperInstance->getValueField('birth_month').".".(int)$helperInstance->getValueField('birth_year')."</span>");
+
+// Add link placeholder for profile page
+$helperInstance->addFormNote('profile', "Stimmen die Daten noch? {?city_profile?}");
+
+// Ask again for current account password
+$helperInstance->addFormGroup('password', "Bitte gebe zur Best&auml;tigung dein derzeitiges Passwort ein.");
+$helperInstance->addFieldText('password', "Derzeitiges Passwort:");
+$helperInstance->addInputPasswordField('password');
+
+// CAPTCHA enabled?
+if ($helperInstance->ifFormSecuredWithCaptcha()) {
+       $helperInstance->addFormGroup('captcha_user', "Die virtuelle Beantragung von Starthilfe ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, damit du die Starthilfe beantragen kannst.");
+       $helperInstance->addCaptcha();
+} // END - if
+
+// Final notices
+$helperInstance->addFormGroup('buttons', "Sind alle Daten nun korrekt eingegeben? Dann sende sie mit einem Klick einfach ab!");
+$helperInstance->addInputResetButton("Alles nochmal eingeben");
+$helperInstance->addInputSubmitButton("Starthilfe beantragen");
+$helperInstance->addFormNote('data_protection', "Deine Daten werden nach den g&uuml;ltigen Datenschutzgesetzen gespeichert und werden nicht an Dritte weitergegeben. Weiteres dazu siehe Link &quot;Datenschutz&quot;.");
+
+// Flush the finished form
+$helperInstance->flushContent();
+
+// Get link helper for profile link
+$linkInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'city_profile'));
+
+// Add action
+$linkInstance->addActionLinkById('profile', 'profile');
+
+// Flush the finished form
+$linkInstance->flushContent();
+
+// [EOC]
+?>
+<div id="government_frame">
+       <div id="government_header">
+               Virtuelle Beantragung von Starthilfe
+       </div>
+
+       <div id="government_form">
+               {?city_government_startup?}
+       </div>
+</div>
diff --git a/application/city/templates/code/action_city_login_government_training.ctp b/application/city/templates/code/action_city_login_government_training.ctp
new file mode 100644 (file)
index 0000000..d7d423c
--- /dev/null
@@ -0,0 +1,62 @@
+<?php
+// Get form helper instance
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_government_training'));
+
+// Prefetch user instance
+$helperInstance->prefetchValueInstance('user');
+
+// Add main form group
+$helperInstance->addFormNote('reality_warning', "WARNUNG: Bitte dieses Formular nicht mit echten Angaben ausf&uuml;llen!");
+
+// Add group for personal data
+$helperInstance->addFormGroup('persona_data', "Deine pers&ouml;nliche Daten, die f&uuml;r die Kursusteilnahme n&ouml;tig sind:");
+
+// Ask again for current account password
+$helperInstance->addFormGroup('password', "Bitte gebe zur Best&auml;tigung dein derzeitiges Passwort ein.");
+$helperInstance->addFieldText('password', "Derzeitiges Passwort:");
+$helperInstance->addInputPasswordField('password');
+
+// Display email, surname and family name
+$helperInstance->addFormNote('surname', "Vorname: <span class=\"persona_data\">".$helperInstance->getValueField('surname')."</span>");
+$helperInstance->addFormNote('family', "Nachname: <span class=\"persona_data\">".$helperInstance->getValueField('family')."</span>");
+$helperInstance->addFormNote('email', "Email-Adresse: <span class=\"persona_data\">".$helperInstance->getValueField('email')."</span>");
+$helperInstance->addFormNote('birthday', "Geburtstag: <span class=\"persona_data\">".(int)$helperInstance->getValueField('birth_day').".".(int)$helperInstance->getValueField('birth_month').".".(int)$helperInstance->getValueField('birth_year')."</span>");
+
+// Add link placeholder for profile page
+$helperInstance->addFormNote('profile', "Stimmen die Daten noch? {?city_profile?}");
+
+// CAPTCHA enabled?
+if ($helperInstance->ifFormSecuredWithCaptcha()) {
+       $helperInstance->addFormGroup('captcha_user', "Die virtuelle Beantragung eines Trainingkursus ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, um den Trainingskursus zu beantragen.");
+       $helperInstance->addCaptcha();
+} // END - if
+
+// Final notices
+$helperInstance->addFormGroup('buttons', "Sind alle Daten nun korrekt eingegeben? Dann sende sie mit einem Klick einfach ab!");
+$helperInstance->addInputResetButton("Alles nochmal eingeben");
+$helperInstance->addInputSubmitButton("Trainingskurs beantragen");
+$helperInstance->addFormNote('data_protection', "Deine Daten werden nach den g&uuml;ltigen Datenschutzgesetzen gespeichert und werden nicht an Dritte weitergegeben. Weiteres dazu siehe Link &quot;Datenschutz&quot;.");
+
+// Flush the finished form
+$helperInstance->flushContent();
+
+// Get link helper for profile link
+$linkInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'city_profile'));
+
+// Add action
+$linkInstance->addActionLinkById('profile', 'profile');
+
+// Flush the finished form
+$linkInstance->flushContent();
+
+// [EOC]
+?>
+<div id="government_frame">
+       <div id="government_header">
+               Virtuelle Beantragung eines Training-Kursus
+       </div>
+
+       <div id="government_form">
+               {?city_government_training?}
+       </div>
+</div>
diff --git a/application/city/templates/code/action_city_login_logout.ctp b/application/city/templates/code/action_city_login_logout.ctp
new file mode 100644 (file)
index 0000000..bc534f8
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+// Get helper instance
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'logout_now'));
+
+// Set link text
+$helperInstance->addLinkWithTextById('logout_now');
+
+// Flush the content
+$helperInstance->flushContent();
+
+// Get helper instance
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'return_login'));
+
+// Set link text
+$helperInstance->addLinkWithTextById('return_login');
+
+// Flush the content
+$helperInstance->flushContent();
+
+// [EOC]
+?>
+<div id="logout_box">
+       <div id="logout_header">
+               Willst du dich wirklich aus dem Spiel ausloggen?
+       </div>
+
+       <div id="logouts">
+               {?logout_now?} | {?return_login?}
+       </div>
+</div>
diff --git a/application/city/templates/code/action_city_login_profile.ctp b/application/city/templates/code/action_city_login_profile.ctp
new file mode 100644 (file)
index 0000000..26ac26d
--- /dev/null
@@ -0,0 +1,145 @@
+<?php
+// Get helper instance for web forms. This will add the opening form-tag to
+// the helper's render cache which is simply a small variable in the class
+// BaseHelper.
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, "city_profile"));
+
+// Pre-fetch field data with a given registry key
+$helperInstance->prefetchValueInstance('user');
+
+// Password can only be changed when the old one is entered and new one twice!
+$helperInstance->addFormGroup('pass', "Neues Passwort einrichten:");
+$helperInstance->addFormSubGroup('pass', "Bitte gebe zum &Auml;ndern deines Passwortes zweimal das gew&uuml;nschte neue Passwort ein.");
+$helperInstance->addFieldText('pass1', "Neues Passwort:");
+$helperInstance->addInputPasswordField('pass1');
+$helperInstance->addFieldText('pass2', "Neues Passwort, Wiederholung:");
+$helperInstance->addInputPasswordField('pass2');
+
+// Display current email
+$helperInstance->addFormNote('current_email', "Derzeitige Email-Adresse: <span class=\"persona_data\">".$helperInstance->getValueField('email')."</span>");
+
+// Only for changing email address
+if ($helperInstance->ifEmailChangeAllowed()) {
+       $helperInstance->addFormGroup('email', "&Auml;nderung deiner Email-Addresse:");
+       $helperInstance->addFormSubGroup('email', "Gebe nur deine Email-Adresse zweimal ein, wenn du diese &auml;ndern m&ouml;chtest!");
+       $helperInstance->addFieldText('email1', "Email-Adresse:");
+       $helperInstance->addInputTextField('email1');
+       $helperInstance->addFieldText('email2', "Wiederholung Email-Adresse:");
+       $helperInstance->addInputTextField('email2');
+
+       if ($helperInstance->ifEmailMustBeUnique()) {
+               $helperInstance->addFormNote('email', "Die von dir eingegebene Email-Adresse darf nur einmal im Spiel verwendet worden sein.");
+       } // END - if
+
+       if ($helperInstance->ifEmailChangeRequireConfirmation()) {
+               $helperInstance->addFormNote('confirm', "Es wird ein Best&auml;tigungslink an deine neue Email-Adresse gesendet. Bitte klicke diesen dann m&ouml;glichst schnell an.");
+       } // END - if
+} // END - if
+
+// Add form group for user profile
+$helperInstance->addFormGroup('profile', "Hier kannst du deine Profildaten &auml;ndern.");
+
+// Persoenliche Daten mit in der Anmeldung abfragen?
+if ($helperInstance->ifRegisterIncludesPersonaData()) {
+       $helperInstance->addFormSubGroup('persona', "Wenn du magst, dann vervollst&auml;ndige deine komplette Adresse mit deinem Namen.");
+       $helperInstance->addFieldText('surname', "Dein Vorname:");
+       $helperInstance->addInputTextFieldWithDefault('surname');
+       $helperInstance->addFieldText('family', "Dein Nachname:");
+       $helperInstance->addInputTextFieldWithDefault('family');
+       $helperInstance->addFieldText('street', "Strasse und Hausnummer:");
+       $helperInstance->addInputTextFieldWithDefault('street');
+       $helperInstance->addFieldText('city', "Wohnort:");
+       $helperInstance->addInputTextFieldWithDefault('city');
+
+       // Include birthday?
+       if ($helperInstance->ifProfileIncludesBirthDay()) {
+               $helperInstance->addFormSubGroup('birthday', "Verrate uns doch dein Geburtsdatum, als Dankesch&ouml;n erh&auml;lst du interessante Pr&auml;mien - ausschliesslich per Email - zum Geburtstag zugesandt! G&uuml;ltiges Format: TT.MM.JJJJ");
+               $helperInstance->addInputTextField('birth_day');
+               $helperInstance->addFieldText('birth_day', ".");
+               $helperInstance->addInputTextField('birth_month');
+               $helperInstance->addFieldText('birth_day', ".");
+               $helperInstance->addInputTextField('birth_year');
+       } // END - if
+} // END - if
+
+// Add sub group for zip code
+$helperInstance->addFormSubGroup('zip', "Magst du uns auch deine Postleitzahl verraten?");
+$helperInstance->addFieldText('zip', "Postleitzahl:");
+$helperInstance->addInputTextFieldWithDefault('zip');
+
+// Add sub group for chat protocols
+$helperInstance->addFormSubGroup('chat', "Gebe hier deine Nicknames bzw. Nummern an:");
+
+// Add ICQ chat?
+if ($helperInstance->ifChatEnabled('icq')) {
+       $helperInstance->addFieldText('icq', "ICQ-Nummer:");
+       $helperInstance->addInputTextFieldWithDefault('icq');
+} // END - if
+
+// Add Jabber chat?
+if ($helperInstance->ifChatEnabled('jabber')) {
+       $helperInstance->addFieldText('jabber', "Jabber:");
+       $helperInstance->addInputTextFieldWithDefault('jabber');
+} // END - if
+
+// Add Yahoo! chat?
+if ($helperInstance->ifChatEnabled('yahoo')) {
+       $helperInstance->addFieldText('yahoo', "Yahoo!:");
+       $helperInstance->addInputTextFieldWithDefault('yahoo');
+} // END - if
+
+// Add AOL chat?
+if ($helperInstance->ifChatEnabled('aol')) {
+       $helperInstance->addFieldText('aol', "AOL-Screenname:");
+       $helperInstance->addInputTextFieldWithDefault('aol');
+} // END - if
+
+// Add MSN chat?
+if ($helperInstance->ifChatEnabled('msn')) {
+       $helperInstance->addFieldText('msn', "MSN:");
+       $helperInstance->addInputTextFieldWithDefault('msn');
+} // END - if
+
+if (!$helperInstance->ifRegisterRequiresEmailVerification()) {
+       $helperInstance->addFormExtraNote(1, "Die Benachrichtigungen per Email sind im Loginbereich verfeinerbar, welche du genau haben willst.");
+} // END - if
+
+// Rules already accepted?
+if ($helperInstance->ifRulesHaveChanged()) {
+       $helperInstance->addFormGroup('rules', "Bitte lese dir die Spieleregeln gut durch und kreuze dann &quot;Ja, ich akzeptiere die aktuellen Spielregeln&quot; an.");
+       $helperInstance->addFieldText('rules', "Ja, ich akzeptiere die aktuellen Spielregeln:");
+       $helperInstance->addInputCheckboxField('rules', false);
+} else {
+       $helperInstance->addFormNote('rules_accepted', "Du hast die aktuellen Spielregeln akzeptiert. Vielen Dank!");
+       $helperInstance->addInputHiddenField('rules', "1");
+}
+
+// CAPTCHA enabled?
+if ($helperInstance->ifFormSecuredWithCaptcha()) {
+       $helperInstance->addFormGroup('captcha_user', "Das &Auml;ndern von Profildaten ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, damit deine &Auml;nderungen gespeichert werden k&ouml;nnen.");
+       $helperInstance->addCaptcha();
+} // END - if
+
+// Ask again for current account password
+$helperInstance->addFormGroup('pass_old', "Bitte gebe zur Best&auml;tigung der &Auml;nderungen dein derzeitiges Passwort ein.");
+$helperInstance->addFieldText('pass_old', "Derzeitiges Passwort:");
+$helperInstance->addInputPasswordField('pass_old');
+
+// Final notices
+$helperInstance->addFormGroup('buttons', "Sind alle Daten nun korrekt eingegeben? Dann sende sie mit einem Klick einfach ab!");
+$helperInstance->addInputResetButton("Alles nochmal eingeben");
+$helperInstance->addInputSubmitButton("Accountdaten aktualisieren");
+$helperInstance->addFormNote('data_protection', "Deine Daten werden nach den g&uuml;ltigen Datenschutzgesetzen gespeichert und werden nicht an Dritte weitergegeben. Weiteres dazu siehe Link &quot;Datenschutz&quot;.");
+
+// Flush finished form
+$helperInstance->flushContent();
+
+// [EOC]
+?>
+<div id="content_header">
+       Deine Profildaten bearbeiten
+</div>
+
+<div id="profile_box">
+       {?city_profile?}
+</div>
diff --git a/application/city/templates/code/action_city_login_status_problem.ctp b/application/city/templates/code/action_city_login_status_problem.ctp
new file mode 100644 (file)
index 0000000..813840f
--- /dev/null
@@ -0,0 +1,79 @@
+<?php
+// Get helper instance for web forms. This will add the opening form-tag to
+// the helper's render cache which is simply a small variable in the class
+// BaseHelper.
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'resend_link'));
+
+// Pre-fetch field data with a given registry key
+$helperInstance->prefetchValueInstance('user');
+
+// Add submit button or notice
+if ($helperInstance->ifUserAccountUnconfirmed()) {
+       // Add submit button
+       $helperInstance->addInputHiddenFieldWithDefault('email');
+       $helperInstance->addInputSubmitButton("Best&auml;tigungslink erneut aussenden");
+} elseif ($helperInstance->ifUserAccountLocked()) {
+       // Account is locked
+       $helperInstance->addFormNote('status_locked', "Dein Account wurde gesperrt! Grund der Sperre:
+               <span id=\"lock_reason\">".$helperInstance->getValueField('lock_reason')."</span>
+               Bitte melde dich beim Support, damit dieser dir weiterhelfen kann."
+       );
+} elseif ($helperInstance->ifUserAccountGuest()) {
+       // Account is guest account
+       $helperInstance->addFormNote('status_guest', "G&auml;steaccounts sind in der Funktionalit&auml;t
+               leicht eingeschr&auml;nkt. Bitte melde dich an, damit du ein
+               vollwertiges Account bekommst."
+       );
+}
+
+// Flush content and automatically close the form
+$helperInstance->flushContent();
+
+// Build the form for confirmation
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'confirm_code'));
+
+// Pre-fetch field data with a given registry key
+$helperInstance->prefetchValueInstance('user');
+
+if ($helperInstance->ifUserAccountUnconfirmed()) {
+       // Add code box
+       $helperInstance->addFormGroup('code', "Bitte gebe hier den Best&auml;tigungscode aus der Willkommensemail ein. Solltest du diese nicht erhalten haben, kannst du dir diesen jetzt zusenden lassen.");
+       $helperInstance->addFieldText('code', "Best&auml;tigungscode aus der Mail:");
+       $helperInstance->addInputTextField('code');
+
+       // Add submit button
+       $helperInstance->addFormGroup('buttons', "Bitte einmal abschicken und das Ergebnis abwarten!");
+       $helperInstance->addInputResetButton("Nochmal eingeben");
+       $helperInstance->addInputSubmitButton("Best&auml;tigungscode absenden");
+} else {
+       // Add message
+       $helperInstance->addFormNote('status_not_unconfirmed', "M&ouml;glicherweise hast du einen Best&auml;tigungslink angeklickt, obwohl dein Account bereits freigegeben oder gesperrt ist.");
+}
+
+// Flush content and automatically close the form
+$helperInstance->flushContent();
+
+// [EOC]
+?>
+<div id="content_header">
+       Problem mit deinem Account gefunden:
+</div>
+
+<div id="status_box">
+       Du bist m&ouml;glicherweise f&uuml;r deine ausgew&auml;hlte Aktion nicht
+       berechtigt oder du hast noch deine Email-Adresse nicht best&auml;tigt. Du
+       kannst dir nun den Best&auml;tigungslink erneut aussenden lassen, oder den
+       Best&auml;tigungscode unten eingeben.
+
+       <div id="resend_link_box">
+               {?resend_link?}
+       </div>
+
+       <div id="confirm_code_header">
+               Weitere M&ouml;glichkeiten:
+       </div>
+
+       <div id="confirm_code_box">
+               {?confirm_code?}
+       </div>
+</div>
diff --git a/application/city/templates/code/action_city_login_welcome.ctp b/application/city/templates/code/action_city_login_welcome.ctp
new file mode 100644 (file)
index 0000000..550d73c
--- /dev/null
@@ -0,0 +1,3 @@
+<div id="news_frame">
+       {?city_login_news?}
+</div>
diff --git a/application/city/templates/code/block_persona_data.ctp b/application/city/templates/code/block_persona_data.ctp
new file mode 100644 (file)
index 0000000..3b50438
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+// Get a helper instance for the profile link (and maybe later more!)
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'profile'));
+
+// Prefetch user instance
+$helperInstance->prefetchValueInstance('user');
+
+// Flush the content out
+$helperInstance->flushContent();
+
+// [EOC]
+?>
+<div id="user_name_div" class="block_cell">
+       Spielername: <span id="user_name">{?block_username?}</span>
+</div>
+<div id="user_status_div" class="block_cell">
+       Spielerstatus: <span id="user_status">{?block_user_status?}</span>
+</div>
+<div id="user_points_div" class="block_cell">
+       Kontostand: <span id="user_points">{?block_points?} {?currency?}</span>
+</div>
+<div id="user_profile_div" class="block_cell">
+       {?profile?}
+</div>
+<div id="user_registered_div" class="block_cell">
+       Angemeldet seit: <span id="registered">{?block_registered?}</span>
+</div>
diff --git a/application/city/templates/code/captch_graphic_code.ctp b/application/city/templates/code/captch_graphic_code.ctp
new file mode 100644 (file)
index 0000000..6e89dfc
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+// Get a helper instance without a form tag
+$captchaHelper = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'captcha_code', false, false));
+
+// Add input field with text for CAPTCHA code
+$captchaHelper->addFieldText('captcha_code', "Bitte wiederhole den Code:");
+$captchaHelper->addInputTextField('c_code');
+
+// Add hidden field with validation hash
+$captchaHelper->addInputHiddenField('hash', $this->readVariable('captcha_hash'));
+
+// Flush content
+$captchaHelper->flushContent();
+
+// [EOC]
+?>
+<div class="captcha_image">
+       <img src="{?base_url?}/index.php?app={?app_short_name?}&amp;command=code_captcha&amp;encrypt={?encrypted_code?}&amp;request=image"
+        alt="CAPTCHA-Bild" title="CAPTCHA-Bild" class="captcha_img" />
+</div>
+<div class="captcha_code">
+       {?captcha_code?}
+</div>
diff --git a/application/city/templates/code/city_main.ctp b/application/city/templates/code/city_main.ctp
new file mode 100644 (file)
index 0000000..a83364f
--- /dev/null
@@ -0,0 +1,29 @@
+{?header?}
+
+<div id="master">
+<div id="main_header">
+       {?city_header?}
+</div>
+
+<div id="menu">
+       {?menu?}
+</div>
+
+<div id="advert">
+       {?nav_advert?}
+</div>
+
+<div id="language">
+       {?language_selector?}
+</div>
+
+<div id="main_content">
+       {?main_content?}
+</div>
+
+<div id="main_footer">
+       {?city_footer?}
+</div>
+</div>
+
+{?footer?}
diff --git a/application/city/templates/code/confirm_link.ctp b/application/city/templates/code/confirm_link.ctp
new file mode 100644 (file)
index 0000000..bf8e6a6
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+// Get helper instance
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'direct_login'));
+
+// Set link text
+$helperInstance->addLinkWithTextById('direct_login');
+
+// Flush the content
+$helperInstance->flushContent();
+
+// [EOC]
+?>
+<div id="content_header">
+       Best&auml;tigung Deiner Email-Adresse:
+</div>
+
+<div id="content_body">
+       Hallo <span class="data_username">{?username?}</span>! Du hast heute deine
+       Email-Addresse best&auml;tigt, wodurch alle Spielefunktionen entsperrt
+       worden sind. Viel Spass beim Spielen!
+</div>
+
+<div id="content_footer">
+       {?direct_login?}
+</div>
diff --git a/application/city/templates/code/emergency_exit.ctp b/application/city/templates/code/emergency_exit.ctp
new file mode 100644 (file)
index 0000000..e974daf
--- /dev/null
@@ -0,0 +1,29 @@
+{?header:title="Problem in application framework detected!"?}
+
+<div id="emergency_message">
+       $content[message]
+</div>
+
+<div id="emergency_backtrace">
+       <div id="backtrace_header">
+               File inclusion backtrace:
+       </div>
+       <div id="backtrace_content">
+               $content[backtrace]
+       </div>
+</div>
+
+<div id="stats_box">
+       <div id="stats_header">
+               Statistics
+       </div>
+       <div id="stats_objects">
+               Total objects: $content[total_objects]
+       </div>
+       <div id="stats_includes">
+               Loaded class files: $content[total_includes]
+               <span class="hint">(Including exception and interfaces.)</span>
+       </div>
+</div>
+
+{?footer_msg:footer_msg="Please contact the support and supply the full above message, if you think you are not qualified to fix this problem."?}
diff --git a/application/city/templates/code/footer.ctp b/application/city/templates/code/footer.ctp
new file mode 100644 (file)
index 0000000..aa82e68
--- /dev/null
@@ -0,0 +1,4 @@
+</div> <!-- masterbox //-->
+
+</body>
+</html>
diff --git a/application/city/templates/code/header.ctp b/application/city/templates/code/header.ctp
new file mode 100644 (file)
index 0000000..6f2518f
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
+<head>
+       <title>
+               {?app_full_name?} - {?title?}
+       </title>
+
+       <meta name="author" content="{?meta_author?}" />
+       <meta name="publisher" content="{?meta_publisher?}" />
+       <meta name="keywords" content="{?meta_keywords?}" />
+       <meta name="robots" content="index,follow" />
+       <meta name="description" content="{?meta_description?}" />
+       <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+       <meta http-equiv="content-style-type" content="text/css" />
+       <meta http-equiv="content-script-type" content="text/javascript" />
+       <meta http-equiv="language" content="de" />
+       {?header_extras_hook?}
+</head>
+
+<body>
+<div id="masterbox">
diff --git a/application/city/templates/code/home.ctp b/application/city/templates/code/home.ctp
new file mode 100644 (file)
index 0000000..fe59655
--- /dev/null
@@ -0,0 +1,11 @@
+<div id="content_header">
+       Willkommen zum <span class="app_name">{?app_full_name?}</span>
+</div>
+
+<div id="news_frame">
+       {?city_news?}
+</div>
+
+<div id="welcome">
+       Hier wird der Gast zum Spiel begr&uuml;sst.
+</div>
diff --git a/application/city/templates/code/login_failed.ctp b/application/city/templates/code/login_failed.ctp
new file mode 100644 (file)
index 0000000..699b5a5
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+// Get helper instance
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'login_retry'));
+
+// Set link text
+$helperInstance->addLinkWithTextById('login_retry');
+
+// Flush the content
+$helperInstance->flushContent();
+
+// [EOC]
+?>
+<div id="content_header">
+       Du bist nicht mehr im Spiel eingeloggt!
+</div>
+
+<div id="content_body">
+       <div id="login_failed_header">
+               Du bist nicht mehr in <span class="app_name">{?app_full_name?}</span> eingeloggt.
+               Dies kann verschiedene Gr&uuml;nde haben:
+       </div>
+
+       <ol id="login_failed_list">
+               <li>Dein Browser nimmt keine Cookies an.</li>
+               <li>Du hast den Loginbereich aus deinen Bookmarks/Favoriten aufgerufen
+                       und die Cookies sind gel&ouml;scht.</li>
+               <li>Es besteht ein Problem mit dem Server, wof&uuml;r du meistens nichts
+                       kannst. Bitte kontaktiere den Support, falls dieses Problem
+                       weiterhin besteht.</li>
+       </ol>
+
+       <div id="login_failed_footer">
+               Wenn du den Support kontaktierst, halte bitte s&auml;mtliche relevante
+               Informationen - <span class="important_note">nicht aber dein Passwort</span>
+               - bereit. Du kannst auch einen Screenshot dieser Seite anfertigen und dem
+               Support diesen senden!
+       </div>
+</div>
+
+<div id="content_footer">
+       <div id="login_retry">
+               {?login_retry?}
+       </div>
+
+       Vielen Dank f&uuml;r deine Mitarbeit! :-)
+</div>
diff --git a/application/city/templates/code/login_form.ctp b/application/city/templates/code/login_form.ctp
new file mode 100644 (file)
index 0000000..272567c
--- /dev/null
@@ -0,0 +1,100 @@
+<?php
+// Get helper instance for web forms. This will add the opening form-tag to
+// the helper's render cache which is simply a small variable in the class
+// BaseHelper.
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_user_login'));
+
+// Is the form enabled?
+if ($helperInstance->ifLoginIsEnabled()) {
+       // Form is active
+       $helperInstance->addFormGroup('login', "Gebe hier deine Logindaten ein:");
+
+       // Which login method has been configured?
+       if ($helperInstance->ifLoginWithUsername()) {
+               // Login with user name only
+               $helperInstance->addFormSubGroup('username', "Bitte mit deinem Nickname einloggen.");
+               $helperInstance->addFieldText('username', "Dein Nickname:");
+               $helperInstance->addInputTextField('username');
+       } elseif ($helperInstance->ifLoginWithEmail()) {
+               // Login with email address only
+               $helperInstance->addFormSubGroup('email', "Bitte mit deiner Email-Adresse einloggen.");
+               $helperInstance->addFieldText('email', "Deine Email-Addresse:");
+               $helperInstance->addInputTextField('email');
+       } else {
+               // Login with email address or user name
+               $helperInstance->addFormSubGroup('user_email', "Bitte mit deinem Nickname oder Email-Adresse einloggen.");
+               $helperInstance->addFieldText('user_email', "Dein Nickname/Email:");
+               $helperInstance->addInputTextField('user_email');
+       }
+
+       // Add password input field
+       $helperInstance->addFormSubGroup('pass', "Gebe dein Passwort von der Anmeldung ein.");
+       $helperInstance->addFieldText('pass', "Dein Passwort:");
+       $helperInstance->addInputPasswordField('pass');
+
+       // CAPTCHA enabled?
+       if ($helperInstance->ifFormSecuredWithCaptcha()) {
+               $helperInstance->addFormGroup('captcha_user', "Das Benutzer-Login ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, damit du dich einloggen kannst.");
+               $helperInstance->addCaptcha();
+       } // END - if
+
+       // Submit buttons
+       $helperInstance->addFormGroup('buttons_user', "Alles richtig eingegeben?");
+       $helperInstance->addInputResetButton("Formular leeren");
+       $helperInstance->addInputSubmitButton("Zum Spiel einloggen");
+} else {
+       // Form is inactive
+       $helperInstance->addFormNote('form_deactivated', "Einloggen in&#39;s Spiel ist derzeit administrativ deaktiviert worden. Bitte komme sp&auml;ter noch mal wieder.");
+       $helperInstance->addFormNote('admin_notice', "Nachricht vom Admin: <span id=\"disabled_reason\">".$this->getConfigInstance()->readConfig('login_disabled_reason')."</span>");
+}
+
+// Formular schliessen
+$helperInstance->flushContent();
+
+// Ist Gastlogin erlaubt?
+if ($helperInstance->ifGuestLoginAllowed()) {
+       // Neue Helper-Instanz holen
+       $helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_guest_login'));
+       $helperInstance->addInputHiddenConfiguredField('user', 'guest_login');
+       $helperInstance->addInputHiddenConfiguredField('passwd', 'guest_login');
+
+       // CAPTCHA enbaled?
+       if ($helperInstance->ifFormSecuredWithCaptcha()) {
+               $helperInstance->addFormGroup('captcha_guest', "Unser Gast-Login ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, damit du dich einloggen kannst.");
+               $helperInstance->addCaptcha();
+       } // END - if
+
+       // Submit button
+       $helperInstance->addFormGroup('buttons_guest', "Gastlogins sind in der Funkionsweise eingeschr&auml;nkt. Mehr dazu unter &quot;Gastlogin&quot;.");
+       $helperInstance->addInputSubmitButton("Als Gast einloggen");
+       $helperInstance->flushContent();
+}
+
+// Get helper instance
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'register'));
+
+// Set link text
+$helperInstance->addLinkWithTextById('register_login');
+
+// Flush the content
+$helperInstance->flushContent();
+
+// [EOC]
+?>
+<div id="content_header">
+       Einloggen zu <span class="app_name">{?app_full_name?}</span>
+</div>
+
+<div id="content_body">
+       <div id="login_box">
+               {?city_user_login?}
+       </div>
+
+       <div id="guest_login">
+               {?city_guest_login?}
+       </div>
+</div>
+
+<div id="content_footer">
+       Noch kein Spieleaccount? {?register?}
+</div>
diff --git a/application/city/templates/code/login_main.ctp b/application/city/templates/code/login_main.ctp
new file mode 100644 (file)
index 0000000..fb818fe
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+///////////////////////////////
+// Assign personal user data //
+///////////////////////////////
+
+// Get a new instance for personal data
+$blockInstance = ObjectFactory::createObjectByConfiguredName('html_block_helper_class', array($this, 'persona_data'));
+
+// Set the data source instance which must exist in registry
+$blockInstance->prefetchValueInstance('user', 'user_points');
+
+// Assign fields with template variables
+$blockInstance->assignField('username');
+$blockInstance->assignFieldWithFilter('user_status', 'user_status_translator');
+$blockInstance->assignFieldWithFilter('points', 'format_number');
+
+// Shall we include registration date?
+if ($blockInstance->ifIncludeRegistrationStamp()) {
+       // Then assign it as well!
+       $blockInstance->assignFieldWithFilter('registered', 'format_timestamp');
+} // END - if
+
+// Flush the content out to a template variable
+$blockInstance->flushContent();
+
+// Get helper instance
+$linkInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'logout'));
+
+// Add action
+$linkInstance->addActionLinkById('logout', 'logout');
+
+// Flush the content
+$linkInstance->flushContent();
+
+// [EOC]
+?>
+<div id="content_header">
+       Willkommen im Loginbereich von <span class="app_name">{?app_full_name?}</span>!
+</div>
+
+<div id="content_body">
+       {?login_content?}
+</div>
+
+<div id="persona_data" title="Informationen zu Deinem Spieleaccount">
+       <div id="persona_header">
+               Account-Infos:
+       </div>
+
+       <div id="persona_body">
+               {?persona_data?}
+       </div>
+
+       <div id="logout">
+               {?logout?}
+       </div>
+</div>
diff --git a/application/city/templates/code/logout_done.ctp b/application/city/templates/code/logout_done.ctp
new file mode 100644 (file)
index 0000000..59c8cbc
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+// Get helper instance
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'relogin'));
+
+// Set link text
+$helperInstance->addLinkWithTextById('relogin');
+
+// Flush the content
+$helperInstance->flushContent();
+
+// [EOC]
+?>
+<div id="content_header">
+       Du bist jetzt aus dem Spiel ausgeloggt!
+</div>
+
+<div id="content_body">
+       Du kannst dich nun {?relogin?} oder weiter auf unseren Seiten bleiben. ;-)
+</div>
diff --git a/application/city/templates/code/mail_debug.ctp b/application/city/templates/code/mail_debug.ctp
new file mode 100644 (file)
index 0000000..e62dd07
--- /dev/null
@@ -0,0 +1,25 @@
+<div class="debug_header">
+       Mail-Debug-Ausgabe:
+</div>
+
+<div class="mail_header">
+       <div class="mail_header_line">
+               <span class="mail_sender">Von:</span> <span class="mail_info">{?sender?}</span>
+       </div>
+       <div class="mail_header_line">
+               <span class="mail_recipient">An:</span> <span class="mail_info">{?recipient?}</span>
+       </div>
+       <div class="mail_header_line">
+               <span class="mail_subject">Betreff:</span> <span class="mail_info">{?subject?}</span>
+       </div>
+</div>
+
+<div class="mail_text_box">
+       <div class="mail_message">
+               Nachricht:
+       </div>
+
+       <div class="mail_content">
+               {?message?}
+       </div>
+</div>
diff --git a/application/city/templates/code/menu_block.ctp b/application/city/templates/code/menu_block.ctp
new file mode 100644 (file)
index 0000000..454ccf1
--- /dev/null
@@ -0,0 +1,11 @@
+<div id="{?title_id?}" class="{?title_class?}">
+       {?title_text?}
+</div>
+
+<ul>
+{?block_content?}
+</ul>
+
+<div id="{?footer_id?}" class="{?footer_class?}">
+       {?footer_text?}
+</div>
diff --git a/application/city/templates/code/menu_entry.ctp b/application/city/templates/code/menu_entry.ctp
new file mode 100644 (file)
index 0000000..e30bd8c
--- /dev/null
@@ -0,0 +1,3 @@
+<li id="{?entry_id?}">
+       <a id="{?anchor_id?}" href="{?anchor_href?}" title="{?anchor_title?}">{?anchor_text?}</a>
+</li>
diff --git a/application/city/templates/code/register_form.ctp b/application/city/templates/code/register_form.ctp
new file mode 100644 (file)
index 0000000..db0103c
--- /dev/null
@@ -0,0 +1,134 @@
+<?php
+// Get helper instance for web forms. This will add the opening form-tag to
+// the helper's render cache which is simply a small variable in the class
+// BaseHelper.
+$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_register'));
+
+// Always ask at least for nickname and password
+$helperInstance->addFormGroup('login', "Bitte gebe hier gew&uuml;nschten Nickname und dein Zugangspasswort ein.");
+$helperInstance->addFormSubGroup('username', "Dein Nickname wird erst nach Absenden des Formulares gepr&uuml;ft. Sp&auml;ter bauen wir dann einen automatischen Test ein, der dir sofort zeigt, ob der Nickname bereits vergeben ist.");
+$helperInstance->addFieldText('username', "Nickname im Spiel:");
+$helperInstance->addInputTextField('username');
+$helperInstance->addFormSubGroup('pass', "Dein Passwort sollte nicht zu leicht erratbar sein. Sp&auml;ter bauen wir hier noch einen automatischen Test ein, der dir sofort die Passwortst&auml;rke anzeigt.");
+$helperInstance->addFieldText('pass1', "Passwort:");
+$helperInstance->addInputPasswordField('pass1');
+$helperInstance->addFieldText('pass2', "Passwortwiederholung:");
+$helperInstance->addInputPasswordField('pass2');
+
+// Does this registration require an email?
+if ($helperInstance->ifRegisterRequiresEmailVerification()) {
+       $helperInstance->addFormGroup('email', "Bitte gebe deine Email zweimal (ein zweites Mal zur Best&auml;tigung) ein, damit wir dir deinen Freischaltlink zusenden k&ouml;nnen.");
+       $helperInstance->addFieldText('email1', "Email-Adresse:");
+       $helperInstance->addInputTextField('email1');
+       $helperInstance->addFieldText('email2', "Wiederholung Email-Adresse:");
+       $helperInstance->addInputTextField('email2');
+
+       // Must the email address be unique in this system?
+       if ($helperInstance->ifEmailMustBeUnique()) {
+               $helperInstance->addFormNote('email', "Die von dir eingegebene Email-Adresse darf nur einmal im Spiel verwendet worden sein.");
+       } // END - if
+} // END - if
+
+// Shall we also ask some personal data to complete the profile?
+if ($helperInstance->ifRegisterIncludesProfile()) {
+       $helperInstance->addFormGroup('profile', "Hier kannst du zus&auml;tzlich deine Profildaten vorweg eingeben, du kannst sie aber auch nach dem Login vervollst&auml;ndigen!");
+
+       if (!$helperInstance->ifRegisterRequiresEmailVerification()) {
+               $helperInstance->addFormSubGroup('email', "Die Angabe deiner Email-Adresse ist nur dann n&ouml;tig, wenn du auch Email-Benachrichtigungen (<span id=\"add_note\">*1</span>) haben m&ouml;chtest.");
+               $helperInstance->addFieldText('email1', "Email-Adresse:");
+               $helperInstance->addInputTextField('email1');
+
+               // Must the email address be unique in this system?
+               if ($helperInstance->ifEmailMustBeUnique()) {
+                       $helperInstance->addFormNote('email', "Die von dir eingegebene Email-Adresse darf nur einmal im Spiel verwendet worden sein.");
+               } // END - if
+       } // END - if
+
+       // Persoenliche Daten mit in der Anmeldung abfragen?
+       if ($helperInstance->ifRegisterIncludesPersonaData()) {
+               $helperInstance->addFormSubGroup('persona', "Wenn du magst, dann vervollst&auml;ndige deine komplette Adresse mit deinem Namen.");
+               $helperInstance->addFieldText('surname', "Dein Vorname:");
+               $helperInstance->addInputTextField('surname');
+               $helperInstance->addFieldText('family', "Dein Nachname:");
+               $helperInstance->addInputTextField('family');
+               $helperInstance->addFieldText('street', "Strasse und Hausnummer:");
+               $helperInstance->addInputTextField('street');
+               $helperInstance->addFieldText('city', "Wohnort:");
+               $helperInstance->addInputTextField('city');
+
+               // Include birthday?
+               if ($helperInstance->ifProfileIncludesBirthDay()) {
+                       $helperInstance->addFormSubGroup('birthday', "Verrate uns doch dein Geburtsdatum, als Dankesch&ouml;n erh&auml;lst du interessante Pr&auml;mien - ausschliesslich per Email - zum Geburtstag zugesandt! G&uuml;ltiges Format: TT.MM.JJJJ");
+                       $helperInstance->addInputTextField('birth_day');
+                       $helperInstance->addFieldText('birth_day', ".");
+                       $helperInstance->addInputTextField('birth_month');
+                       $helperInstance->addFieldText('birth_day', ".");
+                       $helperInstance->addInputTextField('birth_year');
+               } // END - if
+       } // END - if
+
+       $helperInstance->addFormSubGroup('zip', "Magst du uns auch deine Postleitzahl verraten?");
+       $helperInstance->addFieldText('zip', "Postleitzahl:");
+       $helperInstance->addInputTextField('zip');
+
+       $helperInstance->addFormSubGroup('chat', "Gebe hier deine Nicknames bzw. Nummern an:");
+
+       if ($helperInstance->ifChatEnabled('icq')) {
+               $helperInstance->addFieldText('icq', "ICQ-Nummer:");
+               $helperInstance->addInputTextField('icq');
+       } // END - if
+
+       if ($helperInstance->ifChatEnabled('jabber')) {
+               $helperInstance->addFieldText('jabber', "Jabber:");
+               $helperInstance->addInputTextField('jabber');
+       } // END - if
+
+       if ($helperInstance->ifChatEnabled('yahoo')) {
+               $helperInstance->addFieldText('yahoo', "Yahoo!:");
+               $helperInstance->addInputTextField('yahoo');
+       } // END - if
+
+       if ($helperInstance->ifChatEnabled('aol')) {
+               $helperInstance->addFieldText('aol', "AOL-Screenname:");
+               $helperInstance->addInputTextField('aol');
+       } // END - if
+
+       if ($helperInstance->ifChatEnabled('msn')) {
+               $helperInstance->addFieldText('msn', "MSN:");
+               $helperInstance->addInputTextField('msn');
+       } // END - if
+
+       if (!$helperInstance->ifRegisterRequiresEmailVerification()) {
+               $helperInstance->addFormExtraNote(1, "Die Benachrichtigungen per sind im Loginbereich verfeinerbar, welche du genau haben willst.");
+       } // END - Extra note
+
+} // END - ask profile data
+
+// Spielregeln abfragen
+$helperInstance->addFormGroup('rules', "Bitte lese dir die Spieleregeln gut durch und kreuze dann &quot;Ja, ich akzeptiere die aktuellen Spielregeln&quot; an.");
+$helperInstance->addFieldText('rules', "Ja, ich akzeptiere die aktuellen Spielregeln:");
+$helperInstance->addInputCheckboxField('rules', false);
+
+// Add CAPTCHA?
+if ($helperInstance->ifFormSecuredWithCaptcha()) {
+       $helperInstance->addFormGroup('captcha', "Bitte wiederhole den angezeigten Code damit die Anmeldung abgeschlossen werden kann.");
+       $helperInstance->addCaptcha();
+} // END - if
+
+// Final note and submit buttons
+$helperInstance->addFormGroup('buttons', "Wenn du alle ben&ouml;tigten Felder korrekt ausgef&uuml;t hast, kannst du die Anmeldung abschliessen.");
+
+$helperInstance->addInputResetButton("Alles nochmal eingeben");
+$helperInstance->addInputSubmitButton("Anmeldung zum Spiel abschliessen");
+$helperInstance->addFormNote('data_protection', "Deine Daten werden nach den g&uuml;ltigen Datenschutzgesetzen gespeichert und werden nicht an Dritte weitergegeben. Weiteres dazu siehe Link &quot;Datenschutz&quot;.");
+$helperInstance->flushContent();
+
+// [EOC]
+?>
+<div id="content_header">
+       Anmeldung bei <span class="app_name">{?app_full_name?}</span>
+</div>
+
+<div id="register_box">
+       {?city_register?}
+</div>
diff --git a/application/city/templates/de/.htaccess b/application/city/templates/de/.htaccess
deleted file mode 100644 (file)
index 3a42882..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Deny from all
diff --git a/application/city/templates/de/code/.htaccess b/application/city/templates/de/code/.htaccess
deleted file mode 100644 (file)
index 3a42882..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Deny from all
diff --git a/application/city/templates/de/code/action_city_login_city_map.ctp b/application/city/templates/de/code/action_city_login_city_map.ctp
deleted file mode 100644 (file)
index c5b8480..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-// Get form helper instance
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_map'));
-
-// Prefetch user instance
-$helperInstance->prefetchValueInstance('user');
-
-// Get manager instance
-$managerInstance = ManagerFactory::createManagerByType('city');
-
-// Now set the extra instance
-$helperInstance->setExtraInstance($managerInstance);
-
-// Get user instance
-$userInstance = Registry::getRegistry()->getInstance('user');
-
-// Is a city already founded?
-if ($userInstance->isGuest()) {
-       // Guests are not allowed to found cities
-       $helperInstance->addFormNote('guest', "Du musst dich beim Spiel {?app_full_name?} anmelden, dann kannst du erst St&auml;dte gr&uuml;nden.");
-} elseif (!$managerInstance->isCityAlreadyFounded()) {
-       // No, then generate form:
-       // Add group for city creation (first city only)
-       $helperInstance->addFormGroup('city_create', "Gr&uuml;nde deine erste Stadt.");
-
-       // City name input field
-       $helperInstance->addFormSubGroup('city_name', "Bitte gebe den Namen der Stadt ein.");
-       $helperInstance->addFieldText('city_name', "Dein Stadtname:");
-       $helperInstance->addInputTextField('city_name');
-
-       // CAPTCHA enabled?
-       if ($helperInstance->ifFormSecuredWithCaptcha()) {
-               $helperInstance->addFormGroup('captcha_user', "Die virtuelle Beantragung von Starthilfe ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, damit du die Starthilfe beantragen kannst.");
-               $helperInstance->addCaptcha();
-       } // END - if
-
-       // Final notices
-       $helperInstance->addFormGroup('buttons', "Soll so die Stadt angelegt werden?");
-       $helperInstance->addInputResetButton("Alles nochmal eingeben");
-       $helperInstance->addInputSubmitButton("Stadt anlegen");
-       $helperInstance->addFormNote('more_cities', "Du kannst sp&auml;ter auch weitere St&auml;dte anlegen, fange aber erstmal klein an.");
-
-       // Flush the finished form
-       $helperInstance->flushContent();
-} else {
-       // Add notice
-       $helperInstance->addFormGroup('city_created', "Deine Stadt {?block_city_name?}:");
-
-       // Assign all data fields
-       $helperInstance->assignField('city_name');
-
-       // A city has already been created, so render it
-       $managerInstance->renderCityMap($helperInstance);
-
-       // Flush the finished form
-       $helperInstance->flushContent();
-}
-
-// [EOC]
-?>
-<div id="government_frame">
-       <div id="government_header">
-               Stadtkarte
-       </div>
-
-       <div id="government_form">
-               {?city_map?}
-       </div>
-</div>
diff --git a/application/city/templates/de/code/action_city_login_government_startup_help.ctp b/application/city/templates/de/code/action_city_login_government_startup_help.ctp
deleted file mode 100644 (file)
index bce1daf..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-// Get form helper instance
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_government_startup'));
-
-// Prefetch user instance
-$helperInstance->prefetchValueInstance('user');
-
-// Add main form group
-$helperInstance->addFormNote('reality_warning', "WARNUNG: Bitte dieses Formular nicht mit echten Angaben ausf&uuml;llen! (Die Profildaten sollte jedoch echt sein.)");
-
-// Add group for personal data
-$helperInstance->addFormGroup('persona_data', "Deine pers&ouml;nliche Daten, die f&uuml;r die Beantragung n&ouml;tig sind:");
-
-// Display email, surname and family name
-$helperInstance->addFormNote('surname', "Vorname: <span class=\"persona_data\">".$helperInstance->getValueField('surname')."</span>");
-$helperInstance->addFormNote('family', "Nachname: <span class=\"persona_data\">".$helperInstance->getValueField('family')."</span>");
-$helperInstance->addFormNote('email', "Email-Adresse: <span class=\"persona_data\">".$helperInstance->getValueField('email')."</span>");
-$helperInstance->addFormNote('birthday', "Geburtstag: <span class=\"persona_data\">".(int)$helperInstance->getValueField('birth_day').".".(int)$helperInstance->getValueField('birth_month').".".(int)$helperInstance->getValueField('birth_year')."</span>");
-
-// Add link placeholder for profile page
-$helperInstance->addFormNote('profile', "Stimmen die Daten noch? {?city_profile?}");
-
-// Ask again for current account password
-$helperInstance->addFormGroup('password', "Bitte gebe zur Best&auml;tigung dein derzeitiges Passwort ein.");
-$helperInstance->addFieldText('password', "Derzeitiges Passwort:");
-$helperInstance->addInputPasswordField('password');
-
-// CAPTCHA enabled?
-if ($helperInstance->ifFormSecuredWithCaptcha()) {
-       $helperInstance->addFormGroup('captcha_user', "Die virtuelle Beantragung von Starthilfe ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, damit du die Starthilfe beantragen kannst.");
-       $helperInstance->addCaptcha();
-} // END - if
-
-// Final notices
-$helperInstance->addFormGroup('buttons', "Sind alle Daten nun korrekt eingegeben? Dann sende sie mit einem Klick einfach ab!");
-$helperInstance->addInputResetButton("Alles nochmal eingeben");
-$helperInstance->addInputSubmitButton("Starthilfe beantragen");
-$helperInstance->addFormNote('data_protection', "Deine Daten werden nach den g&uuml;ltigen Datenschutzgesetzen gespeichert und werden nicht an Dritte weitergegeben. Weiteres dazu siehe Link &quot;Datenschutz&quot;.");
-
-// Flush the finished form
-$helperInstance->flushContent();
-
-// Get link helper for profile link
-$linkInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'city_profile'));
-
-// Add action
-$linkInstance->addActionLinkById('profile', 'profile');
-
-// Flush the finished form
-$linkInstance->flushContent();
-
-// [EOC]
-?>
-<div id="government_frame">
-       <div id="government_header">
-               Virtuelle Beantragung von Starthilfe
-       </div>
-
-       <div id="government_form">
-               {?city_government_startup?}
-       </div>
-</div>
diff --git a/application/city/templates/de/code/action_city_login_government_training.ctp b/application/city/templates/de/code/action_city_login_government_training.ctp
deleted file mode 100644 (file)
index d7d423c..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-// Get form helper instance
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_government_training'));
-
-// Prefetch user instance
-$helperInstance->prefetchValueInstance('user');
-
-// Add main form group
-$helperInstance->addFormNote('reality_warning', "WARNUNG: Bitte dieses Formular nicht mit echten Angaben ausf&uuml;llen!");
-
-// Add group for personal data
-$helperInstance->addFormGroup('persona_data', "Deine pers&ouml;nliche Daten, die f&uuml;r die Kursusteilnahme n&ouml;tig sind:");
-
-// Ask again for current account password
-$helperInstance->addFormGroup('password', "Bitte gebe zur Best&auml;tigung dein derzeitiges Passwort ein.");
-$helperInstance->addFieldText('password', "Derzeitiges Passwort:");
-$helperInstance->addInputPasswordField('password');
-
-// Display email, surname and family name
-$helperInstance->addFormNote('surname', "Vorname: <span class=\"persona_data\">".$helperInstance->getValueField('surname')."</span>");
-$helperInstance->addFormNote('family', "Nachname: <span class=\"persona_data\">".$helperInstance->getValueField('family')."</span>");
-$helperInstance->addFormNote('email', "Email-Adresse: <span class=\"persona_data\">".$helperInstance->getValueField('email')."</span>");
-$helperInstance->addFormNote('birthday', "Geburtstag: <span class=\"persona_data\">".(int)$helperInstance->getValueField('birth_day').".".(int)$helperInstance->getValueField('birth_month').".".(int)$helperInstance->getValueField('birth_year')."</span>");
-
-// Add link placeholder for profile page
-$helperInstance->addFormNote('profile', "Stimmen die Daten noch? {?city_profile?}");
-
-// CAPTCHA enabled?
-if ($helperInstance->ifFormSecuredWithCaptcha()) {
-       $helperInstance->addFormGroup('captcha_user', "Die virtuelle Beantragung eines Trainingkursus ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, um den Trainingskursus zu beantragen.");
-       $helperInstance->addCaptcha();
-} // END - if
-
-// Final notices
-$helperInstance->addFormGroup('buttons', "Sind alle Daten nun korrekt eingegeben? Dann sende sie mit einem Klick einfach ab!");
-$helperInstance->addInputResetButton("Alles nochmal eingeben");
-$helperInstance->addInputSubmitButton("Trainingskurs beantragen");
-$helperInstance->addFormNote('data_protection', "Deine Daten werden nach den g&uuml;ltigen Datenschutzgesetzen gespeichert und werden nicht an Dritte weitergegeben. Weiteres dazu siehe Link &quot;Datenschutz&quot;.");
-
-// Flush the finished form
-$helperInstance->flushContent();
-
-// Get link helper for profile link
-$linkInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'city_profile'));
-
-// Add action
-$linkInstance->addActionLinkById('profile', 'profile');
-
-// Flush the finished form
-$linkInstance->flushContent();
-
-// [EOC]
-?>
-<div id="government_frame">
-       <div id="government_header">
-               Virtuelle Beantragung eines Training-Kursus
-       </div>
-
-       <div id="government_form">
-               {?city_government_training?}
-       </div>
-</div>
diff --git a/application/city/templates/de/code/action_city_login_logout.ctp b/application/city/templates/de/code/action_city_login_logout.ctp
deleted file mode 100644 (file)
index bc534f8..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-// Get helper instance
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'logout_now'));
-
-// Set link text
-$helperInstance->addLinkWithTextById('logout_now');
-
-// Flush the content
-$helperInstance->flushContent();
-
-// Get helper instance
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'return_login'));
-
-// Set link text
-$helperInstance->addLinkWithTextById('return_login');
-
-// Flush the content
-$helperInstance->flushContent();
-
-// [EOC]
-?>
-<div id="logout_box">
-       <div id="logout_header">
-               Willst du dich wirklich aus dem Spiel ausloggen?
-       </div>
-
-       <div id="logouts">
-               {?logout_now?} | {?return_login?}
-       </div>
-</div>
diff --git a/application/city/templates/de/code/action_city_login_profile.ctp b/application/city/templates/de/code/action_city_login_profile.ctp
deleted file mode 100644 (file)
index 26ac26d..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-// Get helper instance for web forms. This will add the opening form-tag to
-// the helper's render cache which is simply a small variable in the class
-// BaseHelper.
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, "city_profile"));
-
-// Pre-fetch field data with a given registry key
-$helperInstance->prefetchValueInstance('user');
-
-// Password can only be changed when the old one is entered and new one twice!
-$helperInstance->addFormGroup('pass', "Neues Passwort einrichten:");
-$helperInstance->addFormSubGroup('pass', "Bitte gebe zum &Auml;ndern deines Passwortes zweimal das gew&uuml;nschte neue Passwort ein.");
-$helperInstance->addFieldText('pass1', "Neues Passwort:");
-$helperInstance->addInputPasswordField('pass1');
-$helperInstance->addFieldText('pass2', "Neues Passwort, Wiederholung:");
-$helperInstance->addInputPasswordField('pass2');
-
-// Display current email
-$helperInstance->addFormNote('current_email', "Derzeitige Email-Adresse: <span class=\"persona_data\">".$helperInstance->getValueField('email')."</span>");
-
-// Only for changing email address
-if ($helperInstance->ifEmailChangeAllowed()) {
-       $helperInstance->addFormGroup('email', "&Auml;nderung deiner Email-Addresse:");
-       $helperInstance->addFormSubGroup('email', "Gebe nur deine Email-Adresse zweimal ein, wenn du diese &auml;ndern m&ouml;chtest!");
-       $helperInstance->addFieldText('email1', "Email-Adresse:");
-       $helperInstance->addInputTextField('email1');
-       $helperInstance->addFieldText('email2', "Wiederholung Email-Adresse:");
-       $helperInstance->addInputTextField('email2');
-
-       if ($helperInstance->ifEmailMustBeUnique()) {
-               $helperInstance->addFormNote('email', "Die von dir eingegebene Email-Adresse darf nur einmal im Spiel verwendet worden sein.");
-       } // END - if
-
-       if ($helperInstance->ifEmailChangeRequireConfirmation()) {
-               $helperInstance->addFormNote('confirm', "Es wird ein Best&auml;tigungslink an deine neue Email-Adresse gesendet. Bitte klicke diesen dann m&ouml;glichst schnell an.");
-       } // END - if
-} // END - if
-
-// Add form group for user profile
-$helperInstance->addFormGroup('profile', "Hier kannst du deine Profildaten &auml;ndern.");
-
-// Persoenliche Daten mit in der Anmeldung abfragen?
-if ($helperInstance->ifRegisterIncludesPersonaData()) {
-       $helperInstance->addFormSubGroup('persona', "Wenn du magst, dann vervollst&auml;ndige deine komplette Adresse mit deinem Namen.");
-       $helperInstance->addFieldText('surname', "Dein Vorname:");
-       $helperInstance->addInputTextFieldWithDefault('surname');
-       $helperInstance->addFieldText('family', "Dein Nachname:");
-       $helperInstance->addInputTextFieldWithDefault('family');
-       $helperInstance->addFieldText('street', "Strasse und Hausnummer:");
-       $helperInstance->addInputTextFieldWithDefault('street');
-       $helperInstance->addFieldText('city', "Wohnort:");
-       $helperInstance->addInputTextFieldWithDefault('city');
-
-       // Include birthday?
-       if ($helperInstance->ifProfileIncludesBirthDay()) {
-               $helperInstance->addFormSubGroup('birthday', "Verrate uns doch dein Geburtsdatum, als Dankesch&ouml;n erh&auml;lst du interessante Pr&auml;mien - ausschliesslich per Email - zum Geburtstag zugesandt! G&uuml;ltiges Format: TT.MM.JJJJ");
-               $helperInstance->addInputTextField('birth_day');
-               $helperInstance->addFieldText('birth_day', ".");
-               $helperInstance->addInputTextField('birth_month');
-               $helperInstance->addFieldText('birth_day', ".");
-               $helperInstance->addInputTextField('birth_year');
-       } // END - if
-} // END - if
-
-// Add sub group for zip code
-$helperInstance->addFormSubGroup('zip', "Magst du uns auch deine Postleitzahl verraten?");
-$helperInstance->addFieldText('zip', "Postleitzahl:");
-$helperInstance->addInputTextFieldWithDefault('zip');
-
-// Add sub group for chat protocols
-$helperInstance->addFormSubGroup('chat', "Gebe hier deine Nicknames bzw. Nummern an:");
-
-// Add ICQ chat?
-if ($helperInstance->ifChatEnabled('icq')) {
-       $helperInstance->addFieldText('icq', "ICQ-Nummer:");
-       $helperInstance->addInputTextFieldWithDefault('icq');
-} // END - if
-
-// Add Jabber chat?
-if ($helperInstance->ifChatEnabled('jabber')) {
-       $helperInstance->addFieldText('jabber', "Jabber:");
-       $helperInstance->addInputTextFieldWithDefault('jabber');
-} // END - if
-
-// Add Yahoo! chat?
-if ($helperInstance->ifChatEnabled('yahoo')) {
-       $helperInstance->addFieldText('yahoo', "Yahoo!:");
-       $helperInstance->addInputTextFieldWithDefault('yahoo');
-} // END - if
-
-// Add AOL chat?
-if ($helperInstance->ifChatEnabled('aol')) {
-       $helperInstance->addFieldText('aol', "AOL-Screenname:");
-       $helperInstance->addInputTextFieldWithDefault('aol');
-} // END - if
-
-// Add MSN chat?
-if ($helperInstance->ifChatEnabled('msn')) {
-       $helperInstance->addFieldText('msn', "MSN:");
-       $helperInstance->addInputTextFieldWithDefault('msn');
-} // END - if
-
-if (!$helperInstance->ifRegisterRequiresEmailVerification()) {
-       $helperInstance->addFormExtraNote(1, "Die Benachrichtigungen per Email sind im Loginbereich verfeinerbar, welche du genau haben willst.");
-} // END - if
-
-// Rules already accepted?
-if ($helperInstance->ifRulesHaveChanged()) {
-       $helperInstance->addFormGroup('rules', "Bitte lese dir die Spieleregeln gut durch und kreuze dann &quot;Ja, ich akzeptiere die aktuellen Spielregeln&quot; an.");
-       $helperInstance->addFieldText('rules', "Ja, ich akzeptiere die aktuellen Spielregeln:");
-       $helperInstance->addInputCheckboxField('rules', false);
-} else {
-       $helperInstance->addFormNote('rules_accepted', "Du hast die aktuellen Spielregeln akzeptiert. Vielen Dank!");
-       $helperInstance->addInputHiddenField('rules', "1");
-}
-
-// CAPTCHA enabled?
-if ($helperInstance->ifFormSecuredWithCaptcha()) {
-       $helperInstance->addFormGroup('captcha_user', "Das &Auml;ndern von Profildaten ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, damit deine &Auml;nderungen gespeichert werden k&ouml;nnen.");
-       $helperInstance->addCaptcha();
-} // END - if
-
-// Ask again for current account password
-$helperInstance->addFormGroup('pass_old', "Bitte gebe zur Best&auml;tigung der &Auml;nderungen dein derzeitiges Passwort ein.");
-$helperInstance->addFieldText('pass_old', "Derzeitiges Passwort:");
-$helperInstance->addInputPasswordField('pass_old');
-
-// Final notices
-$helperInstance->addFormGroup('buttons', "Sind alle Daten nun korrekt eingegeben? Dann sende sie mit einem Klick einfach ab!");
-$helperInstance->addInputResetButton("Alles nochmal eingeben");
-$helperInstance->addInputSubmitButton("Accountdaten aktualisieren");
-$helperInstance->addFormNote('data_protection', "Deine Daten werden nach den g&uuml;ltigen Datenschutzgesetzen gespeichert und werden nicht an Dritte weitergegeben. Weiteres dazu siehe Link &quot;Datenschutz&quot;.");
-
-// Flush finished form
-$helperInstance->flushContent();
-
-// [EOC]
-?>
-<div id="content_header">
-       Deine Profildaten bearbeiten
-</div>
-
-<div id="profile_box">
-       {?city_profile?}
-</div>
diff --git a/application/city/templates/de/code/action_city_login_status_problem.ctp b/application/city/templates/de/code/action_city_login_status_problem.ctp
deleted file mode 100644 (file)
index 813840f..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-// Get helper instance for web forms. This will add the opening form-tag to
-// the helper's render cache which is simply a small variable in the class
-// BaseHelper.
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'resend_link'));
-
-// Pre-fetch field data with a given registry key
-$helperInstance->prefetchValueInstance('user');
-
-// Add submit button or notice
-if ($helperInstance->ifUserAccountUnconfirmed()) {
-       // Add submit button
-       $helperInstance->addInputHiddenFieldWithDefault('email');
-       $helperInstance->addInputSubmitButton("Best&auml;tigungslink erneut aussenden");
-} elseif ($helperInstance->ifUserAccountLocked()) {
-       // Account is locked
-       $helperInstance->addFormNote('status_locked', "Dein Account wurde gesperrt! Grund der Sperre:
-               <span id=\"lock_reason\">".$helperInstance->getValueField('lock_reason')."</span>
-               Bitte melde dich beim Support, damit dieser dir weiterhelfen kann."
-       );
-} elseif ($helperInstance->ifUserAccountGuest()) {
-       // Account is guest account
-       $helperInstance->addFormNote('status_guest', "G&auml;steaccounts sind in der Funktionalit&auml;t
-               leicht eingeschr&auml;nkt. Bitte melde dich an, damit du ein
-               vollwertiges Account bekommst."
-       );
-}
-
-// Flush content and automatically close the form
-$helperInstance->flushContent();
-
-// Build the form for confirmation
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'confirm_code'));
-
-// Pre-fetch field data with a given registry key
-$helperInstance->prefetchValueInstance('user');
-
-if ($helperInstance->ifUserAccountUnconfirmed()) {
-       // Add code box
-       $helperInstance->addFormGroup('code', "Bitte gebe hier den Best&auml;tigungscode aus der Willkommensemail ein. Solltest du diese nicht erhalten haben, kannst du dir diesen jetzt zusenden lassen.");
-       $helperInstance->addFieldText('code', "Best&auml;tigungscode aus der Mail:");
-       $helperInstance->addInputTextField('code');
-
-       // Add submit button
-       $helperInstance->addFormGroup('buttons', "Bitte einmal abschicken und das Ergebnis abwarten!");
-       $helperInstance->addInputResetButton("Nochmal eingeben");
-       $helperInstance->addInputSubmitButton("Best&auml;tigungscode absenden");
-} else {
-       // Add message
-       $helperInstance->addFormNote('status_not_unconfirmed', "M&ouml;glicherweise hast du einen Best&auml;tigungslink angeklickt, obwohl dein Account bereits freigegeben oder gesperrt ist.");
-}
-
-// Flush content and automatically close the form
-$helperInstance->flushContent();
-
-// [EOC]
-?>
-<div id="content_header">
-       Problem mit deinem Account gefunden:
-</div>
-
-<div id="status_box">
-       Du bist m&ouml;glicherweise f&uuml;r deine ausgew&auml;hlte Aktion nicht
-       berechtigt oder du hast noch deine Email-Adresse nicht best&auml;tigt. Du
-       kannst dir nun den Best&auml;tigungslink erneut aussenden lassen, oder den
-       Best&auml;tigungscode unten eingeben.
-
-       <div id="resend_link_box">
-               {?resend_link?}
-       </div>
-
-       <div id="confirm_code_header">
-               Weitere M&ouml;glichkeiten:
-       </div>
-
-       <div id="confirm_code_box">
-               {?confirm_code?}
-       </div>
-</div>
diff --git a/application/city/templates/de/code/action_city_login_welcome.ctp b/application/city/templates/de/code/action_city_login_welcome.ctp
deleted file mode 100644 (file)
index 550d73c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<div id="news_frame">
-       {?city_login_news?}
-</div>
diff --git a/application/city/templates/de/code/block_persona_data.ctp b/application/city/templates/de/code/block_persona_data.ctp
deleted file mode 100644 (file)
index 3b50438..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-// Get a helper instance for the profile link (and maybe later more!)
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'profile'));
-
-// Prefetch user instance
-$helperInstance->prefetchValueInstance('user');
-
-// Flush the content out
-$helperInstance->flushContent();
-
-// [EOC]
-?>
-<div id="user_name_div" class="block_cell">
-       Spielername: <span id="user_name">{?block_username?}</span>
-</div>
-<div id="user_status_div" class="block_cell">
-       Spielerstatus: <span id="user_status">{?block_user_status?}</span>
-</div>
-<div id="user_points_div" class="block_cell">
-       Kontostand: <span id="user_points">{?block_points?} {?currency?}</span>
-</div>
-<div id="user_profile_div" class="block_cell">
-       {?profile?}
-</div>
-<div id="user_registered_div" class="block_cell">
-       Angemeldet seit: <span id="registered">{?block_registered?}</span>
-</div>
diff --git a/application/city/templates/de/code/captch_graphic_code.ctp b/application/city/templates/de/code/captch_graphic_code.ctp
deleted file mode 100644 (file)
index 6e89dfc..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-// Get a helper instance without a form tag
-$captchaHelper = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'captcha_code', false, false));
-
-// Add input field with text for CAPTCHA code
-$captchaHelper->addFieldText('captcha_code', "Bitte wiederhole den Code:");
-$captchaHelper->addInputTextField('c_code');
-
-// Add hidden field with validation hash
-$captchaHelper->addInputHiddenField('hash', $this->readVariable('captcha_hash'));
-
-// Flush content
-$captchaHelper->flushContent();
-
-// [EOC]
-?>
-<div class="captcha_image">
-       <img src="{?base_url?}/index.php?app={?app_short_name?}&amp;command=code_captcha&amp;encrypt={?encrypted_code?}&amp;request=image"
-        alt="CAPTCHA-Bild" title="CAPTCHA-Bild" class="captcha_img" />
-</div>
-<div class="captcha_code">
-       {?captcha_code?}
-</div>
diff --git a/application/city/templates/de/code/city_main.ctp b/application/city/templates/de/code/city_main.ctp
deleted file mode 100644 (file)
index a83364f..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-{?header?}
-
-<div id="master">
-<div id="main_header">
-       {?city_header?}
-</div>
-
-<div id="menu">
-       {?menu?}
-</div>
-
-<div id="advert">
-       {?nav_advert?}
-</div>
-
-<div id="language">
-       {?language_selector?}
-</div>
-
-<div id="main_content">
-       {?main_content?}
-</div>
-
-<div id="main_footer">
-       {?city_footer?}
-</div>
-</div>
-
-{?footer?}
diff --git a/application/city/templates/de/code/confirm_link.ctp b/application/city/templates/de/code/confirm_link.ctp
deleted file mode 100644 (file)
index bf8e6a6..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-// Get helper instance
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'direct_login'));
-
-// Set link text
-$helperInstance->addLinkWithTextById('direct_login');
-
-// Flush the content
-$helperInstance->flushContent();
-
-// [EOC]
-?>
-<div id="content_header">
-       Best&auml;tigung Deiner Email-Adresse:
-</div>
-
-<div id="content_body">
-       Hallo <span class="data_username">{?username?}</span>! Du hast heute deine
-       Email-Addresse best&auml;tigt, wodurch alle Spielefunktionen entsperrt
-       worden sind. Viel Spass beim Spielen!
-</div>
-
-<div id="content_footer">
-       {?direct_login?}
-</div>
diff --git a/application/city/templates/de/code/emergency_exit.ctp b/application/city/templates/de/code/emergency_exit.ctp
deleted file mode 100644 (file)
index e974daf..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-{?header:title="Problem in application framework detected!"?}
-
-<div id="emergency_message">
-       $content[message]
-</div>
-
-<div id="emergency_backtrace">
-       <div id="backtrace_header">
-               File inclusion backtrace:
-       </div>
-       <div id="backtrace_content">
-               $content[backtrace]
-       </div>
-</div>
-
-<div id="stats_box">
-       <div id="stats_header">
-               Statistics
-       </div>
-       <div id="stats_objects">
-               Total objects: $content[total_objects]
-       </div>
-       <div id="stats_includes">
-               Loaded class files: $content[total_includes]
-               <span class="hint">(Including exception and interfaces.)</span>
-       </div>
-</div>
-
-{?footer_msg:footer_msg="Please contact the support and supply the full above message, if you think you are not qualified to fix this problem."?}
diff --git a/application/city/templates/de/code/footer.ctp b/application/city/templates/de/code/footer.ctp
deleted file mode 100644 (file)
index aa82e68..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-</div> <!-- masterbox //-->
-
-</body>
-</html>
diff --git a/application/city/templates/de/code/header.ctp b/application/city/templates/de/code/header.ctp
deleted file mode 100644 (file)
index 6f2518f..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-<head>
-       <title>
-               {?app_full_name?} - {?title?}
-       </title>
-
-       <meta name="author" content="{?meta_author?}" />
-       <meta name="publisher" content="{?meta_publisher?}" />
-       <meta name="keywords" content="{?meta_keywords?}" />
-       <meta name="robots" content="index,follow" />
-       <meta name="description" content="{?meta_description?}" />
-       <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-       <meta http-equiv="content-style-type" content="text/css" />
-       <meta http-equiv="content-script-type" content="text/javascript" />
-       <meta http-equiv="language" content="de" />
-       {?header_extras_hook?}
-</head>
-
-<body>
-<div id="masterbox">
diff --git a/application/city/templates/de/code/home.ctp b/application/city/templates/de/code/home.ctp
deleted file mode 100644 (file)
index fe59655..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<div id="content_header">
-       Willkommen zum <span class="app_name">{?app_full_name?}</span>
-</div>
-
-<div id="news_frame">
-       {?city_news?}
-</div>
-
-<div id="welcome">
-       Hier wird der Gast zum Spiel begr&uuml;sst.
-</div>
diff --git a/application/city/templates/de/code/login_failed.ctp b/application/city/templates/de/code/login_failed.ctp
deleted file mode 100644 (file)
index 699b5a5..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-// Get helper instance
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'login_retry'));
-
-// Set link text
-$helperInstance->addLinkWithTextById('login_retry');
-
-// Flush the content
-$helperInstance->flushContent();
-
-// [EOC]
-?>
-<div id="content_header">
-       Du bist nicht mehr im Spiel eingeloggt!
-</div>
-
-<div id="content_body">
-       <div id="login_failed_header">
-               Du bist nicht mehr in <span class="app_name">{?app_full_name?}</span> eingeloggt.
-               Dies kann verschiedene Gr&uuml;nde haben:
-       </div>
-
-       <ol id="login_failed_list">
-               <li>Dein Browser nimmt keine Cookies an.</li>
-               <li>Du hast den Loginbereich aus deinen Bookmarks/Favoriten aufgerufen
-                       und die Cookies sind gel&ouml;scht.</li>
-               <li>Es besteht ein Problem mit dem Server, wof&uuml;r du meistens nichts
-                       kannst. Bitte kontaktiere den Support, falls dieses Problem
-                       weiterhin besteht.</li>
-       </ol>
-
-       <div id="login_failed_footer">
-               Wenn du den Support kontaktierst, halte bitte s&auml;mtliche relevante
-               Informationen - <span class="important_note">nicht aber dein Passwort</span>
-               - bereit. Du kannst auch einen Screenshot dieser Seite anfertigen und dem
-               Support diesen senden!
-       </div>
-</div>
-
-<div id="content_footer">
-       <div id="login_retry">
-               {?login_retry?}
-       </div>
-
-       Vielen Dank f&uuml;r deine Mitarbeit! :-)
-</div>
diff --git a/application/city/templates/de/code/login_form.ctp b/application/city/templates/de/code/login_form.ctp
deleted file mode 100644 (file)
index 272567c..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-// Get helper instance for web forms. This will add the opening form-tag to
-// the helper's render cache which is simply a small variable in the class
-// BaseHelper.
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_user_login'));
-
-// Is the form enabled?
-if ($helperInstance->ifLoginIsEnabled()) {
-       // Form is active
-       $helperInstance->addFormGroup('login', "Gebe hier deine Logindaten ein:");
-
-       // Which login method has been configured?
-       if ($helperInstance->ifLoginWithUsername()) {
-               // Login with user name only
-               $helperInstance->addFormSubGroup('username', "Bitte mit deinem Nickname einloggen.");
-               $helperInstance->addFieldText('username', "Dein Nickname:");
-               $helperInstance->addInputTextField('username');
-       } elseif ($helperInstance->ifLoginWithEmail()) {
-               // Login with email address only
-               $helperInstance->addFormSubGroup('email', "Bitte mit deiner Email-Adresse einloggen.");
-               $helperInstance->addFieldText('email', "Deine Email-Addresse:");
-               $helperInstance->addInputTextField('email');
-       } else {
-               // Login with email address or user name
-               $helperInstance->addFormSubGroup('user_email', "Bitte mit deinem Nickname oder Email-Adresse einloggen.");
-               $helperInstance->addFieldText('user_email', "Dein Nickname/Email:");
-               $helperInstance->addInputTextField('user_email');
-       }
-
-       // Add password input field
-       $helperInstance->addFormSubGroup('pass', "Gebe dein Passwort von der Anmeldung ein.");
-       $helperInstance->addFieldText('pass', "Dein Passwort:");
-       $helperInstance->addInputPasswordField('pass');
-
-       // CAPTCHA enabled?
-       if ($helperInstance->ifFormSecuredWithCaptcha()) {
-               $helperInstance->addFormGroup('captcha_user', "Das Benutzer-Login ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, damit du dich einloggen kannst.");
-               $helperInstance->addCaptcha();
-       } // END - if
-
-       // Submit buttons
-       $helperInstance->addFormGroup('buttons_user', "Alles richtig eingegeben?");
-       $helperInstance->addInputResetButton("Formular leeren");
-       $helperInstance->addInputSubmitButton("Zum Spiel einloggen");
-} else {
-       // Form is inactive
-       $helperInstance->addFormNote('form_deactivated', "Einloggen in&#39;s Spiel ist derzeit administrativ deaktiviert worden. Bitte komme sp&auml;ter noch mal wieder.");
-       $helperInstance->addFormNote('admin_notice', "Nachricht vom Admin: <span id=\"disabled_reason\">".$this->getConfigInstance()->readConfig('login_disabled_reason')."</span>");
-}
-
-// Formular schliessen
-$helperInstance->flushContent();
-
-// Ist Gastlogin erlaubt?
-if ($helperInstance->ifGuestLoginAllowed()) {
-       // Neue Helper-Instanz holen
-       $helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_guest_login'));
-       $helperInstance->addInputHiddenConfiguredField('user', 'guest_login');
-       $helperInstance->addInputHiddenConfiguredField('passwd', 'guest_login');
-
-       // CAPTCHA enbaled?
-       if ($helperInstance->ifFormSecuredWithCaptcha()) {
-               $helperInstance->addFormGroup('captcha_guest', "Unser Gast-Login ist durch ein CAPTCHA gesch&uuml;tzt. Bitte wiederhole den angezeigten Code, damit du dich einloggen kannst.");
-               $helperInstance->addCaptcha();
-       } // END - if
-
-       // Submit button
-       $helperInstance->addFormGroup('buttons_guest', "Gastlogins sind in der Funkionsweise eingeschr&auml;nkt. Mehr dazu unter &quot;Gastlogin&quot;.");
-       $helperInstance->addInputSubmitButton("Als Gast einloggen");
-       $helperInstance->flushContent();
-}
-
-// Get helper instance
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'register'));
-
-// Set link text
-$helperInstance->addLinkWithTextById('register_login');
-
-// Flush the content
-$helperInstance->flushContent();
-
-// [EOC]
-?>
-<div id="content_header">
-       Einloggen zu <span class="app_name">{?app_full_name?}</span>
-</div>
-
-<div id="content_body">
-       <div id="login_box">
-               {?city_user_login?}
-       </div>
-
-       <div id="guest_login">
-               {?city_guest_login?}
-       </div>
-</div>
-
-<div id="content_footer">
-       Noch kein Spieleaccount? {?register?}
-</div>
diff --git a/application/city/templates/de/code/login_main.ctp b/application/city/templates/de/code/login_main.ctp
deleted file mode 100644 (file)
index fb818fe..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-///////////////////////////////
-// Assign personal user data //
-///////////////////////////////
-
-// Get a new instance for personal data
-$blockInstance = ObjectFactory::createObjectByConfiguredName('html_block_helper_class', array($this, 'persona_data'));
-
-// Set the data source instance which must exist in registry
-$blockInstance->prefetchValueInstance('user', 'user_points');
-
-// Assign fields with template variables
-$blockInstance->assignField('username');
-$blockInstance->assignFieldWithFilter('user_status', 'user_status_translator');
-$blockInstance->assignFieldWithFilter('points', 'format_number');
-
-// Shall we include registration date?
-if ($blockInstance->ifIncludeRegistrationStamp()) {
-       // Then assign it as well!
-       $blockInstance->assignFieldWithFilter('registered', 'format_timestamp');
-} // END - if
-
-// Flush the content out to a template variable
-$blockInstance->flushContent();
-
-// Get helper instance
-$linkInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'logout'));
-
-// Add action
-$linkInstance->addActionLinkById('logout', 'logout');
-
-// Flush the content
-$linkInstance->flushContent();
-
-// [EOC]
-?>
-<div id="content_header">
-       Willkommen im Loginbereich von <span class="app_name">{?app_full_name?}</span>!
-</div>
-
-<div id="content_body">
-       {?login_content?}
-</div>
-
-<div id="persona_data" title="Informationen zu Deinem Spieleaccount">
-       <div id="persona_header">
-               Account-Infos:
-       </div>
-
-       <div id="persona_body">
-               {?persona_data?}
-       </div>
-
-       <div id="logout">
-               {?logout?}
-       </div>
-</div>
diff --git a/application/city/templates/de/code/logout_done.ctp b/application/city/templates/de/code/logout_done.ctp
deleted file mode 100644 (file)
index 59c8cbc..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-// Get helper instance
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_link_helper_class', array($this, 'relogin'));
-
-// Set link text
-$helperInstance->addLinkWithTextById('relogin');
-
-// Flush the content
-$helperInstance->flushContent();
-
-// [EOC]
-?>
-<div id="content_header">
-       Du bist jetzt aus dem Spiel ausgeloggt!
-</div>
-
-<div id="content_body">
-       Du kannst dich nun {?relogin?} oder weiter auf unseren Seiten bleiben. ;-)
-</div>
diff --git a/application/city/templates/de/code/mail_debug.ctp b/application/city/templates/de/code/mail_debug.ctp
deleted file mode 100644 (file)
index e62dd07..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<div class="debug_header">
-       Mail-Debug-Ausgabe:
-</div>
-
-<div class="mail_header">
-       <div class="mail_header_line">
-               <span class="mail_sender">Von:</span> <span class="mail_info">{?sender?}</span>
-       </div>
-       <div class="mail_header_line">
-               <span class="mail_recipient">An:</span> <span class="mail_info">{?recipient?}</span>
-       </div>
-       <div class="mail_header_line">
-               <span class="mail_subject">Betreff:</span> <span class="mail_info">{?subject?}</span>
-       </div>
-</div>
-
-<div class="mail_text_box">
-       <div class="mail_message">
-               Nachricht:
-       </div>
-
-       <div class="mail_content">
-               {?message?}
-       </div>
-</div>
diff --git a/application/city/templates/de/code/menu_block.ctp b/application/city/templates/de/code/menu_block.ctp
deleted file mode 100644 (file)
index 454ccf1..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<div id="{?title_id?}" class="{?title_class?}">
-       {?title_text?}
-</div>
-
-<ul>
-{?block_content?}
-</ul>
-
-<div id="{?footer_id?}" class="{?footer_class?}">
-       {?footer_text?}
-</div>
diff --git a/application/city/templates/de/code/menu_entry.ctp b/application/city/templates/de/code/menu_entry.ctp
deleted file mode 100644 (file)
index e30bd8c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<li id="{?entry_id?}">
-       <a id="{?anchor_id?}" href="{?anchor_href?}" title="{?anchor_title?}">{?anchor_text?}</a>
-</li>
diff --git a/application/city/templates/de/code/register_form.ctp b/application/city/templates/de/code/register_form.ctp
deleted file mode 100644 (file)
index db0103c..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php
-// Get helper instance for web forms. This will add the opening form-tag to
-// the helper's render cache which is simply a small variable in the class
-// BaseHelper.
-$helperInstance = ObjectFactory::createObjectByConfiguredName('html_form_helper_class', array($this, 'city_register'));
-
-// Always ask at least for nickname and password
-$helperInstance->addFormGroup('login', "Bitte gebe hier gew&uuml;nschten Nickname und dein Zugangspasswort ein.");
-$helperInstance->addFormSubGroup('username', "Dein Nickname wird erst nach Absenden des Formulares gepr&uuml;ft. Sp&auml;ter bauen wir dann einen automatischen Test ein, der dir sofort zeigt, ob der Nickname bereits vergeben ist.");
-$helperInstance->addFieldText('username', "Nickname im Spiel:");
-$helperInstance->addInputTextField('username');
-$helperInstance->addFormSubGroup('pass', "Dein Passwort sollte nicht zu leicht erratbar sein. Sp&auml;ter bauen wir hier noch einen automatischen Test ein, der dir sofort die Passwortst&auml;rke anzeigt.");
-$helperInstance->addFieldText('pass1', "Passwort:");
-$helperInstance->addInputPasswordField('pass1');
-$helperInstance->addFieldText('pass2', "Passwortwiederholung:");
-$helperInstance->addInputPasswordField('pass2');
-
-// Does this registration require an email?
-if ($helperInstance->ifRegisterRequiresEmailVerification()) {
-       $helperInstance->addFormGroup('email', "Bitte gebe deine Email zweimal (ein zweites Mal zur Best&auml;tigung) ein, damit wir dir deinen Freischaltlink zusenden k&ouml;nnen.");
-       $helperInstance->addFieldText('email1', "Email-Adresse:");
-       $helperInstance->addInputTextField('email1');
-       $helperInstance->addFieldText('email2', "Wiederholung Email-Adresse:");
-       $helperInstance->addInputTextField('email2');
-
-       // Must the email address be unique in this system?
-       if ($helperInstance->ifEmailMustBeUnique()) {
-               $helperInstance->addFormNote('email', "Die von dir eingegebene Email-Adresse darf nur einmal im Spiel verwendet worden sein.");
-       } // END - if
-} // END - if
-
-// Shall we also ask some personal data to complete the profile?
-if ($helperInstance->ifRegisterIncludesProfile()) {
-       $helperInstance->addFormGroup('profile', "Hier kannst du zus&auml;tzlich deine Profildaten vorweg eingeben, du kannst sie aber auch nach dem Login vervollst&auml;ndigen!");
-
-       if (!$helperInstance->ifRegisterRequiresEmailVerification()) {
-               $helperInstance->addFormSubGroup('email', "Die Angabe deiner Email-Adresse ist nur dann n&ouml;tig, wenn du auch Email-Benachrichtigungen (<span id=\"add_note\">*1</span>) haben m&ouml;chtest.");
-               $helperInstance->addFieldText('email1', "Email-Adresse:");
-               $helperInstance->addInputTextField('email1');
-
-               // Must the email address be unique in this system?
-               if ($helperInstance->ifEmailMustBeUnique()) {
-                       $helperInstance->addFormNote('email', "Die von dir eingegebene Email-Adresse darf nur einmal im Spiel verwendet worden sein.");
-               } // END - if
-       } // END - if
-
-       // Persoenliche Daten mit in der Anmeldung abfragen?
-       if ($helperInstance->ifRegisterIncludesPersonaData()) {
-               $helperInstance->addFormSubGroup('persona', "Wenn du magst, dann vervollst&auml;ndige deine komplette Adresse mit deinem Namen.");
-               $helperInstance->addFieldText('surname', "Dein Vorname:");
-               $helperInstance->addInputTextField('surname');
-               $helperInstance->addFieldText('family', "Dein Nachname:");
-               $helperInstance->addInputTextField('family');
-               $helperInstance->addFieldText('street', "Strasse und Hausnummer:");
-               $helperInstance->addInputTextField('street');
-               $helperInstance->addFieldText('city', "Wohnort:");
-               $helperInstance->addInputTextField('city');
-
-               // Include birthday?
-               if ($helperInstance->ifProfileIncludesBirthDay()) {
-                       $helperInstance->addFormSubGroup('birthday', "Verrate uns doch dein Geburtsdatum, als Dankesch&ouml;n erh&auml;lst du interessante Pr&auml;mien - ausschliesslich per Email - zum Geburtstag zugesandt! G&uuml;ltiges Format: TT.MM.JJJJ");
-                       $helperInstance->addInputTextField('birth_day');
-                       $helperInstance->addFieldText('birth_day', ".");
-                       $helperInstance->addInputTextField('birth_month');
-                       $helperInstance->addFieldText('birth_day', ".");
-                       $helperInstance->addInputTextField('birth_year');
-               } // END - if
-       } // END - if
-
-       $helperInstance->addFormSubGroup('zip', "Magst du uns auch deine Postleitzahl verraten?");
-       $helperInstance->addFieldText('zip', "Postleitzahl:");
-       $helperInstance->addInputTextField('zip');
-
-       $helperInstance->addFormSubGroup('chat', "Gebe hier deine Nicknames bzw. Nummern an:");
-
-       if ($helperInstance->ifChatEnabled('icq')) {
-               $helperInstance->addFieldText('icq', "ICQ-Nummer:");
-               $helperInstance->addInputTextField('icq');
-       } // END - if
-
-       if ($helperInstance->ifChatEnabled('jabber')) {
-               $helperInstance->addFieldText('jabber', "Jabber:");
-               $helperInstance->addInputTextField('jabber');
-       } // END - if
-
-       if ($helperInstance->ifChatEnabled('yahoo')) {
-               $helperInstance->addFieldText('yahoo', "Yahoo!:");
-               $helperInstance->addInputTextField('yahoo');
-       } // END - if
-
-       if ($helperInstance->ifChatEnabled('aol')) {
-               $helperInstance->addFieldText('aol', "AOL-Screenname:");
-               $helperInstance->addInputTextField('aol');
-       } // END - if
-
-       if ($helperInstance->ifChatEnabled('msn')) {
-               $helperInstance->addFieldText('msn', "MSN:");
-               $helperInstance->addInputTextField('msn');
-       } // END - if
-
-       if (!$helperInstance->ifRegisterRequiresEmailVerification()) {
-               $helperInstance->addFormExtraNote(1, "Die Benachrichtigungen per sind im Loginbereich verfeinerbar, welche du genau haben willst.");
-       } // END - Extra note
-
-} // END - ask profile data
-
-// Spielregeln abfragen
-$helperInstance->addFormGroup('rules', "Bitte lese dir die Spieleregeln gut durch und kreuze dann &quot;Ja, ich akzeptiere die aktuellen Spielregeln&quot; an.");
-$helperInstance->addFieldText('rules', "Ja, ich akzeptiere die aktuellen Spielregeln:");
-$helperInstance->addInputCheckboxField('rules', false);
-
-// Add CAPTCHA?
-if ($helperInstance->ifFormSecuredWithCaptcha()) {
-       $helperInstance->addFormGroup('captcha', "Bitte wiederhole den angezeigten Code damit die Anmeldung abgeschlossen werden kann.");
-       $helperInstance->addCaptcha();
-} // END - if
-
-// Final note and submit buttons
-$helperInstance->addFormGroup('buttons', "Wenn du alle ben&ouml;tigten Felder korrekt ausgef&uuml;t hast, kannst du die Anmeldung abschliessen.");
-
-$helperInstance->addInputResetButton("Alles nochmal eingeben");
-$helperInstance->addInputSubmitButton("Anmeldung zum Spiel abschliessen");
-$helperInstance->addFormNote('data_protection', "Deine Daten werden nach den g&uuml;ltigen Datenschutzgesetzen gespeichert und werden nicht an Dritte weitergegeben. Weiteres dazu siehe Link &quot;Datenschutz&quot;.");
-$helperInstance->flushContent();
-
-// [EOC]
-?>
-<div id="content_header">
-       Anmeldung bei <span class="app_name">{?app_full_name?}</span>
-</div>
-
-<div id="register_box">
-       {?city_register?}
-</div>
diff --git a/application/city/templates/de/emails/.htaccess b/application/city/templates/de/emails/.htaccess
deleted file mode 100644 (file)
index 3a42882..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Deny from all
diff --git a/application/city/templates/de/emails/text_resend_link.tpl b/application/city/templates/de/emails/text_resend_link.tpl
deleted file mode 100644 (file)
index 9b79056..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<text-mail>
-       <mail-data>
-               <sender-address value="{?admin_email?}" />
-               <subject-line><![CDATA[Anforderung deines Best&auml;tigungslinks]]></subject-line>
-               <recipient-address value="{?email?}" />
-               <message>
-               <![CDATA[Hallo {?username?}!
-
-Du (oder ein anderer) hattest soeben deinen Best&auml;tigungslink erneut angefordert. Solltest du dies nicht gewesen sein, bitten wir dich den Vorfall zu entschuldigen.
-
-Hier ist nun dein Best&auml;tigungslink. Der alte aus der Anmeldemail ist somit nicht mehr g&uuml;ltig!
-
-{?base_url?}/index.php?app={?app_short_name?}&command=confirm&username={?username?}&confirm={?confirm_hash?}
-
-Solltest du die URL nicht anklicken k&ouml;nnen, versuche diese in die Adresszeile deines Browsers zu kopieren.
-
-Alternativ kannst du im Spielebereich unter Best&auml;tigungscode den folgenden Code reinkopieren oder eingeben:
-
-{?confirm_hash?}
-
-Solltest du Fragen dazu oder Probleme mit der Best&auml;tigung haben, so melde dich bitte beim Support-Team.
-
-Mit freundlichen Gr&uuml;&szlig;en,
-  Dein {?app_short_name?}-Team
-
-{?mail_footer?}]]>
-               </message>
-       </mail-data>
-</text-mail>
diff --git a/application/city/templates/de/html/.htaccess b/application/city/templates/de/html/.htaccess
deleted file mode 100644 (file)
index 3a42882..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Deny from all
diff --git a/application/city/templates/de/image/.htaccess b/application/city/templates/de/image/.htaccess
deleted file mode 100644 (file)
index 3a42882..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Deny from all
diff --git a/application/city/templates/de/image/base_code.xml b/application/city/templates/de/image/base_code.xml
deleted file mode 100644 (file)
index 5de71be..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<image>
-       <type value="{?image_type?}" />
-       <base>
-               <name value="{?image_name?}" />
-       </base>
-       <resolution>
-               <width value="{?image_width?}" />
-               <height value="{?image_height?}" />
-       </resolution>
-       <background-color>
-               <red value="{?image_bg_red?}" />
-               <green value="{?image_bg_green?}" />
-               <blue value="{?image_bg_blue?}" />
-       </background-color>
-       <foreground-color>
-               <red value="{?image_fg_red?}" />
-               <green value="{?image_fg_green?}" />
-               <blue value="{?image_fg_blue?}" />
-       </foreground-color>
-       <image-string value="groupable">
-               <string-name value="{?image_string_name?}" />
-               <x value="{?image_x?}" />
-               <y value="{?image_y?}" />
-               <font-size value="{?image_size?}" />
-               <text value="{?image_string?}" />
-       </image-string>
-</image>
diff --git a/application/city/templates/de/image/code_captcha.img b/application/city/templates/de/image/code_captcha.img
deleted file mode 100644 (file)
index 223e4fb..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-// Needed in every image template to initialy set the image type
-$helper = ImageHelper::createImageHelper($this, 'png');
-$helper->setImageName('code_captcha');
-$helper->setBaseImage('base_code');
-
-// Set image dimensions
-$helper->setWidth(100);
-$helper->setHeight(50);
-
-// Get random number
-$rand = $helper->getRngInstance()->randomNumber(0, 6);
-
-// Background and foreground color
-switch ($rand) {
-       case 1:
-               // First varriant
-               $helper->setBackgroundColorRedGreenBlue('rand', 0x90  , 0x00  );
-               $helper->setForegroundColorRedGreenBlue(0x00  , 0xff  , 'rand');
-               break;
-
-       case 2:
-               // Second varriant
-               $helper->setBackgroundColorRedGreenBlue(0x90  , 'rand', 0x00  );
-               $helper->setForegroundColorRedGreenBlue(0xff  , 0x00  , 'rand');
-               break;
-
-       case 3:
-               // Third varriant
-               $helper->setBackgroundColorRedGreenBlue('rand', 0x00  , 0x90  );
-               $helper->setForegroundColorRedGreenBlue(0x00  , 'rand', 0xff  );
-               break;
-
-       case 4:
-               // Forth varriant
-               $helper->setBackgroundColorRedGreenBlue(0x00  , 0x90  , 'rand');
-               $helper->setForegroundColorRedGreenBlue(0x00  , 'rand', 0xa0  );
-               break;
-
-       case 5:
-               // Fith varriant
-               $helper->setBackgroundColorRedGreenBlue('rand', 0x00  , 0x90  );
-               $helper->setForegroundColorRedGreenBlue(0x00  , 0xe0  , 'rand');
-               break;
-
-       default:
-               // Last varriant
-               $helper->setBackgroundColorRedGreenBlue(0x00  , 'rand', 0x90  );
-               $helper->setForegroundColorRedGreenBlue(0xff  , 0x00  , 'rand');
-               break;
-}
-
-// Random X/Y factors...
-$xRand = $helper->getRngInstance()->randomNumber(0, 45);
-$yRand = $helper->getRngInstance()->randomNumber(0, 25);
-
-// Add code
-$helper->addTextLine('code');
-$helper->setCoord((5 + $xRand), (5 + $yRand));
-$helper->setFontSize('rand');
-$helper->setImageString('{?decrypted_code?}');
-
-// Only for debug!
-/*
-$helper->addTextLine('debug');
-$helper->setCoord(90, 35);
-$helper->setFontSize(3);
-$helper->setImageString($rand);
-*/
-
-// Flush content to the template engine
-$helper->flushContent();
-
-// Comment this out if image is done
-//$this->debugInstance();
-
-// [EOF]
-?>
diff --git a/application/city/templates/de/image/emergency_exit.img b/application/city/templates/de/image/emergency_exit.img
deleted file mode 100644 (file)
index bf67aa7..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-// Needed in every image template to initialy set the image type
-$helper = ImageHelper::createImageHelper($this, 'png');
-$helper->setImageName('emergency_exit');
-$helper->setBaseImage('base_exit');
-
-// Set image dimensions
-$helper->setWidth(100);
-$helper->setHeight(50);
-
-// Flush content to the template engine
-//$helper->flushContent();
-
-// Comment this out if image is done
-$this->debugInstance();
-
-// [EOF]
-?>
diff --git a/application/city/templates/de/menu/.htaccess b/application/city/templates/de/menu/.htaccess
deleted file mode 100644 (file)
index 3a42882..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Deny from all
diff --git a/application/city/templates/de/menu/base_menu.xml b/application/city/templates/de/menu/base_menu.xml
deleted file mode 100644 (file)
index b0e8f53..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-A general menu XML file. This should be later converted to a DTD.
-
-@author                Roland Haeder <webmaster@ship-simu.org>
-@version       0.0.0
-@copyright     Copyright (c) 2015 City Developer Team
-@license       GNU GPL 3.0 or any newer version
-@link          http://www.ship-simu.org
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>
-//-->
-<menu>
-       <block-list block-count="{?block_count?}">
-               <block>
-                       <block-header>
-                               <title>
-                                       <title-id>{?menu_title_id?}</title-id>
-                                       <title-class>{!menu_title_class?}</title-class>
-                                       <title-text>{?menu_title?}</title-text>
-                               </title>
-                       </block-header>
-                       <entry-list entry-count="{?entry_count?}">
-                               <entry>
-                                       <entry-id>{?entry_id?}</entry-id>
-                                       <anchor>
-                                               <anchor-id>{?anchor_id?}</anchor-id>
-                                               <anchor-text>{?anchor_text?}</anchor-text>
-                                               <anchor-title>{?anchor_title?}</anchor-title>
-                                               <anchor-href>{?anchor_href?}</anchor-href>
-                                       </anchor>
-                               </entry>
-                       </entry-list>
-                       <block-footer>
-                               <footer-id>{!footer_id?}</footer>
-                               <footer-class>{?footer_design_class?}</footer-class>
-                               <footer-text>{?menu_footer?}</footer-text>
-                       </block-footer>
-               </block>
-       </block-list>
-</menu>
diff --git a/application/city/templates/de/menu/generic_menu_entries.xml b/application/city/templates/de/menu/generic_menu_entries.xml
deleted file mode 100644 (file)
index e4442e1..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-Generic menu entries. You should not touch this template for smooth upgrades.
-
-@author                Roland Haeder <webmaster@ship-simu.org>
-@version       0.0.0
-@copyright     Copyright (c) 2015 City Developer Team
-@license       GNU GPL 3.0 or any newer version
-@link          http://www.ship-simu.org
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>
-//-->
-<menu>
-       <block-list block-count="{?block_count?}">
-               <block>
-                       <block-header>
-                               <title>
-                                       <title-id><![CDATA[home_menu_title]]></title-id>
-                                       <title-class><![CDATA[menu_title]]></title-class>
-                                       <title-text><![CDATA[Home:]]></title-text>
-                               </title>
-                       </block-header>
-
-                       <entry-list entry-count="{?entry_count?}">
-                               <entry>
-                                       <entry-id><![CDATA[home_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_home]]></anchor-id>
-                                               <anchor-text><![CDATA[Home]]></anchor-text>
-                                               <anchor-title><![CDATA[Zur Startseite]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[login_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_login]]></anchor-id>
-                                               <anchor-text><![CDATA[Einloggen]]></anchor-text>
-                                               <anchor-title><![CDATA[Zum Spiel {?app_full_name?} einloggen]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[register_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_register]]></anchor-id>
-                                               <anchor-text><![CDATA[Anmeldung]]></anchor-text>
-                                               <anchor-title><![CDATA[Zur Anmeldeseite]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=register]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[infos_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_infos]]></anchor-id>
-                                               <anchor-text><![CDATA[Informationen]]></anchor-text>
-                                               <anchor-title><![CDATA[&Uuml;ber dieses Spiel]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=infos]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[pillory_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_pillory]]></anchor-id>
-                                               <anchor-text><![CDATA[Pranger]]></anchor-text>
-                                               <anchor-title><![CDATA[Zum Pranger]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=pillory]]></anchor-href>
-                                       </anchor>
-                               </entry>
-                       </entry-list>
-
-                       <block-footer>
-                               <footer-id><![CDATA[home_menu_footer]]></footer-id>
-                               <footer-class><![CDATA[menu_footer]]></footer-class>
-                               <footer-text><![CDATA[Unterhalb Hauptauswahl]]></footer-text>
-                       </block-footer>
-               </block>
-
-               <block>
-                       <block-header>
-                               <title>
-                                       <title-id><![CDATA[law_menu_title]]></title-id>
-                                       <title-class><![CDATA[menu_title]]></title-class>
-                                       <title-text><![CDATA[Rechtliches:]]></title-text>
-                               </title>
-                       </block-header>
-
-                       <entry-list entry-count="{?entry_count?}">
-                               <entry>
-                                       <entry-id><![CDATA[imprint_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_imprint]]></anchor-id>
-                                               <anchor-text><![CDATA[Impressum]]></anchor-text>
-                                               <anchor-title><![CDATA[Impressum]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=imprint]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[terms_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_terms]]></anchor-id>
-                                               <anchor-text><![CDATA[Spielregeln]]></anchor-text>
-                                               <anchor-title><![CDATA[Zu den Spielregeln]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=terms]]></anchor-href>
-                                       </anchor>
-                               </entry>
-                       </entry-list>
-
-                       <block-footer>
-                               <footer-id><![CDATA[law_menu_footer]]></footer-id>
-                               <footer-class><![CDATA[menu_footer]]></footer-class>
-                               <footer-text><![CDATA[Unterhalb Rechtliches]]></footer-text>
-                       </block-footer>
-               </block>
-       </block-list>
-</menu>
diff --git a/application/city/templates/de/menu/login_area_menu_entries.xml b/application/city/templates/de/menu/login_area_menu_entries.xml
deleted file mode 100644 (file)
index e069958..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-Login area menu entries. You should not touch this template for smooth upgrades.
-
-@author                Roland Haeder <webmaster@ship-simu.org>
-@version       0.0.0
-@copyright     Copyright (c) 2015 City Developer Team
-@license       GNU GPL 3.0 or any newer version
-@link          http://www.ship-simu.org
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>
-//-->
-<menu>
-       <block-list block-count="{?block_count?}">
-               <block>
-                       <block-header>
-                               <title>
-                                       <title-id><![CDATA[home_menu_title]]></title-id>
-                                       <title-class><![CDATA[menu_title]]></title-class>
-                                       <title-text><![CDATA[Home:]]></title-text>
-                               </title>
-                       </block-header>
-
-                       <entry-list entry-count="{?entry_count?}">
-                               <entry>
-                                       <entry-id><![CDATA[welcome_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_welcome]]></anchor-id>
-                                               <anchor-text><![CDATA[Home]]></anchor-text>
-                                               <anchor-title><![CDATA[Zur Eingangsseite]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login_area]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[city_map_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_city_map]]></anchor-id>
-                                               <anchor-text><![CDATA[Stadtkarte]]></anchor-text>
-                                               <anchor-title><![CDATA[Zur Stadtkarte]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login_area&amp;action=city_map]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[region_map_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_region_map]]></anchor-id>
-                                               <anchor-text><![CDATA[Gebietskarte]]></anchor-text>
-                                               <anchor-title><![CDATA[Zur Gebietskarte]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login_area&amp;action=region_map]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[government_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_government]]></anchor-id>
-                                               <anchor-text><![CDATA[&Ouml;ffentliche Hand]]></anchor-text>
-                                               <anchor-title><![CDATA[Zur &ouml;ffentlichen Hand]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login_area&amp;action=government]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[profile_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_profile]]></anchor-id>
-                                               <anchor-text><![CDATA[Mein Profil]]></anchor-text>
-                                               <anchor-title><![CDATA[Zum Spielerprofil]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login_area&amp;action=profile]]></anchor-href>
-                                       </anchor>
-                               </entry>
-                       </entry-list>
-
-                       <block-footer>
-                               <footer-id><![CDATA[overview_menu_footer]]></footer-id>
-                               <footer-class><![CDATA[menu_footer]]></footer-class>
-                               <footer-text><![CDATA[Unterhalb Hauptauswahl]]></footer-text>
-                       </block-footer>
-               </block>
-
-               <block>
-                       <block-header>
-                               <title>
-                                       <title-id><![CDATA[misc_menu_title]]></title-id>
-                                       <title-class><![CDATA[menu_title]]></title-class>
-                                       <title-text><![CDATA[Weiteres:]]></title-text>
-                               </title>
-                       </block-header>
-
-                       <entry-list entry-count="{?entry_count?}">
-                               <entry>
-                                       <entry-id><![CDATA[support_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_support]]></anchor-id>
-                                               <anchor-text><![CDATA[Support]]></anchor-text>
-                                               <anchor-title><![CDATA[Zum Support Kontakt aufnehmen]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=support]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[terms_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_terms]]></anchor-id>
-                                               <anchor-text><![CDATA[Spielregeln]]></anchor-text>
-                                               <anchor-title><![CDATA[Zu den Spielregeln]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=terms]]></anchor-href>
-                                       </anchor>
-                               </entry>
-
-                               <entry>
-                                       <entry-id><![CDATA[pillory_entry]]></entry-id>
-                                       <anchor>
-                                               <anchor-id><![CDATA[menu_pillory]]></anchor-id>
-                                               <anchor-text><![CDATA[Pranger]]></anchor-text>
-                                               <anchor-title><![CDATA[Zum Pranger]]></anchor-title>
-                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=pillory]]></anchor-href>
-                                       </anchor>
-                               </entry>
-                       </entry-list>
-
-                       <block-footer>
-                               <footer-id><![CDATA[law_menu_footer]]></footer-id>
-                               <footer-class><![CDATA[menu_footer]]></footer-class>
-                               <footer-text><![CDATA[Unterhalb Weiteres]]></footer-text>
-                       </block-footer>
-               </block>
-       </block-list>
-</menu>
diff --git a/application/city/templates/emails/.htaccess b/application/city/templates/emails/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/application/city/templates/emails/text_resend_link.tpl b/application/city/templates/emails/text_resend_link.tpl
new file mode 100644 (file)
index 0000000..9b79056
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<text-mail>
+       <mail-data>
+               <sender-address value="{?admin_email?}" />
+               <subject-line><![CDATA[Anforderung deines Best&auml;tigungslinks]]></subject-line>
+               <recipient-address value="{?email?}" />
+               <message>
+               <![CDATA[Hallo {?username?}!
+
+Du (oder ein anderer) hattest soeben deinen Best&auml;tigungslink erneut angefordert. Solltest du dies nicht gewesen sein, bitten wir dich den Vorfall zu entschuldigen.
+
+Hier ist nun dein Best&auml;tigungslink. Der alte aus der Anmeldemail ist somit nicht mehr g&uuml;ltig!
+
+{?base_url?}/index.php?app={?app_short_name?}&command=confirm&username={?username?}&confirm={?confirm_hash?}
+
+Solltest du die URL nicht anklicken k&ouml;nnen, versuche diese in die Adresszeile deines Browsers zu kopieren.
+
+Alternativ kannst du im Spielebereich unter Best&auml;tigungscode den folgenden Code reinkopieren oder eingeben:
+
+{?confirm_hash?}
+
+Solltest du Fragen dazu oder Probleme mit der Best&auml;tigung haben, so melde dich bitte beim Support-Team.
+
+Mit freundlichen Gr&uuml;&szlig;en,
+  Dein {?app_short_name?}-Team
+
+{?mail_footer?}]]>
+               </message>
+       </mail-data>
+</text-mail>
diff --git a/application/city/templates/html/.htaccess b/application/city/templates/html/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/application/city/templates/image/.htaccess b/application/city/templates/image/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/application/city/templates/image/base_code.xml b/application/city/templates/image/base_code.xml
new file mode 100644 (file)
index 0000000..5de71be
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<image>
+       <type value="{?image_type?}" />
+       <base>
+               <name value="{?image_name?}" />
+       </base>
+       <resolution>
+               <width value="{?image_width?}" />
+               <height value="{?image_height?}" />
+       </resolution>
+       <background-color>
+               <red value="{?image_bg_red?}" />
+               <green value="{?image_bg_green?}" />
+               <blue value="{?image_bg_blue?}" />
+       </background-color>
+       <foreground-color>
+               <red value="{?image_fg_red?}" />
+               <green value="{?image_fg_green?}" />
+               <blue value="{?image_fg_blue?}" />
+       </foreground-color>
+       <image-string value="groupable">
+               <string-name value="{?image_string_name?}" />
+               <x value="{?image_x?}" />
+               <y value="{?image_y?}" />
+               <font-size value="{?image_size?}" />
+               <text value="{?image_string?}" />
+       </image-string>
+</image>
diff --git a/application/city/templates/image/code_captcha.img b/application/city/templates/image/code_captcha.img
new file mode 100644 (file)
index 0000000..223e4fb
--- /dev/null
@@ -0,0 +1,78 @@
+<?php
+// Needed in every image template to initialy set the image type
+$helper = ImageHelper::createImageHelper($this, 'png');
+$helper->setImageName('code_captcha');
+$helper->setBaseImage('base_code');
+
+// Set image dimensions
+$helper->setWidth(100);
+$helper->setHeight(50);
+
+// Get random number
+$rand = $helper->getRngInstance()->randomNumber(0, 6);
+
+// Background and foreground color
+switch ($rand) {
+       case 1:
+               // First varriant
+               $helper->setBackgroundColorRedGreenBlue('rand', 0x90  , 0x00  );
+               $helper->setForegroundColorRedGreenBlue(0x00  , 0xff  , 'rand');
+               break;
+
+       case 2:
+               // Second varriant
+               $helper->setBackgroundColorRedGreenBlue(0x90  , 'rand', 0x00  );
+               $helper->setForegroundColorRedGreenBlue(0xff  , 0x00  , 'rand');
+               break;
+
+       case 3:
+               // Third varriant
+               $helper->setBackgroundColorRedGreenBlue('rand', 0x00  , 0x90  );
+               $helper->setForegroundColorRedGreenBlue(0x00  , 'rand', 0xff  );
+               break;
+
+       case 4:
+               // Forth varriant
+               $helper->setBackgroundColorRedGreenBlue(0x00  , 0x90  , 'rand');
+               $helper->setForegroundColorRedGreenBlue(0x00  , 'rand', 0xa0  );
+               break;
+
+       case 5:
+               // Fith varriant
+               $helper->setBackgroundColorRedGreenBlue('rand', 0x00  , 0x90  );
+               $helper->setForegroundColorRedGreenBlue(0x00  , 0xe0  , 'rand');
+               break;
+
+       default:
+               // Last varriant
+               $helper->setBackgroundColorRedGreenBlue(0x00  , 'rand', 0x90  );
+               $helper->setForegroundColorRedGreenBlue(0xff  , 0x00  , 'rand');
+               break;
+}
+
+// Random X/Y factors...
+$xRand = $helper->getRngInstance()->randomNumber(0, 45);
+$yRand = $helper->getRngInstance()->randomNumber(0, 25);
+
+// Add code
+$helper->addTextLine('code');
+$helper->setCoord((5 + $xRand), (5 + $yRand));
+$helper->setFontSize('rand');
+$helper->setImageString('{?decrypted_code?}');
+
+// Only for debug!
+/*
+$helper->addTextLine('debug');
+$helper->setCoord(90, 35);
+$helper->setFontSize(3);
+$helper->setImageString($rand);
+*/
+
+// Flush content to the template engine
+$helper->flushContent();
+
+// Comment this out if image is done
+//$this->debugInstance();
+
+// [EOF]
+?>
diff --git a/application/city/templates/image/emergency_exit.img b/application/city/templates/image/emergency_exit.img
new file mode 100644 (file)
index 0000000..bf67aa7
--- /dev/null
@@ -0,0 +1,18 @@
+<?php
+// Needed in every image template to initialy set the image type
+$helper = ImageHelper::createImageHelper($this, 'png');
+$helper->setImageName('emergency_exit');
+$helper->setBaseImage('base_exit');
+
+// Set image dimensions
+$helper->setWidth(100);
+$helper->setHeight(50);
+
+// Flush content to the template engine
+//$helper->flushContent();
+
+// Comment this out if image is done
+$this->debugInstance();
+
+// [EOF]
+?>
diff --git a/application/city/templates/menu/.htaccess b/application/city/templates/menu/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/application/city/templates/menu/base_menu.xml b/application/city/templates/menu/base_menu.xml
new file mode 100644 (file)
index 0000000..b0e8f53
--- /dev/null
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+A general menu XML file. This should be later converted to a DTD.
+
+@author                Roland Haeder <webmaster@ship-simu.org>
+@version       0.0.0
+@copyright     Copyright (c) 2015 City Developer Team
+@license       GNU GPL 3.0 or any newer version
+@link          http://www.ship-simu.org
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>
+//-->
+<menu>
+       <block-list block-count="{?block_count?}">
+               <block>
+                       <block-header>
+                               <title>
+                                       <title-id>{?menu_title_id?}</title-id>
+                                       <title-class>{!menu_title_class?}</title-class>
+                                       <title-text>{?menu_title?}</title-text>
+                               </title>
+                       </block-header>
+                       <entry-list entry-count="{?entry_count?}">
+                               <entry>
+                                       <entry-id>{?entry_id?}</entry-id>
+                                       <anchor>
+                                               <anchor-id>{?anchor_id?}</anchor-id>
+                                               <anchor-text>{?anchor_text?}</anchor-text>
+                                               <anchor-title>{?anchor_title?}</anchor-title>
+                                               <anchor-href>{?anchor_href?}</anchor-href>
+                                       </anchor>
+                               </entry>
+                       </entry-list>
+                       <block-footer>
+                               <footer-id>{!footer_id?}</footer>
+                               <footer-class>{?footer_design_class?}</footer-class>
+                               <footer-text>{?menu_footer?}</footer-text>
+                       </block-footer>
+               </block>
+       </block-list>
+</menu>
diff --git a/application/city/templates/menu/generic_menu_entries.xml b/application/city/templates/menu/generic_menu_entries.xml
new file mode 100644 (file)
index 0000000..e4442e1
--- /dev/null
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+Generic menu entries. You should not touch this template for smooth upgrades.
+
+@author                Roland Haeder <webmaster@ship-simu.org>
+@version       0.0.0
+@copyright     Copyright (c) 2015 City Developer Team
+@license       GNU GPL 3.0 or any newer version
+@link          http://www.ship-simu.org
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>
+//-->
+<menu>
+       <block-list block-count="{?block_count?}">
+               <block>
+                       <block-header>
+                               <title>
+                                       <title-id><![CDATA[home_menu_title]]></title-id>
+                                       <title-class><![CDATA[menu_title]]></title-class>
+                                       <title-text><![CDATA[Home:]]></title-text>
+                               </title>
+                       </block-header>
+
+                       <entry-list entry-count="{?entry_count?}">
+                               <entry>
+                                       <entry-id><![CDATA[home_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_home]]></anchor-id>
+                                               <anchor-text><![CDATA[Home]]></anchor-text>
+                                               <anchor-title><![CDATA[Zur Startseite]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[login_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_login]]></anchor-id>
+                                               <anchor-text><![CDATA[Einloggen]]></anchor-text>
+                                               <anchor-title><![CDATA[Zum Spiel {?app_full_name?} einloggen]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[register_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_register]]></anchor-id>
+                                               <anchor-text><![CDATA[Anmeldung]]></anchor-text>
+                                               <anchor-title><![CDATA[Zur Anmeldeseite]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=register]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[infos_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_infos]]></anchor-id>
+                                               <anchor-text><![CDATA[Informationen]]></anchor-text>
+                                               <anchor-title><![CDATA[&Uuml;ber dieses Spiel]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=infos]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[pillory_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_pillory]]></anchor-id>
+                                               <anchor-text><![CDATA[Pranger]]></anchor-text>
+                                               <anchor-title><![CDATA[Zum Pranger]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=pillory]]></anchor-href>
+                                       </anchor>
+                               </entry>
+                       </entry-list>
+
+                       <block-footer>
+                               <footer-id><![CDATA[home_menu_footer]]></footer-id>
+                               <footer-class><![CDATA[menu_footer]]></footer-class>
+                               <footer-text><![CDATA[Unterhalb Hauptauswahl]]></footer-text>
+                       </block-footer>
+               </block>
+
+               <block>
+                       <block-header>
+                               <title>
+                                       <title-id><![CDATA[law_menu_title]]></title-id>
+                                       <title-class><![CDATA[menu_title]]></title-class>
+                                       <title-text><![CDATA[Rechtliches:]]></title-text>
+                               </title>
+                       </block-header>
+
+                       <entry-list entry-count="{?entry_count?}">
+                               <entry>
+                                       <entry-id><![CDATA[imprint_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_imprint]]></anchor-id>
+                                               <anchor-text><![CDATA[Impressum]]></anchor-text>
+                                               <anchor-title><![CDATA[Impressum]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=imprint]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[terms_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_terms]]></anchor-id>
+                                               <anchor-text><![CDATA[Spielregeln]]></anchor-text>
+                                               <anchor-title><![CDATA[Zu den Spielregeln]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=terms]]></anchor-href>
+                                       </anchor>
+                               </entry>
+                       </entry-list>
+
+                       <block-footer>
+                               <footer-id><![CDATA[law_menu_footer]]></footer-id>
+                               <footer-class><![CDATA[menu_footer]]></footer-class>
+                               <footer-text><![CDATA[Unterhalb Rechtliches]]></footer-text>
+                       </block-footer>
+               </block>
+       </block-list>
+</menu>
diff --git a/application/city/templates/menu/login_area_menu_entries.xml b/application/city/templates/menu/login_area_menu_entries.xml
new file mode 100644 (file)
index 0000000..e069958
--- /dev/null
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+Login area menu entries. You should not touch this template for smooth upgrades.
+
+@author                Roland Haeder <webmaster@ship-simu.org>
+@version       0.0.0
+@copyright     Copyright (c) 2015 City Developer Team
+@license       GNU GPL 3.0 or any newer version
+@link          http://www.ship-simu.org
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>
+//-->
+<menu>
+       <block-list block-count="{?block_count?}">
+               <block>
+                       <block-header>
+                               <title>
+                                       <title-id><![CDATA[home_menu_title]]></title-id>
+                                       <title-class><![CDATA[menu_title]]></title-class>
+                                       <title-text><![CDATA[Home:]]></title-text>
+                               </title>
+                       </block-header>
+
+                       <entry-list entry-count="{?entry_count?}">
+                               <entry>
+                                       <entry-id><![CDATA[welcome_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_welcome]]></anchor-id>
+                                               <anchor-text><![CDATA[Home]]></anchor-text>
+                                               <anchor-title><![CDATA[Zur Eingangsseite]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login_area]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[city_map_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_city_map]]></anchor-id>
+                                               <anchor-text><![CDATA[Stadtkarte]]></anchor-text>
+                                               <anchor-title><![CDATA[Zur Stadtkarte]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login_area&amp;action=city_map]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[region_map_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_region_map]]></anchor-id>
+                                               <anchor-text><![CDATA[Gebietskarte]]></anchor-text>
+                                               <anchor-title><![CDATA[Zur Gebietskarte]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login_area&amp;action=region_map]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[government_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_government]]></anchor-id>
+                                               <anchor-text><![CDATA[&Ouml;ffentliche Hand]]></anchor-text>
+                                               <anchor-title><![CDATA[Zur &ouml;ffentlichen Hand]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login_area&amp;action=government]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[profile_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_profile]]></anchor-id>
+                                               <anchor-text><![CDATA[Mein Profil]]></anchor-text>
+                                               <anchor-title><![CDATA[Zum Spielerprofil]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=login_area&amp;action=profile]]></anchor-href>
+                                       </anchor>
+                               </entry>
+                       </entry-list>
+
+                       <block-footer>
+                               <footer-id><![CDATA[overview_menu_footer]]></footer-id>
+                               <footer-class><![CDATA[menu_footer]]></footer-class>
+                               <footer-text><![CDATA[Unterhalb Hauptauswahl]]></footer-text>
+                       </block-footer>
+               </block>
+
+               <block>
+                       <block-header>
+                               <title>
+                                       <title-id><![CDATA[misc_menu_title]]></title-id>
+                                       <title-class><![CDATA[menu_title]]></title-class>
+                                       <title-text><![CDATA[Weiteres:]]></title-text>
+                               </title>
+                       </block-header>
+
+                       <entry-list entry-count="{?entry_count?}">
+                               <entry>
+                                       <entry-id><![CDATA[support_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_support]]></anchor-id>
+                                               <anchor-text><![CDATA[Support]]></anchor-text>
+                                               <anchor-title><![CDATA[Zum Support Kontakt aufnehmen]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=support]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[terms_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_terms]]></anchor-id>
+                                               <anchor-text><![CDATA[Spielregeln]]></anchor-text>
+                                               <anchor-title><![CDATA[Zu den Spielregeln]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=terms]]></anchor-href>
+                                       </anchor>
+                               </entry>
+
+                               <entry>
+                                       <entry-id><![CDATA[pillory_entry]]></entry-id>
+                                       <anchor>
+                                               <anchor-id><![CDATA[menu_pillory]]></anchor-id>
+                                               <anchor-text><![CDATA[Pranger]]></anchor-text>
+                                               <anchor-title><![CDATA[Zum Pranger]]></anchor-title>
+                                               <anchor-href><![CDATA[index.php?app={?app_short_name?}&amp;command=pillory]]></anchor-href>
+                                       </anchor>
+                               </entry>
+                       </entry-list>
+
+                       <block-footer>
+                               <footer-id><![CDATA[law_menu_footer]]></footer-id>
+                               <footer-class><![CDATA[menu_footer]]></footer-class>
+                               <footer-text><![CDATA[Unterhalb Weiteres]]></footer-text>
+                       </block-footer>
+               </block>
+       </block-list>
+</menu>