diff --git a/website/docs/main/Skiplinks.md b/website/docs/a11y/skiplinks.md similarity index 98% rename from website/docs/main/Skiplinks.md rename to website/docs/a11y/skiplinks.md index 13a9ed1dfcab966bd011672b4f97379f2eb07830..d697ff1db57aa7765ead1bee4a9fc2a269721fb7 100644 --- a/website/docs/main/Skiplinks.md +++ b/website/docs/a11y/skiplinks.md @@ -1,6 +1,8 @@ -## Benutzung der Klasse SkipLinks - -## Allgemeines +--- +id: skiplinks +title: Skiplinks +sidebar_label: Skiplinks +--- Skiplinks ermöglichen für Tastaturbenutzer das schnelle Navigieren innerhalb einer Seite. In Stud.IP sind die Skiplinks zunächst verborgen. Erst durch das Drücken der Tab-Taste werden die Skiplinks eingeblendet. Dabei bekommt der erste Link der Liste den Focus, so dass durch weiteres Drücken der Tab-Taste durch die Liste navigiert werden kann. Durch Drücken der Eingabetaste wird das Ziel des Links angesprungen. diff --git a/website/docs/main/Vertretung.md b/website/docs/functions/deputy.md similarity index 99% rename from website/docs/main/Vertretung.md rename to website/docs/functions/deputy.md index 4660b74fdfb433e9b2cbc1bf88bbae2100ad9cb0..fabfd4d6e7588d5cbdecad9bff34776d819ff76f 100644 --- a/website/docs/main/Vertretung.md +++ b/website/docs/functions/deputy.md @@ -1,5 +1,7 @@ --- +id: deputy title: Vertretung +sidebar_label: Vertretung --- # Allgemeines diff --git a/website/docs/functions/modaler-dialog.md b/website/docs/functions/modaler-dialog.md index 04d3b8a1a8e5d9eb05fc32816ad219e5ea0ad840..989db594cf128629f294f2635542bcbe23c36106 100644 --- a/website/docs/functions/modaler-dialog.md +++ b/website/docs/functions/modaler-dialog.md @@ -1,7 +1,7 @@ --- id: modaler-dialog title: Modaler Dialog -sidebar_title: Modaler Dialog +sidebar_label: Modaler Dialog --- ### Serverseitige erzeugte Abfragen diff --git a/website/docs/main/PageLayout.md b/website/docs/functions/page-layout.md similarity index 99% rename from website/docs/main/PageLayout.md rename to website/docs/functions/page-layout.md index d651aed8bae7c0dc74ab6bf7f488d5ee1686ed99..e7b2ab63cde8bd97a03c5915ac71cb2afc2bd48a 100644 --- a/website/docs/main/PageLayout.md +++ b/website/docs/functions/page-layout.md @@ -1,7 +1,10 @@ +--- +id: page-layout +title: PageLayout +sidebar_label: PageLayout +--- Über die Klasse PageLayout steht eine API in Stud.IP zur Verfügung, die verschiedene Anpassungen an der HTML-Grundstruktur der Ausgabe ermöglicht. Diess umfaßt einfache Dinge wie das Setzen des Seitentitels, ermöglicht aber auch das Hinzufügen oder Entfernen von HTML-Elementen im `<head>`-Bereich der Seite, um beispielsweise eigene Style-Sheets oder JavaScipt-Dateien einbinden zu können. -## Die Klasse `PageLayout` - Die Anpassung der HTML-Grundstruktur passiert über die neue Klasse `PageLayout`. Dazu bietet die Klasse eine Reihe statischer Methoden, die die verschiedenen Möglichkeiten abdecken. ### Seitentitel diff --git a/website/docs/main/PersonalNotifications.md b/website/docs/functions/personal-notifications.md similarity index 96% rename from website/docs/main/PersonalNotifications.md rename to website/docs/functions/personal-notifications.md index b797232ad6d7f0ab9dca3d41d0d67bb69e5a4a36..d6d86c09f178fe3695422a8fa33fee2f478a5d0f 100644 --- a/website/docs/main/PersonalNotifications.md +++ b/website/docs/functions/personal-notifications.md @@ -1,4 +1,8 @@ -# Persönliche Benachrichtigungen +--- +id: personal-notifications +title: Persönliche Benachrichtigungen +sidebar_label: Persönliche Benachrichtigungen +--- Ab der Version 2.4 ist es sehr einfach, den Nutzer in Echtzeit über neue Inhalte oder spannende Aktionen, die ihn betreffen, zu informieren. Gedacht ist das für den Fall, dass er eine persönliche Nachricht bekommt oder jemand auf einen von ihm eingestellten Inhalt antwortet. Auf jeden Fall soll stets ein direkter Bezug zum Nutzer vorhanden sein. In diesen Fällen möchte man vielleicht sofort sehen, dass sich was getan hat und nicht erst beim nächsten Seitenneuladen. Gerade wenn Stud.IP in einem von 20 Browsertabs offen ist, kann das schon mal dauern. Da möchte man sofort reagieren können. Für Chat-artige Kommunikation zum Beispiel wäre das Gift. Die persönlichen Benachrichtigungen sind daher DAS Element, um Echtzeitereignisse zu ermöglichen. diff --git a/website/docs/main/QuickSearch.md b/website/docs/functions/quick-search.md similarity index 99% rename from website/docs/main/QuickSearch.md rename to website/docs/functions/quick-search.md index d3a280de58e4683f4126412030c13a9587f46235..ac99b9e39d25af8705a8c1d616887ead5fb6f221 100644 --- a/website/docs/main/QuickSearch.md +++ b/website/docs/functions/quick-search.md @@ -1,4 +1,9 @@ -## QuickSearch-Klasse +--- +id: quick-search +title: QuickSearch-Klasse +sidebar_label: QuickSearch-Klasse +--- + In `lib/classes/QuickSearch.class.php` wird eine GUI-Klasse bereit gestellt, mit der man ein einzeiliges Suchfeld inklusive AJAX-Dropdown Menü schnell und einfach an jede Stelle einbauen kann. Vorteile: diff --git a/website/docs/main/StudipFormat.md b/website/docs/functions/studip-format.md similarity index 97% rename from website/docs/main/StudipFormat.md rename to website/docs/functions/studip-format.md index 33c66fdbea583d504b268545981eeee9ab5e6b20..1b5d88230cf20b0bc2d617b5b6030a1261027001 100644 --- a/website/docs/main/StudipFormat.md +++ b/website/docs/functions/studip-format.md @@ -1,3 +1,13 @@ +--- +id: studip-format +title: StudipFormat +sidebar_label: StudipFormat +--- + +:::danger +Die Funktion ist veraltet und sollte nicht mehr verwendet werden +::: + Zu der Stud.IP-Version 2.3 wurde die Formatierungsengine umgestellt auf einen eigenen Parser, der sich in den Klassen `StudipFormat` und `TextFormat` verbirgt. TextFormat ist dabei der grundsätzliche Parser und StudipFormat ein spezieller, der mit den typischen Studip-Syntax angereichert ist. Die Benutzung ist grundsätzlich einfach. Man instanziiert den Parser und schickt seinen zu formatierenden Text durch die Methode `format`. Etwa so: diff --git a/website/docs/main/StudipMail.md b/website/docs/functions/studip-mail.md similarity index 98% rename from website/docs/main/StudipMail.md rename to website/docs/functions/studip-mail.md index 19133f8b9be0a027e33d3399f897431154191c51..9df7543080f0190394776f041c7cce51bcd5418c 100644 --- a/website/docs/main/StudipMail.md +++ b/website/docs/functions/studip-mail.md @@ -1,3 +1,9 @@ +--- +id: studip-mail +title: Stud.IP-Mail +sidebar_label: Stud.IP-Mail +--- + Diese Klasse [StudipMail](https://gitlab.studip.de/studip/studip/-/blob/main/lib/classes/StudipMail.class.php) bietet Möglichkeiten eine Email zu erzeugen und zu versenden. Der Versand der Nachricht wird nicht direkt von der Klasse vorgenommen, sondern von einer Instanz einer weiteren Klasse für den Emailtransport. Die dazu benutzen Klassen befinden sich in `vendor/email_message`, hier gibt es verschiedene Möglichkeiten für den Transport z.B. über die php Funktion Mail oder über smtp. @@ -57,24 +63,3 @@ Um eine Mail zu erstellen, erzeugt man ein neues `StudipMail` Objekt und füllt | `setBodyText($body)` | setzt den Textinhalt der Mail | | `setBodyHtml($body)` | setzt den HTML Inhalt der Mail. Es wird dann immer eine multipart Mail erzeugt, wenn der Textinhalt fehlt wird dafür ein Hilfstext eingefügt.| | `send(email_message_class $transporter = null)` | versendet die Mail, mit dem optionalem Parameter kann das transport Objekt vorgegeben werden. Die Methode liefert true zurück wenn die Mail verschickt werden konnte. | - - - - - - - - - - - - - - - - - - - - - diff --git a/website/docs/main/StudipPDO.md b/website/docs/functions/studip-pdo.md similarity index 98% rename from website/docs/main/StudipPDO.md rename to website/docs/functions/studip-pdo.md index cc9055b014bf36102963d16a6b8368714d22fa7d..331cbae218335d8a02803dd8ce4c08c369c89e67 100644 --- a/website/docs/main/StudipPDO.md +++ b/website/docs/functions/studip-pdo.md @@ -1,4 +1,9 @@ -# StudipPDO +--- +id: studip-pdo +title: StudipPDO +sidebar_label: StudipPDO +--- + Stud.IP benutzt für die Datenbankzugriffe eigene, von `PDO` und `PDOStatement` abgeleitete Klassen. `DBManager::get()` liefert immer automatisch eine Instanz von `StudipPDO` zurück. Man kann dieses Objekt genauso benutzen wie ein Standard-PDO Objekt, darüberhinaus enthält es aber noch ein paar Erweiterungen, die den Umgang mit der Datenbank erleichtern. diff --git a/website/docs/main/UserLookup.md b/website/docs/functions/user-lookup.md similarity index 97% rename from website/docs/main/UserLookup.md rename to website/docs/functions/user-lookup.md index c9f065281053ed2b92f1ec9759c4521d0be8d35a..16a0566878707ccce55d5130f668218c72020eda 100644 --- a/website/docs/main/UserLookup.md +++ b/website/docs/functions/user-lookup.md @@ -1,4 +1,10 @@ -## Benutzung der Klasse UserLookup +--- +id: user-lookup +title: Benutzung der Klasse UserLookup +sidebar_label: Benutzung der Klasse UserLookup +--- + +## Die neue Klasse (ab Version 2.1) dient zur Filterung von Nutzern nach speziellen Kriterien. diff --git a/website/docs/main/Sichtbarkeit.md b/website/docs/functions/visibility.md similarity index 99% rename from website/docs/main/Sichtbarkeit.md rename to website/docs/functions/visibility.md index 4d2634da8baf17ef669fb3bd9c3ce960387baab3..32f9951b8418d2b082c9ffd9f682dec3e0ec4018 100644 --- a/website/docs/main/Sichtbarkeit.md +++ b/website/docs/functions/visibility.md @@ -1,4 +1,9 @@ -# VisibilityAPI +--- +id: visibility +title: VisibilityAPI +sidebar_label: VisibilityAPI +--- + Mit Hilfe der VisibilityAPI können Sichbarkeitseinstellungen für Benutzer von überall im System (Auch in Plugins) hinzugefügt werden, ohne das direkt in den Sichbarkeitscode eingegriffen werden muss. Die Verwaltung der Einstellungsmöglichkeiten ist ebenfalls ohne Eingriff in bestehenden Code möglich. ## Sichtbarkeitsstufen @@ -187,4 +192,3 @@ $private_phone_visibility = get_homepage_element_visibility('12345', 'private_ph Aus Performancegründen wird für eine gesamte Homepage nur die erste Variante ausgeführt, wo alle Sichtbarkeiten auf einmal geladen werden. Über die Methode `get_visible_email` kann die nach außen sichtbare Emailadresse ermittelt werden. Hat ein Nutzer eingestellt, dass die eigene Emailadresse nicht angezeigt werden soll, so wird stattdessen versucht, über die Einrichtungszuordnung dieser Kennung eine Emailadresse zu ermitteln (nur Zuordnungen mit mindestens Recht autor). Dabei wird zuerst die Emailadresse der ersten gefundenen Einrichtung verwendet, sollte es mehrere Einrichtungszuordnungen geben und eine davon als Standardeinrichtung definiert sein, so wird diese Email verwendet. Bei keiner gefundenen Zuordnung wird ein Leerstring als Emailadresse zurückgegeben. - diff --git a/website/docs/main/Wysiwyg.md b/website/docs/functions/wysiwyg.md similarity index 98% rename from website/docs/main/Wysiwyg.md rename to website/docs/functions/wysiwyg.md index da1c2a95ffd7f5f7ca70736549947e22b51da2c1..df64ad2a24423f5aac1769f609e9750822816151 100644 --- a/website/docs/main/Wysiwyg.md +++ b/website/docs/functions/wysiwyg.md @@ -1,3 +1,9 @@ +--- +id: wysiwyg +title: Wysiwyg-Editor +sidebar_label: Wysiwyg-Editor +--- + ## Der Wysiwyg-Editor in Stud.IP ### Allgemeines diff --git a/website/docs/main/URLHelper.md b/website/docs/main/URLHelper.md deleted file mode 100644 index 000865dd0589ee75488f754d498e65c9487c67f0..0000000000000000000000000000000000000000 --- a/website/docs/main/URLHelper.md +++ /dev/null @@ -1,111 +0,0 @@ -## Benutzung der Klasse URLHelper - -Zur Vereinfachung der Umstellung von vorhandenem PHP-Code auf Tabbed-Browsing und um allgemein die Verwendung von Session-Variablen auf ein sinnvolles Maß zurückzuführen, wurde mit dem Lifter001 die Klasse `URLHelper` eingeführt. Neuer Code muß diese Klasse verwenden, um Verweise auf andere Seiten (oder die gleiche Seite) in Stud.IP zu erzeugen. Externe Links und Bereiche von Stud.IP, die bereits eigene Funktionen zur Link-Erzeugung verwenden, sind von der Verwendung des `URLHelper` ausgenommen. Das sind im einzelnen: - -* Links auf externe Seiten (z.B. die Hilfe) -* Links auf statische Inhalte (Bilder, Videos usw.) -* Links auf Aktionen in einem Plugin (`PluginEngine::getLink()`) -* Links auf Dokumente im Download-Bereich (`GetDownloadLink()`) -* Links auf Trails-Controller (`Trails_Controller::url_for()`) - -Alle anderen Links - insbesondere auch Links aus Plugins auf Seiten im Stud.IP-Kernsystem - müssen so umgestellt werden, daß sie die Klasse `URLHelper` zur Erzeugung der URL verwenden. - -### Allgemeines - -Hauptzweck dieser Klasse ist es, alle Links auf einer Seite nach Bedarf um zusätzliche URL-Parameter erweitern zu können, ohne immer wieder alle Links anpassen zu müssen. Insbesondere bei durch Hilfsfunktionen oder -klassen erzeugten Links wäre so ein Anpassen teilweise auch überhaupt nicht (sinnvoll) möglich. - -Die Grundidee dabei ist relativ simpel: Es gibt eine globale Liste von "automatischen" - d.h. bei der `URLHelper`-Klasse registrierten - Link-Parametern sowie eine Hilfsfunktion *getLink()*, die eine übergebene URL mit diesen registrierten Parametern versieht. Der Aufrufer von `getLink()` muß sich also nicht darum kümmern, welche zusätzlichen Parameter gerade eingebaut werden sollen. In Stud.IP wird dieser Mechanismus zum Beispiel dafür verwendet, um die aktuell gewählte Veranstaltung oder die auf einer Seite eingestellten Ansichtsoptionen bei jedem Klick weiterzureichen, ohne diese serverseitig in der Session speichern zu müssen (was bei Tabbed-Browsing unweigerlich zu Problemen führen würde). - -Ein einfaches Beispiel könnte so aussehen: - -```php -// $view enthält die gewählte Ansicht -URLHelper::addLinkParam('view', $view) - -[...] - -switch ($view) { - case 'show': // normale Ansicht der Seite - [...] - case 'search': // Suchergebnisse anzeigen - [...] - case 'edit': // Seite bearbeiten - [...] -} - -[...] - -// Ausgabe erzeugen (kann auch im Template sein) -echo '<a href="'.URLHelper::getLink(*, array('page' => 25)).'">...</a>'; -``` - -Der aktuelle Inhalt der Variablen `$view` wird dann automatisch zu dem so erzeugten Link hinzugefügt und man erhält so etwas wie: - -```php -<a href="?page=25&view=edit"> -``` - -Natürlich kann jeder Link auch eigene Parameter enthalten, die spezifisch für diesen Link sind. Diese würden dann direkt im Aufruf von `getLink()` angegeben und nicht global als Parameter registriert. Lokal im Aufruf angegebene Parameter haben dabei Vorrang vor den global registrierten, d.h. man kann bei bei Bedarf auch für einzelne Links registrierte Parameter mit anderen Werten versehen oder ganz ausblenden (Parameter beim Aufruf auf `NULL` setzen). - -### Methoden der Klasse `URLHelper` - -An dieser Stelle sind die wichtigsten Operation der Klasse `URLHelper` gesammelt und dokumentiert. Es handelt sich dabei jeweils um *Klassenmethoden*, d.h. der Aufruf erfolgt über `URLHelper::`*Name*. - -* **addLinkParam($name, $value)** - - Registriert einen Link-Parameter mit dem angegeben Namen und Wert. Sollte es bereits einen Parameter gleichen Namens geben, wird der alte Wert durch den neuen ersetzt. Eine ggf. vorhandene Bindung (siehe `bindLinkParam()`) wird aufgehoben. - -* **bindLinkParam($name, &$var)** - - Bindet einen Link-Parameter an die angegebene PHP-Variable. Sollte es bereits einen Parameter gleichen Namens geben, wird der alte Wert durch die Bindung ersetzt. Der konkrete Wert dieses Parameters wird im Unterschied zu `addLinkParam()` bei dieser Operation nicht direkt gesetzt, sondern erst *beim Aufruf* von `getLink()` oder `getURL()` durch Auslesen der angegebenen Variable ermittelt. Ändert man also nach dem Aufruf von `bindLinkParam()` den Wert dieser Variable, wird immer der gerade aktuelle Wert verwendet. - - Außerdem wird die angegebene Variable durch diesen Aufruf mit dem Wert des URL-Parameters in der REQUEST-Umgebung der Seite initialisiert. Diese Funktion ist vor allem dazu nützlich, bisher in Session-Variablen gespeicherten Zustand in URL-Parameter auzulagern. - -* **removeLinkParam($name)** - - Entfernt einen zuvor registrierten Link-Parameter wieder. War kein Parameter dieses Namens registriert, passiert nichts. - -* **getLinkParams()** - - Liefert eine Liste (ein Array mit Name/Wert-Paaren) aller derzeit registrierten Parameter. Damit könnte man diese z.B. als *hidden*-Felder in eine FORM einbauen, um Längenbeschränkungen der URL-Parameter aus dem Weg zu gehen. - -* **getLink($url = *, $params = NULL)** - - Ergänzt die übergebene URL um alle aktuell registrierten Parameter. Im Falle von an Variablen gebundenen Parametern wird der zum Zeitpunkt des Aufrufs aktuelle Wert der jeweiligen Variable eingesetzt. Wird der zweite (optionale) Parameter übergeben, können weitere Parameter gesetzt werden, deren Werte ebenfalls zur URL hinzugefügt werden. - - Im Falle von gleichnamigen Parametern gilt: Einträge im `$params`-Array haben Vorrang vor Parametern in der `$url`. Parameter aus der übergebenen `$url` haben Vorrang vor registrierten Parametern. Möchte man einen registrierten Parameter komplett aus der URL ausblenden, so muß man diesem im `$params`-Array einen Wert von `NULL` geben. - - Das Resultat dieser Funktion ist eine *entity-kodierte URL*, d.h. es kann direkt in Attribute im HTML eingesetzt werden (*action* einer FORM, *href* eines A-Elements). Braucht man die unkodierte URL, sollte `getURL()` verwendet werden. - -* **getURL($url = *, $params = NULL)** - - Diese Funktion arbeitet genau wie `getLink()`, liefert aber keinen entity-kodierten Wert zurück, sondern die unkodierte URL. Diese kann dann z.B. für Aufrufe über JavaScript verwendet werden. - -### Probleme durch URL-Parameter - -Durch die Verwendung des `URLHelper` können auch neue Proleme auftreten, die bei der Nutzung von Session-Variablen nicht oder nicht im dem Maße bestehen. Es eignen sich auch nicht alle Arten von Session-Daten zur Übergabe über die URL, so daß man im Einzelfall abwägen muß, ob eine Umstellung sinnvoll ist. Dabei sollten die folgenden Punkte berücksichtigt werden: - -* Längenbeschränkung von URLs - - Es gibt eine browser-abhängig maximale Längenbeschränkung von URLs in der Größenordnung von einigen tausend Zeichen (typischerweise 2048 Zeichen beim Internet Explorer, 8192 Zeichen bei Firefox). Längere URLs werden abgeschnitten und führen damit zum Verlust von Informationen. Möchte man also einen sehr komplexen Zustand über die URL übergeben - z.B. eine beliebig große Menge an aufgeklappten Knoten in einer Baumansicht - sollte man dies ggf. besser serverseitig speichern und nur einen Verweis auf eine gespeicherte Konfiguration in der URL hinterlegen. - -* Manipulation von URL-Parametern durch den Nutzer - - Man sollte sich grundsätzlich der Tatsache bewußt sein, daß URL-Parameter - im Gegensatz zu Session-Daten - vom Nutzer nach belieben Verändert werden können, man darf also niemals darauf vertrauen, daß diese vom Nutzer nicht manipuliert werden. Würde man also bisher in der Session gespeicherte Berechtigungen eines Nutzers in die URL verschieben, so müßte man diese bei jedem Seitenaufruf immer neu prüfen. - -* Namenskollisionen bei Parametern verschiedener Seiten - - Der `URLHelper` unterscheidet beim Erzeugen der URLs nicht, auf welche Seite ein Link verweist. Es ist auch nicht möglich, Parameter nur für bestimmte Ziele zu registrieren (da in Stud.IP in zunehmendem Maße Dispatcher eingesetzt werden, würde das auch nicht viel bringen). Daher sollte man darauf achten, Namenskollisionen bei über den URLHelper verwalteten Parametern verschiedener Seiten zu vermeiden, entweder durch Verwendung eindeutiger Präfixe (*wiki_search*) oder durch Abgleich mit der Liste bereits verwendeter Namen. - -### Beispiele - -Hier sollten einige kleine Bespiele für die Verwendung des `URLHelper` aus dem praktischen Einsatz in Stud.IP gesammelt werden. Leider gibt es hier noch nicht viel... - -```php -$link = URLHelper::getLink('wiki.php', array('keyword' => $keyword)); -echo '<a href="'.$link.'">'.htmlReady($keyword).'</a>'; -``` - -### URLHelper für Javascript - -Unabhängig hiervon gibt es auch einen [URLHelper für Javascript](HowToJavascript), der eine ähnliche API aufweist und auch ähnliches tut. Jedoch sind diese beiden URLHelper nicht aufeinander abgestimmt und völlig unabhängig voneinander. diff --git a/website/docs/main/Request.md b/website/docs/quickstart/request.md similarity index 99% rename from website/docs/main/Request.md rename to website/docs/quickstart/request.md index eb2b67222c7c96ad865e6b5e79b6accbe6a61b6b..885f9cd7ad736deecec8f94a708619b34304fc01 100644 --- a/website/docs/main/Request.md +++ b/website/docs/quickstart/request.md @@ -1,3 +1,10 @@ +--- +id: request +title: Request +sidebar_label: Request +--- + + ## Benutzung der Klasse Request ### Allgemeines diff --git a/website/docs/main/Sidebar.md b/website/docs/quickstart/sidebar.md similarity index 97% rename from website/docs/main/Sidebar.md rename to website/docs/quickstart/sidebar.md index 8370132cd2fdb19b2b4e698bac5fd64aa15724c9..c8864ceeb5a82e9416e53449e6d1c65fdf9c0fba 100644 --- a/website/docs/main/Sidebar.md +++ b/website/docs/quickstart/sidebar.md @@ -1,4 +1,8 @@ -### Zugriff auf die Sidebar +--- +id: sidebar +title: Zugriff auf die Sidebar +sidebar_label: Sidebar +--- Eine Sidebar wird anhand von Widgets aufgebaut, welche kleine, voneinander unabhängige Bausteine der Seitenleiste darstellen. Eine Sidebar ist ein Singleton, sodass die einzige Instanz der Sidebar-Klasse nur über die statische Methode `Get()` erreicht werden kann: diff --git a/website/docs/quickstart/url-helper.md b/website/docs/quickstart/url-helper.md index 000865dd0589ee75488f754d498e65c9487c67f0..efddbf656e2ac171db7fafe7a48e71d1d3231e7c 100644 --- a/website/docs/quickstart/url-helper.md +++ b/website/docs/quickstart/url-helper.md @@ -1,3 +1,9 @@ +--- +id: url-helper +title: URLHelper +sidebar_label: URLHelper +--- + ## Benutzung der Klasse URLHelper Zur Vereinfachung der Umstellung von vorhandenem PHP-Code auf Tabbed-Browsing und um allgemein die Verwendung von Session-Variablen auf ein sinnvolles Maß zurückzuführen, wurde mit dem Lifter001 die Klasse `URLHelper` eingeführt. Neuer Code muß diese Klasse verwenden, um Verweise auf andere Seiten (oder die gleiche Seite) in Stud.IP zu erzeugen. Externe Links und Bereiche von Stud.IP, die bereits eigene Funktionen zur Link-Erzeugung verwenden, sind von der Verwendung des `URLHelper` ausgenommen. Das sind im einzelnen: diff --git a/website/docs/start.md b/website/docs/start.md index f4301bcc79f3952b7592b204e3b87ccd85b30814..4e5683e95a32a07daa38c721b468f2a166de3f1a 100644 --- a/website/docs/start.md +++ b/website/docs/start.md @@ -3,24 +3,3 @@ id: start title: Entwicklungsdokumentation sidebar_label: Übersicht --- - -## Dokumentation zu einzelnen Klassen und Funktionen - - -* [Notifications](main/Notifications) -* [PageLayout](main/PageLayout) -* [PDF-Export Klasse](exports/pdfs) (ab 2.1) -* [PersonalNotifications](main/PersonalNotifications) (ab 2.4) -* [QuickSearch](main/QuickSearch) (ab 2.0) -* [Request](main/Request) -* [Sichtbarkeit](main/Sichtbarkeit) (ab 2.0) -* [Sidebar](main/Sidebar) -* [SimpleORMap](main/SimpleORMap) (aka SORM) -* [Skiplinks](main/Skiplinks) (ab 2.1) -* [StudipFormat und TextFormat](main/StudipFormat) -* [StudipMail](main/StudipMail) (ab 1.10) -* [StudipPDO](main/StudipPDO) -* [URLHelper](main/URLHelper) -* [UserLookup](main/UserLookup) (ab 2.1) -* [Vertretungsfunktion](main/Vertretung) (ab 2.0) -* [Wysiwyg-Editor](main/Wysiwyg) diff --git a/website/sidebars.js b/website/sidebars.js index 663cec42a8c628eca026167efe954a6f4cb5cd1f..98a08fd141576b49e487cfa2f1576275d5c7dea2 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -84,6 +84,7 @@ module.exports = { "a11y/review", "a11y/declaration_template", "a11y/todo", + "a11y/skiplinks", ] }, { @@ -138,6 +139,16 @@ module.exports = { "functions/global-search-module", "functions/multi-person-search", "functions/notifications", + "functions/page-layout", + "functions/personal-notifications", + "functions/quick-search", + "functions/visibility", + "functions/studip-format", + "functions/studip-mail", + "functions/studip-pdo", + "functions/user-lookup", + "functions/deputy", + "functions/wysiwyg", ] } ], @@ -177,6 +188,9 @@ module.exports = { "quickstart/buttons", "quickstart/csrf-protection", "quickstart/db-klassen", + "quickstart/request", + "quickstart/sidebar", + "quickstart/url-helper", ], }, ],