Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
de:2.0:mitgliedsbeitraege_in_admidio [2011/01/07 21:51] geraldlutterde:2.0:mitgliedsbeitraege_in_admidio [2011/01/07 23:11] (current) geraldlutter
Line 40: Line 40:
  
 Die Beitragssätze selbst befinden sich nicht in der Datenbank, sondern werden über die Konfiguration des Plugins festgelegt. Als zusätzliche Information muss für den automatischen Beitragseinzug für ein Mitglied die Bankverbindung angegeben werden, deshalb auch die zusätzlichen Felder in der Datenbank, welche oben beschrieben wurden. Pro Mitglied wird dabei innerhalb der Datenbank nicht verwaltet, ob das Mitglied bereits bezahlt hat oder nicht. Die Beitragssätze selbst befinden sich nicht in der Datenbank, sondern werden über die Konfiguration des Plugins festgelegt. Als zusätzliche Information muss für den automatischen Beitragseinzug für ein Mitglied die Bankverbindung angegeben werden, deshalb auch die zusätzlichen Felder in der Datenbank, welche oben beschrieben wurden. Pro Mitglied wird dabei innerhalb der Datenbank nicht verwaltet, ob das Mitglied bereits bezahlt hat oder nicht.
- 
 ==== Ausgaben des Plugins ==== ==== Ausgaben des Plugins ====
 Nachdem der Beitragseinzug mit Hilfe des Plugins ermittelt wurde, werden drei Dateien zur Verfügung gestellt, welche folgenden Inhalt haben: Nachdem der Beitragseinzug mit Hilfe des Plugins ermittelt wurde, werden drei Dateien zur Verfügung gestellt, welche folgenden Inhalt haben:
