Compare commits

...

3 Commits

16 changed files with 1860 additions and 90 deletions

1186
Spyc.php Normal file

File diff suppressed because it is too large Load Diff

5
TCPDF/composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "5726aa312f77aee905146d13d6be7179",
"content-hash": "677cb3d4da030c7eb3bf355a20d32026",
"packages": [],
"packages-dev": [],
"aliases": [],
@ -15,5 +15,6 @@
"platform": {
"php": ">=5.3.0"
},
"platform-dev": []
"platform-dev": [],
"plugin-api-version": "1.1.0"
}

View File

@ -60,7 +60,7 @@ class ClassLoader
public function getPrefixes()
{
if (!empty($this->prefixesPsr0)) {
return call_user_func_array('array_merge', $this->prefixesPsr0);
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
}
return array();
@ -279,7 +279,7 @@ class ClassLoader
*/
public function setApcuPrefix($apcuPrefix)
{
$this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
}
/**
@ -377,7 +377,7 @@ class ClassLoader
$subPath = $class;
while (false !== $lastPos = strrpos($subPath, '\\')) {
$subPath = substr($subPath, 0, $lastPos);
$search = $subPath.'\\';
$search = $subPath . '\\';
if (isset($this->prefixDirsPsr4[$search])) {
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
foreach ($this->prefixDirsPsr4[$search] as $dir) {

View File

@ -13,6 +13,9 @@ class ComposerAutoloaderInitd1f3ddd5074c5b24424f0f0bd620bf26
}
}
/**
* @return \Composer\Autoload\ClassLoader
*/
public static function getLoader()
{
if (null !== self::$loader) {

118
form.php
View File

@ -1,11 +1,11 @@
<h1>
<?php echo _( "Antrag auf Kostenerstattung")?>
<?php echo $localeYaml['mainheader'][$loc]?>
</h1>
<p>
<?php echo _("Du möchtest dir Kosten erstatten lassen, welche im Rahmen deines Projektes entstanden sind?")?><BR>
<?php echo _("Bitte fülle dieses Formular aus. Pflichtfelder sind mit einem * gekennzeichnet.")?><BR><BR>
<?php echo $localeYaml['mainheader_subtext_1'][$loc]?><BR>
<?php echo $localeYaml['mainheader_subtext_2'][$loc]?><BR><BR>
<?php
$ct = @file_get_contents( "./locale/$loc1/h1.php");
$ct = @file_get_contents( "./locale/$loc/h1.php");
if ($ct==false)
$ct = file_get_contents( "h1.php");
echo $ct;
@ -16,42 +16,40 @@
<form data-kube="kaform" name="theform" id="theform" action="submit.php" method="POST">
<fieldset> <legend><?php echo _("1. Erfasse deine Stammdaten")?></legend>
<fieldset> <legend><?php echo $localeYaml['form_1_header'][$loc]?></legend>
<div class="is-row">
<div class="is-col">
<input required type="input"
size="32" id="projectid" name="project"
placeholder="<?php echo _("Projekt/Zweck der Reise*")?>" />
placeholder="<?php echo $localeYaml['form_1_placeholder_1'][$loc]?>" />
</div>
</div>
<div class="is-row">
<div class="is-row">
<div class="is-col">
<input required type="input" size="32"
` id="realname" name="realname" placeholder="<?php echo _("Dein Realname (Vorname Nachname)*")?>" />
` id="realname" name="realname" placeholder="<?php echo $localeYaml['form_1_placeholder_2'][$loc]?>" />
</div>
<div class="is-col">
<input type="input" size="32"
` id="wmdecontact" name="wmdecontact"
placeholder="<?= _("Deine Ansprechperson bei Wikimedia")?>" />
placeholder="<?= $localeYaml['form_1_placeholder_3'][$loc]?>" />
</div>
</div>
<div class="is-row">
<div class="is-col">
<input type="tel" size="32"
id="phone" name="phone"
placeholder="<?= _("Deine Telefonnummer")?>" />
placeholder="<?= $localeYaml['form_1_placeholder_4'][$loc]?>" />
</div>
<div class="is-col">
</div>
</div>
<div class="is-row">
<div class="is-col">
<input required type="email" size="32" id="email"
name="email" placeholder="<?= _("Deine E-Mail-Adresse*")?>" />
name="email" placeholder="<?= $localeYaml['form_1_placeholder_5'][$loc]?>" />
</div>
<div class="is-col">
</div>
@ -61,14 +59,14 @@
<div class="is-col">
<nav class="tabs" data-kube="tabs" data-equal="false">
<a href="#bank-eu" class="is-active"><?=_("Banküberweisung (SEPA)")?></a>
<a href="#bank-noneu"><?=_("Banküberweisung (nicht SEPA)")?></a>
<a href="#bank-eu" class="is-active"><?=$localeYaml['form_1_SEPA'][$loc]?></a>
<a href="#bank-noneu"><?=$localeYaml['form_1_noSEPA'][$loc]?></a>
</nav>
<section id="bank-eu">
<div class="is-row">
<div class="is-col">
<input type="input" size="32" name="sepa_owner" placeholder="<?=_("Kontoinhabende Person")?>" />
<input type="input" size="32" name="sepa_owner" placeholder="<?=$localeYaml['form_1_SEPA_placeholder_1'][$loc]?>" />
</div>
<div class="is-col">
</div>
@ -76,14 +74,14 @@
<div class="is-row">
<div class="is-col">
<input type="input" size="32" id="iban" name="iban" placeholder="<?=_("IBAN*")?>" />
<input type="input" size="32" id="iban" name="iban" placeholder="<?=$localeYaml['form_1_SEPA_placeholder_2'][$loc]?>" />
</div>
<div class="is-col">
<input type="input" size="32" id="bic" name="bic" placeholder="<?=_("BIC (wenn ausländische Bank)")?>" />
<input type="input" size="32" id="bic" name="bic" placeholder="<?=$localeYaml['form_1_SEPA_placeholder_3'][$loc]?>" />
</div>
</div>
<textarea id="comments" name="comments" style="resize:none;" cols="32" rows="4"
placeholder="<?=_("weitere Anmerkungen z.B. intermediäre Bank, Grund für abweichende kontoinhabende Person")?>"></textarea >
placeholder="<?=$localeYaml['form_1_SEPA_placeholder_4'][$loc]?>"></textarea >
</section>
@ -91,35 +89,35 @@
<section id="bank-noneu">
<div class="is-row">
<div class="is-col">
<input type="input" size="32" name="non_sepa_owner" placeholder="<?=_("Kontoinhabende Person")?>" />
<input type="input" size="32" name="non_sepa_owner" placeholder="<?=$localeYaml['form_1_noSEPA_placeholder_1'][$loc]?>" />
</div>
<div class="is-col">
<input type="input" size="32" id="n_bic" name="n_bic" placeholder="<?=_("BIC/SWIFT*")?>" />
<input type="input" size="32" id="n_bic" name="n_bic" placeholder="<?=$localeYaml['form_1_noSEPA_placeholder_2'][$loc]?>" />
</div>
</div>
<div class="is-row">
<div class="is-col">
<input type="input" size="32" id="n_iban" name="n_iban" placeholder="<?=_("Kontonummer*")?>" />
<input type="input" size="32" id="n_iban" name="n_iban" placeholder="<?=$localeYaml['form_1_noSEPA_placeholder_3'][$loc]?>" />
</div>
<div class="is-col">
<input type="input" size="32" id="n_routing" name="n_routing" placeholder="<?=_("Routing Number")?>" />
<input type="input" size="32" id="n_routing" name="n_routing" placeholder="<?=$localeYaml['form_1_noSEPA_placeholder_4'][$loc]?>" />
</div>
</div>
<input class="EU nonEU" type="input" size="32" id="n_bank" name="n_bankname" placeholder="<?="Name der Bank*"?>" />
<input class="EU nonEU" type="input" size="32" id="n_bank" name="n_bankname" placeholder="<?=$localeYaml['form_1_noSEPA_placeholder_5'][$loc]?>" />
<textarea class="nonEU" name="n_bankaddress" id="n_bankaddress" style="resize:both;" cols="32" rows="4"
placeholder="<?=_("Adresse der Bank (Stra&szlig;e und Hausnummer, Postleitzahl, Ort, Land)")?>"></textarea>
placeholder="<?=$localeYaml['form_1_noSEPA_placeholder_6'][$loc]?>"></textarea>
<br>
<textarea name="n_address" lang="de" class="nonEU" id="n_address" style="resize:both;" cols="32" rows="4"
placeholder="<?=_("Deine Anschrift (Stra&szlig;e und Hausnummer, Postleitzahl, Ort, Land)*")?>"></textarea>
placeholder="<?=$localeYaml['form_1_noSEPA_placeholder_7'][$loc]?>"></textarea>
<br>
<textarea id="n_comments" name="n_comments"
style="resize:both;" cols="32" rows="4"
placeholder="<?=_("Weitere Anmerkungen, z.B. intermediäre Bank, Grund für abweichende kontoinhabende Person")?>"></textarea>
placeholder="<?=$localeYaml['form_1_noSEPA_placeholder_8'][$loc]?>"></textarea>
</section>
@ -129,17 +127,45 @@
</fieldset>
<fieldset id="fieldset2"> <legend><?=_("2. Erfasse deine Ausgaben")?></legend>
<fieldset id="fieldset2"> <legend><?=$localeYaml['form_2_header'][$loc]?></legend>
<div class="is-row">
<div class="is-col">
<?=_("Währung:")?>
<?=$localeYaml['form_2_currency'][$loc]?>
</div>
<div class="is-col">
<select onchange="renumberTableRows()" name='currency' id="currency" >
<option value="EUR">EUR</option>
<option value="USD">USD</option>
<option value="CHF">CHF</option>
<option value="XBT">XBT</option>
<option value="EUR">EUR</option>
<option value="CHF">CHF</option>
<option value="GBP">GBP</option>
<option value="USD">USD</option>
<option value="AUD">AUD</option>
<option value="BGN">BGN</option>
<option value="BRL">BRL</option>
<option value="CAD">CAD</option>
<option value="CNY">CNY</option>
<option value="CZK">CZK</option>
<option value="DKK">DKK</option>
<option value="HKD">HKD</option>
<option value="HUF">HUF</option>
<option value="IDR">IDR</option>
<option value="ILS">ILS</option>
<option value="INR">INR</option>
<option value="ISK">ISK</option>
<option value="JPY">JPY</option>
<option value="KRW">KRW</option>
<option value="MXN">MXN</option>
<option value="MYR">MYR</option>
<option value="NOK">NOK</option>
<option value="NZD">NZD</option>
<option value="PHP">PHP</option>
<option value="PLN">PLN</option>
<option value="RON">RON</option>
<option value="SEK">SEK</option>
<option value="SGD">SGD</option>
<option value="THB">THB</option>
<option value="TRY">TRY</option>
<option value="ZAR">ZAR</option>
</select>
</div>
<div class="is-col">
@ -149,13 +175,13 @@
<table id="tabtab" class="is-responsive is-bordered is-striped">
<thead>
<tr>
<th><?=_("Pos.")?></th>
<th><?=_("Datum")?></th>
<th><?=_("Beschreibung")?></th>
<th><?=_("Betrag")?></th>
<th><?=_("Währung")?></th>
<th><?=_("Belege")?></th>
<th><?=_("L&ouml;schen")?></th>
<th><?=$localeYaml['form_2_table_1'][$loc]?></th>
<th><?=$localeYaml['form_2_table_2'][$loc]?></th>
<th><?=$localeYaml['form_2_table_3'][$loc]?></th>
<th><?=$localeYaml['form_2_table_4'][$loc]?></th>
<th><?=$localeYaml['form_2_table_5'][$loc]?></th>
<th><?=$localeYaml['form_2_table_6'][$loc]?></th>
<th><?=$localeYaml['form_2_table_7'][$loc]?></th>
</tr>
</thead>
<tbody id="tabbody">
@ -163,15 +189,15 @@
</table>
<div class="is-col">
<button id="add_issue" type="button" onclick="addRow();"
class="button is-green"><?=_("Ausgabe hinzuf&uuml;gen")?></button>
class="button is-green"><?=$localeYaml['form_2_button'][$loc]?></button>
</div>
</fieldset>
<br>
<fieldset> <legend><?=_("3. Vorschuss und Sonstiges")?></legend>
<fieldset> <legend><?=$localeYaml['form_3_header'][$loc]?></legend>
<div class="is-row">
<div class="is-col valign="center"">
<?=_("Ich habe bereits einen Vorschuss in folgender H&ouml;he erhalten:")?>
<?=$localeYaml['form_3_subtext_1'][$loc]?>
</div>
<div class="is-col">
<input input name="advance" id="advance" type="text" placeholder="0,00 EUR"/>
@ -180,7 +206,7 @@
<div class="is-row">
<div class="is-col valign="center"">
<?=_("Hiermit bestätige ich die Vollständig- und Richtigkeit meiner Angaben:")?>*
<?=$localeYaml['form_3_subtext_2'][$loc]?>*
</div>
<div class="is-col">
<input id="agree" type="checkbox" />
@ -190,12 +216,12 @@
<div class="is-row">
<div class="is-col">
<button type="button" onclick="downloadDocument(false);"
class="button is-orange"><?=_("Antrag herunterladen und später einreichen")?></button>
class="button is-orange"><?=$localeYaml['form_3_button_1'][$loc]?></button>
</div>
<div class="is-col">
<button type="button" onclick="downloadDocument(true);"
class="button is-green"><?=_("Antrag elektronisch direkt an WMDE schicken")?></button>
class="button is-green"><?=$localeYaml['form_3_button_2'][$loc]?></button>
</div>
</div>

2
h1.php
View File

@ -3,7 +3,7 @@ Wikimedia Deutschland geförderten Projektes/Veranstaltung an, in dessen Rahmen
die Kosten entstanden sind. Bitte rechne die Kosten für jede Förderung einzeln ab!
<br><br>
2. Befülle das Feld <strong>Deine Ansprechperson bei Wikimedia</strong> mit deiner Kontaktperson
(die Person, mit der du im Team Communitys und Engagement Kontakt hattest). Damit erleichterst du uns die Zuordnung.
(z. B. die Person, mit der du im Team Communitys und Engagement Kontakt hattest). Damit erleichterst du uns die Zuordnung.
<br><br>
3. Bitte gib stets vollständig deine für die Kostenerstattung relevanten Daten in den entsprechenden Feldern an.
Die Kontaktdaten benötigen wir für eventuelle Rückfragen. Die Auszahlungsdaten helfen uns,

5
h2.php
View File

@ -42,7 +42,6 @@ erzeugen kannst. Bitte gib ihn in der entsprechenden eigenen Zeile (Pos.) als Au
Durch die Software wird ein zusammengefügtes PDF aus Antrag und Anhängen erzeugt.
<br />
Nur wenn du für jede Position einen Beleg/Dokument angegeben hast, kannst du den Antrag auf Kostenerstattung
direkt an Wikimedia Deutschland (WMDE) senden. Andernfalls steht dir die Möglichkeit zur Verfügung, den Antrag herunterzuladen,
später selbst weiter zu bearbeiten und an das Team Communitys und Engagement zu senden.<br>
direkt an Wikimedia Deutschland (WMDE) senden. Andernfalls steht dir die Möglichkeit zur Verfügung, den Antrag herunterzuladen, später selbst weiter zu bearbeiten und an das Team Communitys und Engagement oder deine Ansprechperson für diese Kostenerstattung zu senden.<br>
<br />
Sollten Fehler oder Fragen auftreten, wende dich gern an <a href="mailto:community@wikimedia.de">community@wikimedia.de</a>.
Sollten Fehler oder Fragen auftreten, wende dich gern an das Team Communitys und Engagement über <a href="mailto:community@wikimedia.de"> community@wikimedia.de</a> bzw. deine Ansprechperson für diese Kostenerstattung.</a>.

View File

@ -1,17 +1,40 @@
<!doctype html>
<?php
// parse the locale.yaml file and get the variables
include "Spyc.php";
$localeYaml = Spyc::YAMLLoad('locale.yaml');
$lang=$_GET['lang'];
if ( in_array ($lang, array('en_US'))){
$loc = "$lang".".utf8";
$loc1 = $lang;
// optional code for reading the accept language header
/*
$acceptlang='de-DE';
// get the accept-language header
foreach (getallheaders() as $name => $value) {
if ($name == 'Accept-Language'){
// echo "$name $value";
$acceptlang = $value;
}
}
echo "$acceptlang";
print "oi $lang oi";
*/
if ( in_array ($lang, array('en-US'))){
$loc1 = "$lang".".utf8";
$loc = $lang;
}
else
$loc = "de_DE";
$loc = "de-DE";
//$loc = "en-US";
//print "$loc $loc1";
$domain = "messages";
setlocale(LC_MESSAGES, $loc);
@ -19,11 +42,14 @@
$results = putenv("LC_ALL=$loc");
$results = putenv("LC_MESSAGES=$loc");
$results = bindtextdomain($domain,"./locale");
//$results = bindtextdomain($domain,"./locale");
?>
<html >
<head>
<title>Kostenerstattungsforumlar</title>
<title><?php echo $localeYaml['title'][$loc]?></title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
@ -36,10 +62,16 @@
</head>
<body>
<div class="page is-container">
<div class="main-sidebar text-centered">
<div id="container">
<img class="wmdelogo" alt="wikimedia logo" src="Wikimedia_Deutschland-Logo.svg"/>
<center>
<a class="languageSelect" href="?lang=de-DE"><?php echo $localeYaml['languageSelectDe'][$loc]?></a><br>
<a class="languageSelect" href="?lang=en-US"><?php echo $localeYaml['languageSelectEn'][$loc]?></a>
</center>
</div>
</div>
<div class="main-content">
<div class="is-row" style="border:0px solid blue">
@ -48,7 +80,7 @@
</div>
<div class="is-col is-30">
<?php
# $ct = @file_get_contents( "./locale/$loc1/h1.php");
# $ct = @file_get_contents( "./locale/$loc/h1.php");
# if ($ct==false)
# $ct = file_get_contents( "h1.php");
# echo $ct;
@ -56,7 +88,7 @@
?>
<?php
$ct = @file_get_contents( "./locale/$loc1/h2.php");
$ct = @file_get_contents( "./locale/$loc/h2.php");
if ($ct==false)
$ct = file_get_contents( "h2.php");
echo $ct;
@ -65,18 +97,37 @@
</div>
</div>
Impressum: <a href="https://www.wikimedia.de/impressum/">https://www.wikimedia.de/impressum</a><br>
Datenschutz: <a href="https://www.wikimedia.de/datenschutz/">https://www.wikimedia.de/datenschutz</a>
<?php echo $localeYaml['impressum'][$loc]?>: <a href="https://www.wikimedia.de/impressum/">https://www.wikimedia.de/impressum</a><br>
<?php echo $localeYaml['privacy'][$loc]?>: <a href="<?php echo $localeYaml['privacyLink'][$loc]?>"><?php echo $localeYaml['privacyLink'][$loc]?></a>
</div>
</div>
<script src="js/kube.min.js"></script>
<script src="kaform.js"></script>
<script src="addons/upload/kube.upload.min.js"></script>
<script src="addons/kube-addons.min.js"></script>
<script src="kaform.js"></script>
<script src="iban.js/iban.js"></script>
<script>
error_alert_projectid = "<?php echo $localeYaml['error_alert_projectid'][$loc]?>";
error_alert_realname = "<?php echo $localeYaml['error_alert_realname'][$loc]?>";
error_alert_email = "<?php echo $localeYaml['error_alert_email'][$loc]?>";
error_alert_iban = "<?php echo $localeYaml['error_alert_iban'][$loc]?>";
error_alert_bic = "<?php echo $localeYaml['error_alert_bic'][$loc]?>";
error_alert_paypal = "<?php echo $localeYaml['error_alert_paypal'][$loc]?>";
error_alert_expenses = "<?php echo $localeYaml['error_alert_expenses'][$loc]?>";
error_alert_agreement = "<?php echo $localeYaml['error_alert_agreement'][$loc]?>";
error_alert_ismailable = "<?php echo $localeYaml['error_alert_ismailable'][$loc]?>";
error_alert_date = "<?php echo $localeYaml['error_alert_date'][$loc]?>";
error_alert_description = "<?php echo $localeYaml['error_alert_description'][$loc]?>";
error_alert_sum = "<?php echo $localeYaml['error_alert_sum'][$loc]?>";
expenses_table_description_placeholder = "<?php echo $localeYaml['expenses_table_description_placeholder'][$loc]?>";
expenses_table_file_placeholder = "<?php echo $localeYaml['expenses_table_file_placeholder'][$loc]?>";
</script>
</body>
</html>

38
ka.php
View File

@ -226,10 +226,38 @@
</div>
<div class="is-col is-20">
<select onchange="renumberTableRows()" id="currency" >
<option value="EUR">EUR</option>
<option value="USD">USD</option>
<option value="CHF">CHF</option>
<option value="XBT">XBT</option>
<option value="EUR">EUR</option>
<option value="CHF">CHF</option>
<option value="GBP">GBP</option>
<option value="USD">USD</option>
<option value="AUD">AUD</option>
<option value="BGN">BGN</option>
<option value="BRL">BRL</option>
<option value="CAD">CAD</option>
<option value="CNY">CNY</option>
<option value="CZK">CZK</option>
<option value="DKK">DKK</option>
<option value="HKD">HKD</option>
<option value="HUF">HUF</option>
<option value="IDR">IDR</option>
<option value="ILS">ILS</option>
<option value="INR">INR</option>
<option value="ISK">ISK</option>
<option value="JPY">JPY</option>
<option value="KRW">KRW</option>
<option value="MXN">MXN</option>
<option value="MYR">MYR</option>
<option value="NOK">NOK</option>
<option value="NZD">NZD</option>
<option value="PHP">PHP</option>
<option value="PLN">PLN</option>
<option value="RON">RON</option>
<option value="SEK">SEK</option>
<option value="SGD">SGD</option>
<option value="THB">THB</option>
<option value="TRY">TRY</option>
<option value="ZAR">ZAR</option>
</select>
</div>
@ -309,8 +337,8 @@
<script src="js/kube.min.js"></script>
<script src="addons/upload/kube.upload.min.js"></script>
<script src="addons/kube-addons.min.js"></script>
<script src="kaform.js"></script>
<script src="iban.js/iban.js"></script>
<script src="js/kaform.js"></script>
</div>
</div>

View File

@ -1,4 +1,3 @@
var currentRowId=1;
var banktype = "bank-eu";
@ -23,7 +22,7 @@ function checkAllRows(){
var v =row.cells[f].firstElementChild.value;
if ( !v ){ // Datum
row.cells[f].firstElementChild.focus();
showAlert("Bitte gib ein g&uuml;ltiges Datum an!");
showAlert(error_alert_date);
return false;
}
@ -32,7 +31,7 @@ function checkAllRows(){
v =row.cells[f].firstElementChild.value;
if ( !v ){ // Datum
row.cells[f].firstElementChild.focus();
showAlert("Bitte gib ein Beschreibung ein!");
showAlert(error_alert_description);
return false;
}
@ -41,7 +40,7 @@ function checkAllRows(){
v =row.cells[f].firstElementChild.value;
if ( !isFloat(v) ){ // Amount
row.cells[f].firstElementChild.focus();
showAlert("Bitte gib einen g&uuml;ltigen Betrag ein!");
showAlert(error_alert_sum);
return false;
}
@ -148,7 +147,7 @@ function getUploadField(rid)
data-url="upload.php?row=${rid}" data-url-remove="delete.php"
data-progress="true"
data-size="40"
data-placeholder="Datei">
data-placeholder="` + expenses_table_file_placeholder + `">
</div>
<div id="upload-target${rid}" class="upload-target small"></div>
</div>
@ -168,7 +167,7 @@ function getRow(rid,num) {
+ `<input class="tab_input" name="date[${rid}]" value="" type="date" placeholder="Datum*"/>`
+ "</td>"
+ "<td data-label=\"Beschr.\">"
+ `<input class="tab_input" name="desc[${rid}]" type="text" placeholder="Beschreibung"/>`
+ `<input class="tab_input" name="desc[${rid}]" type="text" placeholder="` + expenses_table_description_placeholder + `"/>`
+ "</td>"
+ "<td data-label=\"Betrag\">"
+ `<input class="tab_input" name="amount[${rid}] type="text" placeholder="0.00"/>`
@ -293,25 +292,25 @@ function downloadDocument(mail)
return;
if (!check_field("projectid", "Bitte gib einen Projektnamen/Zweck der Reise an!"))
if (!check_field("projectid", error_alert_projectid))
return;
if (!check_field("realname", "Bitte gib deinen Realnamen an!"))
if (!check_field("realname", error_alert_realname))
return;
if (!check_field("email", "Bitte gib deinen E-Mail-Adresse an!"))
if (!check_field("email", error_alert_email))
return;
if (banktype == "bank-eu"){
iban = document.getElementById('iban');
if (!IBAN.isValid(iban.value)){
document.getElementById("iban").focus();
showAlert("Bitte gib eine korrekte IBAN ein!");
showAlert(error_alert_iban);
return;
}
/* if (!document.getElementById('bic').value.trim().length){
document.getElementById("bic").focus();
showAlert("Bitte gib einen korrekte BIC an!");
showAlert(error_alert_bic);
return;
}
@ -322,7 +321,7 @@ function downloadDocument(mail)
ii = document.getElementById('paypal');
if (!document.getElementById('paypal').value.trim().length){
document.getElementById("paypal").focus();
showAlert("Bitte gib einen PayPal Account an!");
showAlert(error_alert_paypal);
return;
}
}
@ -330,20 +329,20 @@ function downloadDocument(mail)
if (countRows()==0){
document.getElementById("add_issue").focus();
showAlert("Bitte f&uuml;ge mind. eine Auslage hinzu!");
showAlert(error_alert_expenses);
return;
}
if (!document.getElementById("agree").checked){
document.getElementById("agree").focus();
showAlert("Bitte best&auml;tige, dass du alle Angaben nach bestem Wissen und Gewissen gemacht hast!");
showAlert(error_alert_agreement);
return;
};
if (mail){
if (!isMailable()){
showAlert("Um den Antrag elektronisch direkt an WMDE zu schicken, muss jeder Position ein Beleg beigef&uuml;gt sein.");
showAlert(error_alert_ismailable);
return;
}

212
locale.yaml Normal file
View File

@ -0,0 +1,212 @@
# KostenerstattungAntragsformular wikimedia Deutschland
title:
de-DE: Kostenerstattungsformular
en-US: Reimbursement Form
mainheader:
de-DE: Antrag auf Kostenerstattung
en-US: Claim of Reimbursement
mainheader_subtext_1:
de-DE: Du möchtest dir Kosten erstatten lassen, welche im Rahmen deines Projektes entstanden sind?
en-US: You would like to be reimbursed for costs incurred in the course of your project?
mainheader_subtext_2:
de-DE: Bitte fülle dieses Formular aus. Pflichtfelder sind mit einem * gekennzeichnet.
en-US: Please fill out this form. Mandatory fields are marked with *.
header1_1:
de-DE: 1. Bitte gib zunächst bei Projekt/Zweck der Reise den Namen des von Wikimedia Deutschland geförderten Projektes/Veranstaltung an, in dessen Rahmen die Kosten entstanden sind. Bitte rechne die Kosten für jede Förderung einzeln ab!
en-US: world
header1_2:
de-DE: 2. Befülle das Feld <b>Deine Ansprechperson bei Wikimedia </b> mit deiner Kontaktperson (z. B. die Person, mit der du im Team Communitys und Engagement Kontakt hattest). Damit erleichterst du uns die Zuordnung.
en-US: world
header1_3:
de-DE: Welt
en-US: world
header1_4:
de-DE: 4. Die E-Mail-Adresse und die IBAN werden automatisch auf ein korrektes Format geprüft. Gegebenenfalls wird eine Fehlermeldung angezeigt, wenn diese unvollständig oder fehlerhaft sind.
en-US: world
header2_header:
de-DE: <br><br><b>Bitte rechne jedes geförderte Projekt bzw. Veranstaltung einzeln ab!</b><br />
en-US: world
header2_1:
de-DE: 1. Bitte gib zunächst im Feld <b>Währung</b> die Währung an, in der die Erstattung stattfinden soll. Die ausgewählte Währung gilt für den gesamten Antrag auf Kostenerstattung. Wir bitten dich, vorzugsweise Euro zu verwenden.<br />
en-US: world
header2_2:
de-DE: 2. Bitte trage pro Zeile (Pos.) eine Ausgabe mit entsprechender Beschreibung ein und füge einen Beleg als .pdf, .jpg, .png durch Klick auf das entsprechende Feld hinzu. Fehlerhaft hochgeladene Dateien können mittels Klick auf das <b>x</b> entfernt werden. Aus der Beschreibung sollte klar werden, ob es sich um Reise-/Transportkosten, Dienstleistung, Materialien, Verpflegung usw. handelt. Bitte gib jeweils ein Belegdatum an.<br />
en-US: world
header2_3:
de-DE: "3. Solltest du eine Ausgabe in einer Fremdwährung getätigt haben, so füge für die jeweilige Umrechnung einen entsprechenden Umrechnungsbeleg zusätzlich an. Dieser ist für jede Position notwendig. Akzeptiert werden folgende Umrechnungsbelege: Kartenabrechnungen (Kreditkarte oder EC-Karte), Bargeldtausch-Quittung, <a target="_blank" href="https://sdw.ecb.europa.eu/curConverter.do">Währungsumrechner der Europäischen Zentralbank</a>. Sollte die Währung nicht im Währungsumrechner der Europäischen Zentralbank vorhanden sein und auch kein anderweitiger Umrechnungsbeleg vorliegen, so ist <a target="_blank" href="https://www1.oanda.com/lang/de/currency/converter/">Oanda</a> verwendbar.<br />"
en-US: world
header2_4:
de-DE: 4. Solltest du einen Vorschuss von Wikimedia Deutschland für dieses Projekt/die Veranstaltung erhalten haben, gib die Höhe dieses unter „3. Vorschuss und Sonstiges“ an.<br />
en-US: world
header2_5:
de-DE: 5. Bitte bestätige die <b>Vollständig- und Richtigkeit</b> der Angaben mit einem Klick auf das Kästchen.<br />
en-US: world
header2_6:
de-DE: 6. Klicke abschließend auf „Antrag elektronisch direkt an WMDE schicken“ zur direkten Weiterleitung an Wikimedia Deutschland oder „Antrag herunterladen und später einreichen”, wenn du noch Änderungen vornehmen möchtest.<br /><br />
en-US: world
header2_note:
de-DE: Wichtige Hinweise:<br /> Das Formular berechnet selbstständig die Gesamtsumme.<br> Bitte hebe die Belege der einzelnen Positionen bis zum Erhalt der Kostenerstattung auf.<br> Wenn du eine Kopie des Antrages auf Kostenerstattung benötigen solltest, dann kannst du diesen nach dem Absenden an WMDE als PDF-Datei herunterladen.<br /> Die Abrechnung von <a target="_blank" href="https://de.wikipedia.org/wiki/Wikipedia:Wikimedia_Deutschland/FAQ_und_Hilfe_zur_Förderung#Verpflegung">Verpflegungsmehraufwand</a> erfolgt mittels Beleg, den du über dieses <a target="_blank" href="https://www.wikimedia.de/extern/verpflegungsmehraufwand.html">Formular</a> erzeugen kannst. Bitte gib ihn in der entsprechenden eigenen Zeile (Pos.) als Ausgabenbeleg dazu an.<br /> Durch die Software wird ein zusammengefügtes PDF aus Antrag und Anhängen erzeugt.<br /> Nur wenn du für jede Position einen Beleg/Dokument angegeben hast, kannst du den Antrag auf Kostenerstattung direkt an Wikimedia Deutschland (WMDE) senden. Andernfalls steht dir die Möglichkeit zur Verfügung, den Antrag herunterzuladen, später selbst weiter zu bearbeiten und an das Team Communitys und Engagement zu senden.<br><br />Sollten Fehler oder Fragen auftreten, wende dich gern an <a href="mailto:community@wikimedia.de">community@wikimedia.de</a>.
en-US: world
form_1_header:
de-DE: 1. Erfasse deine Stammdaten
en-US: 1. Enter your master data
form_1_placeholder_1:
de-DE: Projekt/Zweck der Reise*
en-US: Project/Purpose of travel*
form_1_placeholder_2:
de-DE: Dein Realname (Vorname Nachname)*
en-US: Full legal name*
form_1_placeholder_3:
de-DE: Deine Ansprechperson bei Wikimedia
en-US: Your contact person at Wikimedia
form_1_placeholder_4:
de-DE: Deine Telefonnummer
en-US: Your phone number
form_1_placeholder_5:
de-DE: Deine Email-Adresse*
en-US: Your email address*
form_1_SEPA:
de-DE: Banküberweisung (SEPA)
en-US: Bank transfer (SEPA)
form_1_noSEPA:
de-DE: Banküberweisung (Non-EU)
en-US: Bank transfer (Non-EU)
form_1_SEPA_placeholder_1:
de-DE: Kontoinhabende Person
en-US: Account Holder
form_1_SEPA_placeholder_2:
de-DE: IBAN*
en-US: IBAN*
form_1_SEPA_placeholder_3:
de-DE: BIC (wenn ausländische Bank)
en-US: BIC (if foreign bank)
form_1_SEPA_placeholder_4:
de-DE: Weitere Anmerkungen z.B. intermediäre Bank, Grund für abweichende kontoinhabende Person
en-US: Other comments e.g. intermediary bank, reason for different account login person
form_1_noSEPA_placeholder_1:
de-DE: Kontoinhabende Person*
en-US: Account login person
form_1_noSEPA_placeholder_2:
de-DE: BIC/SWIFT*
en-US: BIC/SWIFT*
form_1_noSEPA_placeholder_3:
de-DE: Kontonummer*
en-US: Account number*
form_1_noSEPA_placeholder_4:
de-DE: Routing Number
en-US: Routing number
form_1_noSEPA_placeholder_5:
de-DE: Name der Bank*
en-US: Name of the bank*
form_1_noSEPA_placeholder_6:
de-DE: Adresse der Bank (Stra&szlig;e und Hausnummer/Postleitzahl/Land)
en-US: Address of the bank (street and house number/postcode/country)
form_1_noSEPA_placeholder_7:
de-DE: Deine Anschrift (Srta&szlig;e und Hausnummer/Postleitzahl/Land)*
en-US: Your address (street and house number/postcode/country)*
form_1_noSEPA_placeholder_8:
de-DE: Weitere Anmerkungen z.B. intermediäre Bank, Grund für abweichende kontoinhabende Person
en-US: Other comments e.g. intermediary bank, reason for different account login person
form_2_header:
de-DE: 2. Erfasse deine Ausgaben
en-US: 2. Enter your expenses
form_2_currency:
de-DE: 'Währung:'
en-US: Currency
form_2_table_1:
de-DE: Pos.
en-US: Pos
form_2_table_2:
de-DE: Datum
en-US: Date
form_2_table_3:
de-DE: Beschreibung
en-US: Description
form_2_table_4:
de-DE: Betrag
en-US: Amouńt
form_2_table_5:
de-DE: Währung
en-US: Currency
form_2_table_6:
de-DE: Belege
en-US: Receipts
form_2_table_7:
de-DE: L&ouml;schen
en-US: Delete
form_2_button:
de-DE: Ausgabe hinzuf&uuml;gen
en-US: Add expense
form_3_header:
de-DE: 3. Vorschuss und Sonstiges
en-US: 3. Advance payment and other
form_3_subtext_1:
de-DE: 'Ich habe bereits einen Vorschuss erhalten in H&ouml;he von:'
en-US: 'I have already received an advance in the amount of:'
form_3_subtext_2:
de-DE: 'Hiermit bestätige ich die Vollständig- und Richtigkeit meiner Angaben:'
en-US: 'Herewith I confirm the completeness and correctness of my data:'
form_3_button_1:
de-DE: Antrag herunterladen und später einreichen
en-US: Download reimbursement claim and submit later
form_3_button_2:
de-DE: Antrag elektronisch direkt an WMDE schicken
en-US: Send reimbursement claim electronically directly to WMDE
error_alert_projectid:
de-DE: Bitte gib einen Projektnamen/ Grund der Reise an!
en-US: Please enter a project name / reason of travel!
error_alert_realname:
de-DE: Bitte gib deinen Realnamen an!
en-US: Please enter your realname!
error_alert_email:
de-DE: Bitte gib deine E-mail-Adresse an!
en-US: Please enter a valid email address!
error_alert_iban:
de-DE: Bitte gib eine korrekte IBAN ein!
en-US: Please enter a correct IBAN!
error_alert_bic:
de-DE: Bitte gib eine korrekte BIC an!
en-US: Please enter a correct BIC!
error_alert_paypal:
de-DE: Bitte gib einen PayPal Account an!
en-US: Please enter your PayPal account!
error_alert_expenses:
de-DE: Bitte füge mindestens eine Auslage hinzu!
en-US: Please add at least one expense!
error_alert_agreement:
de-DE: Bitte best&auml;tige, dass du alle Angaben nach bestem Wissen und Gewissen gemacht hast!
en-US: Please confirm that you have provided all information to the best of your knowledge and belief!
error_alert_ismailable:
de-DE: Um den Antrag elektronisch direkt an WMDE zu schicken, muss jeder Position ein Beleg beigef&uuml;gt sein.
en-US: To submit the application electronically directly to WMDE, a receipt must be attached to each line item.
error_alert_date:
de-DE: Bitte gib ein gültiges Datum an!
en-US: Please enter a valid date!
error_alert_description:
de-DE: Bitte gib eine Beschreibung ein!
en-US: Please enter a description!
error_alert_sum:
de-DE: Bitte gib einen gültigen Betrag ein!
en-US: Please enter a valid sum!
expenses_table_description_placeholder:
de-DE: Beschreibung
en-US: Description
expenses_table_file_placeholder:
de-DE: Datei
en-US: File
impressum:
de-DE: Impressum
en-US: Imprint
privacy:
de-DE: Datenschutz
en-US: Data Protection
privacyLink:
de-DE: "https://www.wikimedia.de/datenschutz/"
en-US: "https://www.wikimedia.de/datenschutz/#dataprivacy"
languageSelectDe:
de-DE: <b>Deutsch</b>
en-US: Deutsch
languageSelectEn:
de-DE: English
en-US: <b>English</b>

View File

@ -0,0 +1,179 @@
# German translations for apache package.
# Copyright (C) 2021 THE apache'S COPYRIGHT HOLDER
# This file is distributed under the same license as the apache package.
# Charlie & <root@bsd>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: apache 24\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-07-07 20:39+0200\n"
"PO-Revision-Date: 2021-07-06 18:21+0200\n"
"Last-Translator: Charlie & <root@bsd>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ka.php:29
msgid "Kostenerstattungsformular"
msgstr "Reimbursement Claim Formular"
#: ka.php:48
msgid "Antrag auf Kostenerstattung"
msgstr "Reimbursement Claim"
#: ka.php:51
msgid ""
"Du möchtest dir Kosten erstatten lassen, welche im Rahmen deines Projektes "
"entstanden sind?"
msgstr ""
"You would like to be reimbursed for costs incurred in the course of your "
"project?"
#: ka.php:52
msgid ""
"Bitte fülle dieses Formular aus. Pflichtfelder sind mit einem * "
"gekennzeichnet."
msgstr "Please fill out this form. Mandatory fields are marked with *."
#: ka.php:60
msgid "1. Erfasse deine Stammdaten"
msgstr "1. Enter your master data"
#: ka.php:65
msgid "Projekt/Zweck der Reise*"
msgstr "Project/Purpose of travel*"
#: ka.php:72
msgid "Dein Realname (Vorname Nachname)*"
msgstr "Full legal name*"
#: ka.php:77
msgid "Deine Ansprechperson bei Wikimedia"
msgstr "Your contact person at Wikimedia"
#: ka.php:87
msgid "Deine Telefonnummer"
msgstr "Your phone number"
#: ka.php:98
msgid "Deine E-Mail-Adresse*"
msgstr "Your email address*"
#: ka.php:109
msgid "Banküberweisung"
msgstr "Bank transfer"
#: ka.php:110
msgid "Banküberweisung (Non-EU)"
msgstr "Bank transfer (Non-EU)"
#: ka.php:118 ka.php:151
msgid "Kontoinhabende Person"
msgstr "Account holder"
#: ka.php:127
msgid "IBAN*"
msgstr "IBAN*"
#: ka.php:132
msgid "BIC (wenn ausländische Bank)"
msgstr "BIC (if foreign bank)"
#: ka.php:139
msgid ""
"Weitere Anmerkungen z.B. intermediäre Bank, Grund für abweichende "
"Kontoinhbende Person"
msgstr ""
"Other comments e.g. intermediary bank, reason for different account login "
"person"
#: ka.php:160
msgid "Kontonummer*"
msgstr "Account number*"
#: ka.php:165
msgid "BIC/SWIFT*"
msgstr "BIC/SWIFT*"
#: ka.php:173
msgid "Adresse der Bank (Stra&szlig;e und Hausnummer/Postleitzahl/Land)"
msgstr "Address of the bank (street and house number/postcode/country)"
#: ka.php:176
#, fuzzy
msgid "Deine Anschrift (Srta&szlig;e und Hausnummer/Postleitzahl/Land)"
msgstr "Your address (street and house number/postcode/country)"
#: ka.php:185
#, fuzzy
msgid ""
"Weitere Anmerkungen z.B. intermediäre Bank,Grund für abweichende "
"kontoinhabende Person"
msgstr ""
"Other comments e.g. intermediary bank, reason for different account login "
"person"
#: ka.php:224
#, fuzzy
msgid "2. Erfasse deine Ausgaben"
msgstr "2. Enter your expenses"
#: ka.php:226
msgid "Währung:"
msgstr "Currency:"
#: ka.php:240
msgid "Pos."
msgstr "Pos."
#: ka.php:241
msgid "Datum"
msgstr "Date"
#: ka.php:242
msgid "Beschreibung"
msgstr "Description"
#: ka.php:243
msgid "Betrag"
msgstr "Amount"
#: ka.php:244
msgid "Währung"
msgstr "Currency"
#: ka.php:245
msgid "Belege"
msgstr "Receipts"
#: ka.php:246
msgid "L&ouml;schen"
msgstr "Delete"
#: ka.php:254
msgid "Ausgabe hinzuf&uuml;gen"
msgstr "Add expense"
#: ka.php:260
msgid "3. Vorschuss und Sonstiges"
msgstr "3. Advance payment and other"
#: ka.php:263
msgid "Ich habe bereits einen Vorschuss erhalten in H&ouml;he von:"
msgstr "I have already received an advance in the amount of:"
#: ka.php:273
msgid "Hiermit bestätige ich die Vollständig- und Richtigkeit meiner Angaben:"
msgstr "Herewith I confirm the completeness and correctness of my data:"
#: ka.php:281
msgid "Antrag elektronisch direkt an WMDE schicken"
msgstr "Send reimbursement claim electronically directly to WMDE"
#: ka.php:284
msgid "Antrag herunterladen und später einreichen"
msgstr "Download reimbursement claim and submit later"

14
locale/en-US/h1.php Normal file
View File

@ -0,0 +1,14 @@
1. Please first state the name of your <b>Project/Purpose of travel</b> supported by
Wikimedia Deutschland, in the context of which the costs were incurred.
Please calculate the costs for each funding individually!
<br><br>
2. Fill in your <b>contact person at Wikimedia</b>.
This makes it easier for us to match you.
<br><br>
3. Each time, please enter your complete data relevant for the reimbursement of costs. We need these details for
any queries you could have. The payout details help us to carry out the refund correctly.
If the money is refunded to an account that does not belong to you, please give a reason;
this is essential for our accounting.
<br><br>
4. The email address and IBAN are automatically checked for correct format. If necessary,
an error message will be displayed if these are incomplete or incorrect.

46
locale/en-US/h2.php Normal file
View File

@ -0,0 +1,46 @@
<b>
Please calculate the costs for each funding individually!
</b
><br />
1. Please first state in the field <b>Currency</b> the currency in which the reimbursement
should be proceeded. The selected currency applies to the entire reimbursement claim.
We kindly you to use Euro preferably.
<br />
2. Please state <b>one</b> expense, receipt, document as explanation per line (Pos.) with corresponding description and
attach a receipt as .pdf, .jpg, .png by clicking on the corresponding field.
Files uploaded incorrectly can be removed by clicking on the <b>x</b>.
The explanation should clarify the type of expenses,
e.g. transportation, service, catering. Please always state the date of the receipt.
<br />
3. In the case expenses in foreign currencies have occurred in your project, please attach
for each conversion an additional file where the conversion rate is indicated. These proofs for
conversion rates are accepted: Card billing (credit or debit card), Cash currency exchange receipt,
<a href="https://sdw.ecb.europa.eu/curConverter.do">Currency converter of the European Central Bank.</a>
If there is no exchange course in the currency converter of the European Central Bank and no other proof available,
please use <a href="https://www1.oanda.com/lang/de/currency/converter/">Oanda</a>.
<br />
4. In the case an advance payment had been granted by Wikimedia Deutschland for the project/event,
please state the amount in the “advance payment and other” field.
<br />
5. Please confirm the <b>completeness and correctness</b> of your data by clicking the box.
<br />
6. Finally, click on “Send reimbursement claim electronically directly to WMDE” for direct forwarding
the reimbursement claim to Wikimedia Deutschland or “Download reimbursement claim and submit later” if you still want
to make changes.
<br /><br />
Important instructions:<br />
The form will calculate the total amount on its own.
<br />
The settlement of <a href="https://de.wikipedia.org/wiki/Wikipedia:Wikimedia_Deutschland/FAQ_und_Hilfe_zur_Förderung#Verpflegung">“per diem”</a>
is done by a receipt, which you can generate by using the <a href="https://www.wikimedia.de/extern/verpflegungsmehraufwand.html">form</a>.
Please enter it in a appropriate separate line (Pos.) as an expense.
<br />
A merged PDF of the reimbursement claim and the attachments will be generated by the software.
<br />
Only if you uploaded a receipt/document for each item, you can send the reimbursement claim
directly to Wikimedia Deutschland (WMDE). Otherwise, you have the option of downloading the reimbursement claim,
edit it yourself later and send it to Wikimedia Deutschland.<br>
<br />
If there are any errors or questions, feel free to contact the Communities and Engagement Team via <a href="mailto:community@wikimedia.de">community@wikimedia.de</a> or your contact person.

View File

@ -5,11 +5,36 @@ body {
max-width: 90em;
min-width: 80em;
}
#container {
display: grid;
grid-template-columns: auto;
}
a.languageSelect {
#color: black;
#text-decoration: none;
font-size: 1.7vw;
}
a.languageSelect:hover {
color: red;
}
@media only screen and (max-width: 767px) {
body {
min-width: 2em;
padding: 0.5em;
}
#container {
align-items: center;
width: 100vw;
display: grid;
grid-template-columns: auto auto;
}
a.languageSelect {
font-size: 7vw;
}
}
@media only screen and (max-width: 767px) {

View File

@ -1,4 +1,5 @@
<?php
ob_start();
session_start();
if ($_GET['lst']=='1'){
@ -497,9 +498,9 @@ readfile($file);
?>
<script src="js/kube.min.js"></script>
<script src="kaform.js"></script>
<script src="addons/upload/kube.upload.min.js"></script>
<script src="addons/kube-addons.min.js"></script>
<script src="kaform.js"></script>
<script src="iban.js/iban.js"></script>