Inhaltsverzeichnis

WvdS.DokuWiki.Cond Plugin

Vtičnik: wvdscond
Verzija: 1.0.0
Imenski prostor: lib/plugins/wvdscond/
Avtor: Wolfgang van der Stille zeljko.petrusic@outlook.de
Licenca: GPL 2


Migracija iz wvdsif: Ta vtičnik nadomešča stari vtičnik wvdsif in ga razširja s funkcionalnostjo preusmeritev. Obstoječa sintaksa <ifgroup>, <ifnotgroup> in <iflang> ostaja popolnoma združljiva.

Definicija

Vtičnik wvdscond združuje pogojno prikazovanje vsebine in strežniške preusmeritve v enem vtičniku. Ponuja:

Primeri uporabe


Sintaksa

ifgroup - Po uporabniški skupini

<ifgroup imeskupine>Vsebina za to skupino</ifgroup>
<ifgroup skupina1,skupina2>Vsebina za več skupin</ifgroup>
<ifgroup !guest>Vsebina za NE-goste</ifgroup>

ifnotgroup - Negacija

<ifnotgroup guest>Vsebina za prijavljene uporabnike</ifnotgroup>
<ifnotgroup admin>Vsebina za ne-administratorje</ifnotgroup>

iflang - Po jeziku brskalnika

<iflang jezikovna_koda>Vsebina za ta jezik</iflang>
<iflang koda1,koda2>Vsebina za več jezikov</iflang>
<iflang *>Privzeta vsebina (vedno prikazana)</iflang>

wvds:redirect - Strežniška preusmeritev

{{wvds:redirect target="de:start"}}
{{wvds:redirect target="{lang}:start"}}
{{wvds:redirect target="int:home" ifgroup="user"}}
{{wvds:redirect target="{lang}:pub:start" ifnotgroup="user"}}

Spremenljivke za preusmeritev

Spremenljivka Nadomeščena z Primer
{lang} Jezik brskalnika de, en, sl
{group} Prva uporabniška skupina user, admin, vip
{user} Uporabniško ime wvds
{ns} Trenutni imenski prostor de:docs

Parametri preusmeritve

Parameter Tip Opis
target Obvezno Ciljna stran (Page-ID ali s spremenljivkami)
ifgroup Opcijsko Preusmeritev samo za to skupino
ifnotgroup Opcijsko Preusmeritev samo če NI v skupini

Parametri skupin

Parameter Tip Opis
guest vnaprej določen Neprijavljeni obiskovalci
user vnaprej določen Vsi prijavljeni uporabniki
admin vnaprej določen Administratorji
[imeskupine] uporabniško določen Katerakoli skupina definirana v DokuWiki

Primeri

Primer 1: Jezikovna preusmeritev

Zahteva: Začetna stran samodejno preusmeri na jezik brskalnika.

{{wvds:redirect target="{lang}:start"}}

Rezultat:

Primer 2: Preusmeritev po prijavi

Zahteva: Gostje so preusmerjeni na javno stran, prijavljeni uporabniki ostanejo.

{{wvds:redirect target="pub:start" ifnotgroup="user"}}

Rezultat:

Primer 3: VIP območje

Zahteva: Ne-VIP uporabniki so preusmerjeni na informacijsko stran.

{{wvds:redirect target="info:upgrade" ifnotgroup="vip,premium"}}

<ifgroup vip,premium>
===== VIP Območje =====
Dobrodošli v ekskluzivnem območju!
</ifgroup>

Primer 4: Večjezična začetna stran

Zahteva: Pozdravna sporočila v različnih jezikih.

~~NOCACHE~~
<iflang de>
===== Willkommen =====
Dies ist unsere Wissensdatenbank auf Deutsch.
</iflang>

<iflang en>
===== Welcome =====
This is our knowledge base in English.
</iflang>

<iflang sl>
===== Dobrodošli =====
To je naša baza znanja v slovenščini.
</iflang>

<iflang *>
===== Welcome =====
Please select your language.
</iflang>

Primer 5: Admin navigacija

Zahteva: Admin povezave so vidne samo administratorjem.

~~NOCACHE~~
===== Navigacija =====
  * [[.:start|Začetna stran]]
  * [[.:docs:index|Dokumentacija]]

<ifnotgroup guest>
  * [[.:intern:index|Interno območje]]
</ifnotgroup>

<ifgroup admin>
  * [[.:admin:index|Administracija]]
</ifgroup>

Delovanje

Obdelava preusmeritve

1. Prepoznava vzorca
   └── Najde {{wvds:redirect ...}}

2. Preverjanje pogojev (če obstajajo)
   ├── ifgroup: Preveri članstvo v skupini
   └── ifnotgroup: Preveri NE-članstvo

3. Nadomeščanje spremenljivk
   ├── {lang} → Jezik brskalnika
   ├── {user} → Uporabniško ime
   ├── {group} → Prva skupina
   └── {ns} → Trenutni imenski prostor

4. Izvedba preusmeritve
   ├── HTTP 301/302 glava (prednostno)
   ├── Meta-Refresh (rezerva)
   └── JavaScript (rezerva)

Varnostni nasveti


Konfiguracija

Vtičnik ne potrebuje posebne konfiguracije. Prepoznavanje skupin uporablja standardne DokuWiki-ACL skupine.

Pomembna opomba

Strani s pogojnimi oznakami naj uporabljajo , da se vsebina pri vsakem obisku znova izriše.

Migracija iz wvdsif

Staro (wvdsif) Novo (wvdscond) Status
<ifgroup user> <ifgroup user> Združljivo
<iflang de> <iflang de> Združljivo
- <ifnotgroup guest> NOVO
- redirect NOVO

Opombe o verzijah

Verzija Datum Spremembe
1.0.0 2026-01-29 Prva izdaja

Glej tudi


Tehnična referenca

Razred: syntax_plugin_wvdscond

Datoteka: lib/plugins/wvdscond/syntax.php

Metoda Opis
getType() Vrne substition
getSort() Vrne 100
connectTo($mode) Registrira ifgroup, ifnotgroup, iflang, redirect vzorce
handle($match, …) Razčleni oznako in izvleče pogoj
render($mode, …) Vrne vsebino, preusmeritev ali prazno

Razred: helper_plugin_wvdscond

Datoteka: lib/plugins/wvdscond/helper.php

Metoda Opis
getUserGroups() Vrne vse skupine uporabnika
checkGroup($groups) Preveri ali je uporabnik v skupini
checkNotGroup($groups) Preveri ali uporabnik NI v skupini
detectBrowserLang() Zazna jezik brskalnika
checkLang($langs) Preveri ujemanje jezika
replaceVariables($target) Nadomesti {lang}, {user}, itd.

wvdscond PluginAudit bestanden • 2026-03-30