anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mo 23 Sep, 2019 20:57

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: [Admin-Mod] Fast Nav
BeitragVerfasst: So 23 Mär, 2008 00:45 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Frohe Osteeern,

Ja der Hartas, hat mich vorhin auf ne Idee gebracht. o.O
Ich sagte ja, das man es so einbauen kann, das der Admin keine Badnav's mehr hat.
Nun.... Hartas, sagte mir dann per PN, das man dann die Badnav's die, die Spieler haben nicht erkenne können...
Was natürlich auch stimmt... Also habe ich mir überlegt, wie man einem Superuser, gestatten kann, zu jedem beliebigen Ort zu switchen, ohne Ihm die Badnav verweigerung zu erlauben... Dabei ist der Mod "Fast Nav" herraus gekommen!
Dazu auch ein Editor... Nun... Habe einfach den Titel-Editor von mir zum Fast Nav editor umgeschrieben, daher ich gerade nicht die größte Lust hatte nochmal nen neuen zu schreiben, wo doch einer vorhanden ist. Mal sehen, vielleicht bekommt Fast Nav auch mal seinen eigenen Editor, doch gehen tut es auch, mit dem Editor der mit im *.zip / *.rar ist!

Einbau:^^

Öffne deine Common.php und füge an eine beliebige Stelle diese Funktion ein: (ABER IN KEINE ANDERE FUNKTION!!!!!!)

