MyXoops Forum

Re: Script hat Fehler aber wo ? [Script-Workshop] - myXOOPS German Support

alfred

Administrator
Gepostet am:19.07.2007 10:14
alfred
alfred Offline (Show more)
Administrator
Posts: 7619
Since: 06.12.2004
#4

Re: Script hat Fehler aber wo ?

Zitat:

Muki schrieb:
Wow Alfred das ging jetzt aber schnell.


Die Antwort war ja eigentlich schon fertig *g*


Zitat:

Meine Zusatzfrage:
langt es wenn ich per SQL Befehl eine zusätzliche Zeile in der Tabelle "groups_users_link" anlege und den Index (linkid) um 1 hochzähle oder muss ich sonst irgendwo noch eine Veränderung machen (naturlich außer des Eintrags der GruppenID und der UserID).

Die Veränderungen werden nicht unter der XOOPS Systemumgebung vollzogen.
Muki


Ja, aber halt auch Userid und Gruppenid richtig setzen! Nicht das aus Versehen mal eine falsche gesetzt wird, das kann ungewollte Reaktionen nach sich ziehen

Alfred

Muki

Co-Administrator
Gepostet am:19.07.2007 08:51
Muki
Muki Offline (Show more)
Co-Administrator
Posts: 1903
Since: 18.04.2006
#3

Re: Script hat Fehler aber wo ?

Wow Alfred das ging jetzt aber schnell.

Wenn ich mir es genau überlege hast Du recht, löschen muss ich nichts.

Jedoch das Gruppenrecht muss ich zumindest einmal erstellen. Dieses geschied jedoch über einen htaccess geschützten Zugang, der nur über eine feste IP erreicht werden kann. Die Abarbeitung dann über ein CGI.

Meine Zusatzfrage:
langt es wenn ich per SQL Befehl eine zusätzliche Zeile in der Tabelle "groups_users_link" anlege und den Index (linkid) um 1 hochzähle oder muss ich sonst irgendwo noch eine Veränderung machen (naturlich außer des Eintrags der GruppenID und der UserID).

Die Veränderungen werden nicht unter der XOOPS Systemumgebung vollzogen.

Muki

Advertisement

Gepostet am:0
Advertisement (Show more)
Posts: 0
Since: 0


Hier könnten Sie Ihre Anzeige aufgeben!
Bitte kontaktieren Sie uns, um mehr darüber zu erfahren.

alfred

Administrator
Gepostet am:19.07.2007 08:36
alfred
alfred Offline (Show more)
Administrator
Posts: 7619
Since: 06.12.2004
#2

Re: Script hat Fehler aber wo ?

Das Script ansich hat keine fehler,
lediglich die Sicherheitseinrichtung von XOOPS verhindert das Ändern der Gruppenrechte beim Aufruf der Seite.
So wie du es einbauen möchtest stellt das auch ein relativ grosses Sicherheitsrisiko dar.

Ich würde die Rechte nicht ändern und da du schon abfragst ob die Zeit für den Zugriff noch OK ist, reicht das auch völlig aus.

...
<{
php}>
    global 
$xoopsUser;
    
$groups = ($xoopsUser) ? $xoopsUser->getGroups() : array(XOOPS_GROUP_ANONYMOUS);
    
$bezahlid 4// id der Bezahl1 Gruppe
    
if (in_array($bezahlid,$groups) && $xoopsUser->getVar("livetime") > time()) {
      <{/
php}>
      <!-- 
Beginn Zugang für Freigeschaltete User -->
        <
tr>
          <
td> ..... </td>
        </
tr>
        <{
php}>
     }else {
          <{/
php}>
      .....
etc.


Um dennoch eine Änderung der Gruppenrechte zu erreichen, müsstest du einen Sicherheitstoken mitschicken, heist die Seite müsste z. B. einen gezielten redirekt machen. Das allerdings würde ich nicht in ein theme einbauen.

Alfred

Muki

Co-Administrator
Gepostet am:19.07.2007 07:58
Muki
Muki Offline (Show more)
Co-Administrator
Posts: 1903
Since: 18.04.2006
#1

Script hat Fehler aber wo ?

Ich bräuchte mal eurere Hilfe, da ich selbst nicht weiter komme.

Ich habe ein html als Menu erstellt, das mit dem theme geladen wird, nur irgendwie Funktionier es nicht. Hier der relevante Auszug daraus.
...
<{
php}>
    global 
$xoopsUser;
    
$groups = ($xoopsUser) ? $xoopsUser->getGroups() : array(XOOPS_GROUP_ANONYMOUS);
    
$bezahlid 4// id der Bezahl1 Gruppe
    
if (in_array($bezahlid,$groups)) {
      if (
$xoopsUser->getVar("livetime") > time()){<{/php}>
      <!-- 
Beginn Zugang für Freigeschaltete User -->
        <
tr>
          <
td> ..... </td>
        </
tr>
        <!-- 
End Zugang für Freigeschaltete User -->
        <{
php}>
        }else {
          
          
print_r (($xoopsUser) ? $xoopsUser->getGroups() : array(XOOPS_GROUP_ANONYMOUS));
          echo 
'<br />Nach Gruppeändern <br />';
          
// ****** Ab hier ist der Fehler ******
          
$member_handler =& xoops_gethandler('member');
          
$member_handler->removeUsersFromGroup($bezahlid, array($xoopsUser->getVar('uid')));
          
//$member_handler->addUserToGroup(*NEUEGRUPPE*, $xoopsUser->getVar('uid'));

          
print_r (($xoopsUser) ? $xoopsUser->getGroups() : array(XOOPS_GROUP_ANONYMOUS));
        <{/
php}>
        <!-- 
Beginn Freigeschaltete User Zeit abgelaufen wird aus Gruppe gelöscht-->
          <
tr><td>...</td></tr>
        <!-- 
End Freigeschaltete User Zeit abgelaufen -->
      <{
php}>}
          }
      else{<{/
php}>
      .....
etc.


Diese Script soll für einen User eine neue Gruppenzugehörigkeit erstellen. Macht sie aber nicht. Es werden keine Fehler über Debug ausgegeben. Nur leider auch keine Veränderung in der Datenbank vorgenommen, egal ob ich jetzt eine Gruppenzugehörigkeit hinzufügen oder löschen will.

Das ganze läuft unter core SimpleXoops 0.7.9
Macht aber auch unter XOOPS 2.2.4 den gleichen Fehler, eben keine Veränderung in den Gruppenrechten.
Installation unter Linux wie auch Windows und auch unter den aktuellen php4 und php5 Versionen.


Ich gehe mal davon aus das viele Augen mehr sehen als meine 2 alten.

Muki
Diesen Thread durchsuchen:  1 Anonyme Benutzer

Aktuell aus dem Forum

Forum Thema Antworten Views Letzter Beitrag
Modulentwicklung New Xoops Xcreate Module 0 4208 26.11.2025 15:22
efkan Gehe zum letzten Beitrag
Modulentwicklung XOOPS Custom Field Module 1 1586 24.11.2025 11:21
Goffy Gehe zum letzten Beitrag