Line 49: Line 48:
  
   * Eine Kontrolldatei für das **dtaus** Programm, mit dem in einem weiteren Schritt eine dtaus0.txt Datei für den automatischen Bankeinzug erstellt werden kann.   * Eine Kontrolldatei für das **dtaus** Programm, mit dem in einem weiteren Schritt eine dtaus0.txt Datei für den automatischen Bankeinzug erstellt werden kann.
 +==== Algorithmus zur Bestimmung der Beiträge ====
 +  - Für alle Mitglieder werden die persönlichen Daten abgefragt und temporär in einem array gespeichert.       
 +  - Es werden alle Familien abgefragt. Das sind Rollen, die innerhalb der Kategorie **Familien** abgelegt sind, wie es oben bereits beschrieben wurde.
 +  - Die Mitglieder der einzelnen Familien werden hierbei aus dem array aus Punkt 1 gelöscht und befinden sich jetzt nur noch innerhalb der Familienzuordnung.
 +  - Die Ehrenmitglieder, erkennbar an ihrer Zuordnung zur Rolle **Ehrenmitglied** werden ebenfalls aus dem array aus Punkt 1 gelöscht, da sie beitragsfrei sind.
 +  - Beginn der Beitragsberechnung:
 +    - Für jede Familie wird der Familienbeitrag bestimmt. Dabei wird zufällig ein Mitglied aus der Familie ausgewählt, über das der Einzug abgewickelt wird
 +    - Die Mitgliedsbeiträge werden anhand der Altersstaffelung aus dem erstellten array bestimmt
 +  - Die Entscheidung ob Rechnung oder Bankeinzug erfolgt danach ob für ein Mitglied Kontodaten hinterlegt sind oder nicht.
 +  - Die erstellten Beitragsdateien können heruntergeladen werden
 +
 +Wer näheres über die genaue Funktionsweise des Plugins erfahren möchte kann sich den Quellcode dazu innerhalb der Datei **mitgliedsbeitrag.php** ansehen. Die einzelnen Schritte sind in Kommentaren zum Quelltext aufgeführt.
 +
 +===== Installation des Plugins =====
 +Wie allgemein für Plugins üblich muss die [[http://sourceforge.net/projects/admidio/files/Mitgliedsbeitrag/1.0.x/mitgliedsbeitrag_1.0.0.zip/download|Datei]] lediglich in das **adm_plugins** Verzeichnis der Admidio Installation entpackt werden. Wie das Plugin selbst in die Homepage eingebunden werden kann, zeigt der Wikieintrag zur [[de:2.0:plugins|Einbindung von Plugins]]. Hier ein Beispiel:
 +<code php>
 +if($g_current_user->isWebmaster())
 +{
 +    include(SERVER_PATH."/adm_plugins/mitgliedsbeitrag/mitgliedsbeitrag.php");
 +}
 +</code>
 +Auf **keinen Fall** sollte das Plugin so eingebunden werden, dass es bei jedem Benutzer angezeigt wird.
  
 ===== Konfiguration des Plugins ===== ===== Konfiguration des Plugins =====
-tbd+Innerhalb des Verzeichnis **adm_plugins/mitgliededsbeitrag** existiert die Konfigurationdatei **config.php** dort kann das Plugin konfiguriert werden. Zur Beitragsstaffelung nach Alter ist hierbei die Variable ''beitrag_beitraege_einzel'' wichtig. Hier das Beispiel: 
 + 
 +  * Mitglieder von 0 - 14 Jahren: 10 € 
 +  * Mitglieder von 15 - 18 Jahren: 15 € 
 +  * Mitglieder ab 19 Jahren: 30 € 
 + 
 +<code php> 
 +$beitrag_beitraege_einzel[0]['alter'] = 0; 
 +$beitrag_beitraege_einzel[0]['betrag'] = 100000; 
 +$beitrag_beitraege_einzel[1]['alter'] = 14; 
 +$beitrag_beitraege_einzel[1]['betrag'] = 150000; 
 +$beitrag_beitraege_einzel[2]['alter'] = 18; 
 +$beitrag_beitraege_einzel[2]['betrag'] = 300000; 
 +</code>  
 + 
 +Der Familienbeitrag wird über die Variable ''beitrag_familie'' konfiguriert, im Beispiel 65 €: 
 + 
 +<code php> 
 +$beitrag_familie = 650000; 
 +</code> 
 + 
 +Weitere wichtige Felder für den Beitragseinzug sind das Konto auf das eingezogen werden soll, der Verwendungszweck, sowie die Dateien, die von dem Plugin erzeugt werden:
  
 +<code php>
 +$beitrag_filename_list = SERVER_PATH."/adm_my_files/einzug.csv";
 +$beitrag_filename_csvrechnung = SERVER_PATH."/adm_my_files/rechnung.csv";
 +$beitrag_filename_dtaus_ctl = SERVER_PATH."/adm_my_files/dtaus0.ctl";
 +$beitrag_einzugstext = "Mitgliedsbeitrag";
 +$beitrag_ktonr_target = "123456";
 +$beitrag_blz_target = "12345678";
 +$beitrag_inhaber_target = "Vereinskonto";
 +</code>
 ===== Erzeugen der dtaus0.txt mit dtaus ===== ===== Erzeugen der dtaus0.txt mit dtaus =====
-tbd+Um aus der vom Plugin zur Verfügung gestellten Kontrolldatei eine dtaus0.txt Datei zu erzeugen, wird das Programm [[http://www.infodrom.org/projects/dtaus/|dtaus]] benötigt. Hier ein Beispiel des Programmaufrufs: 
 +<code bash> 
 +dtaus -d dtaus0.txt -c dtaus0.ctl -b begleit.txt -o dtaus0.sik -dtaus  
 +</code> 
 +Hierbei werden aus der Datei **dtaus0.ctl**, die vom Plugin zur Verfügung gestellt wird, folgende Dateien erzeugt: 
 +  * **dtaus0.txt**: Die dtaus Datei, die der Bank für den automatischen Einzug übergeben werden muss 
 +  * **begleit.txt**: Der Begleitzettel für die dtaus0.txt, der unterschrieben zusammen mit der Datei dtaus0.txt bei der Bank abgegeben werden muss. 
 +  * **dtaus0.sik**: Eine Übersicht, was mit der dtaus0.txt Datei für Abbuchungen getätigt werden. Diese Datei ist ganz nützlich für die Unterlagen zum Beitragseinzug.
  • de/2.0/mitgliedsbeitraege_in_admidio.1294433487.txt.gz
  • Last modified: 2011/01/07 21:51
  • by geraldlutter