et voila:
das müsste sie sein
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
if(!defined('pkFRONTEND') || pkFRONTEND!='public')
return;
if(pkGetConfig('welcome_eod'))
{
$welcome_text=$PARSE->parse($config['welcome_text'],1,1,1,1);
if(trim($config['welcome_title'])!='')
{
$welcome_title=$PARSE->parse($config['welcome_title'],1,1,1,1);
eval ("\$welcome_title= \"".getTemplate("welcome_title")."\";");
}
if($welcome_text!='' || $welcome_title!='')
eval("\$site_body.= \"".getTemplate("welcome")."\";");
}
if($config['site_frontpage']!='')
{
$f=explode("\n",$config['site_frontpage']);
$config['site_frontpage'];
unset($frontpage);
foreach($f as $fp)
{
$frontpage=trim($fp);
if($frontpage!='' && $frontpage!='start.php')
{
if(strstr($fp,'&'))
{
parse_str($fp);
$fp=explode('&',$fp);
$frontpage=$fp[0];
}
else
$frontpage=$fp;
if(filecheck($frontpage) && eregi(".php",$frontpage))
{
include($frontpage);
}
elseif(filecheck($frontpage))
{
$site_body.=implode('',file($frontpage));
}
else
unset($frontpage);
if($frontpage)
eval("\$site_body.= \"".getTemplate("frontpage_spacer")."\";");
}
}
}
?>
|
das müsste sie sein
Original Code:
Hier klicken für weitere Informationen
Neuer Code:
geht das auch? lol
Bitte testen und Fehlermeldungen hier zeigen..
ist das soweit verständlich was du in Zeile 26 zutun hast, oder wie du sie erweiterst?
ansonsten nachfragen..
btw. Zeile 31-41 hat moonrise total verbockt oder? lol.. legt $fp in die variable $frontpage, arbeitet aber weiter mit $fp wodurch das trim(...) fürm po war O_o und packt $fp dann wieder in $fronpage rein O_O HÄÄÄÄÄ lol.. da hat wohl wer gepennt .. naja is alter code, mögen die götter ihm verzeihen
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<?php
# Original
if(!defined('pkFRONTEND') || pkFRONTEND!='public')
return;
if(pkGetConfig('welcome_eod'))
{
$welcome_text=$PARSE->parse($config['welcome_text'],1,1,1,1);
if(trim($config['welcome_title'])!='')
{
$welcome_title=$PARSE->parse($config['welcome_title'],1,1,1,1);
eval ("\$welcome_title= \"".getTemplate("welcome_title")."\";");
}
if($welcome_text!='' || $welcome_title!='')
eval("\$site_body.= \"".getTemplate("welcome")."\";");
}
if($config['site_frontpage']!='')
{
$f=explode("\n",$config['site_frontpage']);
$config['site_frontpage'];
unset($frontpage);
foreach($f as $fp)
{
$frontpage=trim($fp);
if($frontpage!='' && $frontpage!='start.php')
{
if(strstr($fp,'&'))
{
parse_str($fp);
$fp=explode('&',$fp);
$frontpage=$fp[0];
}
else
$frontpage=$fp;
if(filecheck($frontpage) && eregi(".php",$frontpage))
{
include($frontpage);
}
elseif(filecheck($frontpage))
{
$site_body.=implode('',file($frontpage));
}
else
unset($frontpage);
if($frontpage)
eval("\$site_body.= \"".getTemplate("frontpage_spacer")."\";");
}
}
}
?>
|
Neuer Code:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
<?php
if(!defined('pkFRONTEND') || pkFRONTEND!='public')
return;
if(pkGetConfig('welcome_eod'))
{
$welcome_text=$PARSE->parse($config['welcome_text'],1,1,1,1);
if(trim($config['welcome_title'])!='')
{
$welcome_title=$PARSE->parse($config['welcome_title'],1,1,1,1);
eval ("\$welcome_title= \"".getTemplate("welcome_title")."\";");
}
if($welcome_text!='' || $welcome_title!='')
eval("\$site_body.= \"".getTemplate("welcome")."\";");
}
if($config['site_frontpage']!='')
{
$f=explode("\n",$config['site_frontpage']);
# $config['site_frontpage']; # WAS MACHT DIESE ZEILE DENN? O_o
$frontpagearray = array();
$frontpagearray['DATEINAME.ENDUNG'] = 'USERRECHTE'; # Beispiel: dateiname.php = admin,mod,member,user,guest
unset($frontpage);
foreach($f as $fp)
{
$frontpage=trim($fp);
if($frontpage!='' && $frontpage!='start.php')
{
if(strstr($fp,'&'))
{
parse_str($fp);
$fp=explode('&',$fp);
$frontpage=$fp[0];
}
else
$frontpage=$fp;
if((is_array($frontpagearray) AND (!array_key_exists($frontpage,$frontpagearray) OR (array_key_exists($frontpage,$frontpagearray) AND getrights($frontpagearray[$frontpage])))) OR !is_array($frontpagearray))
{
if(filecheck($frontpage) && eregi(".php",$frontpage))
{
include($frontpage);
}
elseif(filecheck($frontpage))
{
$site_body.=implode('',file($frontpage));
}
else
unset($frontpage);
}
else
unset($frontpage);
if($frontpage)
eval("\$site_body.= \"".getTemplate("frontpage_spacer")."\";");
}
}
}
?>
|
geht das auch? lol

