Status Mitgliederzahl in der rechten Seitenleiste

Hast du Vorschläge, was wir an Admidio noch verbessern könnten ? Hier kannst du uns deine Vorstellung an neuen Funktionen mitteilen.
Antworten
ArthurDent
Beiträge: 2
Registriert: 19. Jul 2011, 18:58
Wohnort: Dortmund

Status Mitgliederzahl in der rechten Seitenleiste

Beitrag von ArthurDent »

Noch eine kleine Erweiterung für den Komfort-gewohnten Vereinsverwalter:

für die rechte Seitenleiste habe ich ein kleines Plugin geschrieben, damit ich stets die aktuelle Mitgliederzahl sehe.

Bild

Auch dies ist nur ein "lösungsorientierter" Hack. Funktioniert bei mir mit Admidio V2.2.6.

Der Nachbau geht wie folgt:

Schritt 1:
unter adm_plugins einneues Verzeichnis "anzahl" anlegen

Schritt 2:
die korrekten Id's für
adm_user_data.usd_usf_id und adm_members.mem_rol_id herausfinden. Sind bei mir 10 und 2. Kann bei anderen Installationen abweichen.

Schritt 3:
die Datei adm_plugins/anzahl/anzahl.php mit folgendem Inhalt anlegen

--- cut ---

Code: Alles auswählen

<?php 

// Pfad des Plugins ermitteln
$plugin_folder_pos = strpos(__FILE__, 'adm_plugins') + 11;
$plugin_file_pos   = strpos(__FILE__, 'anzahl.php');
$plugin_folder     = substr(__FILE__, $plugin_folder_pos+1, $plugin_file_pos-$plugin_folder_pos-2);

if(!defined('PLUGIN_PATH'))
{
    define('PLUGIN_PATH', substr(__FILE__, 0, $plugin_folder_pos));
}
require_once(PLUGIN_PATH. '/../adm_program/system/common.php');
require_once(PLUGIN_PATH. '/'.$plugin_folder.'/config.php');

// Ausgabe nur, wenn gueltiger Login, Schleife endet erst am Ende dieses Scriptes.
if($g_valid_login == 1)
{

$g_db->setCurrentDB();

echo '<div id="plugin_'. $plugin_folder. '" class="admPluginContent">
<div class="admPluginHeader"><a href="/admidio/adm_program/modules/statistics/statistic.php" ><h3>Statistik</h3></a></div>
<div class="admPluginBody">';


//Anzahl alle Mitglieder
$sql ="select adm_user_data.usd_usr_id, adm_user_data.usd_value, adm_members.mem_usr_id, adm_members.mem_end, adm_members.mem_rol_id
from adm_user_data
left join adm_members on adm_user_data.usd_usr_id = adm_members.mem_usr_id
where adm_user_data.usd_usf_id = 1 and adm_members.mem_rol_id = 2 and adm_members.mem_end > curdate()
;";
$result = $g_db->query($sql);
$mitglieder_gesamt = mysql_num_rows($result);

//Anzahl Jugendliche unter 18
$sql ="select adm_user_data.usd_usr_id, adm_members.mem_usr_id, adm_members.mem_end, adm_members.mem_rol_id, 
(year(curdate())-year(adm_user_data.usd_value)) - (right(curdate(),5)<right(adm_user_data.usd_value,5)) 
as lebensalter
from adm_user_data
left join adm_members on adm_user_data.usd_usr_id = adm_members.mem_usr_id
where adm_user_data.usd_usf_id = 10 and adm_members.mem_rol_id = 2 and adm_members.mem_end > curdate() and (year(curdate())-year(adm_user_data.usd_value)) - (right(curdate(),5)<right(adm_user_data.usd_value,5))<18;;";
$result = $g_db->query($sql);
$jugendliche_gesamt = mysql_num_rows($result);

//Anzahl Erwachsene
$sql ="select adm_user_data.usd_usr_id, adm_members.mem_usr_id, adm_members.mem_end, adm_members.mem_rol_id, 
(year(curdate())-year(adm_user_data.usd_value)) - (right(curdate(),5)<right(adm_user_data.usd_value,5)) 
as lebensalter
from adm_user_data
left join adm_members on adm_user_data.usd_usr_id = adm_members.mem_usr_id
where adm_user_data.usd_usf_id = 10 and adm_members.mem_rol_id = 2 and adm_members.mem_end > curdate() and (year(curdate())-year(adm_user_data.usd_value)) - (right(curdate(),5)<right(adm_user_data.usd_value,5))>=18;;";
$result = $g_db->query($sql);
$erwachsene_gesamt = mysql_num_rows($result);

echo "<p><strong>Aktueller Mitgliederstand: $mitglieder_gesamt</strong></p>";
echo "Erwachsene: $erwachsene_gesamt<br>";
echo "Jugendliche: $jugendliche_gesamt<br>";

echo '</div></div>';
// Ende der Schleife, gueltiger Login !
}

?>
--- cut ---


Schritt 4:
in die rechte Seitenleiste einbinden:

adm_themes/modern/my_body_bottom.php editieren und unterhalb der existierenden Zeile
include(SERVER_PATH. '/adm_plugins/login_form/login_form.php');
eine neue Zeile einfügen (ist dann ungefähr Zeile 14):

include(SERVER_PATH. '/adm_plugins/anzahl/anzahl.php');



Viel Spaß damit.
Arthur.
jbaudach
Beiträge: 76
Registriert: 5. Apr 2011, 16:37

Beitrag von jbaudach »

Hallo,
bei mir wirft er leider nicht die Mitgliederzahl aus!
Ich vermute das die adm_user_data und die adm_members.mem_rol id nicht ausgelesen wird!
Wie bekomme ich denn die erforderlichen ID Nummmern heraus!

Habe leider keine große Ahnung von MySQL

Ich bitte um Hilfe!

DANKE im Voraus!

Gruß
Jörg
jbaudach
Beiträge: 76
Registriert: 5. Apr 2011, 16:37

Beitrag von jbaudach »

Hallo,
der Link

require_once(PLUGIN_PATH. '/'.$plugin_folder.'/config.php');

kann bei mir auch nicht gefunden werden!
Welche config.php ist das denn ???
Wo bekomme ich diese her ?

DANKE


Gruss
Jörg
Antworten