Seite 2 von 2

Re: Berechtigung für Forenzugriff

Verfasst: 24.01.2017 11:25
von Mahony
Hallo
Hexe_Mol hat geschrieben:1. wenn ein benutzer auf ein entsprechendes thema in forum 7 klickt, bekommt er die gewünschte meldung, 'Du musst dich vorstellen, um dieses Thema anzusehen.' allerdings wird er gleichzeitig auch aus dem forum abgemeldet (auch wenn der haken bei "angemeldet bleiben" gesetzt ist). gibt es auch die möglichkeit, dass er diese meldung bekommt, ohne abgemeldet zu werden? (denn er war ja vorher schon angemeldet)
Das liegt sicher nicht an den Änderungen..zumindest werde ich bei meinem Testforum nicht abgemeldet, wenn ich auf den Forum- Link klicke.
Hexe_Mol hat geschrieben:2. dein script prüft wohl, ob der user in forum 15 einen beitrag geschrieben hat, aber nicht, ob er dort ein THEMA ERÖFFNET hat. wenn es möglich ist, würde ich gerne das eröffnen eines (eigenen vorstellungs-)themas prüfen.
Wenn du auf einen Eintrag im Topic (also Thema) abfragen möchtest, dann ersetze in der Abfrage POSTS_TABLE mit TOPICS_TABLE und poster_id mit topic_poster.

Also so

Code: Alles auswählen

$sql = 'SELECT topic_poster
    FROM ' . TOPICS_TABLE . '
    WHERE forum_id = 15
        AND topic_poster = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchfield('topic_poster');
$db->sql_freeresult($result);


if ($forum_id == 7 && !$row )  
{
   // Setup user environment so we can process lang string
   $user->setup('viewtopic');
        login_box('', $user->lang['LOGIN_VORSTELLUNG']);
} 

Grüße: Mahony

Re: Berechtigung für Forenzugriff

Verfasst: 24.01.2017 13:22
von Hexe_Mol
Mahony hat geschrieben:Das liegt sicher nicht an den Änderungen..zumindest werde ich bei meinem Testforum nicht abgemeldet, wenn ich auf den Forum- Link klicke.
beim klick auf den forenlink (also die viewforum.php) nicht, aber wenn man dort dann ein einzelnes thema (also die viewtopic.php) anklickt, wird man abgemeldet.

danke für deine hilfe! (hier fehlt ein smilie, der dir blumen überreicht....)

da fällt mir doch glatt noch eine frage ein.....
lässt sich dein code auch so modifizieren, dass er nur be neu registrierten mitgliedern greift und nicht bei den "alten hasen"? diese haben teilweise schon mehrere tausend beiträge, aber nicht jeder hat sich damals auch vorgestellt...

Re: Berechtigung für Forenzugriff

Verfasst: 24.01.2017 15:28
von Mahony
Hallo
Hexe_Mol hat geschrieben:lässt sich dein code auch so modifizieren, dass er nur be neu registrierten mitgliedern greift und nicht bei den "alten hasen"? diese haben teilweise schon mehrere tausend beiträge, aber nicht jeder hat sich damals auch vorgestellt...
Das wäre dann eine Abfrage auf die Gruppen-ID für die neu registrierten Benutzer --> also wären wir wieder beim Auto Groups-MOD (siehe Seite 1 dieses Threads), denn der macht auch nichts anderes und eine andere Möglichkeit sehe ich da leider nicht das abzufragen.

P.S. Wegen dem ausloggen (falls das tatsächlich so ist bei deinen Benutzern) könnte man ja anstelle der
login_box('', $user->lang['LOGIN_VORSTELLUNG']); Ausgabe eine trigger_error('LOGIN_VORSTELLUNG'); Ausgabe machen.

Das würde dann so aussehen:

Code: Alles auswählen

$sql = 'SELECT topic_poster
    FROM ' . TOPICS_TABLE . '
    WHERE forum_id = 15
        AND topic_poster = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchfield('topic_poster');
$db->sql_freeresult($result);


if ($forum_id == 7 && !$row )  
{
   // Setup user environment so we can process lang string
   $user->setup('viewtopic');
        trigger_error('LOGIN_VORSTELLUNG');
}
Achtung: Das ist noch ungetestet!

Grüße: Mahony

Re: Berechtigung für Forenzugriff

Verfasst: 25.01.2017 07:11
von Hexe_Mol
Mahony hat geschrieben:Achtung: Das ist noch ungetestet!

Grüße: Mahony
dankeschön!

ich werde es nachher ausprobieren und dann berichten....

bzgl der neuen mitglieder:
gibt es evtl die möglichkeit, das registrierungsdatum mit abzufragen und zu sagen, "betrifft die user, die sich nach dem 31.12.2016 registriert haben" o. ä. ?


*** nachtrag ***

funktioniert prima, nun werde die mitglieder nicht mehr ausgeloggt, sondern bekommen nur noch die entsprechende meldung angezeigt!

wenn es jetzt noch ne möglichkeit gibt, das registrierungsdatum mit abzufragen, wäre die funktion perfekt!
:)

Re: Berechtigung für Forenzugriff

Verfasst: 25.01.2017 09:31
von Hexe_Mol
ich glaube, wir haben die lösung gefunden..... zumindest scheint es zu funktionieren und bisher kamen auch keine meldungen über fehler....

Code: Alles auswählen

$sql = 'SELECT topic_poster
        FROM ' . TOPICS_TABLE . '
        WHERE forum_id = 15
            AND topic_poster = ' . $user->data['user_id'];
    $result = $db->sql_query($sql);
    $row = $db->sql_fetchfield('topic_poster');
    $db->sql_freeresult($result);


    if ($forum_id == 7 && !$row && $user->data['user_regdate'] > 1483228799)
    {
       // Setup user environment so we can process lang string
       $user->setup('viewtopic');
            trigger_error('LOGIN_VORSTELLUNG');
    }