Page 1 of 1
[SOLVED] <!-- LOGGED_IN_START --> nur für bestimmten user
Posted: Fri 20. Jun 2014, 11:10
by harald
Hallo zusammen,
hat jemand eine einfache Idee, wie man ähnlich wie bei <!-- LOGGED_IN_START --> in einem Template eine bestimmte Aktion ausführen lässt nur wenn der Admin angemeldet ist?
Re: <!-- LOGGED_IN_START --> nur für bestimmten user
Posted: Fri 20. Jun 2014, 11:41
by nameless1
sauber = technik von <!-- LOGGED_IN_START --> adaptieren und in eigenem tag ausbauen
unsauber = abfrage via js und php zur laufzeit
schon im wiki nach einer lösung gesucht?
Re: <!-- LOGGED_IN_START --> nur für bestimmten user
Posted: Fri 20. Jun 2014, 11:51
by harald
Natürlich. Ich suche immer überall im Rahmen meiner Möglichkeiten bevor ich eine Frage poste.
Re: <!-- LOGGED_IN_START --> nur für bestimmten user
Posted: Fri 20. Jun 2014, 12:55
by Oliver Georgi
Gegen folgende Session Variable testen:
Code: Select all
if(!empty($_SESSION['wcs_user_admin']) && $_SESSION['wcs_user_admin'] === 1) { // 1 = Admin, 2 = Normaler Backendnutzer
…
}
Re: <!-- LOGGED_IN_START --> nur für bestimmten user
Posted: Fri 20. Jun 2014, 14:42
by Old Boy
Ich nutze häufig die
SUPERUSER Funktionalität.
Damit bekommt nur so ein
Superuser den Bereich
ADMIN angezeigt... das ist doch schon mal was!
Code: Select all
http://www.phpwcms-howto.de/wiki/doku.php/deutsch/andere-erweiterungen/hacks/superuser?s[]=superuser
Aber: Welche Funktion willst du denn eigentlich ausführen lassen, vielleicht geht's dann schneller mit einer passenden Antwort???
Re: <!-- LOGGED_IN_START --> nur für bestimmten user
Posted: Fri 20. Jun 2014, 15:34
by harald
Herzlichen dank für eure Anteilnahme!
Die Lösung von Oliver wäre schon perfekt aber ich bin anscheindend nicht in der Lage dies einzubinden.
Ich möchte im Filelist-Template das Datum eines Downloads nur für mich einblenden, wenn ich als Admin eingeloggt bin. Also ungefähr so (der PHP-Teil):
Code: Select all
<!--FILE_ENTRY_START//-->
<div class="fileEntry" style="margin-bottom:10px; padding-bottom: 10px; border-bottom: 1px dotted #CCCCCC;" id="file-{FILE_ID}">
<h2>
[FILE_IMAGE_ELSE]<img src="{FILE_ICON}" alt="" border="0" />[/FILE_IMAGE_ELSE]
[FILE_IMAGE]<img src="{FILE_IMAGE}" alt="" border="" />[/FILE_IMAGE]
<a href="{FILE_LINK}&target=0"{FILE_TARGET}>[FILE_TITLE]{FILE_TITLE}[/FILE_TITLE][FILE_TITLE_ELSE]{FILE_NAME}[/FILE_TITLE_ELSE]</a>
</h2>
[FILE_DESCRIPTION]<p>
{FILE_DESCRIPTION}<br />[FILE_COPYRIGHT]
Copyright: {FILE_COPYRIGHT}<br />[/FILE_COPYRIGHT]
{FILE_EXT}, {FILE_SIZE},
<?PHP
if(!empty($_SESSION['wcs_user_admin']) && $_SESSION['wcs_user_admin'] === 1)
{
$userdedect = '{FILE_DATE}';
echo $userdedect;} else {
echo "test";
}
?>
</p>[/FILE_DESCRIPTION][FILE_LONGINFO]
...
Re: <!-- LOGGED_IN_START --> nur für bestimmten user
Posted: Fri 20. Jun 2014, 18:53
by Oliver Georgi
so geht das nicht, das Inline PHP im Template wird nicht verarbeitet. Du musst einen eigenen Ersetzer einführen und diesen im Frontend Renderer parsen.
Code: Select all
<!--FILE_ENTRY_START//-->
<div class="fileEntry" style="margin-bottom:10px; padding-bottom: 10px; border-bottom: 1px dotted #CCCCCC;" id="file-{FILE_ID}">
<h2>
[FILE_IMAGE_ELSE]<img src="{FILE_ICON}" alt="" border="0" />[/FILE_IMAGE_ELSE]
[FILE_IMAGE]<img src="{FILE_IMAGE}" alt="" border="" />[/FILE_IMAGE]
<a href="{FILE_LINK}&target=0"{FILE_TARGET}>[FILE_TITLE]{FILE_TITLE}[/FILE_TITLE][FILE_TITLE_ELSE]{FILE_NAME}[/FILE_TITLE_ELSE]</a>
</h2>
[FILE_DESCRIPTION]<p>
{FILE_DESCRIPTION}<br />[FILE_COPYRIGHT]
Copyright: {FILE_COPYRIGHT}<br />[/FILE_COPYRIGHT]
{FILE_EXT}, {FILE_SIZE}[IS_ADMIN], {FILE_DATE}[/IS_ADMIN]
</p>[/FILE_DESCRIPTION][FILE_LONGINFO]
…
Frontend Render Abschnitt:
Code: Select all
<?php
$content['all'] = render_cnt_template($content['all'], 'IS_ADMIN', !empty($_SESSION['wcs_user_admin']) && $_SESSION['wcs_user_admin'] === 1 ? ' ' : '');
?>
Re: <!-- LOGGED_IN_START --> nur für bestimmten user
Posted: Fri 20. Jun 2014, 19:21
by update
Hab's mal im Wiki festgehalten

Re: [SOLVED] <!-- LOGGED_IN_START --> nur für bestimmten use
Posted: Fri 20. Jun 2014, 20:34
by harald
Jungs, ihr seid super. Vielen Dank!