public static function cleanMembers(\DataContainer $objDc) { $intPid = \Input::get('id'); $blnIntroPrinted = false; if ($intPid && ($objArchive = SubmissionArchiveModel::findByPk($intPid)) !== null && $objArchive->memberGroups) { $arrArchiveGroups = deserialize($objArchive->memberGroups, true); if (!empty($arrArchiveGroups)) { if (($objMembers = \MemberModel::findAll()) !== null) { while ($objMembers->next()) { $arrGroups = deserialize($objMembers->groups, true); if (count(array_intersect($arrGroups, $arrArchiveGroups)) > 0) { // check for existing submissions if (SubmissionModel::findBy('mid', $objMembers->id) === null) { if (!$blnIntroPrinted) { echo $GLOBALS['TL_LANG']['tl_competition_submission']['cleanMembersIntro'] . '<br>'; $blnIntroPrinted = true; } echo $objMembers->id . '<br>'; $objMembers->groups = serialize(array_diff($arrGroups, $arrArchiveGroups)); $objMembers->save(); } } } } } } die; }
public static function getMembersAsOptions() { $arrOptions = array(); if (($objMembers = \MemberModel::findAll()) !== null) { while ($objMembers->next()) { $strName = $objMembers->firstname . ' ' . $objMembers->lastname; $strEmail = $objMembers->email ? $objMembers->email . ', ' : ''; $arrOptions[$objMembers->id] = trim($strName) ? $strName . ' (' . $strEmail . 'ID ' . $objMembers->id . ')' : $strEmail . 'ID ' . $objMembers->id; } } asort($arrOptions); return $arrOptions; }
/** * Get all FrontendUsers and return them as array * @param object * @return array */ public function getFrontendUsers($objModule) { $objFrontendUsers = MemberModel::findAll(); if ($objFrontendUsers === null) { return array(); } $arrFrontendUsers = array(); // Back end if (TL_MODE == 'BE') { while ($objFrontendUsers->next()) { $arrFrontendUsers[$objFrontendUsers->id] = "{$objFrontendUsers->firstname} {$objFrontendUsers->lastname} ({$objFrontendUsers->email})"; } return $arrFrontendUsers; } return array(); }
/** * add member to a certain group that is assigned to a certain score */ public function addGroupMembership() { $arrayGrades = MemberRating::getGradeLabelingArray(); if (!count($arrayGrades) > 0) { return; } krsort($arrayGrades); $objMember = \MemberModel::findAll(); while ($objMember->next()) { foreach ($arrayGrades as $grade) { $score = MemberRating::getScore($objMember->id); if ($score >= $grade['score']) { if (count($grade['groups']) > 0) { MemberRating::addToGroup($objMember->id, $grade['groups']); } break; } } } }
public static function updateMembers($arrSelectedLdapMemberGroups) { // ldap members $objLdapMembers = LdapMemberModel::getLdapMembers(); if (!$objLdapMembers) { return false; } // add/update new members $foundLdapMemberUids = array(); // search filter for mail wildcard and store domain preg_match('#@(?P<domain>[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5})#is', $GLOBALS['TL_CONFIG']['ldap_filter_person'], $matches); $mailDomain = $matches['domain']; foreach ($objLdapMembers as $k => $v) { if (isset($v[$GLOBALS['TL_CONFIG']['ldap_uid']]) && isset($v[$GLOBALS['TL_CONFIG']['ldap_uid']][0])) { $uid = $v['uid'][0]; $mail = $v['mail'][0]; $uidMail = $v[$GLOBALS['TL_CONFIG']['ldap_uid']][0]; // multiple emails found if ($v['mail']['count'] > 1 && !empty($mailDomain)) { $arrMailFilter = preg_grep("#(.*){$mailDomain}#", $v['mail']); // perform maildomain rgxp against $mailDomain $mail = current($arrMailFilter); // take first mail, that fits domain regxp $uidMail = $mail; } $firstname = $v['givenname'][0]; $lastname = $v['sn'][0]; $foundLdapMemberUids[] = $uid; $objMember = \MemberModel::findBy(array("email = '{$mail}' OR ldapUid = '{$uid}'"), array()); if ($objMember === null) { static::doImportMember($uidMail, $arrSelectedLdapMemberGroups); } else { static::doUpdateMember($objMember, $uid, $mail, $firstname, $lastname, $arrSelectedLdapMemberGroups); } } } // mark remotely non existing local ldap members as disabled $objLocalMembers = \MemberModel::findAll(); if ($objLocalMembers !== null) { while ($objLocalMembers->next()) { if ($objLocalMembers->ldapUid && !in_array($objLocalMembers->ldapUid, $foundLdapMemberUids)) { $objLocalMembers->disable = true; $objLocalMembers->save(); } else { $objLocalMembers->disable = false; $objLocalMembers->save(); } } } }
/** * Erstellt ein Array mit allen Daten der Gartenabrechnung * * @return array|FALSE Array mit der kompletten Abrechnung, oder FALSE */ protected function createArrayAllData() { // Definitionen $gartenGesamtAbrechnung = array(); // Ausgabejahr in Array integrieren $gartenGesamtAbrechnung['ausgabejahr'] = $this->intYear; $gartenGesamtAbrechnung['jahre'] = $this->arrYears; // jetzt ziehen wir uns die Stammdaten rein $gartenVereinStammdaten = NlshGartenVereinStammdatenModel::findByJahr($gartenGesamtAbrechnung['ausgabejahr']); $gartenGesamtAbrechnung['stammdaten_verein'] = $gartenVereinStammdaten->row(); // Stammdaten um formatierte Felder erweitern $gartenGesamtAbrechnung['stammdaten_verein']['pacht_formated'] = $gartenGesamtAbrechnung['stammdaten_verein']['pacht'] . ' ' . $GLOBALS['TL_LANG']['MSC']['nlsh_gesamtausgabe']['waehrung'] . '/' . $GLOBALS['TL_LANG']['MSC']['nlsh_gesamtausgabe']['pacht_einheit']; $gartenGesamtAbrechnung['stammdaten_verein']['beitrag_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['stammdaten_verein']['beitrag'], 'waehrung'); $gartenGesamtAbrechnung['stammdaten_verein']['strom_formated'] = $gartenGesamtAbrechnung['stammdaten_verein']['strom'] . ' ' . $GLOBALS['TL_LANG']['MSC']['nlsh_gesamtausgabe']['waehrung'] . '/' . $GLOBALS['TL_LANG']['MSC']['nlsh_gesamtausgabe']['strom_einheit']; $gartenGesamtAbrechnung['stammdaten_verein']['strom_grundpreis_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['stammdaten_verein']['strom_grundpreis'], 'waehrung'); $gartenGesamtAbrechnung['stammdaten_verein']['wasser_formated'] = $gartenGesamtAbrechnung['stammdaten_verein']['wasser'] . ' ' . $GLOBALS['TL_LANG']['MSC']['nlsh_gesamtausgabe']['waehrung'] . '/' . $GLOBALS['TL_LANG']['MSC']['nlsh_gesamtausgabe']['wasser_einheit']; $gartenGesamtAbrechnung['stammdaten_verein']['wasser_grundpreis_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['stammdaten_verein']['wasser_grundpreis'], 'waehrung'); $gartenGesamtAbrechnung['stammdaten_verein']['landgrosse_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['stammdaten_verein']['landgrosse'], 'grosse_einheit'); // jetzt benötigen wir noch die Garten- pid $gartenGesamtAbrechnung['garten_pid'] = $gartenVereinStammdaten->id; // jetzt sind die Einstellungen dran $gartenConfig = NlshGartenConfigModel::findByJahr($gartenGesamtAbrechnung['ausgabejahr']); if ($gartenConfig !== NULL) { $gartenGesamtAbrechnung['einstellungen'] = $gartenConfig->row(); // Abrechnungsjahr für Beitrag, Pacht und Verbrauchsdaten eintragen if ($gartenGesamtAbrechnung['einstellungen']['nlsh_garten_vorschuss_beitrag'] == TRUE) { $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_ausgabejahr_beitrag'] = $gartenGesamtAbrechnung['ausgabejahr'] + 1; } else { $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_ausgabejahr_beitrag'] = $gartenGesamtAbrechnung['ausgabejahr']; } if ($gartenGesamtAbrechnung['einstellungen']['nlsh_garten_vorschuss_pacht'] == TRUE) { $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_ausgabejahr_pacht'] = $gartenGesamtAbrechnung['ausgabejahr'] + 1; } else { $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_ausgabejahr_pacht'] = $gartenGesamtAbrechnung['ausgabejahr']; } if ($gartenGesamtAbrechnung['einstellungen']['nlsh_garten_verbrauchsdaten_vorjahr'] == TRUE) { $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_ausgabejahr_verbrauchsdaten'] = $gartenGesamtAbrechnung['ausgabejahr'] - 1; } else { $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_ausgabejahr_verbrauchsdaten'] = $gartenGesamtAbrechnung['ausgabejahr']; } // Einstellungen um formatierte Felder erweitern $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_ausgabejahr_verbrauchsdaten_formated'] = str_replace('%jahr', $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_ausgabejahr_verbrauchsdaten'], $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_text_rg_verbrauchsdaten']); $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_text_rg_pacht_beitrag_formated'] = str_replace('%jahrbeitrag', $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_ausgabejahr_beitrag'], $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_text_rg_pacht_beitrag']); $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_text_rg_pacht_beitrag_formated'] = str_replace('%jahrpacht', $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_ausgabejahr_pacht'], $gartenGesamtAbrechnung['einstellungen']['nlsh_garten_text_rg_pacht_beitrag_formated']); } else { $gartenGesamtAbrechnung['einstellungen'] = FALSE; } // jetzt ziehen wir uns alle Mitglieder rein $member = \MemberModel::findAll(); // den zweiten von mehrfach belegten Gärten von einem Mitglied ermitteln $doubleGarten = NlshGartenGartenDataModel::findDoubleGarten($gartenGesamtAbrechnung['garten_pid']); // zur Optimierung // Erzeugung eines Array, welches indiziert wir mit seinem id // wird benutzt, um im $newArr jedem Garten sein Member- Array // zu übergeben, ohne bei jedem Durchlauf der while Schleife // auf die Datenbank zugreifen zu müssen while ($member->next()) { $idIndiMember[$member->id] = $member->row(); } // Model_Collection $member zurücksetzen $member->reset(); // Daten der Gärten holen $gartenGartenData = NlshGartenGartenDataModel::findBy('pid', $gartenGesamtAbrechnung['garten_pid'], array('order' => '`nr` ASC')); // jetzt lesen wir ein while ($gartenGartenData->next()) { $newArr = array('id' => $gartenGartenData->id, 'nr' => trim($gartenGartenData->nr), 'grosse' => $gartenGartenData->grosse, 'strom' => $gartenGartenData->strom, 'wasser' => $gartenGartenData->wasser, 'nutzung_user_id' => $gartenGartenData->nutzung_user_id, 'pacht_ja_nein' => $gartenGartenData->pacht_ja_nein, 'beitrag_ja_nein' => $gartenGartenData->beitrag_ja_nein, 'individuell_01_gartenstamm_ja_nein' => $gartenGartenData->individuell_01_gartenstamm_ja_nein, 'individuell_02_gartenstamm_ja_nein' => $gartenGartenData->individuell_02_gartenstamm_ja_nein, 'individuell_03_gartenstamm_ja_nein' => $gartenGartenData->individuell_03_gartenstamm_ja_nein, 'individuell_04_gartenstamm_ja_nein' => $gartenGartenData->individuell_04_gartenstamm_ja_nein, 'abrechnung_garten_individuell_01_name' => $gartenGartenData->abrechnung_garten_individuell_01_name, 'abrechnung_garten_individuell_01_wert' => $gartenGartenData->abrechnung_garten_individuell_01_wert, 'abrechnung_garten_individuell_02_name' => $gartenGartenData->abrechnung_garten_individuell_02_name, 'abrechnung_garten_individuell_02_wert' => $gartenGartenData->abrechnung_garten_individuell_02_wert, 'abrechnung_garten_individuell_03_name' => $gartenGartenData->abrechnung_garten_individuell_03_name, 'abrechnung_garten_individuell_03_wert' => $gartenGartenData->abrechnung_garten_individuell_03_wert, 'abrechnung_garten_individuell_04_name' => $gartenGartenData->abrechnung_garten_individuell_04_name, 'abrechnung_garten_individuell_04_wert' => $gartenGartenData->abrechnung_garten_individuell_04_wert, 'beitrag' => 0, 'pacht' => 0); // Gärten um formatierte Felder erweitern $newArr['grosse_formated'] = $this->formatedNumber($newArr['grosse'], 'grosse_einheit'); $newArr['strom_formated'] = $this->formatedNumber($newArr['strom'], 'strom_einheit'); $newArr['wasser_formated'] = $this->formatedNumber($newArr['wasser'], 'wasser_einheit'); $newArr['abrechnung_garten_individuell_01_wert_formated'] = $this->formatedNumber($newArr['abrechnung_garten_individuell_01_wert'], 'waehrung'); $newArr['abrechnung_garten_individuell_02_wert_formated'] = $this->formatedNumber($newArr['abrechnung_garten_individuell_02_wert'], 'waehrung'); $newArr['abrechnung_garten_individuell_03_wert_formated'] = $this->formatedNumber($newArr['abrechnung_garten_individuell_03_wert'], 'waehrung'); $newArr['abrechnung_garten_individuell_04_wert_formated'] = $this->formatedNumber($newArr['abrechnung_garten_individuell_04_wert'], 'waehrung'); // die Member- Tabelle hinzufügen if ($gartenGartenData->nutzung_user_id == TRUE) { $newArr['member'] = $idIndiMember[$newArr[nutzung_user_id]]; // Name zusammenschustern $newArr['member']['name_komplett'] = $idIndiMember[$newArr['nutzung_user_id']]['lastname'] . ', ' . $idIndiMember[$newArr[nutzung_user_id]]['firstname']; } // Werte berechnen // Beitrag // wenn Beitrag aus Vereinstammdaten und Mitgliederstammdaten // berechnet werden soll, dann berechnen // nur, wenn Garten nicht leer if ($gartenGesamtAbrechnung['stammdaten_verein']['beitrag'] == TRUE && $newArr['beitrag_ja_nein'] == TRUE && $newArr['nutzung_user_id'] == TRUE && $newArr['member']['nlsh_member_beitrag_ja_nein'] == TRUE) { // Jetzt die Kontrolle, ob der Garten ein doppelter ist, // dann nämlich keinen Beitrag if ($doubleGarten[$newArr['nr']] == TRUE) { $newArr['beitrag'] = 0; } else { $newArr['beitrag'] = $gartenGesamtAbrechnung['stammdaten_verein']['beitrag']; } $gesamtBeitrag = $gesamtBeitrag + $newArr['beitrag']; } // um formatiertes Feld erweitern $newArr['beitrag_formated'] = $this->formatedNumber($newArr['beitrag'], 'waehrung'); // Pacht // wenn Pacht aus Vereinstammdaten und Mitgliederstammdaten // berechnet werden soll, dann berechnen // nur, wenn Garten nicht leer if ($gartenGesamtAbrechnung['stammdaten_verein']['pacht'] == TRUE && $newArr['pacht_ja_nein'] == TRUE && $newArr['nutzung_user_id'] == TRUE && $newArr['member']['nlsh_member_pacht_ja_nein'] == TRUE) { $newArr['pacht'] = round($gartenGesamtAbrechnung['stammdaten_verein']['pacht'] * $newArr['grosse'], 2); $gesamtPacht = $gesamtPacht + $newArr['pacht']; } // um formatiertes Feld erweitern $newArr['pacht_formated'] = $this->formatedNumber($newArr['pacht'], 'waehrung'); // Stromabrechnung // nur wenn Garten nicht leer und Strom verbraucht wurde if ($newArr['nutzung_user_id'] == TRUE && $newArr['strom'] == TRUE) { $newArr['strom_kosten'] = round($gartenGesamtAbrechnung['stammdaten_verein']['strom'] * $newArr['strom'] + $gartenGesamtAbrechnung['stammdaten_verein']['strom_grundpreis'], 2); $gesamtStrom = $gesamtStrom + $newArr['strom']; $gesamtStromKosten = $gesamtStromKosten + $newArr['strom_kosten']; } // um formatiertes Feld erweitern $newArr['strom_kosten_formated'] = $this->formatedNumber($newArr['strom_kosten'], 'waehrung'); // Wasserabrechnung // nur wenn Garten nicht leer und Wasser verbraucht wurde if ($newArr['nutzung_user_id'] == TRUE && $newArr['wasser'] == TRUE) { $newArr['wasser_kosten'] = round($gartenGesamtAbrechnung['stammdaten_verein']['wasser'] * $newArr['wasser'] + $gartenGesamtAbrechnung['stammdaten_verein']['wasser_grundpreis'], 2); $gesamtWasser = $gesamtWasser + $newArr['wasser']; $gesamtWasserkosten = $gesamtWasserkosten + $newArr['wasser_kosten']; } // um formatiertes Feld erweitern $newArr['wasser_kosten_formated'] = $this->formatedNumber($newArr['wasser_kosten'], 'waehrung'); // Gesamt Größe der Gartenanlage // wird zu Kontrolle des Bestandes herangezogen $gesamtGrosse = $gesamtGrosse + $newArr['grosse']; // Summe der individuelle Abrechnungen des einzelnen Gartens // nur, wenn Garten nicht leer if ($newArr['nutzung_user_id'] == TRUE) { $gesamtAbrechnungGartenIndividuell = $gesamtAbrechnungGartenIndividuell + $newArr['abrechnung_garten_individuell_01_wert'] + $newArr['abrechnung_garten_individuell_02_wert'] + $newArr['abrechnung_garten_individuell_03_wert'] + $newArr['abrechnung_garten_individuell_04_wert']; } // Jetzt individuelle Abrechnung aus den Gartenstammdaten übernehmen // nur, wenn vorhanden und Garten nicht leer if ($newArr['nutzung_user_id'] == TRUE) { // erste individuelle Abrechnung // wenn Garten nicht doppelt if (($gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_01_name'] == TRUE || $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_01_wert'] == TRUE) && $newArr['individuell_01_gartenstamm_ja_nein'] == TRUE && $doubleGarten[$newArr['nr']] == FALSE) { $gesamtAbrechnungStammdatenIndividuell = $gesamtAbrechnungStammdatenIndividuell + $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_01_wert']; $newArr['abrechnung_stammdaten_individuell_01_name'] = $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_01_name']; $newArr['abrechnung_stammdaten_individuell_01_wert'] = $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_01_wert']; $newArr['abrechnung_stammdaten_individuell_01_wert_formated'] = $this->formatedNumber($newArr['abrechnung_stammdaten_individuell_01_wert'], 'waehrung'); $gesamtAbrechnungStammdatenIndividuell01 = $gesamtAbrechnungStammdatenIndividuell01 + $newArr['abrechnung_stammdaten_individuell_01_wert']; } // zweite individuelle Abrechnung if (($gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_02_name'] == TRUE || $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_02_wert'] == TRUE) && $newArr['individuell_02_gartenstamm_ja_nein'] == TRUE && $doubleGarten[$newArr['nr']] == FALSE) { $gesamtAbrechnungStammdatenIndividuell = $gesamtAbrechnungStammdatenIndividuell + $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_02_wert']; $newArr['abrechnung_stammdaten_individuell_02_name'] = $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_02_name']; $newArr['abrechnung_stammdaten_individuell_02_wert'] = $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_02_wert']; $newArr['abrechnung_stammdaten_individuell_02_wert_formated'] = $this->formatedNumber($newArr['abrechnung_stammdaten_individuell_02_wert'], 'waehrung'); $gesamtAbrechnungStammdatenIndividuell02 = $gesamtAbrechnungStammdatenIndividuell02 + $newArr['abrechnung_stammdaten_individuell_02_wert']; } // dritte individuelle Abrechnung if (($gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_03_name'] == TRUE || $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_03_wert'] == TRUE) && $newArr['individuell_03_gartenstamm_ja_nein'] == TRUE && $doubleGarten[$newArr['nr']] == FALSE) { $gesamtAbrechnungStammdatenIndividuell = $gesamtAbrechnungStammdatenIndividuell + $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_03_wert']; $newArr['abrechnung_stammdaten_individuell_03_name'] = $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_03_name']; $newArr['abrechnung_stammdaten_individuell_03_wert'] = $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_03_wert']; $newArr['abrechnung_stammdaten_individuell_03_wert_formated'] = $this->formatedNumber($newArr['abrechnung_stammdaten_individuell_03_wert'], 'waehrung'); $gesamtAbrechnungStammdatenIndividuell03 = $gesamtAbrechnungStammdatenIndividuell03 + $newArr['abrechnung_stammdaten_individuell_03_wert']; } // vierte individuelle Abrechnung if (($gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_04_name'] == TRUE || $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_04_wert'] == TRUE) && $newArr['individuell_04_gartenstamm_ja_nein'] == TRUE && $doubleGarten[$newArr['nr']] == FALSE) { $gesamtAbrechnungStammdatenIndividuell = $gesamtAbrechnungStammdatenIndividuell + $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_04_wert']; $newArr['abrechnung_stammdaten_individuell_04_name'] = $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_04_name']; $newArr['abrechnung_stammdaten_individuell_04_wert'] = $gartenGesamtAbrechnung['stammdaten_verein']['abrechnung_stammdaten_individuell_04_wert']; $newArr['abrechnung_stammdaten_individuell_04_wert_formated'] = $this->formatedNumber($newArr['abrechnung_stammdaten_individuell_04_wert'], 'waehrung'); $gesamtAbrechnungStammdatenIndividuell04 = $gesamtAbrechnungStammdatenIndividuell04 + $newArr['abrechnung_stammdaten_individuell_04_wert']; } } // jetzt noch die Gesamtkosten eines Gartens ermitteln $newArr['gesamt_einzel_garten'] = $newArr['beitrag'] + $newArr['pacht'] + $newArr['strom_kosten'] + $newArr['wasser_kosten'] + $newArr['abrechnung_garten_individuell_01_wert'] + $newArr['abrechnung_garten_individuell_02_wert'] + $newArr['abrechnung_garten_individuell_03_wert'] + $newArr['abrechnung_garten_individuell_04_wert'] + $newArr['abrechnung_stammdaten_individuell_01_wert'] + $newArr['abrechnung_stammdaten_individuell_02_wert'] + $newArr['abrechnung_stammdaten_individuell_03_wert'] + $newArr['abrechnung_stammdaten_individuell_04_wert']; // um formatiertes Feld erweitern $newArr['gesamt_einzel_garten_formated'] = $this->formatedNumber($newArr['gesamt_einzel_garten'], 'waehrung'); // Gesamtkosten der Gartenanlage $gesamtAlleGarten = $gesamtAlleGarten + $newArr['gesamt_einzel_garten']; // und rein damit $gartenGesamtAbrechnung['garten_abrechnung'][] = $newArr; } $gartenGesamtAbrechnung['gesamt_beitrag'] = $gesamtBeitrag; $gartenGesamtAbrechnung['gesamt_beitrag_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_beitrag'], 'waehrung'); $gartenGesamtAbrechnung['gesamt_pacht'] = $gesamtPacht; $gartenGesamtAbrechnung['gesamt_pacht_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_pacht'], 'waehrung'); $gartenGesamtAbrechnung['gesamt_grosse'] = $gesamtGrosse; $gartenGesamtAbrechnung['gesamt_grosse_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_grosse'], 'grosse_einheit'); $gartenGesamtAbrechnung['gesamt_abrechnung_garten_individuell'] = $gesamtAbrechnungGartenIndividuell; $gartenGesamtAbrechnung['gesamt_abrechnung_garten_individuell_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_abrechnung_garten_individuell'], 'waehrung'); $gartenGesamtAbrechnung['gesamt_strom'] = $gesamtStrom; $gartenGesamtAbrechnung['gesamt_strom_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_strom'], 'strom_einheit'); $gartenGesamtAbrechnung['gesamt_stromkosten'] = $gesamtStromKosten; $gartenGesamtAbrechnung['gesamt_stromkosten_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_stromkosten'], 'waehrung'); $gartenGesamtAbrechnung['gesamt_wasser'] = $gesamtWasser; $gartenGesamtAbrechnung['gesamt_wasser_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_wasser'], 'wasser_einheit'); $gartenGesamtAbrechnung['gesamt_wasserkosten'] = $gesamtWasserkosten; $gartenGesamtAbrechnung['gesamt_wasserkosten_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_wasserkosten'], 'waehrung'); $gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_01'] = $gesamtAbrechnungStammdatenIndividuell01; $gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_01_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_01'], 'waehrung'); $gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_02'] = $gesamtAbrechnungStammdatenIndividuell02; $gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_02_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_02'], 'waehrung'); $gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_03'] = $gesamtAbrechnungStammdatenIndividuell03; $gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_03_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_03'], 'waehrung'); $gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_04'] = $gesamtAbrechnungStammdatenIndividuell04; $gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_04_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell_04'], 'waehrung'); $gartenGesamtAbrechnung['gesamt_abrechnung_stammdaten_individuell'] = $gesamtAbrechnungStammdatenIndividuell; $gartenGesamtAbrechnung['gesamt_alle_garten'] = $gesamtAlleGarten; $gartenGesamtAbrechnung['gesamt_alle_garten_formated'] = $this->formatedNumber($gartenGesamtAbrechnung['gesamt_alle_garten'], 'waehrung'); // Fehlermeldung erzeugen, wenn Summe der einzelnen Gärten // mehr als 1qm von der im Gartenstamm angegebenen Größe abweicht if ($gartenGesamtAbrechnung['gesamt_grosse'] - $gartenGesamtAbrechnung['stammdaten_verein']['landgrosse'] > 1 || $gartenGesamtAbrechnung['gesamt_grosse'] - $gartenGesamtAbrechnung['stammdaten_verein']['landgrosse'] < -1) { // Fehlertext übernehmen $gartenGesamtAbrechnung['error'] = $GLOBALS['TL_LANG']['MSC']['nlsh_gesamtausgabe']['fehlergroesse']; $gartenGesamtAbrechnung['error'] = str_replace('%1', $this->formatedNumber($gartenGesamtAbrechnung['gesamt_grosse'], 'grosse_einheit'), $gartenGesamtAbrechnung['error']); $gartenGesamtAbrechnung['error'] = str_replace('%2', $this->formatedNumber($gartenGesamtAbrechnung['stammdaten_verein']['landgrosse'], 'grosse_einheit'), $gartenGesamtAbrechnung['error']); } if (count($gartenGesamtAbrechnung['garten_abrechnung']) > 0) { // Temp_garten_nutzer_array sortieren lassen foreach ($gartenGesamtAbrechnung['garten_abrechnung'] as $key => $row) { $nr[$key] = $row['nr']; } array_multisort($nr, SORT_ASC, $gartenGesamtAbrechnung['garten_abrechnung']); return $gartenGesamtAbrechnung; } return FALSE; }
/** * Export the file * @param object * @param boolean * @param boolean */ protected function exportFile(\Haste\IO\Writer\WriterInterface $objWriter, $blnHeaderFields, $blnRawData) { $objMembers = \MemberModel::findAll(); // Reload if there are no members if ($objMembers === null) { $this->reload(); } $objReader = new \Haste\IO\Reader\ModelCollectionReader($objMembers); // Set header fields if ($blnHeaderFields) { $arrHeaderFields = array(); foreach ($GLOBALS['TL_DCA']['tl_member']['fields'] as $strField => $arrField) { $arrHeaderFields[] = $blnRawData || !$arrField['label'][0] ? $strField : $arrField['label'][0]; } $objReader->setHeaderFields($arrHeaderFields); $objWriter->enableHeaderFields(); } // Format the values if (!$blnRawData) { $objWriter->setRowCallback(function ($arrRow) { foreach ($arrRow as $k => $v) { $arrRow[$k] = \Haste\Util\Format::dcaValue('tl_member', $k, $v); } return $arrRow; }); } $objWriter->writeFrom($objReader); $objFile = new \File($objWriter->getFilename()); $objFile->sendToBrowser(); }