View source for Action: Custom Homepage

#||
||
Compatible with: !!(green)**R6.0**!!
Current version: 0.3
Credits: ((user:AhA AhA))

|{{toc numerate=1}} ||
||#


===Idee===
Unterschiedliche Startseite für unregistrierte Besucher und angemeldete Benutzer
Unregistrierte Besucher und angemeldete Benutzer meines Wikis sollen auf Startseiten mit grundsätzlich unterschiedlichem Inhalt geführt werden.

===Umsetzung===
====Benötigte Ressourcen===
Actions:
  1. ##include## -> ##nowarning=1## - der Hinweis "Du bist nicht berechtigt, diese Seite zu lesen" wird nicht angezeigt
  1. ##includeup## -> Die bereits vorhandene Action ##include## wurde so abgeändert, daß automatisch der Inhalt der persönlichen Startseite eines angemeldeten Benutzers angezeigt wird -> deshalb der Name: include**up** = include**u**(ser)**p**(age)
  1. ##userpage## -> Diese kleine Action ermöglicht es, dass angemeldete Benutzer auf der Startseite mit ihrem Benutzernamen begrüßt werden können.

Drei Wiki-Seiten:
  1. Die (bereits vorhandene) Startseite des Wikis
  1. Eine Seite mit dem Inhalt für unregistrierte Besucher des Wikis, wir können sie zum Beispiel **Visitors** nennen
  1. Eine Seite mit dem Inhalt für angemeldete Benutzer des Wikis, wir können sie zum Beispiel **Members** nennen

====Seitenanpassungen===
=====Seite "Startseite"==
Die (bereits vorhandene) **Startseite** des Wikis erhält folgenden Inhalt:
//Kopiervorlage//
%%
{{include page="Members" nomark=1 nowarning=1}}
{{include page="Visitors" nomark=1 nowarning=1}}
%%


Hier als Screenshot:


**Berechtigungen:**

#|
|| Lesen: | ##*## (alle) ||
|| Schreiben: | ##admins## (nur Administratoren) ||
|| Kommentare: | nach Bedarf ||
|#

=====Seite "Visitors"==
Die neu erstellte Seite **Visitors** füllen wir mit allgemeinen Informationen zu Inhalt, Sinn und Zweck unseres Wikis.

Entscheidend ist die Vergabe der **Berechtigungen**:
#|
|| Lesen: | ##*## (alle ...)
##!$## (... ausser den Registrierten)
##admins## (... leseberechtigt soll sicher auch der Administrator sein) ||
|| Schreiben:  | ##admins## (nur Administratoren) ||
|| Kommentare:  | nach Bedarf ||
|#

Hier ein Screenshot (im Beispiel heisst die Seite "~UnRegistrierte" und nicht "Visitors")


=====Seite "Members"==
Auf dieser Seite bauen wir eine namentliche Begrüßung des angemeldeten Benutzers ein (Action ##""{{userpage}}""##). Vielleicht fügen wir noch die wichtigsten Links hinzu. Am Ende bauen wir die Action ##""{{includeup}}""## ein, nun erscheint der Inhalt der persönlichen Startseite des Benützers.

//Beispielinhalt (Kopiervorlage)//
%% 
===Hallo {{userpage}}, willkommen im «Beispielwiki»-Benutzerbereich==

====Nützliche Seiten:====
  * Meine Startseite: {{userpage}}
  * ((MeineSeiten Alle meine bisher erstellten Seiten))
  * ((LetzteÄnderungen Letzte Änderungen))
----
====Aktuelle Version meiner Startseite [Benutzername: {{userpage}}]==
{{includeup}} %%


Hier erneut als Screenshot:


**Berechtigungen**:
#|
|| Lesen: | ##$## (nur angemeldete Benutzer) ||
|| Schreiben: | ##admins## (nur Administratoren) ||
|| Kommentare: |  nach Bedarf ||
|#


Auch hier zum Schluss ein Screenshot (die Seite heißt "Registrierte" und nicht "Members"):


Über Feedback freue ich mich! Danke

===Code der zusätzlich benötigten Actions===
Die Argumente für die Aktionen können nach belieben angepasst werden.

====Action: includeup==
##~{{includeup}}##

**~/action/includeup.php**
%%(php)

<?php
if (!defined('IN_WACKO'))
{
	exit;
}

$page = '/' . $this->db->users_page . '/' . $this->get_user_name();
echo $this->action('include', ['page' => $page, 'nomark' => 1]);
%%
====Action: usepager==
##~{{userpage}}##

**~/action/userpage.php**
%%(php)
<?php

if (!defined('IN_WACKO'))
{
	exit;
}

if ($this->get_user())
{
	$page = '/' . $this->db->users_page . '/' . $this->get_user_name();
	echo $this->link($page, '', $this->get_user_name());
}

%%