diff options
Diffstat (limited to 'lib/plugins')
-rw-r--r-- | lib/plugins/acl/admin.php | 64 | ||||
-rw-r--r-- | lib/plugins/acl/lang/da/lang.php | 3 | ||||
-rw-r--r-- | lib/plugins/acl/lang/de-informal/lang.php | 8 | ||||
-rw-r--r-- | lib/plugins/acl/lang/de/lang.php | 2 | ||||
-rw-r--r-- | lib/plugins/acl/script.js | 6 | ||||
-rw-r--r-- | lib/plugins/config/lang/da/lang.php | 2 | ||||
-rw-r--r-- | lib/plugins/plugin/lang/da/lang.php | 1 | ||||
-rw-r--r-- | lib/plugins/popularity/lang/da/lang.php | 1 | ||||
-rw-r--r-- | lib/plugins/revert/lang/da/lang.php | 1 | ||||
-rw-r--r-- | lib/plugins/usermanager/lang/da/lang.php | 1 |
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)'; |