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 ' . $kinduser->vorname . ' 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 ' . $parentuser->vorname . ' hat nicht genügend Punkte'; $eligible = false; break; } elseif (($konto->praemienlimit($praemienid) || ($konto->geldpraemienlimit($praemienid)))) { $errormsg = 'Das Elternteil ' . $parentuser->vorname . ' 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 "