|
- <?php
- $client = new user('',$userId);
- $client->konto = new konto($client->userId);
- $numBewegungen = count($client->konto->kontoBewegungen);
-
- /* Lies Kinder und Partner für die Familienpraemie ein */
- $tmpkinder = $client->getChildren(true);
- $tmppartners = $client->getPartners();
- $kinder = array();
-
- if ($tmpkinder) {
- foreach ($tmpkinder as $kind)
- {
- if ($kind->userId)
- {
- $konto = new konto($kind->userId);
- // if ($konto->hasminbestellpunkte())
- // {
- array_push($kinder,$kind);
- // }
- }
- }
- }
- $partners = array();
- if ($tmppartners) {
- foreach ($tmppartners as $partner)
- {
- if ($partner->userId)
- {
- $konto = new konto($partner->userId);
- if ($konto->hasminbestellpunkte())
- {
- array_push($partners,$partner);
- }
- }
- }
- }
- $client->writeaddress($loggedIn->windowslogin,$loggedIn->name, $loggedIn->email);
-
- if (!empty($submitted) && $points != '' && !empty($description))
- {
- $errormsg = '';
- if ($praemienid) {
- $praemie = new praemie($praemienid);
- if (!$praemie->id)
- {
- /* Context: praemienid (form) = praemienhmid (db) */
- $praemie = $praemie->getPraemieByHmNr($praemienid);
- if ($praemie->id)
- {
- $praemienhmnr = $praemienid;
- $praemienid = $praemie->id;
- }
- }
- }
- if ($praemie->familienpraemie) {
- if ((!$valuekind) ||(!$valuepartner)) {
- $errormsg = 'Kein Kind angegeben\n';
- } else {
- $eligible = true;
- // Berechtigung pruefen. Genuegend Punkte? Bereits Geldpraemie bestellt?
- foreach($valuekind as $kindid => $value) {
- if ($value <= 0) {
- continue;
- }
- $kinduser = new user(0,$kindid);
- $konto = new konto($kinduser->userId);
- if (($konto->praemienlimit($praemienid) || ($konto->geldpraemienlimit($praemienid)))) {
- $errormsg = 'Das Kind <b>' . $kinduser->vorname . '</b> hat bereits eine Geldpraemie in diesem Jahr bestellt.';
- $eligible = false;
- break;
- } else {
- }
- }
-
- foreach($valuepartner as $parentid => $value) {
- if ($errormsg) {
- break;
- }
- if ($value <= 0) {
- continue;
- }
- $parentuser = new user(0,$parentid);
- $konto = new konto($parentuser->userId);
- if ($konto->getsaldo() < $value) {
- $errormsg = 'Das Elternteil <b>' . $parentuser->vorname . '</b> hat nicht genügend Punkte';
- $eligible = false;
- break;
- } elseif (($konto->praemienlimit($praemienid) || ($konto->geldpraemienlimit($praemienid)))) {
- $errormsg = 'Das Elternteil <b>' . $parentuser->vorname . '</b> hat bereits eine Geldpraemie in diesem Jahr bestellt.';
- $eligible = false;
- break;
- }
- }
-
- if ($eligible) {
- /* Kinder */
- foreach($valuekind as $kindid => $value) {
- if ($value <= 0) {
- continue;
- }
- $kinduser = new user(0,$kindid);
- $konto = new konto($kinduser->userId);
- // Buche ab
- $row = array();
- $row['userId'] = $kinduser->userId;
- $row['datum'] = dateToTimestamp($datum);
- $row['datumerwerb'] = convertdate($datum);
- $row['beschreibung'] = $description;
- $row['wert'] = 0-$value;
- if ($praemienid) {
- $row['praemienid'] = $praemienid;
- }
- $kinduser->konto = $konto;
- $kontoBewegung = new kontobewegung($row);
- $kinduser->konto->addKontobewegung($kontoBewegung);
- $loggedIn->log($description , $kinduser->userId);
- // Lese Kontostand neu ein, damit neue Bewegung richtig einsortiert wird
- $kinduser->konto = new konto($kinduser->userId);
- }
-
- /* Eltern */
- foreach($valuepartner as $parentid => $value) {
- if ($errormsg) {
- break;
- }
- if ($value <= 0) {
- continue;
- }
- $parentuser = new user(0,$parentid);
- $konto = new konto($parentuser->userId);
- // Buche ab
- $row = array();
- $row['userId'] = $parentuser->userId;
- $row['datum'] = dateToTimestamp($datum);
- $row['datumerwerb'] = convertdate($datum);
- $row['beschreibung'] = $description;
- $row['wert'] = 0-$value;
- if ($praemienid) {
- $row['praemienid'] = $praemienid;
- }
- $parentuser->konto = $konto;
- $kontoBewegung = new kontobewegung($row);
- $parentuser->konto->addKontobewegung($kontoBewegung);
- $loggedIn->log($description , $parentuser->userId);
- // Lese Kontostand neu ein, damit neue Bewegung richtig einsortiert wird
- $parentuser->konto = new konto($parentuser->userId);
- }
- }
-
- if (!$errormsg) {
- print "<h2>Prämie wurde gebucht</h2>\n";
- }
- }
- } else { /* keine Familienpraemie: */
- if (count($praemie->zusaetze) == 1)
- {
- $praemienhmid = $praemie->zusaetze[0]->hmnr;
- } else {
- /* FIXME */
- $praemienhmid = 0;
- }
- if ($praemienhmnr) $praemienhmid = $praemienhmnr;
- $description = dbEscapeString($description);
- $row = array();
- $row['userId'] = $client->userId;
- $row['datum'] = dateToTimestamp($datum);
- $row['datumerwerb'] = convertdate($datum);
- $row['beschreibung'] = $description;
- $row['wert'] = 0-$points;
- if ($praemienid) {
- $row['praemienid'] = $praemienid;
- }
- if ($praemienhmid) {
- $row['praemienhmid'] = $praemienhmid;
- }
-
- $kontoBewegung = new kontobewegung($row);
- $client->konto->addKontobewegung($kontoBewegung);
- $numBewegungen++;
- $loggedIn->log($description , $client->userId);
- // Lese Kontostand neu ein, damit neue Bewegung richtig einsortiert wird
- $client->konto = new konto($client->userId);
- print "<h2>Prämie wurde gebucht</h2>\n";
- }
-
- if ($errormsg != '') {
- print "<h2>$errormsg</h2>\n";
- }
- }
-
- if (!$client->checklegalage()) {
- $liste = new Praemienliste(U18PRAEMIEN);
- $praemien = $liste->getPraemienSorted();
- $liste = new Praemienliste(UPRAEMIEN);
- $praemien = array_merge($praemien , $liste->getPraemienSorted());
- } else {
- $liste = new Praemienliste(O18PRAEMIEN);
- $praemien = $liste->getPraemienSorted();
- $liste = new Praemienliste(U18PRAEMIEN);
- $praemien = array_merge($praemien , $liste->getPraemienSorted());
- $liste = new Praemienliste(UPRAEMIEN);
- $praemien = array_merge($praemien , $liste->getPraemienSorted());
- }
- include("views/$module/addbonus.php");
- ?>
|