Bitte testen und Fehlermeldungen hier zeigen..
ist das soweit verständlich was du in Zeile 26 zutun hast, oder wie du sie erweiterst?
ansonsten nachfragen..

btw. Zeile 31-41 hat moonrise total verbockt oder? lol.. legt $fp in die variable $frontpage, arbeitet aber weiter mit $fp wodurch das trim(...) fürm po war O_o und packt $fp dann wieder in $fronpage rein O_O HÄÄÄÄÄ lol.. da hat wohl wer gepennt .. naja is alter code, mögen die götter ihm verzeihen
|
Achtung: Dirk Kántor ist unterwegs! Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben. |
hä? na dann will ich wissen was vor der zeile 1 (die ja hier zeile 1 is und beim fehler soll sie zeile 42 sein Oo) steht..
ansonsten wäre zeile 42 die zeile hier mit meiner if abfrage.. ich sagte ja.. musste testen
da fehlt bestimmt was, was immer wieder passiert bei solch komplexen abfragen.. ich guck mir das nochmal an
EDIT:
nö habs grad getestet.. musste zwar fürs standalone aufrufen was anpassen, aber die if-abfrage hat gepasst..
was mir nur auffiel, dass die übergaben an die variable $frontpage hier an zeile 38 und 41 mit trim() bestückt werden sollten..
es muss bei dir also woanders haken..
EDIT2:
Lokal getestet habe ich das so:
Hier klicken für weitere Informationen
Die datei kann man einfach so aufrufen.. oben steht:
Dort kannste einfach ein paar rechte testen.. die Funktion innerhalb der datei ist die aus der 1.6.5 aber welche funktionell die selbe ist wie früher..
dort siehste dann, dass "datei2.php" nur mit adminrechten angezeigt wird..
datei1.php und datei3.php werden angezeigt.. (hier ist es nur die ausgabe.. keine wirkliche datei)
ansonsten wäre zeile 42 die zeile hier mit meiner if abfrage.. ich sagte ja.. musste testen

da fehlt bestimmt was, was immer wieder passiert bei solch komplexen abfragen.. ich guck mir das nochmal an

