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!