Loginumbau und Modul für bestimmte User
Loginumbau und Modul für bestimmte User
hi leutz
seit kurzem bin auch ich anwender von admidio. echt klasse tool!!
nun habe ich beim personalisieren probleme resp. fragen.
ich habe admidio in einem geschützen verzeichnis (ht.access) installiert. dh. das ein mitglied unseres vereins sich erst auf diesem verzeichnis einloggen muss, damit er überhaupt auf die interne seite kommt.
danach hat er einen link auf das adressbuch (ich benötige für die mitglieder nur das modul adressbuch, sonst nichts). wenn er nun darauf klickt, kommt er sofort zum login-screen (habe die admidio.html dementsprechend geändert).
Nun das problem...ich möchte, dass er nach dem login auf die modulübersicht kommt...bei mir erscheint jedoch wieder der login-screen. wie eine endlosschlaufe. wo muss ich admidio mitteilen, dass nach dem login auf die modulübersicht gewechselt wird?
Einfach gesagt: Adressbuchlink klicken --> Login erscheint --> einloggen --> Modulübersicht erscheint --> wenn Logout gemacht --> Login erscheint wieder
2. frage:
da ich der einzige bin, der änderungen machen darf, habe ich sämtliche module für die vereinsmitglieder gesperrt. gibt es eine möglichkeit, dass wenn ich mich als admin einlogge, das modul "mail" in der modulübersicht erscheint, damit ich dieses benützen kann. wenn das vereinsmitglied sich einloggt, soll das modul aber nicht ersichtlich sein.
besten dank für eure hilfe und tipps.
greez from switzerland
rohorubo
seit kurzem bin auch ich anwender von admidio. echt klasse tool!!
nun habe ich beim personalisieren probleme resp. fragen.
ich habe admidio in einem geschützen verzeichnis (ht.access) installiert. dh. das ein mitglied unseres vereins sich erst auf diesem verzeichnis einloggen muss, damit er überhaupt auf die interne seite kommt.
danach hat er einen link auf das adressbuch (ich benötige für die mitglieder nur das modul adressbuch, sonst nichts). wenn er nun darauf klickt, kommt er sofort zum login-screen (habe die admidio.html dementsprechend geändert).
Nun das problem...ich möchte, dass er nach dem login auf die modulübersicht kommt...bei mir erscheint jedoch wieder der login-screen. wie eine endlosschlaufe. wo muss ich admidio mitteilen, dass nach dem login auf die modulübersicht gewechselt wird?
Einfach gesagt: Adressbuchlink klicken --> Login erscheint --> einloggen --> Modulübersicht erscheint --> wenn Logout gemacht --> Login erscheint wieder
2. frage:
da ich der einzige bin, der änderungen machen darf, habe ich sämtliche module für die vereinsmitglieder gesperrt. gibt es eine möglichkeit, dass wenn ich mich als admin einlogge, das modul "mail" in der modulübersicht erscheint, damit ich dieses benützen kann. wenn das vereinsmitglied sich einloggt, soll das modul aber nicht ersichtlich sein.
besten dank für eure hilfe und tipps.
greez from switzerland
rohorubo
Hallo Rohorubo,
zu Frage 1: Da müsstest du an der Stelle, wo du die Weiterleitung zum Logindialog eingebaut hast, mit der PHP-Variablen $g_session_valid arbeiten. Ist diese == false, so musst du weiterleiten, im anderen fall nicht.
zu Frage 2: Die kannst du mit der PHP-Funktion isWebmaster() erreichen. Auch hier muss dann die entsprechende Prüfung rein:
Gruß
Fasse
zu Frage 1: Da müsstest du an der Stelle, wo du die Weiterleitung zum Logindialog eingebaut hast, mit der PHP-Variablen $g_session_valid arbeiten. Ist diese == false, so musst du weiterleiten, im anderen fall nicht.
zu Frage 2: Die kannst du mit der PHP-Funktion isWebmaster() erreichen. Auch hier muss dann die entsprechende Prüfung rein:
Code: Alles auswählen
if(isWebmaster())
{
zeige E-Mail ...
}
Fasse
hi fasse
ich habe die weiterleitung in der admidio.html gemacht...
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="0; url=adm_program/system/login.php">
</head>
Dort müsste ich mit "$g_session_valid" arbeiten? Falls ja, wie genau muss ich dieses einbinden. Oder muss ich dies in der login.php machen? Diese habe ich bis jetzt nicht bearbeitet.
zur antwort 2:
wo genau müsste ich diese Webmaster-Funktion einbauen?
Besten Dank für Deine Hilfe
greez
rohorubo
ich habe die weiterleitung in der admidio.html gemacht...
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="0; url=adm_program/system/login.php">
</head>
Dort müsste ich mit "$g_session_valid" arbeiten? Falls ja, wie genau muss ich dieses einbinden. Oder muss ich dies in der login.php machen? Diese habe ich bis jetzt nicht bearbeitet.
zur antwort 2:
wo genau müsste ich diese Webmaster-Funktion einbauen?
Besten Dank für Deine Hilfe
greez
rohorubo
-
- Former team member
- Beiträge: 1087
- Registriert: 2. Sep 2007, 17:12
- Wohnort: Itzstedt
- Kontaktdaten:
Hallo Rohorubo,rohorubo hat geschrieben:zur antwort 2:
wo genau müsste ich diese Webmaster-Funktion einbauen?
Besten Dank für Deine Hilfe
greez
rohorubo
Datei: ADMIDIO\adm_program\index.php
Die Prüfung muss in jeder Zeile eingebaut werden, in der das entsprechende Modul aufgerufen wird. Beispiel:
Code: Alles auswählen
if($g_preferences['enable_announcements_module'] == 1)
Gruss,
Matze
hallo matzmann
ich habe es mal eingebunden, erhalte allerdings einen parse error.
so hab ichs eingebunden:
if($g_preferences['enable_mail_module'] == 1)
if(isWebmaster())
{
zeige E-mail ...
}
oder muss ich es auf einer zeile drin haben? habe anstatt "zeige E-Mail" auch mit meiner richtigen adresse ausprobiert, dann erhalte ich auch einen unexpected '@'-Fehler.
kannst du mir evtl. weiterhelfen?
thx & grüsse
rohorubo
ich habe es mal eingebunden, erhalte allerdings einen parse error.
so hab ichs eingebunden:
if($g_preferences['enable_mail_module'] == 1)
if(isWebmaster())
{
zeige E-mail ...
}
oder muss ich es auf einer zeile drin haben? habe anstatt "zeige E-Mail" auch mit meiner richtigen adresse ausprobiert, dann erhalte ich auch einen unexpected '@'-Fehler.
kannst du mir evtl. weiterhelfen?
thx & grüsse
rohorubo
Wenn du mehrere Bedingungen verknüpfen willst, musst du das mit && machen:
Code: Alles auswählen
if($g_preferences['enable_mail_module'] == 1
&& isWebmaster())
{
zeige E-mail ...
}
-
- Former team member
- Beiträge: 1087
- Registriert: 2. Sep 2007, 17:12
- Wohnort: Itzstedt
- Kontaktdaten:
glaub, ich bin doof....erhalte immer noch fehlermeldung.
habs so eingebunden in meiner adm_program/index.php:
if($g_preferences['enable_mail_module'] == 1
&& isWebmaster())
{
zeige E-mail ...
}
jetzt zeigt er mir einen unexpected T_STRING on line 156 an. Zeile 156 ist der Befehl: "zeige E-mail ...".
Was mach ich falsch? Muss ein bestimmte Vorgabe berücksichtigen beim einrücken der Zeilen oder fangen alle unter "if" an.
Danke!!
habs so eingebunden in meiner adm_program/index.php:
if($g_preferences['enable_mail_module'] == 1
&& isWebmaster())
{
zeige E-mail ...
}
jetzt zeigt er mir einen unexpected T_STRING on line 156 an. Zeile 156 ist der Befehl: "zeige E-mail ...".
Was mach ich falsch? Muss ein bestimmte Vorgabe berücksichtigen beim einrücken der Zeilen oder fangen alle unter "if" an.
Danke!!
-
- Former team member
- Beiträge: 1087
- Registriert: 2. Sep 2007, 17:12
- Wohnort: Itzstedt
- Kontaktdaten:
Dann hast Du nicht verstanden, was ich als Antwort geschrieben hatte...
So wäre es richtig, der Quelltext geht natürlich an der Stelle noch weiter. Mit "zeige E-mail ..." ist wirklich der RICHTIGE Quelltext gemeint, der da von Anfang an steht. Das sollst Du nicht in den Quelltext zusätzlich eintragen - daher rührt auch die Fehlermeldung...
Gruss,
Matze
Code: Alles auswählen
if($g_preferences['enable_mail_module'] == 1 && isWebmaster())
{
echo "
<div style=\"text-align: left; width: 40; float: left;\">
Gruss,
Matze
Hallo fassefasse hat geschrieben:Hallo Rohorubo,
zu Frage 1: Da müsstest du an der Stelle, wo du die Weiterleitung zum Logindialog eingebaut hast, mit der PHP-Variablen $g_session_valid arbeiten. Ist diese == false, so musst du weiterleiten, im anderen fall nicht.
Gruß
Fasse
meine admidio.html sieht folgendermassen aus:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="0; url=adm_program/system/login.php">
</head>
<body>
Wenn Sie nicht automatisch weitergeleitet werden, dann klicken Sie <a href="adm_program/system/login.php">hier</a> !
</body>
</html>
d.h. ich müsste gemäss deiner antwort $g_session_valid in dieser datei damit arbeiten...ist das korrekt? falls ja, wo setze ich diesen befehl? sorry, soweit reichen meine kenntnisse nicht, obwohl ich gerade dabei bin, mich in das thema einzulesen...
danke
jetzt dachte, es funzt...war aber fehlalarm.
komischerweise erhalte ich heute eine fehlermeldung:
Fatal error: Call to undefined function: iswebmaster() in /home/www/web361/html/subdomains/intaern/adraessbuech/adm_program/index.php on line 153
diese erscheint, wenn ich den code wie folgt einbinde:
if($g_preferences['enable_mail_module'] == 1 && isWebmaster())
{
echo "
<div style=\"text-align: left; width: 40; float: left;\">
<a href=\"$g_root_path/adm_program/modules/mail/mail.php\">
<img style=\"position: relative; top: 5px;\" src=\"$g_root_path/adm_program/images/mail_open_big.png\" border=\"0\" alt=\"E-Mail\" />
</a>
</div>
mache ich daraus
if($g_preferences['enable_mail_module'] == 1 && isWebmaster)
{
echo "
<div style=\"text-align: left; width: 40; float: left;\">
<a href=\"$g_root_path/adm_program/modules/mail/mail.php\">
<img style=\"position: relative; top: 5px;\" src=\"$g_root_path/adm_program/images/mail_open_big.png\" border=\"0\" alt=\"E-Mail\" />
</a>
</div>
erscheint das Modul Email wieder, allerdings bereits vor dem login und auch nach dem login mit meinem "nur-lese-user". also scheint so der check ob webmaster oder nicht nicht zu funzen.
was mach ich falsch?...
komischerweise erhalte ich heute eine fehlermeldung:
Fatal error: Call to undefined function: iswebmaster() in /home/www/web361/html/subdomains/intaern/adraessbuech/adm_program/index.php on line 153
diese erscheint, wenn ich den code wie folgt einbinde:
if($g_preferences['enable_mail_module'] == 1 && isWebmaster())
{
echo "
<div style=\"text-align: left; width: 40; float: left;\">
<a href=\"$g_root_path/adm_program/modules/mail/mail.php\">
<img style=\"position: relative; top: 5px;\" src=\"$g_root_path/adm_program/images/mail_open_big.png\" border=\"0\" alt=\"E-Mail\" />
</a>
</div>
mache ich daraus
if($g_preferences['enable_mail_module'] == 1 && isWebmaster)
{
echo "
<div style=\"text-align: left; width: 40; float: left;\">
<a href=\"$g_root_path/adm_program/modules/mail/mail.php\">
<img style=\"position: relative; top: 5px;\" src=\"$g_root_path/adm_program/images/mail_open_big.png\" border=\"0\" alt=\"E-Mail\" />
</a>
</div>
erscheint das Modul Email wieder, allerdings bereits vor dem login und auch nach dem login mit meinem "nur-lese-user". also scheint so der check ob webmaster oder nicht nicht zu funzen.
was mach ich falsch?...
-
- Former team member
- Beiträge: 1087
- Registriert: 2. Sep 2007, 17:12
- Wohnort: Itzstedt
- Kontaktdaten:
Hallo nochmal,
ersetze bitte die Abfragedurch
Dann sollte es funktionieren.
@fasse: Die Function isWebmaster gibt es in der Version 1.4.6 nicht (nur isModerator), hast Du die vielleicht in die Version 2.0 eingebaut und Dich bei der Anwtort in den Versionen vertan?
ersetze bitte die Abfrage
Code: Alles auswählen
isWebmaster()
Code: Alles auswählen
hasRole("Webmaster")
@fasse: Die Function isWebmaster gibt es in der Version 1.4.6 nicht (nur isModerator), hast Du die vielleicht in die Version 2.0 eingebaut und Dich bei der Anwtort in den Versionen vertan?
matzmann
werde es wohl bleiben lassen.
mit hasRole("Webmaster")) erhalte ich nun einen T_STRING-Fehler.
Da ich aber beim Lese-User keine Email-Adresse hinterlegt habe, kann ich das Modul Email anzeigen lassen, einen Vermerk, dass dies nur mit Administrator-Login benutzbar ist, und kann es so nutzen.
Allerdings stellt sich jetzt bei mir das Problem, dass wenn ich das Mail-Modul öffne, ich keinen Mitgliedergruppe auswählen kann, welche ich eine Email schreiben möchte....mal schauen, was hier passiert ist. Wenn das funzt, kann ich so damit leben.
schön wäre es jetzt noch, wenn beim aufruf des adressbuchlinks zuerst ein login gemacht werden muss und erst danach, bei erfolgreichem login, die Modulübersichtseite käme. Fasse hat mir zwar einen Tipp gegeben, aber ich bin nicht sicher, wo ich dies genau einbinden muss.
hassu evtl. eine Ahnung?
Danke
werde es wohl bleiben lassen.
mit hasRole("Webmaster")) erhalte ich nun einen T_STRING-Fehler.
Da ich aber beim Lese-User keine Email-Adresse hinterlegt habe, kann ich das Modul Email anzeigen lassen, einen Vermerk, dass dies nur mit Administrator-Login benutzbar ist, und kann es so nutzen.
Allerdings stellt sich jetzt bei mir das Problem, dass wenn ich das Mail-Modul öffne, ich keinen Mitgliedergruppe auswählen kann, welche ich eine Email schreiben möchte....mal schauen, was hier passiert ist. Wenn das funzt, kann ich so damit leben.
schön wäre es jetzt noch, wenn beim aufruf des adressbuchlinks zuerst ein login gemacht werden muss und erst danach, bei erfolgreichem login, die Modulübersichtseite käme. Fasse hat mir zwar einen Tipp gegeben, aber ich bin nicht sicher, wo ich dies genau einbinden muss.
hassu evtl. eine Ahnung?
Danke
-
- Former team member
- Beiträge: 1087
- Registriert: 2. Sep 2007, 17:12
- Wohnort: Itzstedt
- Kontaktdaten:
Nana, wer wir denn die Flinte gleich ins Korn schmeissen? Kontrolliere bitte, ob Du alles richtig geschrieben hast. Ich habe das kurz getestet, bei mir ohne Probleme. Zur Sicherheit nochmal die Zeile für die Ankündigungen:rohorubo hat geschrieben:mit hasRole("Webmaster")) erhalte ich nun einen T_STRING-Fehler.
Code: Alles auswählen
if($g_preferences['enable_announcements_module'] == 1 && hasRole("Webmaster"))
Code: Alles auswählen
require("../../system/login_valid.php");
Wenn Du weiter an der Probleme hast: Ein Link, um sich das anzugucken hat noch nie geschadet...