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;
 }
Пример #3
0
 /**
  * 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;
             }
         }
     }
 }
Пример #5
0
 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'] . '&nbsp;' . $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'] . '&nbsp;' . $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'] . '&nbsp;' . $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;
 }
Пример #7
0
 /**
  * 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();
 }