anpera.net
https://anpera.dyndns.org/phpbb3/

Atrahor Sourceviewer
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=43&t=3412
Seite 1 von 1

Autor:  dragonslayer [ So 25 Feb, 2007 03:08 ]
Betreff des Beitrags:  Atrahor Sourceviewer

Ich starte hiermit den Aufruf: Sourcecodeviewer Overkill :-)
Da Eliwood mit seinem Sourcecodeviewer vorgelegt hat veröffentlichen wir mal auch unseren.
Warum noch einer? Naja, vielleicht hat ja einer Interesse dran. Was ist bei uns anders?
Er ist etwas übersichtlicher und er zeigt nur die Dateien an, die explizit freigegeben werden.
Sonst nix :-)

Dateianhänge:
Dateikommentar: Atrahor Sourceviewer Bugfix
source.zip [2.23 KIB]
536-mal heruntergeladen

Autor:  Lestat [ So 25 Feb, 2007 04:38 ]
Betreff des Beitrags: 

[OT] und sowas um 3 reinstellen.. Nachteule! ;) [/OT]

Autor:  Kevz [ So 25 Feb, 2007 10:41 ]
Betreff des Beitrags: 

Klasse aufbau =), schön klein; sauber und sehr Handlich. :D

Autor:  Lee500 [ Mo 26 Feb, 2007 18:37 ]
Betreff des Beitrags: 

Hab das Teil ma installed und dann das:

Fatal error: Call to undefined function su_check() in /is/htdocs/wp1062421_Q7X9RCJJGZ/www/lotgd/source.php on line 34

Autor:  Kamui [ Mo 26 Feb, 2007 18:56 ]
Betreff des Beitrags: 

Übersetzung:
Eine nicht definierte Function wurde in Zeile 34 aufgerufen entferne einfach
[php]
if(su_check(SU_RIGHT_SOURCEVIEW))
{
$legal_dirs[] = array('dir'=>$subdir.'lib/','td'=>0);
$legal_dirs[] = array('dir'=>$subdir.'item_modules/','td'=>0);
$legal_dirs[] = array('dir'=>$subdir.'module/','td'=>1);
}
[/php]

und schon geht es wieder..
Nettes Ding aber man hätte es vorher an LoGD 0.9.7 GER 3 anpassen sollen bevor man es veröffendlicht ;)

Autor:  Lee500 [ Mo 26 Feb, 2007 19:11 ]
Betreff des Beitrags: 

ah gut. soweit geht es nur wenn ich den source anzeigen lassen will ist die seite weiß und er gibt den quellcode aus:

