pragmaMx Support Forum

pragmaMx => Allgemeines => Thema gestartet von: exciting am 13 Mai 2007, 16:16:23

Titel: Modul ab gewissen Userpunkten freigeben?
Beitrag von: exciting am 13 Mai 2007, 16:16:23
hallo gibt es eine möglichkeit, daß man z.b. ein modul, in dem fall enthält es nen iframe, ein user nur sehen kann, wenn er z.b. 200 userpunkte hat?
evtl. mit neuer gruppe z.b., hab hier auch ne thread dazu gefunden, aber der war noch für das vkp2.1.

vielleicht könnt ja jemand helfen, danke :)

Titel: Re: Modul ab gewissen Userpunkten freigeben?
Beitrag von: StegRene am 13 Mai 2007, 18:38:54
Ohne den Code dazu schreiben zu können, denke ich sollte es mit einer Abfrage der Userpunkte in der Modul-Datei eigentlich gehen, in der Art:

If userpunkte > xx then

[Modulcode]

else

[ende der Datei]

----> also so in der Art ;)
Titel: Re: Modul ab gewissen Userpunkten freigeben?
Beitrag von: JoergK am 13 Mai 2007, 20:49:10
Zitat von: exciting am 13 Mai 2007, 16:16:23
hallo gibt es eine möglichkeit, daß man z.b. ein modul, in dem fall enthält es nen iframe, ein user nur sehen kann, wenn er z.b. 200 userpunkte hat?

Möglich ist fast alles  ;D

Versuch's mal mit diesem (ungetestetem) Code:
<?php

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

// Right blocks: On = 1, Off = 0
$index 1;

include(
"header.php");

if (
MX_IS_USER) {

    
// Get usergroup and userpoints from database
    
$user_info mxGetUserData();
    
$user_id = (int)$user_info['uid'];

    
$result sql_query("select punkte from ${prefix}_userpoints where uid='$user_id'");
    list(
$user_points) = sql_fetch_row($result);

    if ((
$user_points >= 200) || MX_IS_ADMIN)) {
        echo 
'<iframe src="URL zur anzuzeigenden Seite" name="FrameName" width="100%" height="500" align="center" scrolling="yes" marginheight="0" marginwidth="0" frameborder="0" framespacing="0"></iframe>';
    } else {
        
OpenTableAl()
        echo 
'<center>Du hast zu wenig Userpunkte, um den Inhalt zu sehen.</center>';
        
CloseTableAl()
    }

} else {
    
OpenTableAl()
    echo 
'<center>Du musst registriert und eingelogged sein, um den Inhalt zu sehen.</center>';
    
CloseTableAl()
}

include(
"footer.php");

?>

Titel: Re: Modul ab gewissen Userpunkten freigeben?
Beitrag von: exciting am 13 Mai 2007, 21:11:07
paar ; und ) fehler ausgebessert und es läuft :)

vielen vielen dank :)

<?php

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

// Right blocks: On = 1, Off = 0
$index 1;

include(
"header.php");

if (
MX_IS_USER) {

    
// Get usergroup and userpoints from database
    
$user_info mxGetUserData();
    
$user_id = (int)$user_info['uid'];

    
$result sql_query("select punkte from $mx12345_userpoints where uid='$user_id'");
    list(
$user_points) = sql_fetch_row($result);

    if ((
$user_points >= 200) || MX_IS_ADMIN) {
        echo 
"<iframe src=\"www.seite.de/modulname\" name=\"FrameName\" width=\"100%\" height=\"500\" align=\"center\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" framespacing=\"0\"></iframe>";
    } else {
        
OpenTableAl();
        echo 
"<center>Du hast zu wenig Userpunkte, um dieses Feature zu nutzen.</center>";
        
CloseTableAl();
    }

} else {
    
OpenTableAl();
    echo 
"<center>Du musst registriert und eingelogged sein, um den Inhalt zu sehen.</center>";
    
CloseTableAl();
}

include(
"footer.php");

?>


ideal aber net zwingend notwendig wär halt jetzt noch daß beim aufruf die userpunkte aktualisiert werden.
Titel: Re: Modul ab gewissen Userpunkten freigeben?
Beitrag von: StegRene am 13 Mai 2007, 22:23:36
 :thumbup:

Den Code klau ich mir dann doch auch gleich mal, wenn auch erstmal nur auf Halde ;)
Titel: Re: Modul ab gewissen Userpunkten freigeben?
Beitrag von: JoergK am 14 Mai 2007, 18:54:09
Zitat von: exciting am 13 Mai 2007, 21:11:07
paar ; und ) fehler ausgebessert und es läuft :)

Sorry für die Fehler, hatte es nur auf die schnelle zusammen gecoded.  :red:

Zitat
ideal aber net zwingend notwendig wär halt jetzt noch daß beim aufruf die userpunkte aktualisiert werden.

Mit einer kleinen Erweiterung des Codes geht natürlich auch das. Hier der komplette Code:

<?php

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