$this->bbcode_second_pass_code('', '
# Fast Nav by MySQL
Function fast_nav ()
{
Global $fast_nav;
$fast_nav .= "<select onchange='if(this.options[this.selectedIndex].value != \"#\") { window.location=this.options[this.selectedIndex].value }'>";
$fast_nav .= '<option value="#">Schnell Navi</option>';
$select_nav = db_query('SELECT * FROM fast_nav ORDER BY name ASC');

If (db_num_rows($select_nav) == 0):

$fast_nav .= '<option value="#">Keine Navs!</option>';

Else:

While ($row_nav = db_fetch_assoc($select_nav)):

$fast_nav .= '<option value="'.$row_nav['link'].'">'.$row_nav['name'].'</option>';
Addnav('',$row_nav['link']);

Endwhile;

Endif;

$fast_nav .= '</select>';
Return $fast_nav;
}')

Dann suchst du:

$this->bbcode_second_pass_code('', '
$charstat=appoencode(templatereplace("statstart")
.templatereplace("stathead",array("title"=>"Vital Info"))
.templatereplace("statrow",array("title"=>"Name","value"=>appoencode($u[name],false)))
,true);')

und Fügst danach ein:

$this->bbcode_second_pass_code('', '
If ($session['user']['superuser'] > 2):
$charstat.=appoencode(
templatereplace("statrow",array("title"=>"Navi:","value"=>fast_nav()))
,true);
Endif;')

Schließ die common und ladet Sie auf den Server.

Dann fügt Ihr das in phpMyAdmin ein:

$this->bbcode_second_pass_code('', 'CREATE TABLE fast_nav (
id INT( 11 ) unsigned NOT NULL auto_increment,
link VARCHAR( 55 ) NOT NULL default '#',
name VARCHAR( 100 ) NOT NULL,
PRIMARY KEY (id)
) Type=MyISAM;

INSERT INTO fast_nav (id, link, name) VALUES (1, 'academy.php', 'Akademie');
INSERT INTO fast_nav (id, link, name) VALUES (2, 'armor.php', 'Rüstungsladen');
INSERT INTO fast_nav (id, link, name) VALUES (3, 'armoreditor.php', 'Editor: Rüstungen');
INSERT INTO fast_nav (id, link, name) VALUES (4, 'avatars.php', 'Editor: Avatare');
INSERT INTO fast_nav (id, link, name) VALUES (5, 'badword.php', 'BadWord-Editor');
INSERT INTO fast_nav (id, link, name) VALUES (6, 'bank.php', 'Die alte Bank');
INSERT INTO fast_nav (id, link, name) VALUES (7, 'battlearena.php', 'Die Arena');
INSERT INTO fast_nav (id, link, name) VALUES (8, 'beggar.php', 'Der Bettelstein');
INSERT INTO fast_nav (id, link, name) VALUES (9, 'bios.php', 'Editor: Biographien');
INSERT INTO fast_nav (id, link, name) VALUES (10, 'configuration.php', 'Spieleinstellungen');
INSERT INTO fast_nav (id, link, name) VALUES (11, 'creatures.php', 'Editor: Kreaturen');
INSERT INTO fast_nav (id, link, name) VALUES (12, 'dag.php', 'Dag Durnicks');
INSERT INTO fast_nav (id, link, name) VALUES (13, 'donators.php', 'Editor: Donation');
INSERT INTO fast_nav (id, link, name) VALUES (14, 'dragon.php', 'Der Drachen');
INSERT INTO fast_nav (id, link, name) VALUES (15, 'forest.php', 'Der Wald');
INSERT INTO fast_nav (id, link, name) VALUES (16, 'gardens.php', 'Die Gärten');
INSERT INTO fast_nav (id, link, name) VALUES (17, 'graveyard.php', '(R) Der Friedhof');
INSERT INTO fast_nav (id, link, name) VALUES (18, 'gypsy.php', 'Die Zigeunerin');
INSERT INTO fast_nav (id, link, name) VALUES (19, 'healer.php', 'Der Heiler');
INSERT INTO fast_nav (id, link, name) VALUES (20, 'hexe.php', 'Die Hexe');
INSERT INTO fast_nav (id, link, name) VALUES (21, 'hof.php', 'Die Ruhmeshalle');
INSERT INTO fast_nav (id, link, name) VALUES (22, 'houses.php', 'Das Wohnviertel');
INSERT INTO fast_nav (id, link, name) VALUES (23, 'inn.php', 'Die Schenke');
INSERT INTO fast_nav (id, link, name) VALUES (24, 'innboard.php', 'Editor: Schwarzes Brett');
INSERT INTO fast_nav (id, link, name) VALUES (25, 'invhandler.php', 'Das Inventar');
INSERT INTO fast_nav (id, link, name) VALUES (26, 'itemeditor.php', 'Editor: Items');
INSERT INTO fast_nav (id, link, name) VALUES (27, 'list.php', 'Die Kämpferliste');
INSERT INTO fast_nav (id, link, name) VALUES (28, 'lodge.php', 'Die Jägerhütte');
INSERT INTO fast_nav (id, link, name) VALUES (29, 'logs.php', 'Editor: Logs & Mail');
INSERT INTO fast_nav (id, link, name) VALUES (30, 'lottery.php', 'Die Lottery');
INSERT INTO fast_nav (id, link, name) VALUES (31, 'mounts.php', 'Editor: Stalltiere');
INSERT INTO fast_nav (id, link, name) VALUES (32, 'newday.php', 'Neuer Tag');
INSERT INTO fast_nav (id, link, name) VALUES (33, 'newgiftshop.php', 'Der Geschenckeladen');
INSERT INTO fast_nav (id, link, name) VALUES (34, 'olddrawl.php', 'Old Drawls Tisch');
INSERT INTO fast_nav (id, link, name) VALUES (35, 'outhouse.php', 'Das Plumpsklo');
INSERT INTO fast_nav (id, link, name) VALUES (37, 'prefs.php', 'Dein Profil');
INSERT INTO fast_nav (id, link, name) VALUES (38, 'pvp.php', 'Die Felder');
INSERT INTO fast_nav (id, link, name) VALUES (39, 'pvparena.php', 'Kämpferarena');
INSERT INTO fast_nav (id, link, name) VALUES (40, 'rebirth.php' 'Schrein der Erneuerung');
INSERT INTO fast_nav (id, link, name) VALUES (41, 'referers.php', 'Referers');
INSERT INTO fast_nav (id, link, name) VALUES (42, 'referral.php', 'Empfehlungen');
INSERT INTO fast_nav (id, link, name) VALUES (43, 'retitle.php', 'Retitiler');
INSERT INTO fast_nav (id, link, name) VALUES (44, 'rock.php', 'Club der Veteranen');
INSERT INTO fast_nav (id, link, name) VALUES (45, 'shades.php', '(R) Die Schatten');
INSERT INTO fast_nav (id, link, name) VALUES (46, 'shrine.php', 'Schrein des Ramius');
INSERT INTO fast_nav (id, link, name) VALUES (47, 'stables.php', 'Merricks Ställe');
INSERT INTO fast_nav (id, link, name) VALUES (48, 'stats.php', 'Stats');
INSERT INTO fast_nav (id, link, name) VALUES (49, 'stonesgame.php', 'Steinchenglückspiel');
INSERT INTO fast_nav (id, link, name) VALUES (50, 'styx.php', '(R) Fluss der Seelen');
INSERT INTO fast_nav (id, link, name) VALUES (51, 'suhouses.php', 'Hausmeister');
INSERT INTO fast_nav (id, link, name) VALUES (52, 'superuser.php', 'Admin Grotte');
INSERT INTO fast_nav (id, link, name) VALUES (53, 'taunt.php', 'Editor: Spott');
INSERT INTO fast_nav (id, link, name) VALUES (54, 'train.php', 'Das Trainingslager');
INSERT INTO fast_nav (id, link, name) VALUES (55, 'user.php', 'Editor: User');
INSERT INTO fast_nav (id, link, name) VALUES (56, 'vendor.php', 'Der Wandlerhändler');
INSERT INTO fast_nav (id, link, name) VALUES (57, 'viewpetition.php', 'Editor: Anfragen');
INSERT INTO fast_nav (id, link, name) VALUES (58, 'village.php', 'Der Stadtplatz');
INSERT INTO fast_nav (id, link, name) VALUES (59, 'weaponeditor.php', 'Editor: Waffen');
INSERT INTO fast_nav (id, link, name) VALUES (60, 'weapons.php', 'Waffenladen');
INSERT INTO fast_nav (id, link, name) VALUES (61, 'well.php', 'Der Dorfbrunnen');')

Und fertig!


Dateianhänge:
fast_nav.zip [2.44 KIB]
57-mal heruntergeladen
fast_nav.rar [2.36 KIB]
46-mal heruntergeladen

_________________
Never change a running system. Bullshit! ;)


Zuletzt geändert von MySql am So 13 Apr, 2008 23:37, insgesamt 1-mal geändert.
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: So 23 Mär, 2008 20:38 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Ist soweit ich weiß nichts neues, ich habe etwas ähnliches auf meinem Testserver, allerdings reicht da ein Eingabefeld mit Submit-Button und eine Datei, die (,sofern die Datei vorhanden ist,) weiterleitet.

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Mo 24 Mär, 2008 13:34 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Naja... in dem Sinne ist es doch schon neu, dahr es noch niemand Public gestellt hat!

PS: Sig...

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Mo 24 Mär, 2008 13:46 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 20 Sep, 2004 23:43
Beiträge: 164
Wohnort: Berlin
LoGD: http://www.atrahor.de/source.php
Ist eine nette Idee, bedenke aber folgendes:
Addnav ist ne Funktion die auch nicht wenig macht. Also wird das die Seitenladezeit ganz schön erhöhen. Gut, bei wenigen Mods ist das nicht wild, aber wenn du 20 Mods hast die ebenfalls ordentlich mitklickern merkt man das schon. Außerdem ists eine weitere DB Abfrage beim Seitenabruf. Ich find dieMod gut, ich würds aber anders angehen.

Einmal einlesen, dann DB Ergebnis cachen und nur wenn der Mod drauf klickt die Dropdownbox füllen. Macht zwar mehr code, aber hält dein LOTGD flott.

Außerdem sollte/könnte man das in den Prefs für die Mods an und abschaltbar machen, denn nicht jeder mag so eine große "hässliche" Box in der Liste haben.

Wie gesagt, ich finds gut, ich baus bei mir vielleicht nachher mal ein, aber eben etwas anders und ohne DB dahinter, das ist mir zu fett und jede DB Abfrage ist böse :-D

Ps:
Wieso hast du dir so eine komische Programmiersemantik angewöhnt? Alle Wörter groß? die eher unkonventionelle if else Schreibweise?

_________________
Atrahor.de
http://www.atrahor.de/ci_images.php?id=1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Mo 24 Mär, 2008 15:54 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Abschalten kann man meine Lösung zwar nicht, aber es gibt keine zusätzliche Datenbank-Abfrage und nur 1 addnav.

PHP:
if ($session['user']['superuser']) {

addnav("","schnellnavi.php");
$charstat.="<form action='schnellnavi.php' method='post'>";
$charstat.="<input type='text' name='file' size='18'><input type='submit' value='Los' class='button'>";
$charstat.="<input type='hidden' name='back' value='".basename($_SERVER['PHP_SELF'])."'></form>";

}


Das ganze in die common.php, dazu diese Datei (schnellnavi.php) einbauen und es geht auch.

PHP:
<?
require_once "common.php";
$ziel = explode(".php",$_POST['file']);
if (file_exists($ziel['0'].".php")) {

redirect($_POST['file']);

} else {

redirect($_POST['back']);

}

page_footer();
?>

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Mo 24 Mär, 2008 16:54 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
$this->bbcode_second_pass_code('', '
If ($sesion['user']['prefs']['see_switch'] == true && $session['user']['superuser'] == X):
# Befehle
Endif;
')

Man kann es also nicht abschalten? :?

- So. PC futsch..

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Mo 24 Mär, 2008 19:10 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
MySql hat geschrieben:
$this->bbcode_second_pass_code('', '
If ($sesion['user']['prefs']['see_switch'] == true && $session['user']['superuser'] == X):
# Befehle
Endif;
')

Man kann es also nicht abschalten? :?

- So. PC futsch..


Nein, ohne Änderungen, die ich noch nicht gemacht habe, ist es nicht Möglich. Was nicht bedeutet, das es unmöglich ist. Und warum verwendest du die alternative Syntax?

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Mo 24 Mär, 2008 21:46 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Montekar... Eine Frage.
Was ist, wenn man beispielsweise nach testdatei.php?op=hier&parameter=das will? ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Di 25 Mär, 2008 09:07 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 20 Sep, 2004 23:43
Beiträge: 164
Wohnort: Berlin
LoGD: http://www.atrahor.de/source.php
Dann nehm wa den...glaub ich

$this->bbcode_second_pass_code('', '$arr_path = explode("?",$_POST['file']);

$arr_path_info = pathinfo($arr_path[0]);
$str_file = ($arr_path_info['dirname'] != ''?$arr_path_info['dirname'].'/':'').$arr_path_info['dirname'];
if(file_exists($str_file) == true)
{
addnav('',$str_file.'?'.$arr_path[1]);
...
}')

_________________
Atrahor.de
http://www.atrahor.de/ci_images.php?id=1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Mi 26 Mär, 2008 13:45 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Gib mal bitte paths.php?ziel=graeultat&op=escape ein, Harthas ;) (ohne Änderungen) Geht aber nur bei specials, die dann noch nicht zuende sind, aber das ist soweit ich weiß eine normale Beschränkung der paths.php.

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Fr 28 Mär, 2008 02:31 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Dragonslyer hat geschrieben:
Wie gesagt, ich finds gut, ich baus bei mir vielleicht nachher mal ein, aber eben etwas anders und ohne DB dahinter, das ist mir zu fett und jede DB Abfrage ist böse :-D


Mal schaun, vielleicht arbeite ich mich mal in die Kunst der FTP Funktionen ein und "versuche" es mal als Text-Mod zuveröffentlichen. Nur vielleicht..

Naja "Fett" ist Sie bestimmt nicht *g, eher "Saftig" *fg

Edit:

Ich wunder mich gerade *g, das auslesen, klappt direkt beim ersten versuch *fg, *sich mal bei Auric für sscanf bedank :), doch damit ging es leider nicht, fscanf musste her :)

$this->bbcode_second_pass_code('', 'output('<table><tr><td>id</td><td>title</td><td>linker</td></tr>',true);
$data = fopen ("text.txt","r");
while ($auslesen = fscanf($data, "(%u) %s (%s)"))
{
list($data_id, $data_title, $data_linker) = $auslesen;
output('<tr><td>'.$data_id.'</td><td>'.$data_title.'</td><td>'.$data_linker.'</td></tr>',true);

}

output('</table>',true);')

Sieht noch krüppelhaft aus, wollte erst einmal schaun, ob der das überhaupt ausliest.. *g

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Fr 28 Mär, 2008 17:43 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
sscanf ist die variante für Strings während fscanf die für files ist... hängt halt immer davon ab, worin du sichen willst ;-)

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Admin-Mod] Fast Nav
BeitragVerfasst: Fr 28 Mär, 2008 17:50 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Auric hat geschrieben:
sscanf ist die variante für Strings während fscanf die für files ist... hängt halt immer davon ab, worin du sichen willst ;-)


Stimmt, musste mich dort erst rein lesen.. *g
Das klappt bisher alles wunderbar.. Einzelne Zeilen löschen, Details einzelner Zeilen (auf Linkklick) anzeigen, eine neue Zeile hinzufügen etc. funktioniert alles, nur bin ich noch nicht dahinter gestiegen, wie man eine einzelne Zeile bearbeitet. Nun ja, reicht ja auch wenn man sie genrell bearbeitet.. Mal schaun..

*push* , phps

Steht aber noch net so viel drin *g, hatte es vorher im reinen php gestestet, mit echo usw.

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: Morpheus und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum