summaryrefslogtreecommitdiff
path: root/lib/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plugins')
-rw-r--r--lib/plugins/acl/admin.php64
-rw-r--r--lib/plugins/acl/lang/da/lang.php3
-rw-r--r--lib/plugins/acl/lang/de-informal/lang.php8
-rw-r--r--lib/plugins/acl/lang/de/lang.php2
-rw-r--r--lib/plugins/acl/script.js6
-rw-r--r--lib/plugins/config/lang/da/lang.php2
-rw-r--r--lib/plugins/plugin/lang/da/lang.php1
-rw-r--r--lib/plugins/popularity/lang/da/lang.php1
-rw-r--r--lib/plugins/revert/lang/da/lang.php1
-rw-r--r--lib/plugins/usermanager/lang/da/lang.php1
10 files changed, 72 insertions, 17 deletions
diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php
index b38d2ac6e..1f666660c 100644
--- a/lib/plugins/acl/admin.php
+++ b/lib/plugins/acl/admin.php
@@ -17,6 +17,15 @@ if(!defined('DOKU_INC')) die();
class admin_plugin_acl extends DokuWiki_Admin_Plugin {
var $acl = null;
var $ns = null;
+ /**
+ * The currently selected item, associative array with id and type.
+ * Populated from (in this order):
+ * $_REQUEST['current_ns']
+ * $_REQUEST['current_id']
+ * $ns
+ * $ID
+ */
+ var $current_item = null;
var $who = '';
var $usersgroups = array();
var $specials = array();
@@ -72,6 +81,16 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
$this->ns = cleanID($_REQUEST['ns']);
}
+ if ($_REQUEST['current_ns']) {
+ $this->current_item = array('id' => cleanID($_REQUEST['current_ns']), 'type' => 'd');
+ } elseif ($_REQUEST['current_id']) {
+ $this->current_item = array('id' => cleanID($_REQUEST['current_id']), 'type' => 'f');
+ } elseif ($this->ns) {
+ $this->current_item = array('id' => $this->ns, 'type' => 'd');
+ } else {
+ $this->current_item = array('id' => $ID, 'type' => 'f');
+ }
+
// user or group choosen?
$who = trim($_REQUEST['acl_w']);
if($_REQUEST['acl_t'] == '__g__' && $who){
@@ -167,7 +186,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
echo '<div class="level1">'.NL;
echo '<div id="acl__tree">'.NL;
- $this->_html_explorer($_REQUEST['ns']);
+ $this->_html_explorer();
echo '</div>'.NL;
echo '<div id="acl__detail">'.NL;
@@ -267,8 +286,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
usort($data,array($this,'_tree_sort'));
$count = count($data);
if($count>0) for($i=1; $i<$count; $i++){
- if($data[$i]['type'] == 'f') break; // namespaces come first, we're done
- if($data[$i-1]['id'] == $data[$i]['id']) unset($data[$i]);
+ if($data[$i-1]['id'] == $data[$i]['id'] && $data[$i-1]['type'] == $data[$i]['type']) unset($data[$i]);
}
return $data;
}
@@ -279,13 +297,39 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
* Sorts the combined trees of media and page files
*/
function _tree_sort($a,$b){
- if($a['type'] == 'd' && $b['type'] == 'f'){
+ // handle the trivial cases first
+ if ($a['id'] == '') return -1;
+ if ($b['id'] == '') return 1;
+ // split up the id into parts
+ $a_ids = explode(':', $a['id']);
+ $b_ids = explode(':', $b['id']);
+ // now loop through the parts
+ while (count($a_ids) && count($b_ids)) {
+ // compare each level from upper to lower
+ // until a non-equal component is found
+ $cur_result = strcmp(array_shift($a_ids), array_shift($b_ids));
+ if ($cur_result) {
+ // if one of the components is the last component and is a file
+ // and the other one is either of a deeper level or a directory,
+ // the file has to come after the deeper level or directory
+ if (empty($a_ids) && $a['type'] == 'f' && (count($b_ids) || $b['type'] == 'd')) return 1;
+ if (empty($b_ids) && $b['type'] == 'f' && (count($a_ids) || $a['type'] == 'd')) return -1;
+ return $cur_result;
+ }
+ }
+ // The two ids seem to be equal. One of them might however refer
+ // to a page, one to a namespace, the namespace needs to be first.
+ if (empty($a_ids) && empty($b_ids)) {
+ if ($a['type'] == $b['type']) return 0;
+ if ($a['type'] == 'f') return 1;
return -1;
- }elseif($a['type'] == 'f' && $b['type'] == 'd'){
- return 1;
- }else{
- return strcmp($a['id'],$b['id']);
}
+ // Now the empty part is either a page in the parent namespace
+ // that obviously needs to be after the namespace
+ // Or it is the namespace that contains the other part and should be
+ // before that other part.
+ if (empty($a_ids)) return ($a['type'] == 'd') ? -1 : 1;
+ if (empty($b_ids)) return ($b['type'] == 'd') ? 1 : -1;
}
/**
@@ -473,8 +517,8 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
}
// highlight?
- if( ($item['type']=='d' && $item['id'] == $this->ns) ||
- ($item['type']!='d' && $item['id'] == $ID)) $cl = ' cur';
+ if( ($item['type']== $this->current_item['type'] && $item['id'] == $this->current_item['id']))
+ $cl = ' cur';
// namespace or page?
if($item['type']=='d'){
diff --git a/lib/plugins/acl/lang/da/lang.php b/lib/plugins/acl/lang/da/lang.php
index c95ff1582..d40da52a0 100644
--- a/lib/plugins/acl/lang/da/lang.php
+++ b/lib/plugins/acl/lang/da/lang.php
@@ -11,6 +11,7 @@
* @author Harith <haj@berlingske.dk>
* @author Daniel Ejsing-Duun <dokuwiki@zilvador.dk>
* @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca>
+ * @author rasmus@kinnerup.com
*/
$lang['admin_acl'] = 'Rettighedsadministration';
$lang['acl_group'] = 'Gruppe';
@@ -31,7 +32,7 @@ $lang['p_include'] = 'Højere tilladelse inkluderer også lavere. Ti
$lang['current'] = 'Aktuelle ACL-regler';
$lang['where'] = 'Side/navnerum';
$lang['who'] = 'Bruger/gruppe';
-$lang['perm'] = 'Adgangsniveau';
+$lang['perm'] = 'Rettigheder';
$lang['acl_perm0'] = 'Ingen';
$lang['acl_perm1'] = 'Læs';
$lang['acl_perm2'] = 'Skriv';
diff --git a/lib/plugins/acl/lang/de-informal/lang.php b/lib/plugins/acl/lang/de-informal/lang.php
index 6cabe3f35..ac4bb30c0 100644
--- a/lib/plugins/acl/lang/de-informal/lang.php
+++ b/lib/plugins/acl/lang/de-informal/lang.php
@@ -14,12 +14,12 @@ $lang['page'] = 'Seite';
$lang['namespace'] = 'Namensraum';
$lang['btn_select'] = 'Auswählen';
$lang['p_user_id'] = 'Benutzer <b class="acluser">%s</b> hat im Moment folgende Rechte auf der Seite <b class="aclpage">%s</b>: <i>%s</i>';
-$lang['p_user_ns'] = 'Benutzer <b class="acluser">%s</b> hat momentan die folgenden Rechte im Namensraum<b class="aclns">%s</b>: <i>%s</i>.';
+$lang['p_user_ns'] = 'Benutzer <b class="acluser">%s</b> hat momentan die folgenden Rechte im Namensraum <b class="aclns">%s</b>: <i>%s</i>.';
$lang['p_group_id'] = 'Die Gruppenmitglieder <b class="aclgroup">%s</b> haben momentan die folgenden Rechte auf der Seite <b class="aclpage">%s</b>: <i>%s</i>.';
$lang['p_group_ns'] = 'Die Mitglieder der Gruppe <b class="aclgroup">%s</b> haben gerade Zugriff in folgenden Namensräumen <b class="aclns">%s</b>: <i>%s</i>.';
-$lang['p_choose_id'] = 'Bitte <b>gib einen Nutzer oder eine Gruppe</b> in das Formular ein, um die Berechtigungen der Seite<b class="aclpage">%s</b> anzusehen oder zu bearbeiten.';
-$lang['p_choose_ns'] = 'Bitte <b>gib einen Nutzer oder eine Gruppe</b> in das Formular ein, um die Berechtigungen des Namenraumes<b class="aclpage">%s</b> anzusehen oder zu bearbeiten.';
-$lang['p_inherited'] = 'Hinweis: Diese Rechte wuredn nicht explizit gesetzt sondern geerbt von anderen Grupen oder übergeordneten Namensräumen.';
+$lang['p_choose_id'] = 'Bitte <b>gib einen Nutzer oder eine Gruppe</b> in das Formular ein, um die Berechtigungen der Seite <b class="aclpage">%s</b> anzusehen oder zu bearbeiten.';
+$lang['p_choose_ns'] = 'Bitte <b>gib einen Nutzer oder eine Gruppe</b> in das Formular ein, um die Berechtigungen des Namenraumes <b class="aclpage">%s</b> anzusehen oder zu bearbeiten.';
+$lang['p_inherited'] = 'Hinweis: Diese Rechte wurden nicht explizit gesetzt, sondern von anderen Gruppen oder übergeordneten Namensräumen geerbt.';
$lang['p_isadmin'] = 'Hinweis: Die gewählte Gruppe oder der Benutzer haben immer die vollen Rechte, weil sie als Superuser konfiguriert sind.';
$lang['p_include'] = 'Höhere Rechte schließen kleinere mit ein. Hochlade- und Löschrechte sind nur für Namensräume, nicht für Seiten.';
$lang['current'] = 'Momentane Zugriffsregeln';
diff --git a/lib/plugins/acl/lang/de/lang.php b/lib/plugins/acl/lang/de/lang.php
index 5bac3ac1c..0d30fe7a1 100644
--- a/lib/plugins/acl/lang/de/lang.php
+++ b/lib/plugins/acl/lang/de/lang.php
@@ -31,7 +31,7 @@ $lang['p_group_id'] = 'Mitglieder der Gruppe <b class="aclgroup">%s</
$lang['p_group_ns'] = 'Mitglieder der Gruppe <b class="aclgroup">%s</b> haben momentan folgende Berechtigungen für den Namensraum <b class="aclns">%s</b>: <i>%s</i>.';
$lang['p_choose_id'] = 'Bitte geben Sie in obigem Formular eine <b>einen Nutzer oder eine Gruppe</b> an, um die Berechtigungen für die Seite <b class="aclpage">%s</b> zu sehen oder zu ändern.';
$lang['p_choose_ns'] = 'Bitte geben Sie in obigem Formular eine <b>einen Nutzer oder eine Gruppe</b> an, um die Berechtigungen für den Namensraum <b class="aclns">%s</b> zu sehen oder zu ändern.';
-$lang['p_inherited'] = 'Hinweis: Diese Berechtigungen wurden nicht explizit gesetzt sondern von anderen Gruppen oder höher liegenden Namensräumen geerbt.';
+$lang['p_inherited'] = 'Hinweis: Diese Berechtigungen wurden nicht explizit gesetzt, sondern von anderen Gruppen oder höher liegenden Namensräumen geerbt.';
$lang['p_isadmin'] = 'Hinweis: Die ausgewählte Gruppe oder Nutzer haben immer alle Berechtigungen das sie als Superuser konfiguriert wurden.';
$lang['p_include'] = 'Höhere Berechtigungen schließen niedrigere mit ein. Anlegen, Hochladen und Entfernen gilt nur für Namensräume, nicht für einzelne Seiten';
$lang['current'] = 'Momentane Zugriffsregeln';
diff --git a/lib/plugins/acl/script.js b/lib/plugins/acl/script.js
index 449a3c16a..d5d0371a9 100644
--- a/lib/plugins/acl/script.js
+++ b/lib/plugins/acl/script.js
@@ -118,7 +118,11 @@ acl = {
var ul = document.createElement('ul');
listitem.appendChild(ul);
ajax.elementObj = ul;
- ajax.runAJAX(link.search.substr(1)+'&ajax=tree');
+ ajax.setVar('ajax', 'tree');
+ var frm = $('acl__detail').getElementsByTagName('form')[0];
+ ajax.setVar('current_ns', encodeURIComponent(frm.elements['ns'].value));
+ ajax.setVar('current_id', encodeURIComponent(frm.elements['id'].value));
+ ajax.runAJAX(link.search.substr(1));
clicky.src = DOKU_BASE+'lib/images/minus.gif';
return false;
},
diff --git a/lib/plugins/config/lang/da/lang.php b/lib/plugins/config/lang/da/lang.php
index 93eb5c3e3..f076e408a 100644
--- a/lib/plugins/config/lang/da/lang.php
+++ b/lib/plugins/config/lang/da/lang.php
@@ -9,6 +9,7 @@
* @author Harith <haj@berlingske.dk>
* @author Daniel Ejsing-Duun <dokuwiki@zilvador.dk>
* @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca>
+ * @author rasmus@kinnerup.com
*/
$lang['menu'] = 'Opsætningsindstillinger';
$lang['error'] = 'Indstillingerne blev ikke opdateret på grund af en ugyldig værdi, Gennemse venligst dine ændringer og gem dem igen.
@@ -111,6 +112,7 @@ $lang['gdlib'] = 'Udgave af GD Lib';
$lang['im_convert'] = 'Sti til ImageMagick\'s omdannerværktøj';
$lang['jpg_quality'] = 'JPG komprimeringskvalitet (0-100)';
$lang['subscribers'] = 'Slå understøttelse af abonnement på sider til';
+$lang['subscribe_time'] = 'Tid der går før abonnementlister og nyhedsbreve er sendt (i sekunder). Denne værdi skal være mindre end den tid specificeret under recent_days.';
$lang['compress'] = 'Komprimer CSS- og JavaScript-filer';
$lang['hidepages'] = 'Skjul lignende sider (almindelige udtryk)';
$lang['send404'] = 'Send "HTTP 404/Page Not Found" for ikke-eksisterende sider';
diff --git a/lib/plugins/plugin/lang/da/lang.php b/lib/plugins/plugin/lang/da/lang.php
index 98d9f365e..1248c9a9c 100644
--- a/lib/plugins/plugin/lang/da/lang.php
+++ b/lib/plugins/plugin/lang/da/lang.php
@@ -9,6 +9,7 @@
* @author Harith <haj@berlingske.dk>
* @author Daniel Ejsing-Duun <dokuwiki@zilvador.dk>
* @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca>
+ * @author rasmus@kinnerup.com
*/
$lang['menu'] = 'Håndter udvidelser';
$lang['download'] = 'Hent og tilføj ny udvidelse';
diff --git a/lib/plugins/popularity/lang/da/lang.php b/lib/plugins/popularity/lang/da/lang.php
index 7a0b1e1b8..af591b88c 100644
--- a/lib/plugins/popularity/lang/da/lang.php
+++ b/lib/plugins/popularity/lang/da/lang.php
@@ -7,6 +7,7 @@
* @author Harith <haj@berlingske.dk>
* @author Daniel Ejsing-Duun <dokuwiki@zilvador.dk>
* @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca>
+ * @author rasmus@kinnerup.com
*/
$lang['name'] = 'Tilbagemelding om popularitet (vil måske tage en del tid at indlæse)';
$lang['submit'] = 'Send data';
diff --git a/lib/plugins/revert/lang/da/lang.php b/lib/plugins/revert/lang/da/lang.php
index 97e15f361..4e3b8ddeb 100644
--- a/lib/plugins/revert/lang/da/lang.php
+++ b/lib/plugins/revert/lang/da/lang.php
@@ -7,6 +7,7 @@
* @author Harith <haj@berlingske.dk>
* @author Daniel Ejsing-Duun <dokuwiki@zilvador.dk>
* @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca>
+ * @author rasmus@kinnerup.com
*/
$lang['menu'] = 'Gendannelsesstyring';
$lang['filter'] = 'Søg efter uønskede sider';
diff --git a/lib/plugins/usermanager/lang/da/lang.php b/lib/plugins/usermanager/lang/da/lang.php
index 42bdcb7c3..81217c225 100644
--- a/lib/plugins/usermanager/lang/da/lang.php
+++ b/lib/plugins/usermanager/lang/da/lang.php
@@ -8,6 +8,7 @@
* @author Harith <haj@berlingske.dk>
* @author Daniel Ejsing-Duun <dokuwiki@zilvador.dk>
* @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca>
+ * @author rasmus@kinnerup.com
*/
$lang['menu'] = 'Brugerstyring';
$lang['noauth'] = '(Brugervalidering er ikke tilgængelig)';