diff options
Diffstat (limited to 'inc')
-rw-r--r-- | inc/HTTPClient.php | 14 | ||||
-rw-r--r-- | inc/html.php | 13 | ||||
-rw-r--r-- | inc/init.php | 2 | ||||
-rw-r--r-- | inc/io.php | 16 | ||||
-rw-r--r-- | inc/lang/da/denied.txt | 2 | ||||
-rw-r--r-- | inc/lang/da/lang.php | 101 | ||||
-rw-r--r-- | inc/lang/es/lang.php | 4 | ||||
-rw-r--r-- | inc/lang/fr/lang.php | 2 | ||||
-rw-r--r-- | inc/lang/he/lang.php | 26 | ||||
-rw-r--r-- | inc/lang/he/resetpwd.txt | 3 | ||||
-rw-r--r-- | inc/lang/ru/index.txt | 2 | ||||
-rw-r--r-- | inc/lang/ru/lang.php | 6 | ||||
-rw-r--r-- | inc/lang/zh/lang.php | 2 | ||||
-rw-r--r-- | inc/parser/code.php | 5 | ||||
-rw-r--r-- | inc/parser/renderer.php | 12 | ||||
-rw-r--r-- | inc/parser/xhtml.php | 16 | ||||
-rw-r--r-- | inc/template.php | 42 | ||||
-rw-r--r-- | inc/utf8.php | 30 |
18 files changed, 199 insertions, 99 deletions
diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index 76d973c38..092216c57 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -592,18 +592,22 @@ class HTTPClient { // set correct peer name for verification (enabled since PHP 5.6) stream_context_set_option($socket, 'ssl', 'peer_name', $requestinfo['host']); - // Because of older PHP versions having trouble with TLS (enable_crypto returns true, but - // the conection still borks) we try SSLv3 first - if (@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_SSLv3_CLIENT)) { + // because SSLv3 is mostly broken, we try TLS connections here first. + // according to https://github.com/splitbrain/dokuwiki/commit/c05ef534 we had problems with certain + // setups with this solution before, but we have no usable test for that and TLS should be the more + // common crypto by now + if (@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) { $requesturl = $requestinfo['path']; return true; } - // If the proxy does not support SSLv3 we try TLS - if (@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) { + // if the above failed, this will most probably not work either, but we can try + if (@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_SSLv3_CLIENT)) { $requesturl = $requestinfo['path']; return true; } + + throw new HTTPClientException('Failed to set up crypto for secure connection to '.$requestinfo['host'], -151); } throw new HTTPClientException('Failed to establish secure proxy connection', -150); diff --git a/inc/html.php b/inc/html.php index 3a93a6604..4bf784502 100644 --- a/inc/html.php +++ b/inc/html.php @@ -232,6 +232,14 @@ function html_btn($name,$id,$akey,$params,$method='get',$tooltip='',$label=false return $ret; } +/** + * show a revision warning + * + * @author Szymon Olewniczak <dokuwiki@imz.re> + */ +function html_showrev() { + print p_locale_xhtml('showrev'); +} /** * Show a wiki page @@ -265,7 +273,10 @@ function html_show($txt=null){ echo '</div></div>'; }else{ - if ($REV||$DATE_AT) print p_locale_xhtml('showrev'); + if ($REV||$DATE_AT){ + $data = array('rev' => &$REV, 'date_at' => &$DATE_AT); + trigger_event('HTML_SHOWREV_OUTPUT', $data, 'html_showrev'); + } $html = p_wiki_xhtml($ID,$REV,true,$DATE_AT); $html = html_secedit($html,$secedit); if($INFO['prependTOC']) $html = tpl_toc(true).$html; diff --git a/inc/init.php b/inc/init.php index 91bc77f98..bc9ab6d70 100644 --- a/inc/init.php +++ b/inc/init.php @@ -535,7 +535,7 @@ function nice_die($msg){ </body> </html> EOT; - exit; + exit(1); } /** diff --git a/inc/io.php b/inc/io.php index 3ed227162..0636a4b62 100644 --- a/inc/io.php +++ b/inc/io.php @@ -101,7 +101,7 @@ function _io_readWikiPage_action($data) { * * @param string $file filename * @param bool $clean - * @return string + * @return string|bool the file contents or false on error */ function io_readFile($file,$clean=true){ $ret = ''; @@ -114,7 +114,7 @@ function io_readFile($file,$clean=true){ $ret = file_get_contents($file); } } - if($clean){ + if($ret !== false && $clean){ return cleanText($ret); }else{ return $ret; @@ -124,22 +124,28 @@ function io_readFile($file,$clean=true){ * Returns the content of a .bz2 compressed file as string * * @author marcel senf <marcel@rucksackreinigung.de> + * @author Andreas Gohr <andi@splitbrain.org> * * @param string $file filename - * @return string content + * @return string|bool content or false on error */ function bzfile($file){ $bz = bzopen($file,"r"); + if($bz === false) return false; + $str = ''; while (!feof($bz)){ //8192 seems to be the maximum buffersize? - $str = $str . bzread($bz,8192); + $buffer = bzread($bz,8192); + if(($buffer === false) || (bzerrno($bz) !== 0)) { + return false; + } + $str = $str . $buffer; } bzclose($bz); return $str; } - /** * Used to write out a DokuWiki page to file, and send IO_WIKIPAGE_WRITE events. * diff --git a/inc/lang/da/denied.txt b/inc/lang/da/denied.txt index 7bf3b8b9b..217d8937e 100644 --- a/inc/lang/da/denied.txt +++ b/inc/lang/da/denied.txt @@ -1,3 +1,3 @@ -====== Adgang nægtet! ====== +====== Adgang nægtet ====== Du har ikke rettigheder til at fortsætte. diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php index 3b353d50c..e7c597f2b 100644 --- a/inc/lang/da/lang.php +++ b/inc/lang/da/lang.php @@ -19,6 +19,7 @@ * @author soer9648 <soer9648@eucl.dk> * @author Søren Birk <sbi@eucl.dk> * @author Søren Birk <soer9648@eucl.dk> + * @author Jacob Palm <mail@jacobpalm.dk> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -58,7 +59,7 @@ $lang['btn_resendpwd'] = 'Vælg ny adgangskode'; $lang['btn_draft'] = 'Redigér kladde'; $lang['btn_recover'] = 'Gendan kladde'; $lang['btn_draftdel'] = 'Slet kladde'; -$lang['btn_revert'] = 'Reetablér'; +$lang['btn_revert'] = 'Gendan'; $lang['btn_register'] = 'Registrér'; $lang['btn_apply'] = 'Anvend'; $lang['btn_media'] = 'Media Manager'; @@ -76,7 +77,7 @@ $lang['fullname'] = 'Fulde navn'; $lang['email'] = 'E-mail'; $lang['profile'] = 'Brugerprofil'; $lang['badlogin'] = 'Brugernavn eller adgangskode var forkert.'; -$lang['badpassconfirm'] = 'Kodeordet var desværre forkert'; +$lang['badpassconfirm'] = 'Adgangkode var desværre forkert'; $lang['minoredit'] = 'Mindre ændringer'; $lang['draftdate'] = 'Kladde automatisk gemt d.'; $lang['nosecedit'] = 'Siden blev ændret i mellemtiden, sektions information var for gammel, hentede hele siden i stedet.'; @@ -88,26 +89,26 @@ $lang['regsuccess2'] = 'Du er nu oprettet som bruger.'; $lang['regmailfail'] = 'Dit adgangskode blev ikke sendt. Kontakt venligst administratoren.'; $lang['regbadmail'] = 'E-mail-adressen er ugyldig. Kontakt venligst administratoren, hvis du mener dette er en fejl.'; $lang['regbadpass'] = 'De to adgangskoder er ikke ens, vær venlig at prøve igen.'; -$lang['regpwmail'] = 'Dit DokuWiki password'; +$lang['regpwmail'] = 'Dit adgangskode til DokuWiki'; $lang['reghere'] = 'Opret en DokuWiki-konto her'; $lang['profna'] = 'Denne wiki understøtter ikke ændring af profiler'; $lang['profnochange'] = 'Ingen ændringer, intet modificeret.'; $lang['profnoempty'] = 'Tomt navn eller e-mail adresse er ikke tilladt.'; $lang['profchanged'] = 'Brugerprofil opdateret korrekt.'; -$lang['profnodelete'] = 'Denne wiki supporterer ikke sletning af brugere'; -$lang['profdeleteuser'] = 'Slet Konto'; +$lang['profnodelete'] = 'Denne wiki understøtter ikke sletning af brugere'; +$lang['profdeleteuser'] = 'Slet konto'; $lang['profdeleted'] = 'Din brugerkonto er blevet slettet fra denne wiki'; $lang['profconfdelete'] = 'Jeg ønsker at slette min konto fra denne wiki. <br/> Denne handling kan ikke fortrydes.'; -$lang['pwdforget'] = 'Har du glemt dit adgangskode? Få et nyt'; -$lang['resendna'] = 'Denne wiki understøtter ikke udsendelse af nyt adgangskode.'; -$lang['resendpwd'] = 'Vælg ny adgangskode for'; +$lang['pwdforget'] = 'Har du glemt dit adgangskode? Få en ny'; +$lang['resendna'] = 'Denne wiki understøtter ikke udsendelse af ny adgangskode.'; +$lang['resendpwd'] = 'Vælg en ny adgangskode for'; $lang['resendpwdmissing'] = 'Du skal udfylde alle felter.'; $lang['resendpwdnouser'] = 'Vi kan ikke finde denne bruger i vores database.'; $lang['resendpwdbadauth'] = 'Beklager, denne autoriseringskode er ikke gyldig. Kontroller venligst at du benyttede det fulde link til bekræftelse.'; -$lang['resendpwdconfirm'] = 'Et henvisning med bekræftelse er blevet sendt med email.'; -$lang['resendpwdsuccess'] = 'Dit nye adgangskode er blevet sendt med e-mail.'; -$lang['license'] = 'Med mindre andet angivet, vil indhold på denne wiki blive frigjort under følgende licens:'; -$lang['licenseok'] = 'Note: ved at ændre denne side, acceptere du at dit indhold bliver frigivet under følgende licens:'; +$lang['resendpwdconfirm'] = 'En e-mail med et link til bekræftelse er blevet sendt.'; +$lang['resendpwdsuccess'] = 'Din nye adgangskode er blevet sendt med e-mail.'; +$lang['license'] = 'Med mindre andet angivet, vil indhold på denne wiki blive udgivet under følgende licens:'; +$lang['licenseok'] = 'Bemærk - ved at redigere denne side, accepterer du at dit indhold bliver frigivet under følgende licens:'; $lang['searchmedia'] = 'Søg filnavn'; $lang['searchmedia_in'] = 'Søg i %s'; $lang['txt_upload'] = 'Vælg den fil der skal overføres:'; @@ -117,76 +118,76 @@ $lang['maxuploadsize'] = 'Upload max. %s pr. fil.'; $lang['lockedby'] = 'Midlertidig låst af:'; $lang['lockexpire'] = 'Lås udløber kl:.'; $lang['js']['willexpire'] = 'Din lås på dette dokument udløber om et minut.\nTryk på Forhåndsvisning-knappen for at undgå konflikter.'; -$lang['js']['notsavedyet'] = 'Ugemte ændringer vil blive mistet +$lang['js']['notsavedyet'] = 'Ugemte ændringer vil blive mistet. Fortsæt alligevel?'; $lang['js']['searchmedia'] = 'Søg efter filer'; $lang['js']['keepopen'] = 'Hold vindue åbent ved valg'; $lang['js']['hidedetails'] = 'Skjul detaljer'; $lang['js']['mediatitle'] = 'Link indstillinger'; $lang['js']['mediadisplay'] = 'Link type'; -$lang['js']['mediaalign'] = 'Juster'; +$lang['js']['mediaalign'] = 'Justering'; $lang['js']['mediasize'] = 'Billede størrelse'; -$lang['js']['mediatarget'] = 'Link mål'; +$lang['js']['mediatarget'] = 'Link destination'; $lang['js']['mediaclose'] = 'Luk'; $lang['js']['mediainsert'] = 'Indsæt'; $lang['js']['mediadisplayimg'] = 'Vis billedet'; $lang['js']['mediadisplaylnk'] = 'Vis kun linket'; $lang['js']['mediasmall'] = 'Lille version'; -$lang['js']['mediamedium'] = 'Medium version'; +$lang['js']['mediamedium'] = 'Mellem version'; $lang['js']['medialarge'] = 'Stor version'; $lang['js']['mediaoriginal'] = 'Original version'; $lang['js']['medialnk'] = 'Link til detajle side'; $lang['js']['mediadirect'] = 'Direkte link til originalen'; $lang['js']['medianolnk'] = 'Intet link'; -$lang['js']['medianolink'] = 'Link ikke billedet'; +$lang['js']['medianolink'] = 'Link ikke til billedet'; $lang['js']['medialeft'] = 'Juster billedet til venstre'; $lang['js']['mediaright'] = 'Juster billedet til højre'; $lang['js']['mediacenter'] = 'Centreret'; $lang['js']['medianoalign'] = 'Brug ingen justering'; $lang['js']['nosmblinks'] = 'Henvisninger til Windows shares virker kun i Microsoft Internet Explorer. Du kan stadig kopiere og indsætte linket.'; -$lang['js']['linkwiz'] = 'guiden til henvisninger'; -$lang['js']['linkto'] = 'Henvise til:'; +$lang['js']['linkwiz'] = 'Guiden til henvisninger'; +$lang['js']['linkto'] = 'Henvis til:'; $lang['js']['del_confirm'] = 'Slet valgte post(er)?'; -$lang['js']['restore_confirm'] = 'Vil du virkeligt genskabe denne version?'; +$lang['js']['restore_confirm'] = 'Er du sikker på at du vil genskabe denne version?'; $lang['js']['media_diff'] = 'Vis forskelle:'; $lang['js']['media_diff_both'] = 'Side ved Side'; -$lang['js']['media_diff_opacity'] = 'Skin-igennem'; +$lang['js']['media_diff_opacity'] = 'Skin igennem'; $lang['js']['media_diff_portions'] = 'Skub'; $lang['js']['media_select'] = 'Vælg filer...'; -$lang['js']['media_upload_btn'] = 'Upload'; +$lang['js']['media_upload_btn'] = 'Overfør'; $lang['js']['media_done_btn'] = 'Færdig'; -$lang['js']['media_drop'] = 'Drop filer her for at uploade'; +$lang['js']['media_drop'] = 'Træk filer hertil for at overføre'; $lang['js']['media_cancel'] = 'fjern'; $lang['js']['media_overwrt'] = 'Overskriv eksisterende filer'; -$lang['rssfailed'] = 'Der opstod en fejl ved indhentning af: '; +$lang['rssfailed'] = 'Der opstod en fejl ved hentning af dette feed: '; $lang['nothingfound'] = 'Søgningen gav intet resultat.'; $lang['mediaselect'] = 'Vælg mediefil'; -$lang['fileupload'] = 'Overføre mediefil'; -$lang['uploadsucc'] = 'Overførelse var en succes'; -$lang['uploadfail'] = 'Overførelse fejlede. Der er muligvis problemer med rettighederne.'; -$lang['uploadwrong'] = 'Overførelse afvist. Filtypen er ikke tilladt.'; +$lang['fileupload'] = 'Overfør mediefil'; +$lang['uploadsucc'] = 'Overførels blev fuldført'; +$lang['uploadfail'] = 'Overførslen fejlede. Der er muligvis problemer med rettighederne.'; +$lang['uploadwrong'] = 'Overførslen blev afvist. Filtypen er ikke tilladt.'; $lang['uploadexist'] = 'Filen eksisterer allerede.'; -$lang['uploadbadcontent'] = 'Overføret indhold tilsvaret ikke til %s fil-endelsen.'; +$lang['uploadbadcontent'] = 'Det overført indhold svarer ikke til %s fil-endelsen.'; $lang['uploadspam'] = 'Overførelsen blev blokeret af spam sortlisten.'; $lang['uploadxss'] = 'Overførelsen blev blokeret på grund af mulig skadeligt indhold.'; -$lang['uploadsize'] = 'Den overføret fil var for stor (max. %s)'; +$lang['uploadsize'] = 'Den overførte fil var for stor (maksimal størrelse %s)'; $lang['deletesucc'] = 'Filen "%s" er blevet slettet.'; -$lang['deletefail'] = '"%s" kunne ikke slettes - check rettighederne.'; -$lang['mediainuse'] = 'Filen "%s" er ikke slettet - den er stadig i brug.'; +$lang['deletefail'] = '"%s" kunne ikke slettes - kontroller rettighederne.'; +$lang['mediainuse'] = 'Filen "%s" kan ikke slettes - den er stadig i brug.'; $lang['namespaces'] = 'Navnerum'; $lang['mediafiles'] = 'Tilgængelige filer i'; -$lang['accessdenied'] = 'Du har ikke tilladelse til at se denne side'; +$lang['accessdenied'] = 'Du har ikke tilladelse til at se denne side.'; $lang['mediausage'] = 'Brug den følgende syntaks til at henvise til denne fil:'; $lang['mediaview'] = 'Vis oprindelig fil'; $lang['mediaroot'] = 'rod'; $lang['mediaupload'] = 'Overføre en fil til det nuværende navnerum her. For at oprette under-navnerum, tilføj dem til "Overføre som" filnavnet, adskilt af kolontegn.'; -$lang['mediaextchange'] = 'Filudvidelse ændret fra .%s til .%s!'; +$lang['mediaextchange'] = 'Filtype ændret fra .%s til .%s!'; $lang['reference'] = 'Henvisning til'; $lang['ref_inuse'] = 'Filen kan ikke slettes, da den stadig er i brug på følgende sider:'; -$lang['ref_hidden'] = 'Nogle henvisninger er i dokumenter du ikke har læserettigheder til'; +$lang['ref_hidden'] = 'Nogle henvisninger er på sider du ikke har læserettigheder til'; $lang['hits'] = 'Besøg'; -$lang['quickhits'] = 'Tilsvarende dokumentnavne'; +$lang['quickhits'] = 'Tilsvarende sidenavne'; $lang['toc'] = 'Indholdsfortegnelse'; $lang['current'] = 'nuværende'; $lang['yours'] = 'Din version'; @@ -195,7 +196,7 @@ $lang['diff2'] = 'Vis forskelle i forhold til de valgte revision $lang['difflink'] = 'Link til denne sammenlinings vising'; $lang['diff_type'] = 'Vis forskelle:'; $lang['diff_inline'] = 'Indeni'; -$lang['diff_side'] = 'Side ved Side'; +$lang['diff_side'] = 'Side ved side'; $lang['diffprevrev'] = 'Forrige revision'; $lang['diffnextrev'] = 'Næste revision'; $lang['difflastrev'] = 'Sidste revision'; @@ -208,26 +209,26 @@ $lang['lastmod'] = 'Sidst ændret:'; $lang['by'] = 'af'; $lang['deleted'] = 'slettet'; $lang['created'] = 'oprettet'; -$lang['restored'] = 'gammel udgave reetableret (%s)'; +$lang['restored'] = 'gammel udgave gendannet (%s)'; $lang['external_edit'] = 'ekstern redigering'; -$lang['summary'] = 'Redigerings resumé'; -$lang['noflash'] = 'Den <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> er nødvendig til at vise denne indehold.'; -$lang['download'] = 'Hente kodestykke'; +$lang['summary'] = 'Resumé af ændrigner'; +$lang['noflash'] = 'Du skal installere <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Player</a> for at kunne se dette indhold.'; +$lang['download'] = 'Hent kodestykke'; $lang['tools'] = 'Værktøjer'; $lang['user_tools'] = 'Brugerværktøjer'; $lang['site_tools'] = 'Webstedsværktøjer'; $lang['page_tools'] = 'Sideværktøjer'; $lang['skip_to_content'] = 'hop til indhold'; $lang['sidebar'] = 'Sidebjælke'; -$lang['mail_newpage'] = 'dokument tilføjet:'; -$lang['mail_changed'] = 'dokument ændret:'; -$lang['mail_subscribe_list'] = 'sider ændret i navnerum'; +$lang['mail_newpage'] = 'side tilføjet:'; +$lang['mail_changed'] = 'side ændret:'; +$lang['mail_subscribe_list'] = 'sider ændret i navnerum:'; $lang['mail_new_user'] = 'Ny bruger'; -$lang['mail_upload'] = 'fil overføret:'; +$lang['mail_upload'] = 'fil overført:'; $lang['changes_type'] = 'Vis ændringer af'; $lang['pages_changes'] = 'Sider'; -$lang['media_changes'] = 'Media filer'; -$lang['both_changes'] = 'Både sider og media filer'; +$lang['media_changes'] = 'Mediefiler'; +$lang['both_changes'] = 'Både sider og medie filer'; $lang['qb_bold'] = 'Fed'; $lang['qb_italic'] = 'Kursiv'; $lang['qb_underl'] = 'Understregning'; @@ -239,7 +240,7 @@ $lang['qb_h3'] = 'Niveau 3 overskrift'; $lang['qb_h4'] = 'Niveau 4 overskrift'; $lang['qb_h5'] = 'Niveau 5 overskrift'; $lang['qb_h'] = 'Overskrift'; -$lang['qb_hs'] = 'Vælg overskriften'; +$lang['qb_hs'] = 'Vælg overskrift'; $lang['qb_hplus'] = 'Højere overskriftsniveau'; $lang['qb_hminus'] = 'Lavere overskriftsniveau'; $lang['qb_hequal'] = 'Samme overskriftsniveau'; @@ -247,7 +248,7 @@ $lang['qb_link'] = 'Intern henvisning'; $lang['qb_extlink'] = 'Ekstern henvisning'; $lang['qb_hr'] = 'Vandret linje'; $lang['qb_ol'] = 'Nummereret liste'; -$lang['qb_ul'] = 'Unummereret liste'; +$lang['qb_ul'] = 'Punktopstilling'; $lang['qb_media'] = 'Tilføj billeder og andre filer'; $lang['qb_sig'] = 'Indsæt signatur'; $lang['qb_smileys'] = 'Smileys'; @@ -255,7 +256,7 @@ $lang['qb_chars'] = 'Specialtegn'; $lang['upperns'] = 'Gå til overordnet navnerum'; $lang['admin_register'] = 'Tilføj ny bruger'; $lang['metaedit'] = 'Rediger metadata'; -$lang['metasaveerr'] = 'Skrivning af metadata fejlede'; +$lang['metasaveerr'] = 'Fejl under skrivning af metadata'; $lang['metasaveok'] = 'Metadata gemt'; $lang['img_title'] = 'Titel:'; $lang['img_caption'] = 'Billedtekst:'; diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index 8f4cb2977..865110ab9 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -37,6 +37,7 @@ * @author Antonio Castilla <antoniocastilla@trazoide.com> * @author Jonathan Hernández <me@jhalicea.com> * @author pokesakura <pokesakura@gmail.com> + * @author Álvaro Iradier <airadier@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -98,7 +99,7 @@ $lang['badpassconfirm'] = 'Lo siento, la contraseña es errónea'; $lang['minoredit'] = 'Cambios menores'; $lang['draftdate'] = 'Borrador guardado automáticamente:'; $lang['nosecedit'] = 'La página ha cambiado en el lapso, la información de sección estaba anticuada, en su lugar se cargó la página completa.'; -$lang['searchcreatepage'] = "Si no has encontrado lo que buscabas, puedes crear una nueva página con tu consulta utilizando el botón ''Crea esta página''."; +$lang['searchcreatepage'] = 'Si no has encontrado lo que buscabas, puedes crear una nueva página con tu consulta utilizando el botón \'\'Crea esta página\'\'.'; $lang['regmissing'] = 'Lo siento, tienes que completar todos los campos.'; $lang['reguexists'] = 'Lo siento, ya existe un usuario con este nombre.'; $lang['regsuccess'] = 'El usuario ha sido creado y la contraseña se ha enviado por correo.'; @@ -369,3 +370,4 @@ $lang['currentns'] = 'Espacio de nombres actual'; $lang['searchresult'] = 'Resultado de la búsqueda'; $lang['plainhtml'] = 'HTML sencillo'; $lang['wikimarkup'] = 'Etiquetado Wiki'; +$lang['page_nonexist_rev'] = 'La página no existía en %s. Por tanto fue creada en <a href="%s">%s</a>.'; diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index 9deff1220..fb3890c9e 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -228,7 +228,7 @@ $lang['restored'] = 'ancienne révision (%s) restaurée'; $lang['external_edit'] = 'modification externe'; $lang['summary'] = 'Résumé'; $lang['noflash'] = 'L\'<a href="http://www.adobe.com/products/flashplayer/">extension Adobe Flash</a> est nécessaire pour afficher ce contenu.'; -$lang['download'] = 'Télécharger un extrait'; +$lang['download'] = 'Télécharger cet extrait'; $lang['tools'] = 'Outils'; $lang['user_tools'] = 'Outils pour utilisateurs'; $lang['site_tools'] = 'Outils du site'; diff --git a/inc/lang/he/lang.php b/inc/lang/he/lang.php index 5e2ecbdff..1b8710df9 100644 --- a/inc/lang/he/lang.php +++ b/inc/lang/he/lang.php @@ -13,6 +13,7 @@ * @author alex <ralexay@gmail.com> * @author matt carroll <matt.carroll@gmail.com> * @author tomer <tomercarolldergicz@gmail.com> + * @author itsho <itsho.itsho@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'rtl'; @@ -57,6 +58,8 @@ $lang['btn_register'] = 'הרשמה'; $lang['btn_apply'] = 'ליישם'; $lang['btn_media'] = 'מנהל המדיה'; $lang['btn_deleteuser'] = 'להסיר את החשבון שלי'; +$lang['btn_img_backto'] = 'חזרה אל %s'; +$lang['btn_mediaManager'] = 'צפה במנהל מדיה'; $lang['loggedinas'] = 'נכנסת בשם:'; $lang['user'] = 'שם משתמש'; $lang['pass'] = 'ססמה'; @@ -188,6 +191,11 @@ $lang['difflink'] = 'קישור לתצוגה השוואה זו'; $lang['diff_type'] = 'הצגת הבדלים:'; $lang['diff_inline'] = 'באותה השורה'; $lang['diff_side'] = 'זה לצד זה'; +$lang['diffprevrev'] = 'הגירסה הקודמת'; +$lang['diffnextrev'] = 'הגירסה הבאה'; +$lang['difflastrev'] = 'הגירסה האחרונה'; +$lang['diffbothprevrev'] = 'גירסה קודמת בשני הצדדים'; +$lang['diffbothnextrev'] = 'הגירסה הבאה בשני הצדדים'; $lang['line'] = 'שורה'; $lang['breadcrumb'] = 'ביקורים אחרונים:'; $lang['youarehere'] = 'זהו מיקומך:'; @@ -244,7 +252,6 @@ $lang['admin_register'] = 'הוספת משתמש חדש'; $lang['metaedit'] = 'עריכת נתוני העל'; $lang['metasaveerr'] = 'אירע כשל בשמירת נתוני העל'; $lang['metasaveok'] = 'נתוני העל נשמרו'; -$lang['btn_img_backto'] = 'חזרה אל %s'; $lang['img_title'] = 'שם:'; $lang['img_caption'] = 'כותרת:'; $lang['img_date'] = 'תאריך:'; @@ -257,7 +264,6 @@ $lang['img_camera'] = 'מצלמה:'; $lang['img_keywords'] = 'מילות מפתח:'; $lang['img_width'] = 'רוחב:'; $lang['img_height'] = 'גובה:'; -$lang['btn_mediaManager'] = 'צפה במנהל מדיה'; $lang['subscr_subscribe_success'] = '%s נוסף לרשימת המינויים לדף %s'; $lang['subscr_subscribe_error'] = 'אירעה שגיאה בהוספת %s לרשימת המינויים לדף %s'; $lang['subscr_subscribe_noaddress'] = 'אין כתובת המשויכת עם הכניסה שלך, נא ניתן להוסיף אותך לרשימת המינויים'; @@ -287,6 +293,7 @@ $lang['i_modified'] = 'משיקולי אבטחה סקריפט זה י <a href="http://dokuwiki.org/install">Dokuwiki installation instructions</a>'; $lang['i_funcna'] = 'פונקציית ה-PHP‏ <code>%s</code> אינה זמינה. יתכן כי מארח האתר חסם אותה מסיבה כלשהי?'; $lang['i_phpver'] = 'גרסת PHP שלך <code>%s</code> נמוכה מ <code>%s</code> הצורך. אתה צריך לשדרג PHP שלך להתקין.'; +$lang['i_mbfuncoverload'] = 'יש לבטל את mbstring.func_overload בphp.ini בכדי להריץ את DokuWiki'; $lang['i_permfail'] = '<code>%s</code> אינה ניתנת לכתיבה על ידי DokuWiki. עליך לשנות הרשאות תיקייה זו!'; $lang['i_confexists'] = '<code>%s</code> כבר קיים'; $lang['i_writeerr'] = 'אין אפשרות ליצור את <code>%s</code>. נא לבדוק את הרשאות הקובץ/תיקייה וליצור את הקובץ ידנית.'; @@ -326,3 +333,18 @@ $lang['media_sort_date'] = 'תאריך'; $lang['media_namespaces'] = 'בחר מרחב שמות'; $lang['media_files'] = 'קבצים ב s%'; $lang['media_upload'] = 'להעלות s%'; +$lang['media_search'] = 'חיפוש ב%s'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s ב %s'; +$lang['media_edit'] = 'ערוך %s'; +$lang['media_history'] = 'היסטוריה של %s'; +$lang['media_meta_edited'] = 'metadata נערך'; +$lang['media_perm_read'] = 'מצטערים, אין לך הרשאות לקרוא קבצים.'; +$lang['media_perm_upload'] = 'מצטערים, אין לך הרשאות להעלות קבצים.'; +$lang['media_update'] = 'העלה גירסה חדשה'; +$lang['media_restore'] = 'שחזר גירסה זו'; +$lang['currentns'] = 'שם מרחב נוכחי'; +$lang['searchresult'] = 'תוצאות חיפוש'; +$lang['plainhtml'] = 'HTML פשוט'; +$lang['page_nonexist_rev'] = 'העמוד לא קיים ב%s. העמוד נוצר במקום זאת ב<a href="%s">%s</a>.'; +$lang['unable_to_parse_date'] = 'לא ניתן לפענח פרמטר "%s".'; diff --git a/inc/lang/he/resetpwd.txt b/inc/lang/he/resetpwd.txt new file mode 100644 index 000000000..bd7b5ace4 --- /dev/null +++ b/inc/lang/he/resetpwd.txt @@ -0,0 +1,3 @@ +====== קבע סיסמה חדשה ====== + +אנא הכנס סיסמה חדשה לחשבון שלך בויקי זה.
\ No newline at end of file diff --git a/inc/lang/ru/index.txt b/inc/lang/ru/index.txt index fc42f87ff..ab669918a 100644 --- a/inc/lang/ru/index.txt +++ b/inc/lang/ru/index.txt @@ -1,4 +1,4 @@ ====== Содержание ====== -Перед вами список доступных страниц, упорядоченный по ([[doku>namespaces|пространствам имён]]). +Перед вами список доступных страниц, упорядоченный по [[doku>namespaces|пространствам имён]]. diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index ffe513386..96278d53b 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -107,7 +107,7 @@ $lang['profchanged'] = 'Профиль пользователя усп $lang['profnodelete'] = 'Удалённый пользователь не может работать с этим документом'; $lang['profdeleteuser'] = 'Удалить аккаунт'; $lang['profdeleted'] = 'Ваш аккаунт был удален из этой вики'; -$lang['profconfdelete'] = 'Я хочу удалить мой аккаунт из этой вики.<br />Это действие необратимо.'; +$lang['profconfdelete'] = 'Я хочу удалить свой аккаунт из этой вики. <br /> Это действие необратимо.'; $lang['profconfdeletemissing'] = 'Флажок подтверждения не установлен'; $lang['pwdforget'] = 'Забыли пароль? Получите новый'; $lang['resendna'] = 'Данная вики не поддерживает повторную отправку пароля.'; @@ -179,7 +179,7 @@ $lang['uploadexist'] = 'Файл с таким именем сущес $lang['uploadbadcontent'] = 'Содержание файла не соответствует расширению %s.'; $lang['uploadspam'] = 'Загрузка заблокирована спам-фильтром.'; $lang['uploadxss'] = 'Загрузка заблокирована по соображениям безопасности.'; -$lang['uploadsize'] = 'Загруженный файл был слишком большой. (макс. %s)'; +$lang['uploadsize'] = 'Загруженный файл был слишком большой. (Макс. %s)'; $lang['deletesucc'] = 'Файл «%s» был удалён.'; $lang['deletefail'] = 'Невозможно удалить файл «%s». Проверьте права доступа к файлу.'; $lang['mediainuse'] = 'Файл «%s» не был удалён — файл всё ещё используется.'; @@ -307,7 +307,7 @@ $lang['i_modified'] = 'Из соображений безопасно <a href="http://www.dokuwiki.org/install">инструкции по установке «Докувики»</a>'; $lang['i_funcna'] = 'Функция PHP <code>%s</code> недоступна. Может быть, она по какой-то причине заблокирована вашим хостером?'; $lang['i_phpver'] = 'Ваша версия PHP (<code>%s</code>) ниже требуемой (<code>%s</code>). Вам необходимо обновить установленную версию PHP.'; -$lang['i_mbfuncoverload'] = 'Для запуска "Докувики" необходимо отключить параметр mbstring.func_overload в php.ini'; +$lang['i_mbfuncoverload'] = 'Для запуска «Докувики» необходимо отключить параметр mbstring.func_overload в php.ini'; $lang['i_permfail'] = '<code>%s</code> недоступна для записи «Докувики». Вам необходимо исправить системные права доступа для этой директории!'; $lang['i_confexists'] = '<code>%s</code> уже существует'; $lang['i_writeerr'] = 'Не удалось создать <code>%s</code>. Вам необходимо проверить системные права доступа к файлу и директориям, и создать файл вручную. '; diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index d960eb799..6f55834d0 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -360,3 +360,5 @@ $lang['currentns'] = '当前命名空间'; $lang['searchresult'] = '搜索结果'; $lang['plainhtml'] = '纯HTML'; $lang['wikimarkup'] = 'Wiki Markup 语言'; +$lang['page_nonexist_rev'] = '页面在 %s 不存在。它曾创建于 <a href="%s">%s</a>。'; +$lang['unable_to_parse_date'] = '无法解析参数 "%s"。'; diff --git a/inc/parser/code.php b/inc/parser/code.php index 00b956c27..2353e0dfa 100644 --- a/inc/parser/code.php +++ b/inc/parser/code.php @@ -21,6 +21,11 @@ class Doku_Renderer_code extends Doku_Renderer { $filename = utf8_basename($filename); $filename = utf8_stripspecials($filename, '_'); + // send CRLF to Windows clients + if(strpos($INPUT->server->str('HTTP_USER_AGENT'), 'Windows') !== false) { + $text = str_replace("\n", "\r\n", $text); + } + if($this->_codeblock == $INPUT->str('codeblock')) { header("Content-Type: text/plain; charset=utf-8"); header("Content-Disposition: attachment; filename=$filename"); diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php index e1d28267a..35bdd0e3f 100644 --- a/inc/parser/renderer.php +++ b/inc/parser/renderer.php @@ -708,6 +708,18 @@ class Doku_Renderer extends DokuWiki_Plugin { } /** + * Open a table body + */ + function tabletbody_open() { + } + + /** + * Close a table body + */ + function tabletbody_close() { + } + + /** * Open a table row */ function tablerow_open() { diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index c68d206be..d1bf91a02 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -1290,6 +1290,20 @@ class Doku_Renderer_xhtml extends Doku_Renderer { } /** + * Open a table body + */ + function tabletbody_open() { + $this->doc .= DOKU_TAB.'<tbody>'.DOKU_LF; + } + + /** + * Close a table body + */ + function tabletbody_close() { + $this->doc .= DOKU_TAB.'</tbody>'.DOKU_LF; + } + + /** * Open a table row */ function tablerow_open() { @@ -1753,7 +1767,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $out .= '</audio>'.NL; return $out; } - + /** * _getLastMediaRevisionAt is a helperfunction to internalmedia() and _media() * which returns an existing media revision less or equal to rev or date_at diff --git a/inc/template.php b/inc/template.php index 646f0873a..a4ace1a63 100644 --- a/inc/template.php +++ b/inc/template.php @@ -840,6 +840,7 @@ function tpl_searchform($ajax = true, $autocomplete = true) { print '<input type="hidden" name="do" value="search" />'; print '<input type="text" '; if($ACT == 'search') print 'value="'.htmlspecialchars($QUERY).'" '; + print 'placeholder="'.$lang['btn_search'].'" '; if(!$autocomplete) print 'autocomplete="off" '; print 'id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" />'; print '<input type="submit" value="'.$lang['btn_search'].'" class="button" title="'.$lang['btn_search'].'" />'; @@ -893,12 +894,12 @@ function tpl_breadcrumbs($sep = '•') { * @author Nigel McNie <oracle.shinoda@gmail.com> * @author Sean Coates <sean@caedmon.net> * @author <fredrik@averpil.com> - * @todo May behave strangely in RTL languages + * @author Mark C. Prins <mprins@users.sf.net> * * @param string $sep Separator between entries * @return bool */ -function tpl_youarehere($sep = ' » ') { +function tpl_youarehere($sep = ' → ') { global $conf; global $ID; global $lang; @@ -909,12 +910,15 @@ function tpl_youarehere($sep = ' » ') { $parts = explode(':', $ID); $count = count($parts); - echo '<span class="bchead">'.$lang['youarehere'].' </span>'; - + echo '<nav><h2 class="bchead">'.$lang['youarehere'].': </h2>'; + echo '<ul class="navlist">'; // always print the startpage - echo '<span class="home">'; - tpl_pagelink(':'.$conf['start']); - echo '</span>'; + if ($count > 1) { + echo '<li class="home">'.html_wikilink(':'.$conf['start']).$sep.'</li>'; + } else { + echo '<li class="home">'.$conf['start'].'</li>'; + } + // print intermediate namespace links $part = ''; @@ -923,18 +927,28 @@ function tpl_youarehere($sep = ' » ') { $page = $part; if($page == $conf['start']) continue; // Skip startpage - // output - echo $sep; - tpl_pagelink($page); + echo '<li>'.html_wikilink($page); + if ($i < $count - 2) { + echo $sep.'</li>'; + } else { + echo '</li>'; + } } // print current page, skipping start page, skipping for namespace index resolve_pageid('', $page, $exists); - if(isset($page) && $page == $part.$parts[$i]) return true; + if(isset($page) && $page == $part.$parts[$i]) { + echo '</li></ul></nav>'; + return true; + } + $page = $part.$parts[$i]; - if($page == $conf['start']) return true; - echo $sep; - tpl_pagelink($page); + if($page == $conf['start']) { + echo '</li></ul></nav>'; + return true; + } + + echo $sep.'</li><li class="curid">'.noNSorNS($page).'</li></ul></nav>'; return true; } diff --git a/inc/utf8.php b/inc/utf8.php index f86217686..2b6a0c498 100644 --- a/inc/utf8.php +++ b/inc/utf8.php @@ -356,8 +356,12 @@ if(!function_exists('utf8_strtolower')){ * @return string */ function utf8_strtolower($string){ - if(UTF8_MBSTRING) return mb_strtolower($string,'utf-8'); - + if(UTF8_MBSTRING) { + if (class_exists("Normalizer", $autoload = false)) + return normalizer::normalize(mb_strtolower($string,'utf-8')); + else + return (mb_strtolower($string,'utf-8')); + } global $UTF8_UPPER_TO_LOWER; return strtr($string,$UTF8_UPPER_TO_LOWER); } @@ -1066,11 +1070,11 @@ if(!UTF8_MBSTRING){ "z"=>"Z","y"=>"Y","x"=>"X","w"=>"W","v"=>"V","u"=>"U","t"=>"T","s"=>"S","r"=>"R","q"=>"Q", "p"=>"P","o"=>"O","n"=>"N","m"=>"M","l"=>"L","k"=>"K","j"=>"J","i"=>"I","h"=>"H","g"=>"G", "f"=>"F","e"=>"E","d"=>"D","c"=>"C","b"=>"B","a"=>"A","ῳ"=>"ῼ","ῥ"=>"Ῥ","ῡ"=>"Ῡ","ῑ"=>"Ῑ", - "ῐ"=>"Ῐ","ῃ"=>"ῌ","ι"=>"Ι","ᾳ"=>"ᾼ","ᾱ"=>"Ᾱ","ᾰ"=>"Ᾰ","ᾧ"=>"ᾯ","ᾦ"=>"ᾮ","ᾥ"=>"ᾭ","ᾤ"=>"ᾬ", + "ῐ"=>"Ῐ","ῃ"=>"ῌ","ι"=>"Ι","ᾳ"=>"ᾼ","ᾱ"=>"Ᾱ","ᾰ"=>"Ᾰ","ᾧ"=>"ᾯ","ᾦ"=>"ᾮ","ᾥ"=>"ᾭ","ᾤ"=>"ᾬ", "ᾣ"=>"ᾫ","ᾢ"=>"ᾪ","ᾡ"=>"ᾩ","ᾗ"=>"ᾟ","ᾖ"=>"ᾞ","ᾕ"=>"ᾝ","ᾔ"=>"ᾜ","ᾓ"=>"ᾛ","ᾒ"=>"ᾚ","ᾑ"=>"ᾙ", - "ᾐ"=>"ᾘ","ᾇ"=>"ᾏ","ᾆ"=>"ᾎ","ᾅ"=>"ᾍ","ᾄ"=>"ᾌ","ᾃ"=>"ᾋ","ᾂ"=>"ᾊ","ᾁ"=>"ᾉ","ᾀ"=>"ᾈ","ώ"=>"Ώ", - "ὼ"=>"Ὼ","ύ"=>"Ύ","ὺ"=>"Ὺ","ό"=>"Ό","ὸ"=>"Ὸ","ί"=>"Ί","ὶ"=>"Ὶ","ή"=>"Ή","ὴ"=>"Ὴ","έ"=>"Έ", - "ὲ"=>"Ὲ","ά"=>"Ά","ὰ"=>"Ὰ","ὧ"=>"Ὧ","ὦ"=>"Ὦ","ὥ"=>"Ὥ","ὤ"=>"Ὤ","ὣ"=>"Ὣ","ὢ"=>"Ὢ","ὡ"=>"Ὡ", + "ᾐ"=>"ᾘ","ᾇ"=>"ᾏ","ᾆ"=>"ᾎ","ᾅ"=>"ᾍ","ᾄ"=>"ᾌ","ᾃ"=>"ᾋ","ᾂ"=>"ᾊ","ᾁ"=>"ᾉ","ᾀ"=>"ᾈ","ώ"=>"Ώ", + "ὼ"=>"Ὼ","ύ"=>"Ύ","ὺ"=>"Ὺ","ό"=>"Ό","ὸ"=>"Ὸ","ί"=>"Ί","ὶ"=>"Ὶ","ή"=>"Ή","ὴ"=>"Ὴ","έ"=>"Έ", + "ὲ"=>"Ὲ","ά"=>"Ά","ὰ"=>"Ὰ","ὧ"=>"Ὧ","ὦ"=>"Ὦ","ὥ"=>"Ὥ","ὤ"=>"Ὤ","ὣ"=>"Ὣ","ὢ"=>"Ὢ","ὡ"=>"Ὡ", "ὗ"=>"Ὗ","ὕ"=>"Ὕ","ὓ"=>"Ὓ","ὑ"=>"Ὑ","ὅ"=>"Ὅ","ὄ"=>"Ὄ","ὃ"=>"Ὃ","ὂ"=>"Ὂ","ὁ"=>"Ὁ","ὀ"=>"Ὀ", "ἷ"=>"Ἷ","ἶ"=>"Ἶ","ἵ"=>"Ἵ","ἴ"=>"Ἴ","ἳ"=>"Ἳ","ἲ"=>"Ἲ","ἱ"=>"Ἱ","ἰ"=>"Ἰ","ἧ"=>"Ἧ","ἦ"=>"Ἦ", "ἥ"=>"Ἥ","ἤ"=>"Ἤ","ἣ"=>"Ἣ","ἢ"=>"Ἢ","ἡ"=>"Ἡ","ἕ"=>"Ἕ","ἔ"=>"Ἔ","ἓ"=>"Ἓ","ἒ"=>"Ἒ","ἑ"=>"Ἑ", @@ -1145,11 +1149,11 @@ if(!UTF8_MBSTRING){ "Z"=>"z","Y"=>"y","X"=>"x","W"=>"w","V"=>"v","U"=>"u","T"=>"t","S"=>"s","R"=>"r","Q"=>"q", "P"=>"p","O"=>"o","N"=>"n","M"=>"m","L"=>"l","K"=>"k","J"=>"j","I"=>"i","H"=>"h","G"=>"g", "F"=>"f","E"=>"e","D"=>"d","C"=>"c","B"=>"b","A"=>"a","ῼ"=>"ῳ","Ῥ"=>"ῥ","Ῡ"=>"ῡ","Ῑ"=>"ῑ", - "Ῐ"=>"ῐ","ῌ"=>"ῃ","Ι"=>"ι","ᾼ"=>"ᾳ","Ᾱ"=>"ᾱ","Ᾰ"=>"ᾰ","ᾯ"=>"ᾧ","ᾮ"=>"ᾦ","ᾭ"=>"ᾥ","ᾬ"=>"ᾤ", + "Ῐ"=>"ῐ","ῌ"=>"ῃ","Ι"=>"ι","ᾼ"=>"ᾳ","Ᾱ"=>"ᾱ","Ᾰ"=>"ᾰ","ᾯ"=>"ᾧ","ᾮ"=>"ᾦ","ᾭ"=>"ᾥ","ᾬ"=>"ᾤ", "ᾫ"=>"ᾣ","ᾪ"=>"ᾢ","ᾩ"=>"ᾡ","ᾟ"=>"ᾗ","ᾞ"=>"ᾖ","ᾝ"=>"ᾕ","ᾜ"=>"ᾔ","ᾛ"=>"ᾓ","ᾚ"=>"ᾒ","ᾙ"=>"ᾑ", - "ᾘ"=>"ᾐ","ᾏ"=>"ᾇ","ᾎ"=>"ᾆ","ᾍ"=>"ᾅ","ᾌ"=>"ᾄ","ᾋ"=>"ᾃ","ᾊ"=>"ᾂ","ᾉ"=>"ᾁ","ᾈ"=>"ᾀ","Ώ"=>"ώ", - "Ὼ"=>"ὼ","Ύ"=>"ύ","Ὺ"=>"ὺ","Ό"=>"ό","Ὸ"=>"ὸ","Ί"=>"ί","Ὶ"=>"ὶ","Ή"=>"ή","Ὴ"=>"ὴ","Έ"=>"έ", - "Ὲ"=>"ὲ","Ά"=>"ά","Ὰ"=>"ὰ","Ὧ"=>"ὧ","Ὦ"=>"ὦ","Ὥ"=>"ὥ","Ὤ"=>"ὤ","Ὣ"=>"ὣ","Ὢ"=>"ὢ","Ὡ"=>"ὡ", + "ᾘ"=>"ᾐ","ᾏ"=>"ᾇ","ᾎ"=>"ᾆ","ᾍ"=>"ᾅ","ᾌ"=>"ᾄ","ᾋ"=>"ᾃ","ᾊ"=>"ᾂ","ᾉ"=>"ᾁ","ᾈ"=>"ᾀ","Ώ"=>"ώ", + "Ὼ"=>"ὼ","Ύ"=>"ύ","Ὺ"=>"ὺ","Ό"=>"ό","Ὸ"=>"ὸ","Ί"=>"ί","Ὶ"=>"ὶ","Ή"=>"ή","Ὴ"=>"ὴ","Έ"=>"έ", + "Ὲ"=>"ὲ","Ά"=>"ά","Ὰ"=>"ὰ","Ὧ"=>"ὧ","Ὦ"=>"ὦ","Ὥ"=>"ὥ","Ὤ"=>"ὤ","Ὣ"=>"ὣ","Ὢ"=>"ὢ","Ὡ"=>"ὡ", "Ὗ"=>"ὗ","Ὕ"=>"ὕ","Ὓ"=>"ὓ","Ὑ"=>"ὑ","Ὅ"=>"ὅ","Ὄ"=>"ὄ","Ὃ"=>"ὃ","Ὂ"=>"ὂ","Ὁ"=>"ὁ","Ὀ"=>"ὀ", "Ἷ"=>"ἷ","Ἶ"=>"ἶ","Ἵ"=>"ἵ","Ἴ"=>"ἴ","Ἳ"=>"ἳ","Ἲ"=>"ἲ","Ἱ"=>"ἱ","Ἰ"=>"ἰ","Ἧ"=>"ἧ","Ἦ"=>"ἦ", "Ἥ"=>"ἥ","Ἤ"=>"ἤ","Ἣ"=>"ἣ","Ἢ"=>"ἢ","Ἡ"=>"ἡ","Ἕ"=>"ἕ","Ἔ"=>"ἔ","Ἓ"=>"ἓ","Ἒ"=>"ἒ","Ἑ"=>"ἑ", @@ -1355,11 +1359,11 @@ global $UTF8_SPECIAL_CHARS2; if(empty($UTF8_SPECIAL_CHARS2)) $UTF8_SPECIAL_CHARS2 = "\x1A".' !"#$%&\'()+,/;<=>?@[\]^`{|}~
�'. '� ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½�'. - '�¿×÷ˇ˘˙˚˛˜˝̣̀́̃̉΄΅·ϖְֱֲֳִֵֶַָֹֻּֽ־ֿ�'. + '�¿×÷ˇ˘˙˚˛˜˝̣̀́̃̉΄΅·ϖְֱֲֳִֵֶַָֹֻּֽ־ֿ�'. '�ׁׂ׃׳״،؛؟ـًٌٍَُِّْ٪฿–—―‗‘’‚“”�'. - '��†‡•…‰′″‹›⁄₧₪₫€№℘™Ωℵ←↑→↓↔↕↵'. + '��†‡•…‰′″‹›⁄₧₪₫€№℘™Ωℵ←↑→↓↔↕↵'. '⇐⇑⇒⇓⇔∀∂∃∅∆∇∈∉∋∏∑−∕∗∙√∝∞∠∧∨�'. - '�∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌐⌠⌡〈〉⑩─�'. + '�∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌐⌠⌡〈〉⑩─�'. '��┌┐└┘├┤┬┴┼═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠'. '╡╢╣╤╥╦╧╨╩╪╫╬▀▄█▌▐░▒▓■▲▼◆◊●�'. '�★☎☛☞♠♣♥♦✁✂✃✄✆✇✈✉✌✍✎✏✐✑✒✓✔✕�'. |