diff --git a/_test/cases/inc/search/data/ns1/ns3/page3.txt b/_test/cases/inc/search/data/ns1/ns3/page3.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/_test/cases/inc/search/data/ns1/page1.txt b/_test/cases/inc/search/data/ns1/page1.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/_test/cases/inc/search/data/ns1/page2.txt b/_test/cases/inc/search/data/ns1/page2.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/_test/cases/inc/search/data/ns2/nopage.ext b/_test/cases/inc/search/data/ns2/nopage.ext new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/_test/cases/inc/search/data/ns2/page1.txt b/_test/cases/inc/search/data/ns2/page1.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/_test/cases/inc/search/search.test.php b/_test/cases/inc/search/search.test.php new file mode 100644 index 0000000000000000000000000000000000000000..a6f15e9b68eb7495887689c9bb8411bd78a79339 --- /dev/null +++ b/_test/cases/inc/search/search.test.php @@ -0,0 +1,102 @@ +<?php +require_once DOKU_INC.'inc/search.php'; + +class search_test extends UnitTestCase { + function strip_index_data($entry) { + $n_entry = array(); + foreach(array('id', 'type', 'level', 'open') as $k) { + $n_entry[$k] = $entry[$k]; + } + return $n_entry; + } + + function test_search_index(){ + $data = array(); + search($data, dirname(__FILE__) . '/data', 'search_index', + array('ns' => 'ns2')); + $this->assertEqual(array_map(array($this, 'strip_index_data'), $data), + array( + array( + 'id' => 'ns1', + 'type' => 'd', + 'level' => 1, + 'open' => false + ), array( + 'id' => 'ns2', + 'type' => 'd', + 'level' => 1, + 'open' => true + ), array( + 'id' => 'ns2:page1', + 'type' => 'f', + 'level' => 2, + 'open' => true, + ), )); + $data = array(); + search($data, dirname(__FILE__) . '/data', 'search_index', + array('ns' => 'ns1/ns3')); + $this->assertEqual(array_map(array($this, 'strip_index_data'), $data), + array( + array( + 'id' => 'ns1', + 'type' => 'd', + 'level' => 1, + 'open' => true, + ), + array( + 'id' => 'ns1:ns3', + 'type' => 'd', + 'level' => 2, + 'open' => true, + ), + array( + 'id' => 'ns1:ns3:page3', + 'type' => 'f', + 'level' => 3, + 'open' => true, + ), + array( + 'id' => 'ns1:page1', + 'type' => 'f', + 'level' => 2, + 'open' => true, + ), + array( + 'id' => 'ns1:page2', + 'type' => 'f', + 'level' => 2, + 'open' => true, + ), + array( + 'id' => 'ns2', + 'type' => 'd', + 'level' => 1, + 'open' => false, + ), )); + $data = array(); + search($data, dirname(__FILE__) . '/data', 'search_index', + array('ns' => 'ns1/ns3', 'nofiles' => true)); + $this->assertEqual(array_map(array($this, 'strip_index_data'), $data), + array( + array( + 'id' => 'ns1', + 'type' => 'd', + 'level' => 1, + 'open' => true, + ), + array( + 'id' => 'ns1:ns3', + 'type' => 'd', + 'level' => 2, + 'open' => true, + ), + array( + 'id' => 'ns2', + 'type' => 'd', + 'level' => 1, + 'open' => false, + ), )); + + } +} +//Setup VIM: ex: et ts=4 : diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index 5dc6834e6a5bc6cadd1d9afb378da80ae4877c55..4c83f5d96e3c0b875b4cae0ba07e681c6ceaa738 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -24,6 +24,7 @@ * @author Victor Castelan <victorcastelan@gmail.com> * @author Mauro Javier Giamberardino <mgiamberardino@gmail.com> * @author emezeta <emezeta@infoprimo.com> + * @author Oscar Ciudad <oscar@jacho.net> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -109,7 +110,7 @@ $lang['txt_filename'] = 'Subir como (opcional)'; $lang['txt_overwrt'] = 'Sobreescribir archivo existente'; $lang['lockedby'] = 'Actualmente bloqueado por'; $lang['lockexpire'] = 'El bloqueo expira en'; -$lang['js']['willexpire'] = 'Tu bloqueo para editar esta página expira en un minuto.\nPara evitar conflictos usa el botón previsualizar para reiniciar el contador de tiempo.'; +$lang['willexpire'] = 'Tu bloqueo para editar esta página expira en un minuto.\nPara evitar conflictos usa el botón previsualizar para reiniciar el contador de tiempo.'; $lang['js']['notsavedyet'] = 'Los cambios que no se han guardado se perderán. ¿Realmente quieres continuar?'; $lang['js']['searchmedia'] = 'Buscar archivos'; diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 32e5bf80c7a2c90a1ab0d8995e3b441e5619d46b..f9bf57852a108f47aa92f46d5ffcc511160991ea 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -11,6 +11,7 @@ * @author Leszek Stachowski <shazarre@gmail.com> * @author maros <dobrimaros@yahoo.pl> * @author Grzegorz WidÅ‚a <dzesdzes@gmail.com> + * @author Åukasz Chmaj <teachmeter@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -96,7 +97,7 @@ $lang['txt_filename'] = 'Nazwa pliku (opcjonalnie)'; $lang['txt_overwrt'] = 'Nadpisać istniejÄ…cy plik?'; $lang['lockedby'] = 'Aktualnie zablokowane przez'; $lang['lockexpire'] = 'Blokada wygasa'; -$lang['js']['willexpire'] = 'Za minutÄ™ Twoja blokada tej strony wygaÅ›nie.\nW celu unikniÄ™cia konfliktów wyÅ›wietl podglÄ…d aby odnowić blokadÄ™.'; +$lang['willexpire'] = 'Za minutÄ™ Twoja blokada tej strony wygaÅ›nie.\nW celu unikniÄ™cia konfliktów wyÅ›wietl podglÄ…d aby odnowić blokadÄ™.'; $lang['js']['notsavedyet'] = 'Nie zapisane zmiany zostanÄ… utracone. Czy na pewno kontynuować?'; $lang['js']['searchmedia'] = 'Szukaj plików'; @@ -163,6 +164,9 @@ $lang['yours'] = 'Twoja wersja'; $lang['diff'] = 'Pokaż różnice miÄ™dzy wersjami'; $lang['diff2'] = 'Pokaż różnice miÄ™dzy zaznaczonymi wersjami'; $lang['difflink'] = 'OdnoÅ›nik do tego porównania'; +$lang['diff_type'] = 'Zobacz różnice:'; +$lang['diff_inline'] = 'W linii'; +$lang['diff_side'] = 'Jeden obok drugiego'; $lang['line'] = 'Linia'; $lang['breadcrumb'] = 'Åšlad'; $lang['youarehere'] = 'JesteÅ› tutaj'; diff --git a/inc/search.php b/inc/search.php index a6089c4799cfb1f3adbc22037191013c4203f018..a26ae48081467dc827ddf8d8e805ddf859170ae9 100644 --- a/inc/search.php +++ b/inc/search.php @@ -84,8 +84,8 @@ function search_callback($func,&$data,$base,$file,$type,$lvl,$opts){ * return values for files are ignored * * All functions should check the ACL for document READ rights - * namespaces (directories) are NOT checked as this would break - * the recursion (You can have an nonreadable dir over a readable + * namespaces (directories) are NOT checked (when sneaky_index is 0) as this + * would break the recursion (You can have an nonreadable dir over a readable * one deeper nested) also make sure to check the file type (for example * in case of lockfiles). */ @@ -107,45 +107,22 @@ function search_qsearch(&$data,$base,$file,$type,$lvl,$opts){ /** * Build the browsable index of pages * - * $opts['ns'] is the current namespace + * $opts['ns'] is the currently viewed namespace * * @author Andreas Gohr <andi@splitbrain.org> */ function search_index(&$data,$base,$file,$type,$lvl,$opts){ global $conf; - $return = true; - - $item = array(); - - if($type == 'd' && !preg_match('#^'.$file.'(/|$)#','/'.$opts['ns'])){ - //add but don't recurse - $return = false; - }elseif($type == 'f' && ($opts['nofiles'] || substr($file,-4) != '.txt')){ - //don't add - return false; - } - - $id = pathID($file,($type == 'd')); - - if($type=='d' && $conf['sneaky_index'] && auth_quickaclcheck($id.':') < AUTH_READ){ - return false; - } - - //check hidden - if(isHiddenPage($id)){ - return false; - } - - //check ACL - if($type=='f' && auth_quickaclcheck($id) < AUTH_READ){ - return false; - } - - $data[]=array( 'id' => $id, - 'type' => $type, - 'level' => $lvl, - 'open' => $return ); - return $return; + $opts = array( + 'pagesonly' => true, + 'listdirs' => true, + 'listfiles' => !$opts['nofiles'], + 'sneakyacl' => $conf['sneaky_index'], + // Hacky, should rather use recmatch + 'depth' => preg_match('#^'.$file.'(/|$)#','/'.$opts['ns']) ? 0 : -1 + ); + + return search_universal($data, $base, $file, $type, $lvl, $opts); } /** diff --git a/lib/plugins/acl/lang/es/lang.php b/lib/plugins/acl/lang/es/lang.php index 096320af93996a427f51b2d6c27818d93dfd3541..91a4ca1a11361a45cf27033130a983eb489a60ae 100644 --- a/lib/plugins/acl/lang/es/lang.php +++ b/lib/plugins/acl/lang/es/lang.php @@ -20,6 +20,7 @@ * @author Victor Castelan <victorcastelan@gmail.com> * @author Mauro Javier Giamberardino <mgiamberardino@gmail.com> * @author emezeta <emezeta@infoprimo.com> + * @author Oscar Ciudad <oscar@jacho.net> */ $lang['admin_acl'] = 'Administración de lista de control de acceso'; $lang['acl_group'] = 'Grupo'; diff --git a/lib/plugins/acl/lang/pl/lang.php b/lib/plugins/acl/lang/pl/lang.php index c954abe2a92894d787b27949a2cc8b1d2c68dc2c..a72b6af11557f97ef89ab73e5f49249c0b4204b6 100644 --- a/lib/plugins/acl/lang/pl/lang.php +++ b/lib/plugins/acl/lang/pl/lang.php @@ -11,6 +11,7 @@ * @author Leszek Stachowski <shazarre@gmail.com> * @author maros <dobrimaros@yahoo.pl> * @author Grzegorz WidÅ‚a <dzesdzes@gmail.com> + * @author Åukasz Chmaj <teachmeter@gmail.com> */ $lang['admin_acl'] = 'ZarzÄ…dzanie uprawnieniami'; $lang['acl_group'] = 'Grupa'; diff --git a/lib/plugins/config/lang/es/lang.php b/lib/plugins/config/lang/es/lang.php index 5355d64ad5e912ba2db4728acaa476b3704821ce..ccb963ff1a46541d8bd561c3817ebcd13c45fdcd 100644 --- a/lib/plugins/config/lang/es/lang.php +++ b/lib/plugins/config/lang/es/lang.php @@ -20,6 +20,7 @@ * @author Victor Castelan <victorcastelan@gmail.com> * @author Mauro Javier Giamberardino <mgiamberardino@gmail.com> * @author emezeta <emezeta@infoprimo.com> + * @author Oscar Ciudad <oscar@jacho.net> */ $lang['menu'] = 'Parámetros de configuración'; $lang['error'] = 'Los parámetros no han sido actualizados a causa de un valor inválido, por favor revise los cambios y re-envÃe el formulario. <br /> Los valores incorrectos se mostrarán con un marco rojo alrededor.'; @@ -124,6 +125,7 @@ $lang['jpg_quality'] = 'Calidad de compresión de JPG (0-100)'; $lang['subscribers'] = 'Habilitar soporte para suscripción a páginas'; $lang['subscribe_time'] = 'Tiempo después que alguna lista de suscripción fue enviada (seg); Debe ser menor que el tiempo especificado en dÃas recientes.'; $lang['compress'] = 'Compactar la salida de CSS y javascript'; +$lang['cssdatauri'] = 'Tamaño en bytes hasta el cual las imágenes referenciadas en archivos CSS deberÃan ir incrustadas en la hoja de estilos para reducir el número de cabeceras de petición HTTP. ¡Esta técnica no funcionará en IE < 8! De <code>400</code> a <code>600</code> bytes es un valor adecuado. Establezca <code>0</code> para deshabilitarlo.'; $lang['hidepages'] = 'Ocultar páginas con coincidencias (expresiones regulares)'; $lang['send404'] = 'Enviar "HTTP 404/Page Not Found" para páginas no existentes'; $lang['sitemap'] = 'Generar sitemap de Google (dÃas)'; diff --git a/lib/plugins/config/lang/pl/lang.php b/lib/plugins/config/lang/pl/lang.php index c051e9e13dfbb32b3c268a8756ef1ab365a00812..6e94a2e3df5db71d325227148c24d8a64114d9ee 100644 --- a/lib/plugins/config/lang/pl/lang.php +++ b/lib/plugins/config/lang/pl/lang.php @@ -12,6 +12,7 @@ * @author Leszek Stachowski <shazarre@gmail.com> * @author maros <dobrimaros@yahoo.pl> * @author Grzegorz WidÅ‚a <dzesdzes@gmail.com> + * @author Åukasz Chmaj <teachmeter@gmail.com> */ $lang['menu'] = 'Ustawienia'; $lang['error'] = 'Ustawienia nie zostaÅ‚y zapisane z powodu bÅ‚Ä™dnych wartoÅ›ci, przejrzyj je i ponów próbÄ™ zapisu. <br/> Niepoprawne wartoÅ›ci sÄ… wyróżnione kolorem czerwonym.'; diff --git a/lib/plugins/plugin/lang/es/lang.php b/lib/plugins/plugin/lang/es/lang.php index 207c48d2c7b88a123673bd3d336a6223bc4723c8..2726a5ffa5c9da277b423cdd22f18708a99b2760 100644 --- a/lib/plugins/plugin/lang/es/lang.php +++ b/lib/plugins/plugin/lang/es/lang.php @@ -20,6 +20,7 @@ * @author Victor Castelan <victorcastelan@gmail.com> * @author Mauro Javier Giamberardino <mgiamberardino@gmail.com> * @author emezeta <emezeta@infoprimo.com> + * @author Oscar Ciudad <oscar@jacho.net> */ $lang['menu'] = 'Administración de Plugins'; $lang['download'] = 'Descargar e instalar un nuevo plugin'; diff --git a/lib/plugins/plugin/lang/pl/lang.php b/lib/plugins/plugin/lang/pl/lang.php index d4ccc7751527c4912cfdf659119b31e05cc5d640..f48426bf6df65236a3f65e3acbb6071fc556129f 100644 --- a/lib/plugins/plugin/lang/pl/lang.php +++ b/lib/plugins/plugin/lang/pl/lang.php @@ -12,6 +12,7 @@ * @author Leszek Stachowski <shazarre@gmail.com> * @author maros <dobrimaros@yahoo.pl> * @author Grzegorz WidÅ‚a <dzesdzes@gmail.com> + * @author Åukasz Chmaj <teachmeter@gmail.com> */ $lang['menu'] = 'Menadżer wtyczek'; $lang['download'] = 'ÅšciÄ…gnij i zainstaluj nowÄ… wtyczkÄ™'; diff --git a/lib/plugins/popularity/lang/es/lang.php b/lib/plugins/popularity/lang/es/lang.php index 5e42cd45c568f14a6b7df3357a2116d344839c2d..d78343a36b28e27d978a45d25315d6802f97b5fb 100644 --- a/lib/plugins/popularity/lang/es/lang.php +++ b/lib/plugins/popularity/lang/es/lang.php @@ -17,6 +17,7 @@ * @author Mauro Javier Giamberardino <mgiamberardino@gmail.com> * @author Oscar M. Lage <r0sk10@gmail.com> * @author emezeta <emezeta@infoprimo.com> + * @author Oscar Ciudad <oscar@jacho.net> */ $lang['name'] = 'Retroinformación (Feedback) plugin Popularity'; $lang['submit'] = 'Enviar datos'; diff --git a/lib/plugins/popularity/lang/pl/lang.php b/lib/plugins/popularity/lang/pl/lang.php index fbbe6dab2154786482b6b1f8b60be0588bae15d7..d96254fd80f306d810df6452ae229724132a2b42 100644 --- a/lib/plugins/popularity/lang/pl/lang.php +++ b/lib/plugins/popularity/lang/pl/lang.php @@ -10,6 +10,12 @@ * @author Leszek Stachowski <shazarre@gmail.com> * @author maros <dobrimaros@yahoo.pl> * @author Grzegorz WidÅ‚a <dzesdzes@gmail.com> + * @author Åukasz Chmaj <teachmeter@gmail.com> */ $lang['name'] = 'Informacja o popularnoÅ›ci (Å‚adowanie może zająć dÅ‚uższÄ… chwilÄ™)'; $lang['submit'] = 'WyÅ›lij dane'; +$lang['autosubmit'] = 'Automatycznie wysyÅ‚aj dane raz na miesiÄ…c'; +$lang['submissionFailed'] = 'Dane nie mogÅ‚y być przesÅ‚ane ze wzglÄ™du na nastÄ™pujÄ…ce bÅ‚Ä™dy:'; +$lang['submitDirectly'] = 'Możesz wysÅ‚ać dane rÄ™cznie poprzez nastÄ™pujÄ…cy formularz:'; +$lang['autosubmitError'] = 'Ostatnie wysyÅ‚anie automatyczne nie powiodÅ‚o siÄ™ ze wzglÄ™du na nastÄ™pujÄ…ce bÅ‚Ä™dy:'; +$lang['lastSent'] = 'Dane zostaÅ‚y wysÅ‚ane:'; diff --git a/lib/plugins/popularity/lang/pl/submitted.txt b/lib/plugins/popularity/lang/pl/submitted.txt new file mode 100644 index 0000000000000000000000000000000000000000..195e81388ee756bc61619ca00c363ae57a014c67 --- /dev/null +++ b/lib/plugins/popularity/lang/pl/submitted.txt @@ -0,0 +1,3 @@ +====== Informacje o popularnoÅ›ci ====== + +WysyÅ‚anie danych powiodÅ‚o siÄ™. \ No newline at end of file diff --git a/lib/plugins/revert/lang/es/lang.php b/lib/plugins/revert/lang/es/lang.php index 7e357e3dbf584e384f05e1111538047b4fcdc0b8..f793eb06d54bc6af795c83e5f533492ce92eaded 100644 --- a/lib/plugins/revert/lang/es/lang.php +++ b/lib/plugins/revert/lang/es/lang.php @@ -18,6 +18,7 @@ * @author Victor Castelan <victorcastelan@gmail.com> * @author Mauro Javier Giamberardino <mgiamberardino@gmail.com> * @author emezeta <emezeta@infoprimo.com> + * @author Oscar Ciudad <oscar@jacho.net> */ $lang['menu'] = 'Restaurador'; $lang['filter'] = 'Buscar páginas con spam'; diff --git a/lib/plugins/revert/lang/pl/lang.php b/lib/plugins/revert/lang/pl/lang.php index 8166250b43ca6494c85466cd8ee596df6298854c..f36dc591af5dd8c5bb1b58267339aa5736c578f7 100644 --- a/lib/plugins/revert/lang/pl/lang.php +++ b/lib/plugins/revert/lang/pl/lang.php @@ -9,6 +9,7 @@ * @author Leszek Stachowski <shazarre@gmail.com> * @author maros <dobrimaros@yahoo.pl> * @author Grzegorz WidÅ‚a <dzesdzes@gmail.com> + * @author Åukasz Chmaj <teachmeter@gmail.com> */ $lang['menu'] = 'Menadżer przywracania'; $lang['filter'] = 'Wyszukaj uszkodzone strony'; diff --git a/lib/plugins/usermanager/lang/es/lang.php b/lib/plugins/usermanager/lang/es/lang.php index 1e79c68269f853b75c9967339fdbe8ab2b17cfae..50138bf2b691a59a611097ccadd432bc8fdb446f 100644 --- a/lib/plugins/usermanager/lang/es/lang.php +++ b/lib/plugins/usermanager/lang/es/lang.php @@ -19,6 +19,7 @@ * @author Victor Castelan <victorcastelan@gmail.com> * @author Mauro Javier Giamberardino <mgiamberardino@gmail.com> * @author emezeta <emezeta@infoprimo.com> + * @author Oscar Ciudad <oscar@jacho.net> */ $lang['menu'] = 'Administración de usuarios'; $lang['noauth'] = '(la autenticación de usuarios no está disponible)'; diff --git a/lib/plugins/usermanager/lang/pl/lang.php b/lib/plugins/usermanager/lang/pl/lang.php index 0c4ecbcdf2b95aeef3355a5f89bf212b595540c1..7c79c5d1f2b6fae4c7130d18e2fc465e0d64bf97 100644 --- a/lib/plugins/usermanager/lang/pl/lang.php +++ b/lib/plugins/usermanager/lang/pl/lang.php @@ -10,6 +10,7 @@ * @author Leszek Stachowski <shazarre@gmail.com> * @author maros <dobrimaros@yahoo.pl> * @author Grzegorz WidÅ‚a <dzesdzes@gmail.com> + * @author Åukasz Chmaj <teachmeter@gmail.com> */ $lang['menu'] = 'Menadżer użytkowników'; $lang['noauth'] = '(uwierzytelnienie użytkownika niemożliwe)';