anpera.net
https://anpera.homeip.net/phpbb3/

Moderatorenrechte im Usereditor
https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=2422
Seite 1 von 1

Autor:  Dwar [ Mo 03 Apr, 2006 07:53 ]
Betreff des Beitrags:  Moderatorenrechte im Usereditor

Hallo,
ich wuerde gerne meinen Moderatoren eingeschraenkte Rechte(freischaltung von Acc's etc.) im Usereditor einraeumen und finde ueber die Suche mal wieder garnix dazu.
Bisher, wenn ich es teste, wird immer der Testchar getoetet und ein Hackversuch gemeldet.

Kann mir bitte jemand helfen.
Wie sehen die einzelnen Befehle aus und wie geben ich bestimmte Sachen fuer Aenderungen von Moderatoren frei, bzw. sperre sie.

Mal wieder ein dankeschoen im vorraus.

LG Dwar

Autor:  Auric [ Mo 03 Apr, 2006 08:28 ]
Betreff des Beitrags: 

Sieh mal in der Admingrotte und den betreffenden Dateien nach

Du musst in der admingrotte die if-abfrage addnav(); verändern indem due die abfrage auf >=2 setzt. 2 Ist moderatos, 3 Administrator also ist bei >=2 dem Admin und den Mods zugang gewährt.
Damit hast du den Link in der Admingrotte

Um dann nicht als cheater gepeinigt zu werden, musst du noch die isnewday(3); auf is isnewday(2); ändern.

Damit können die Moderatoren nun in dieser Datei alle aktionen ausüben.

Autor:  Dwar [ Mo 03 Apr, 2006 09:21 ]
Betreff des Beitrags: 

Danke, fuer die schnelle Antwort! Das hat mir schonmal sehr weitergeholfen.

Wenn mir jetzt noch bitte jemand sagen koennte, wie ich manche Bereiche in der user.php fuer Moderatoren nur sichbar aber nicht abaenderbar machen kann, waere ich sehr gluecklich.

Z.B. wuerde ich gerne machen, dass Mods Spieler freischalten koennen aber keinen Einfluss auf Gems/Gold/superuserstatus haben.

Autor:  Kakerlake [ Di 04 Apr, 2006 09:28 ]
Betreff des Beitrags: 

Die komplette Liste mit den Feldern kopieren, mit einem Switch einfassen sodass Superuser 3 die vollständige Liste bekommen, User Stufe 2 die meisten werte nur als Viewonly.

Sollte helfen :wink:

Autor:  Eliwood [ Di 04 Apr, 2006 17:19 ]
Betreff des Beitrags: 

Kakerlake hat geschrieben:
Die komplette Liste mit den Feldern kopieren, mit einem Switch einfassen sodass Superuser 3 die vollständige Liste bekommen, User Stufe 2 die meisten werte nur als Viewonly.

Sollte helfen :wink:


Oder sowas ähnliches wie folgt machen:

[php]
$userinfo = array(
"gold"=>"Gold das der user bei sich trägt,int",
"einanderesFeld"=>"Eine andere Beschreibung,file",
);

$infoblock = array(
"gold"=>True,
);

while(list($key,$var) = each($infoblock))
{
$search = array(",int",",bool",",enum$mounts","Schwanger?,enum,0,Nein,1,Ja","Superuser,enum,0,Standard Spieltage pro Kalendertag,1,Unbegrenzt Spieltage pro Kalendertag,2,Kreaturen und Spott administrieren,3,User administrieren,4,Gott administrieren");
if($var === true && $session['user']['superuser']<3) $userinfo[$key] = str_replace($search," `i(Nicht editierbar)`i ,viewonly",$userinfo[$key]);
}
[/php]

Dann wird aus dem "gold" ein viewonly-Feld.

Autor:  Auric [ Di 04 Apr, 2006 17:48 ]
Betreff des Beitrags: 

:shock: Eil, was wird dass den? :shock:

Für sowas nimmt man doch heutzutage die foreach-schleife, ist doch wesntlich prformanter und übersichlicher!

[php]
//Statt:
while(list($key,$var) = each($infoblock))
{
//Besser:
foreach($infoblock as $key=>$var)
{[/php]

Autor:  Auric [ Di 04 Apr, 2006 17:50 ]
Betreff des Beitrags: 

*sry.. falscher button*

Bitte löschen :pein:

Autor:  Eliwood [ Di 04 Apr, 2006 18:03 ]
Betreff des Beitrags: 

Übersichtlicher, ja.
Leistungsfähiger? Nein!

Hab grad nen kleinen Benchmark (PHP 5) laufen gelassen, 10000 mal while, 10000 mal foreach mit nem array, das so aussieht:
[php]
$array = array(
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
"Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub",
"Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub",
"Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub","Blub",
);[/php]

Ergebnisse:
$this->bbcode_second_pass_code('', 'foreach:
0.460136890411 Sekunden
0.51779294014 Sekunden
0.487059831619 Sekunden

while:
0.00858497619629 Sekunden
0.00812315940857 Sekunden
0.00814199447632 Sekunden')

Und wenn du es nicht glaubst, Teste es selbst :P

EDIT: While ist also ca 53mal schneller als foreach *fg*

Autor:  Auric [ Di 04 Apr, 2006 19:08 ]
Betreff des Beitrags: 

Komisch. in all meinen netten Büchlein steht, das foreach wesentlich empfehenswerter wäre - wird ja wohl auch auf diese Funktion optimiert sein.

Dein Benchmark könnte alledings daran liegen, das du ein numerisch indiziiertes Array verwendest, und kein assoziatives.

Ich benutz halt lieber foreach :P
(so heist es auch bei php.net:)

ian at NO_SPAM dot verteron dot net bei php.net hat geschrieben:
02-Jan-2003 12:29
Note that foreach is faster than while! If you can replace the following:

<?php
reset($array);
while(list($key, $val) = each($array))
{
$array[$key] = $val + 1;
}
?>

...with this (although there are functional differences, but for many purposes this replacement will behave the same way)...

<?php
foreach($array as $key => $val)
{
$array[$key] = $val + 1;
}
?>

You will notice about 30% - 40% speed increase over many iterations. Might be important for those ultra-tight loops :)

Autor:  Eliwood [ Di 04 Apr, 2006 19:20 ]
Betreff des Beitrags: 

Das gleiche nochmal mit einem wesentlich komplexeren und grösseren array:

[php]$array = array(
array(
array(
array(
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
),
array(
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
),
),
array(
array(
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
),
array(
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
),
),
),
array(
array(
array(
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
),
array(
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
),
),
array(
array(
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
),
array(
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
"Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma","Blub"=>"Ticktacktrauma",
),
),
),
);[/php]

Ergebnis ähnlich. While ist schneller als foreach, warum auch immer. :P

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/