// Right blocks: On = 1, Off = 0
$index 1;

include(
"header.php");

if (
MX_IS_USER) {

    
// Get usergroup and userpoints from database
    
$user_info mxGetUserData();
    
$user_id = (int)$user_info['uid'];

    if (@
file_exists("modules/Your_Account/userpoints.php")){
        if (!
defined("mxYALoaded")) define("mxYALoaded"1);
        
$uname $user_info['uname'];
        
mxGetLangfile("Your_Account");
        include_once(
"modules/Your_Account/userpoints.php");
    }
    
    
$result sql_query("select punkte from ${prefix}_userpoints where uid='$user_id'");
    list(
$user_points) = sql_fetch_row($result);

    if ((
$user_points >= 200) || MX_IS_ADMIN) {
        echo 
'<iframe src="URL zur anzuzeigenden Seite" name="FrameName" width="100%" height="500" align="center" scrolling="yes" marginheight="0" marginwidth="0" frameborder="0" framespacing="0"></iframe>';
    } else {
        
OpenTableAl();
        echo 
'<center>Du hast zu wenig Userpunkte, um den Inhalt zu sehen.</center>';
        
CloseTableAl();
    }

} else {
    
OpenTableAl();
    echo 
'<center>Du musst registriert und eingelogged sein, um den Inhalt zu sehen.</center>';
    
CloseTableAl();
}

include(
"footer.php");

?>
Titel: Re: Modul ab gewissen Userpunkten freigeben?
Beitrag von: exciting am 18 Mai 2007, 01:47:13
vielen dank :)

brauchst dich doch net entschuldigen :)
is echt super, daß jeman den code hier postet :)

ideal wär jetzt noich, wenn der user sieht, wieviele userpunkte er gerade hat :)

wär das noch möglich?


danke :)
Titel: Re: Modul ab gewissen Userpunkten freigeben?
Beitrag von: exciting am 18 Mai 2007, 13:56:55
manchmal seh ich den wald wohl vor lauter bäumen net *g*
muss ja nur $punkte ausgeben :)
Titel: Re: Modul ab gewissen Userpunkten freigeben?
Beitrag von: exciting am 18 Mai 2007, 21:12:33
aber irgendwie mag er die >= abfrage net

hab noch bissle modifiziert und abfrage eingebaut:

ein testuser bekommt dann folgendes:

Sie haben zu wenig Userpunkte, um dieses Feature zu nutzen. Sammeln Sie Userpunkte, indem Sie sich aktiv an der Community beteiligen! Z.b. im Forum, senden Sie News, tragen Sie Reviews ein usw. Sie haben 16 Userpunkte Sie brauchen 10 Userpunkte. Es fehlen noch -6 Userpunkte

code sieht so aus momentan bei mir:


<?php

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

// Right blocks: On = 1, Off = 0
$index 0;

include(
"header.php");

$mindestwert 10;
if (
MX_IS_USER) {

    
// Get usergroup and userpoints from database
    
$user_info mxGetUserData();
    
$user_id = (int)$user_info['uid'];

    if (@
file_exists("modules/Your_Account/userpoints.php")){
        if (!
defined("mxYALoaded")) define("mxYALoaded"1);
        
$uname $user_info['uname'];
        
mxGetLangfile("Your_Account");
        include_once(
"modules/Your_Account/userpoints.php");
    }

    
$result sql_query("select punkte from $mx12345_userpoints where uid='$user_id'");
    list(
$user_points) = sql_fetch_row($result);

    
$rechnung $mindestwert-$punkte;

    if ((
$user_points >= $mindestwert) || MX_IS_ADMIN) {

$userA mxGetUserData();
$username $userA[uname];

echo 
"<table align=center width=80% height=300><tr><td align=center heigt=200>" _WM_HALLO $username</td></tr><tr><tr><td align=center>
_WM_TEXT "
</td><tr><td align=center><a href=\"http://www.seite.de/modul/index.php \">Zum Modul</a></td></tr></td>"
;


    } else {
        
OpenTableAl();
        echo 
"<center>" _WM_POINTS "</center><br>";
        echo 
"<center>" _WM_HAVEPOINTS $punkte " _WM_HAVEPOINTS2 "</center>";
        echo 
"<center>" _WM_MINPOINTS $mindestwert " _WM_FEHLPOINTS $rechnung "_WM_FEHLPOINTS2 "</center>";
        
CloseTableAl();
    }

} else {
    
OpenTableAl();
    echo 
"<center>Du musst registriert und eingelogged sein, um den Inhalt zu sehen.</center>";
    
CloseTableAl();
}

include(
"footer.php");

?>



scheint als stimmt was net bei der >= abfrage.
Titel: Re: Modul ab gewissen Userpunkten freigeben?
Beitrag von: exciting am 18 Mai 2007, 21:26:59
ah

if (($user_points >= $mindestwert) || MX_IS_ADMIN) {
gehört umgeändert in
if (($punkte >= $mindestwert) || MX_IS_ADMIN) {