EDIT:
nö habs grad getestet.. musste zwar fürs standalone aufrufen was anpassen, aber die if-abfrage hat gepasst..
was mir nur auffiel, dass die übergaben an die variable $frontpage hier an zeile 38 und 41 mit trim() bestückt werden sollten..
es muss bei dir also woanders haken..
EDIT2:
Lokal getestet habe ich das so:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
<?php
$rights['status'] = 'user';
function getrights($needed)
{
GLOBAL $rights;
if($rights['status']=="admin")
{
return true;
}
if($needed=='none' || empty($needed))
{
return false;
}
if($rights['status']=='mod' && $needed!='admin')
{
return true;
}
if($rights['status']=='member' && ($needed=='member' || $needed=='user' || $needed=='guest'))
{
return true;
}
if($rights['status']=='user' && ($needed=='user' || $needed=='guest'))
{
return true;
}
if($rights['status']=='guest' && $needed=='guest')
{
return true;
}
return false;
}
/*
if(!defined('pkFRONTEND') || pkFRONTEND!='public')
return;
if(pkGetConfig('welcome_eod'))
{
$welcome_text=$PARSE->parse($config['welcome_text'],1,1,1,1);
if(trim($config['welcome_title'])!='')
{
$welcome_title=$PARSE->parse($config['welcome_title'],1,1,1,1);
eval ("\$welcome_title= \"".getTemplate("welcome_title")."\";");
}
if($welcome_text!='' || $welcome_title!='')
eval("\$site_body.= \"".getTemplate("welcome")."\";");
}
*/
$config['site_frontpage'] = 'datei1.php
datei2.php
datei3.php';
if($config['site_frontpage']!='')
{
$f=explode("\n",$config['site_frontpage']);
# $config['site_frontpage']; # WAS MACHT DIESE ZEILE DENN? O_o
$frontpagearray = array();
$frontpagearray['datei2.php'] = 'admin'; # Beispiel: dateiname.php = admin,mod,member,user,guest
unset($frontpage);
foreach($f as $fp)
{
$frontpage=trim($fp);
if($frontpage!='' && $frontpage!='start.php')
{
if(strstr($fp,'&'))
{
parse_str($fp);
$fp=explode('&',$fp);
$frontpage=trim($fp[0]);
}
else
$frontpage=trim($fp);
if((is_array($frontpagearray) AND (!array_key_exists($frontpage,$frontpagearray) OR (array_key_exists($frontpage,$frontpagearray) AND getrights($frontpagearray[$frontpage])))) OR !is_array($frontpagearray))
{
#if(filecheck($frontpage) && eregi(".php",$frontpage))
if(eregi(".php",$frontpage))
{
echo '<p>Dateiausgabe: '.$frontpage.'</p>';
}
#elseif(filecheck($frontpage))
elseif(eregi(".html",$frontpage))
{
$site_body.=implode('',file($frontpage));
}
else
unset($frontpage);
}
else
unset($frontpage);
if($frontpage)
echo '<p>Template ausgabe</p>';
#eval("\$site_body.= \"".getTemplate("frontpage_spacer")."\";");
}
}
}
?>
|
Die datei kann man einfach so aufrufen.. oben steht:
|
|
PHP-Quelltext |
1 |
$rights['status'] = 'user';
|
Dort kannste einfach ein paar rechte testen.. die Funktion innerhalb der datei ist die aus der 1.6.5 aber welche funktionell die selbe ist wie früher..
dort siehste dann, dass "datei2.php" nur mit adminrechten angezeigt wird..
datei1.php und datei3.php werden angezeigt.. (hier ist es nur die ausgabe.. keine wirkliche datei)
|
Achtung: Dirk Kántor ist unterwegs! Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben. |
ES FUNKTIONIERT!! Ist das geil!!!
Lassen sich Dateien denn auch rechtemäßig so bearbeiten, dass bestimtme Teile dieser Datei nicht angezeigt werden?
Oder andersrum: Kann ein von einer Datei 2 Versionen erstellen: Eine Version die dem Gast angezeigt wird, und eine erweiterte Version für eingeloggte user? (Dann soll aber die Datei für die Gäste nicht mehr angezeigt werden...)
Lassen sich Dateien denn auch rechtemäßig so bearbeiten, dass bestimtme Teile dieser Datei nicht angezeigt werden?
Oder andersrum: Kann ein von einer Datei 2 Versionen erstellen: Eine Version die dem Gast angezeigt wird, und eine erweiterte Version für eingeloggte user? (Dann soll aber die Datei für die Gäste nicht mehr angezeigt werden...)
dann muss man das alles erweitern.. möglich ist es..
dazu müsste man das array erweitern mit mehr angaben.. und du müsstest für ALLES was du auf der startseite ausgeben willst rechte vergeben.. oder einfach sagen, wo keine rechte sind, soll er gast rechte nehmen..
möglich isses jedoch
innerhalb der datei könnte man es auch machen, dazu müsste man innerhalb der datei allerdings die abfragen bringen welche rechte einzelne abschnitte bekommen sollen.. so in der start.php ist es nicht möglich
dazu müsste man das array erweitern mit mehr angaben.. und du müsstest für ALLES was du auf der startseite ausgeben willst rechte vergeben.. oder einfach sagen, wo keine rechte sind, soll er gast rechte nehmen..
möglich isses jedoch