$this->bbcode_second_pass_code('', '<html><head><title>Quellcode der Dragonslayer-Edition</title><link href="newstyle.css" rel="stylesheet" type="text/css"><style type="text/css"> @import url(templates/colors.css); </style></head><body bgcolor="#000000" text="#CCCCCC"><table cellpadding=5 cellspacing=0 width="100%"><tr><td class="popupheader"><b>Quellcode der Dragonslayer-Edition</b></td></tr><tr><td valign="top" width="100%">
Quellcode der Dragonslayer-Edition : 0.9.7+jt ext (GER)


Anmerkung: Dies ist nur ein Auszug aus dem Source. Um das jeweils aktuelle, vollständige Release zu erhalten, ist eine Anfrage mit gültiger Email-Adresse erforderlich. Ebenso sollte darin die Serveradresse bzw. sonstiger Verwendungszweck aufgeführt sein. Was wir uns unbedingt verbitten, ist Diebstahl unserer Arbeit ohne Nennung des Copyrights.
Falls beim Lesen des Source ein Bug entdeckt werden sollte, bitten wir um sofortige Meldung per Anfrage!


../lotgd/baecker.php

<a href="source.php">zurück</a>
<table style="width: 100%;padding:0px;margin:0px;" cellspacing="0"> <tr> <td style="text-align: right; width: 25px; background: #AFAFAF; border-right: 1px solid #000000;"> <code><nobr>1:<br />2:<br />3:<br />4:<br />5:<br />6:<br />7:<br />8:<br />9:<br />10:<br />11:<br />12:<br />13:<br />14:<br />15:<br />16:<br />17:<br />18:<br />19:<br />20:<br />21:<br />22:<br />23:<br />24:<br />25:<br />26:<br />27:<br />28:<br />29:<br />30:<br /></nobr></code> </td> <td style="background: #EFEFEF;" valign="top"> <?

// 13032005
// Tweety's und Angel's Bäckerei- v 1.01
//

require_once "common.php";

if ($_GET[op]=="") {
addcommentary();
checkday();
page_header("Baeckerei");
output("`b`c`2Bäckerei mit vielen Köstlichkeiten`0`c`b");
output("`n`%Hier in der Bäckerei gibt es jede Menge leckerer Köstlichkeiten du weißt garnicht wo du zuerst hingucken sollst.`0");
//output("`n");
output("`n`QMit den anderen anwesenden sprechen`0");
output("`n`n");
viewcommentary("baeckerei","Hier reden",30,"sagt");


addnav("Ein Stück kuchen nehmen `^1998`0 Gold","kuchen.php?op=kuchen");
addnav("Etwas Milch trinken `^100`0 Gold","milch.php?op=milch");
addnav("Süßigkeit naschen `^150`0 Gold","naschen.php?op=naschen");
addnav("Zurück zum Dorf","raleon.php");


}
page_footer();
?>
0.9.7+jt ext (GER)')

Hier zum angucken

Autor:  Squall [ Mo 26 Feb, 2007 20:35 ]
Betreff des Beitrags: 

ich seh keine weisse seite, wenn ich mir dein source und dessen Datein ansehen will...


mfg :wink:

Autor:  Lee500 [ Mo 26 Feb, 2007 21:01 ]
Betreff des Beitrags: 

habs ja auch eben rausgefunden:
[php]output($str_out);
$output .= $buffer;
$str_out = '</td>
</tr>
</table>';[/php]

das is bei mir ab Z88

Das
[php]output($str_out);[/php] muss aber [php]output($str_out,true);[/php] sein

Autor:  dragonslayer [ Di 27 Feb, 2007 13:28 ]
Betreff des Beitrags: 

ARG, ja, das tut mir leid. Einige Methoden sehen bei uns mittlerweile anders aus. Da hab ich wohl den Teil vergessen. Ich update mal das Originalfile da oben!

Autor:  Eliwood [ Di 27 Feb, 2007 15:06 ]
Betreff des Beitrags: 

Mh. Wenigstens keine Konkurrenz. Genausowenig wie meins keine Konkurrenz ist - verfolgen doch beide andere Ansätze *g*
(Ich find zwar alle Dateien seit begin offen besser als umgekehrt, aber n'ja *g*)
Sourcecode sieht auch nett aus (Abgesehen von der HTML-Ausgabe ^^).

Autor:  Ela [ Fr 14 Dez, 2007 07:39 ]
Betreff des Beitrags: 

Guten Morgen,

kann mir mal bitte jemand verraten, wo genau man die dateien eintragen muss? Ich habe keinen schimmer :???:


require_once 'common.php';

/**
* Trage hier alle Dateien ein, die durch den Sourcecodeeditor angezeigt werden
*/
$legal_files = array(

es wäre nett, wenn mir jemand ein Beispiel geben würde. ich hab schon einiges probiert was ich als Anfänger daraus lese, aber es will nichts angezeigt werden

Lieben Dank
Ela

Autor:  Jenutan [ Fr 14 Dez, 2007 15:30 ]
Betreff des Beitrags: 

Hallo,

eigentlich ja ganz einfach.

Musst alle Dateien die in der Source angegeben sein sollen in den Array $legal_files der source.php eintragen.

Am besten so:
[php]
$legal_files = array(
'about.php',
'academy.php',
...
);
[/php]

:)

Autor:  Ela [ So 16 Dez, 2007 02:40 ]
Betreff des Beitrags: 

Hallo, ich mal wieder...

alsoo, ich hab des ja nun gemacht. Aber er zeigt mir jetzt ausnahmslos alle dateien an. Auch die die ich nicht freigeben wollte sind mit einem mal in der Liste aber nicht in der Datei.

Kann mir da jemand einen Tip geben?

Danke schonmal ^^ Ela

Autor:  dragonslayer [ So 16 Dez, 2007 10:59 ]
Betreff des Beitrags: 

Leider kann ich den Sourcecode der source.php (uuh, Selbstbezug, yeeah)
bei dir nciht sehen, weshalb es schwer ist da den Fehler rauszuzeigen.

Aber die ersten Zeilen des Skripts kann ich hier mal abdrucken:

[php]
<?php

require_once 'common.php';
//Jede Datei die angezeigt werden darf bitte hier hinein.
//Liegt die Datei in einem Unterordner bitte auch NUR den Dateinamen hier angeben
$legal_files = array(
'about.php',
'academy.php',
'alchemie.php',
'armor.php',
);

$url=$_GET['url'];
$dir = str_replace("\\","/",dirname($url)."/");

$subdir='/';

//Hier kommen die Unterverzeichnisse rein die angezeigt werden sollen
//Liegt eine Datei im obigen array und wird das Verzeichnis hier nicht freigeschaltet, dann wird sie nicht angezeigt.
//'td'->1 lässt die Dateien des Verzeichnisses in einer neuen Tabellenspalte erschainen
$legal_dirs = array(
array('dir'=>$subdir,'td'=>1),
array('dir'=>$subdir.'special/','td'=>1),
);
?>
[/php]

Autor:  Ela [ So 16 Dez, 2007 13:13 ]
Betreff des Beitrags: 

meine Source sieht so aus, das ist die, die ich hier her habe.
Ich konnte sie ja nicht rein setzen weil er wirklich alle datein auflistet, die hochgezogen sind (inkl. dbconnect)

Ich hab [php]$url=$_GET['url'];
$dir = str_replace("\\","/",dirname($url)."/");
$subdir = str_replace("\\","/",dirname($_SERVER['SCRIPT_NAME'])."/"); [/php]

gegen das [php]$url=$_GET['url'];
$dir = str_replace("\\","/",dirname($url)."/");

$subdir='/'; [/php]

ausgetauscht. aber hat nichts gebracht. :(

Wäre schön wenn mir jemand helfen könnte

[php]<?php
/**
* @desc NEW SOURCE.PHP by ALUCARD :>
* @longdesc Die Source.php zeigt nur noch explizit freigegebene Dateien an und sieht hübscher aus als das Original.
* Dies ist eine spezielle angepasste Version für die Veröffentlichung im Anpera Forum
* @author Alucard
* @version V1.0 for DS v2.5
* @copyright Alucard for Atrahor.de (2006)
*/

require_once 'common.php';

/**
* Trage hier alle Dateien ein, die durch den Sourcecodeeditor angezeigt werden
*/
$legal_files = array(
'about.php',
'academy.php',
'admin.php',
'adventsiliena.php',
'alchimist.php',
'anticheat.php',
'appoencode.php',
'armor.php',
'armoreditor.php',
'avatars.php',
'badehaus.php',
'badnav.php',
'badword.php',
'bank.php',
'banker.php',
'barbier.php',
'battle.php',
'battlearena.php',
'beggar.php',
'bio.php',
'bios.php',
'brunnen.php',
'brunnenschatz.php',
'center.php',
'chat.php',
'chatdelete.php',
'chocobo.php',
'classes.php',
'clothes.php',
'colorpicker.php',
'colors.php',
'common.php',
'configuration.php',
'connector.php',
'create.php',
'createrpg.php',
'creatures.php',
'dag.php',
'dbwrapper.php',
'donators.php',
'drabru.php',
'dracula.php',
'dragru.php',
'draker.php',
'drasch',
'drushop',
'edel.php',
'eisturm.php',
'elemententurm.php',
'elwus.php',
'enter.php',
'farbcodes.php',
'forest.php',
'fri.php',
'friedhof.php',
'gardens.php',
'gartenrp.php',
'gartensee.php',
'gaya.php',
'goetter2.php',
'goettertempel.php',
'gottwahl.php',
'graveyard.php',
'gypsy.php',
'götter.php',
'healer.php',
'hexe.php',
'hof.php',
'houses.php',
'huegel.php',
'index.php',
'innbord.php',
'invhandler.php',
'itemeditor.php',
'jail.php',
'kalender.php',
'library.php',
'list.php',
'lodge.php',
'lodgerp.php',
'logdnet.php',
'login.php',
'logs.php',
'lottery.php',
'lotto.php',
'mail.php',
'man.php',
'moor.php',
'modt.php',
'mounts.php',
'mystischersee.php',
'nagel.php',
'newday.php',
'newgiftshop.php',
'news.php',
'nhmaster.php',
'nhouses.php',
'nordstrasse.php',
'olddraw.php',
'orte.php',
'outhouse.php',
'path.php',
'petition.php',
'phiolendesrisiko.php',
'pvp.php',
'prefs.php',
'pvparena.php',
'raceeditor.php',
'reanda.php',
'rebirth.php',
'referers.php',
'referral.php',
'registratur.php',
'retitle.php',
'richtplatz.php',
'rock.php',
'rpwiederbeleben.php',
'sanela.php',
'sanelabrunnen.php',
'sanelaschmiede.php',
'sanelasee.php',
'sanelastrand.php',
'setnewday.php',
'shades.php',
'shrine.php',
'stables.php',
'stats.php',
'stonesgame.php',
'styx.php',
'suhouser.php',
'taunt.php',
'thehell.php',
'todolist.php',
'topwebvote.php',
'train.php',
'training.php',
'treeofdeath.php',
'turm.php',
'vendor.php',
'user.php',
'verfifi.php',
'viewpetition.php',
'village.php',
'weaponeditor.php',
'weapons.php',
'weihnachten.php',
'weihnachtsmarkt.php',
'well.php',
'work.php',
'wurf.php',
'zimmer.php',
'zulan.php'
);

$url=$_GET['url'];
$dir = str_replace("\\","/",dirname($url)."/");
$subdir = str_replace("\\","/",dirname($_SERVER['SCRIPT_NAME'])."/");

while(substr($subdir,0,2)=="//" ){
$subdir = substr($subdir,1);
}
$legal_dirs = array(
array('dir'=>$subdir,'td'=>1),
array('dir'=>$subdir.'special/','td'=>1),
);

$str_out = '<html><head><title>Quellcodeviewer der Dragonslayer-Edition</title><link href="newstyle.css" rel="stylesheet" type="text/css"><style type="text/css">
@import url(templates/colors.css);
</style></head><body bgcolor="#000000" text="#CCCCCC"><table cellpadding=5 cellspacing=0 width="100%"><tr><td class="popupheader"><b>Quellcodeviewer der Dragonslayer-Edition</b></td></tr><tr><td valign="top" width="100%">';

$str_out .= '`c`b`&Quellcodeviewer der Dragonslayer-Edition : '.$logd_version.'`0`b`c`n`n';
$str_out .= 'Anmerkung: Dies ist nur ein Auszug aus dem Source. Um das jeweils aktuelle, vollständige Release zu erhalten,
ist eine Anfrage mit gültiger Email-Adresse erforderlich. Ebenso sollte darin die Serveradresse bzw.
sonstiger Verwendungszweck aufgeführt sein. Was wir uns unbedingt verbitten, ist Diebstahl unserer Arbeit
ohne Nennung des Copyrights.`n
Falls beim Lesen des Source ein Bug entdeckt werden sollte, bitten wir um sofortige Meldung per Anfrage!`n`n';

if($session['message'] != '') {
output('`n`b'.$session['message'].'`b`n`n');
$session['message'] = '';
}

function in_dir( $dir ){
global $legal_dirs;
foreach($legal_dirs as $d){
if( $d['dir'] == $dir ){
return 1;
}
}
return 0;
}

switch($_GET['op'])
{
case 'show':
$file = urldecode($_GET['file']);
$check = preg_replace('/(.*?)\//','',$file);
$dir = str_replace( $check, '', $file );
$file = '.'.$file;


$str_out .= '`n`c`&`b'.$file.'`b`c`n';
$str_out .= '<a href="source.php">zurück</a>`n';
if($session['user']['superuser']>0 || (in_array( $check, $legal_files )) && in_dir( $dir ))
{
$buffer = highlight_file( $file, true );
$rows = count(explode('<br />',$buffer));
$znr = '';
for($i=1; $i <= $rows; $i++) {
$znr .= "$i:<br />";
}
$buffer = '<code><nobr>'.$buffer.'</nobr></code>';
$str_out .= '<table style="width: 100%;padding:0px;margin:0px;" cellspacing="0">
<tr>
<td style="text-align: right; width: 25px; background: #AFAFAF; border-right: 1px solid #000000;">
<code><nobr>'.$znr.'</nobr></code>
</td>
<td style="background: #EFEFEF;" valign="top">';
output($str_out,true);
$output .= $buffer;
$str_out = '</td>
</tr>
</table>';
}
else
{
$str_out .= '`4`b<big><big>Datei kann nicht angezeigt werden!</big></big>`b`n';
}
break;



// Standardansicht, Auswahl
default:
$session['disablevital'] = false;
$files = array();
foreach( $legal_dirs as $curr_dir ){
$d = dir('./'.$curr_dir['dir']);
$files[$curr_dir['dir']] = array();
while (false !== ($entry = $d->read())) {
$end = substr($entry,strrpos($entry,"."));
if( $end != '.php' && $end != '.lib.php' ){
continue;
}
$files[$curr_dir['dir']][] = $entry;
}
sort($files[$curr_dir['dir']]);
}


$str_out .= '`c<table cellspacing="2" cellpadding="2"><tr>';
$lasttd = 1;
foreach( $legal_dirs as $curr_dir ){
if( $lasttd ){
$str_out .= '<td valign="top"><table cellspacing="2" cellpadding="2">';
}
$str_out .= '<tr class="trhead"><td colspan="4">`c.'.$curr_dir['dir'].'`c</td></tr>';
foreach( $files[$curr_dir['dir']] as $file ){
if($session['user']['superuser'] == 0)
{
if( !in_array( $file, $legal_files ) )
{
continue;
}
}
$style = ($style == 'trlight' ? 'trdark' : 'trlight');

$showlink = 'source.php?op=show&file='.urlencode($curr_dir['dir'].$file);


$str_out .= '<tr class="'.$style.'">
<td>'.$file.'</td>
<td><nobr>[ <a href="'.$showlink.'">show</a> ]</nobr></td>
</tr>';
}
//$str_out .= '';
if( $curr_dir['td'] ){
$str_out .= '</table></td>';
}
$lasttd = $curr_dir['td'];
}
$str_out .= '</tr></table>`c';

break;

}
$str_out .= '</td></tr><tr><td bgcolor="#000000" align="center">'.$logd_version.'</td></tr>

</table></body></html>';
output($str_out, true );
echo $output;
?>[/php]

Autor:  Jenutan [ So 16 Dez, 2007 16:46 ]
Betreff des Beitrags: 

[php]
if($session['user']['superuser']>0 || (in_array( $check, $legal_files )) && in_dir( $dir ))
[/php]

Sicher, dass du nicht zufällig als Admin o.Ä. eingeloggt bist? :?
Die dürfen auf Grund der oberen Zeile nämlisch alles sehen...

@Ela: Deine source.php scheint auch atm. kaputt zu sein...

Gruß

Autor:  Song Sinen [ Di 22 Jan, 2008 15:34 ]
Betreff des Beitrags:  Re: Atrahor Sourceviewer

Hoi!
Ich hab den Sourceviewer auf meinem Testserver installiert und bin recht glücklich mit,
funzt einwandfrei und is leicht zu benutzen (wichtig)!^^
Leider will er auf meinem neuen Server (anderer Provider etc.) nicht laufen.
Ich hab deine source.php hochgeladen und alles was kommt ist:

Zitat:
Warning: dir(.//pp/): failed to open dir: No such file or directory in /www/htdocs/palanp/pp/source.php on line 104 Fatal error: Call to a member function read() on a non-object in /www/htdocs/palanp/pp/source.php on line 106


In der URL steht:

Zitat:
http://palanp.plane.hl-users.com/pp/source.php


Woran kann das liegen?

Hochachtungsvoll,

Song Sinen

Autor:  Harthas [ Di 22 Jan, 2008 21:56 ]
Betreff des Beitrags:  Re: Atrahor Sourceviewer

dir(.//pp/):

Da scheint mir ein / zuviel zu sein ;-)
Ausserdem befindst du dich ja schon in diesem Verzeichnis. Wie willst du also ein verzeichnis öffnen, wenn du schon drin bist? *g*

Autor:  Song Sinen [ Do 31 Jan, 2008 23:13 ]
Betreff des Beitrags:  Re: Atrahor Sourceviewer

Hm... Irgendwie blick hier bei dem Skript nich ganz durch...
Wie kann ich das jetzt umgehen?

Die stelle im Source sieht so aus:

$this->bbcode_second_pass_code('', ' // Standardansicht, Auswahl
default:
$session['disablevital'] = false;
$files = array();
foreach( $legal_dirs as $curr_dir ){
$d = dir('./'.$curr_dir['dir']);
$files[$curr_dir['dir']] = array();
while (false !== ($entry = $d->read())) {
$end = substr($entry,strrpos($entry,"."));
if( $end != '.php' && $end != '.lib.php' ){
continue;
}
$files[$curr_dir['dir']][] = $entry;
}
sort($files[$curr_dir['dir']]);
}')

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