innerhalb der datei könnte man es auch machen, dazu müsste man innerhalb der datei allerdings die abfragen bringen welche rechte einzelne abschnitte bekommen sollen.. so in der start.php ist es nicht möglich
|
Achtung: Dirk Kántor ist unterwegs! Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben. |
ok 2. POST
es scheint zu klappen..
Das ist meine Testausgabe.. der code kommt hier gleich
lol
Schwubs da isser..
Die neue start.php:
Hier klicken für weitere Informationen
es scheint zu klappen..
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
DU BIST MEMBER Dateiausgabe: datei_KEINE_ANGABE.php Dateiausgabe: datei_NICHT_IN_LISTE.php Dateiausgabe: datei_AB_GUEST.php Dateiausgabe: datei_AB_USER.php Dateiausgabe: datei_AB_MEMBER.php Dateiausgabe: datei_NUR_MEMBER.php |
Das ist meine Testausgabe.. der code kommt hier gleich
lolSchwubs da isser..
Die neue start.php:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
<?php
if(!defined('pkFRONTEND') || pkFRONTEND!='public')
return;
if(pkGetConfig('welcome_eod'))
{
$welcome_text=$PARSE->parse($config['welcome_text'],1,1,1,1);
if(trim($config['welcome_title'])!='')
{
$welcome_title=$PARSE->parse($config['welcome_title'],1,1,1,1);
eval ("\$welcome_title= \"".getTemplate("welcome_title")."\";");
}
if($welcome_text!='' || $welcome_title!='')
eval("\$site_body.= \"".getTemplate("welcome")."\";");
}
if($config['site_frontpage']!='')
{
$f=explode("\n",$config['site_frontpage']);
# $config['site_frontpage']; # WAS MACHT DIESE ZEILE DENN? O_o
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* ### Ausgabe der Startseite manipulieren ###
*
* Anzeige der Dateien nur MIT oder AB einem bestimmten Status
* from = ab einem Status
* exact = nur mit diesem Status
*
* Beispiel 1: Die Datei ist erst AB dem Status 'member' (Mitglied) sichtbar
* $frontpagearray['datei.php'] = array('from'=>'member','exact'=>'');
*
* Beispiel 2: Die Datei ist nur MIT dem Status 'mod' (Moderator) sichtbar
* $frontpagearray['datei.php'] = array('from'=>'','exact'=>'mod');
*
*
* Hier nochmal alle Beispiele, erkennbar am Dateinamen:
* $frontpagearray['datei_AB_GUEST.php'] = array('from'=>'guest','exact'=>'');
* $frontpagearray['datei_AB_USER.php'] = array('from'=>'user','exact'=>'');
* $frontpagearray['datei_AB_MEMBER.php'] = array('from'=>'member','exact'=>'');
* $frontpagearray['datei_AB_MODERATOR.php'] = array('from'=>'mod','exact'=>'');
* $frontpagearray['datei_AB_ADMINISTRATOR.php'] = array('from'=>'admin','exact'=>'');
* $frontpagearray['datei_NUR_GUEST.php'] = array('from'=>'','exact'=>'guest');
* $frontpagearray['datei_NUR_USER.php'] = array('from'=>'','exact'=>'user');
* $frontpagearray['datei_NUR_MEMBER.php'] = array('from'=>'','exact'=>'member');
* $frontpagearray['datei_NUR_MODERATOR.php'] = array('from'=>'','exact'=>'mod');
* $frontpagearray['datei_NUR_ADMINISTRATOR.php'] = array('from'=>'','exact'=>'admin');
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
$frontpagearray = array();
$frontpagearray['DATEINAME.ENDUNG'] = array('from'=>'','exact'=>'');
unset($frontpage);
foreach($f as $fp)
{
$frontpage=trim($fp);
if($frontpage!='' && $frontpage!='start.php')
{
if(strstr($frontpage,'&')) # $fp in $frontpage
{
parse_str($frontpage); # $fp in $frontpage
$fp=explode('&',$frontpage); # $fp in $frontpage
$frontpage=$fp[0];
}
# Folgende 2 Zeilen sind überflüssig
#else
# $frontpage=$fp;
### Ausgabe der Startseite manipulieren ###
if((is_array($frontpagearray) AND (!array_key_exists($frontpage,$frontpagearray) OR (array_key_exists($frontpage,$frontpagearray) AND (($frontpagearray[$frontpage]['exact'] != '' AND $frontpagearray[$frontpage]['exact'] == $USER['status']) OR ($frontpagearray[$frontpage]['from'] != '' AND getrights($frontpagearray[$frontpage]['from'])) OR ($frontpagearray[$frontpage]['exact'] == '' AND $frontpagearray[$frontpage]['from'] == ''))))) OR !is_array($frontpagearray))
{
if(filecheck($frontpage) && eregi(".php",$frontpage))
{
include($frontpage);
}
elseif(filecheck($frontpage))
{
$site_body.=implode('',file($frontpage));
}
else
unset($frontpage);
}
else
unset($frontpage);
if($frontpage)
eval("\$site_body.= \"".getTemplate("frontpage_spacer")."\";");
}
}
}
?>
|
|
Achtung: Dirk Kántor ist unterwegs! Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben. |
Ähnliche Themen
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
1.6.1 Reihenfolge von PHP-Dateien auf Startseite falsch
(13. Mai 2010, 18:53)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
Der Zugriff auf die angewählte Seite wurde unterbunden.
(26. November 2008, 15:29)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
Community Box deaktivieren?
(26. März 2008, 05:01)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
news overview auf der startseite nur für user sichtbar, wie?
(13. März 2008, 22:47)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
Startseite + PN´s
(2. März 2008, 01:24)


