diff options
Diffstat (limited to 'inc')
-rw-r--r-- | inc/auth.php | 28 | ||||
-rw-r--r-- | inc/html.php | 8 | ||||
-rw-r--r-- | inc/io.php | 50 | ||||
-rw-r--r-- | inc/lang/cs/lang.php | 6 | ||||
-rw-r--r-- | inc/lang/el/lang.php | 1 | ||||
-rw-r--r-- | inc/lang/id/adminplugins.txt | 1 | ||||
-rw-r--r-- | inc/lang/id/lang.php | 28 | ||||
-rw-r--r-- | inc/lang/pl/lang.php | 6 | ||||
-rw-r--r-- | inc/lang/sk/lang.php | 1 | ||||
-rw-r--r-- | inc/lang/tr/lang.php | 13 | ||||
-rw-r--r-- | inc/load.php | 1 | ||||
-rw-r--r-- | inc/media.php | 1 | ||||
-rw-r--r-- | inc/parser/parser.php | 80 | ||||
-rw-r--r-- | inc/plugin.php | 27 |
14 files changed, 225 insertions, 26 deletions
diff --git a/inc/auth.php b/inc/auth.php index b793f5d12..6000ea6d7 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -661,17 +661,39 @@ function auth_quickaclcheck($id) { } /** - * Returns the maximum rights a user has for - * the given ID or its namespace + * Returns the maximum rights a user has for the given ID or its namespace * * @author Andreas Gohr <andi@splitbrain.org> - * + * @triggers AUTH_ACL_CHECK * @param string $id page ID (needs to be resolved and cleaned) * @param string $user Username * @param array|null $groups Array of groups the user is in * @return int permission level */ function auth_aclcheck($id, $user, $groups) { + $data = array( + 'id' => $id, + 'user' => $user, + 'groups' => $groups + ); + + return trigger_event('AUTH_ACL_CHECK', $data, 'auth_aclcheck_cb'); +} + +/** + * default ACL check method + * + * DO NOT CALL DIRECTLY, use auth_aclcheck() instead + * + * @author Andreas Gohr <andi@splitbrain.org> + * @param array $data event data + * @return int permission level + */ +function auth_aclcheck_cb($data) { + $id =& $data['id']; + $user =& $data['user']; + $groups =& $data['groups']; + global $conf; global $AUTH_ACL; /* @var DokuWiki_Auth_Plugin $auth */ diff --git a/inc/html.php b/inc/html.php index 7f473cdb6..5941a9af2 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1698,12 +1698,12 @@ function html_admin(){ } unset($menu['acl']); - if($menu['plugin']){ + if($menu['extension']){ ptln(' <li class="admin_plugin"><div class="li">'. - '<a href="'.wl($ID, array('do' => 'admin','page' => 'plugin')).'">'. - $menu['plugin']['prompt'].'</a></div></li>'); + '<a href="'.wl($ID, array('do' => 'admin','page' => 'extension')).'">'. + $menu['extension']['prompt'].'</a></div></li>'); } - unset($menu['plugin']); + unset($menu['extension']); if($menu['config']){ ptln(' <li class="admin_config"><div class="li">'. diff --git a/inc/io.php b/inc/io.php index eff0279ac..c5225a2e0 100644 --- a/inc/io.php +++ b/inc/io.php @@ -401,6 +401,56 @@ function io_mkdir_p($target){ } /** + * Recursively delete a directory + * + * @author Andreas Gohr <andi@splitbrain.org> + * @param string $path + * @param bool $removefiles defaults to false which will delete empty directories only + * @return bool + */ +function io_rmdir($path, $removefiles = false) { + if(!is_string($path) || $path == "") return false; + if(!file_exists($path)) return true; // it's already gone or was never there, count as success + + if(is_dir($path) && !is_link($path)) { + $dirs = array(); + $files = array(); + + if(!$dh = @opendir($path)) return false; + while(false !== ($f = readdir($dh))) { + if($f == '..' || $f == '.') continue; + + // collect dirs and files first + if(is_dir("$path/$f") && !is_link("$path/$f")) { + $dirs[] = "$path/$f"; + } else if($removefiles) { + $files[] = "$path/$f"; + } else { + return false; // abort when non empty + } + + } + closedir($dh); + + // now traverse into directories first + foreach($dirs as $dir) { + if(!io_rmdir($dir, $removefiles)) return false; // abort on any error + } + + // now delete files + foreach($files as $file) { + if(!@unlink($file)) return false; //abort on any error + } + + // remove self + return @rmdir($path); + } else if($removefiles) { + return @unlink($path); + } + return false; +} + +/** * Creates a directory using FTP * * This is used when the safemode workaround is enabled diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php index 56ffd91de..a0f69b3dc 100644 --- a/inc/lang/cs/lang.php +++ b/inc/lang/cs/lang.php @@ -16,6 +16,7 @@ * @author mkucera66@seznam.cz * @author Zbyněk Křivka <krivka@fit.vutbr.cz> * @author Gerrit Uitslag <klapinklapin@gmail.com> + * @author Petr Klíma <qaxi@seznam.cz> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -299,6 +300,7 @@ $lang['i_policy'] = 'Úvodní politika ACL'; $lang['i_pol0'] = 'Otevřená wiki (čtení, zápis a upload pro všechny)'; $lang['i_pol1'] = 'Veřejná wiki (čtení pro všechny, zápis a upload pro registrované uživatele)'; $lang['i_pol2'] = 'Uzavřená wiki (čtení, zápis a upload pouze pro registrované uživatele)'; +$lang['i_allowreg'] = 'Povol uživatelům registraci'; $lang['i_retry'] = 'Zkusit znovu'; $lang['i_license'] = 'Vyberte prosím licenci obsahu:'; $lang['i_license_none'] = 'Nezobrazovat žádné licenční informace'; @@ -336,3 +338,7 @@ $lang['media_perm_read'] = 'Bohužel, nemáte práva číst soubory.'; $lang['media_perm_upload'] = 'Bohužel, nemáte práva nahrávat soubory.'; $lang['media_update'] = 'Nahrát novou verzi'; $lang['media_restore'] = 'Obnovit tuto verzi'; +$lang['currentns'] = 'Aktuální jmenný prostor'; +$lang['searchresult'] = 'Výsledek hledání'; +$lang['plainhtml'] = 'Čisté HTML'; +$lang['wikimarkup'] = 'Wiki jazyk'; diff --git a/inc/lang/el/lang.php b/inc/lang/el/lang.php index 8007f2b23..170e101a5 100644 --- a/inc/lang/el/lang.php +++ b/inc/lang/el/lang.php @@ -11,6 +11,7 @@ * @author Vasileios Karavasilis vasileioskaravasilis@gmail.com * @author Constantinos Xanthopoulos <conx@xanthopoulos.info> * @author chris taklis <ctaklis@gmail.com> + * @author cross <cross1962@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; diff --git a/inc/lang/id/adminplugins.txt b/inc/lang/id/adminplugins.txt new file mode 100644 index 000000000..2a91b3d1a --- /dev/null +++ b/inc/lang/id/adminplugins.txt @@ -0,0 +1 @@ +=====Plugin Tambahan=====
\ No newline at end of file diff --git a/inc/lang/id/lang.php b/inc/lang/id/lang.php index 3d99c9a22..5cb5cb6ea 100644 --- a/inc/lang/id/lang.php +++ b/inc/lang/id/lang.php @@ -7,6 +7,7 @@ * @author Irwan Butar Butar <irwansah.putra@gmail.com> * @author Yustinus Waruwu <juswaruwu@gmail.com> * @author zamroni <therons@ymail.com> + * @author umriya afini <bigdream.power@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -42,9 +43,14 @@ $lang['btn_backtomedia'] = 'Kembali ke Pilihan Mediafile'; $lang['btn_subscribe'] = 'Ikuti Perubahan'; $lang['btn_profile'] = 'Ubah Profil'; $lang['btn_reset'] = 'Reset'; +$lang['btn_resendpwd'] = 'Atur password baru'; $lang['btn_draft'] = 'Edit draft'; +$lang['btn_recover'] = 'Cadangkan draf'; $lang['btn_draftdel'] = 'Hapus draft'; +$lang['btn_revert'] = 'Kembalikan'; $lang['btn_register'] = 'Daftar'; +$lang['btn_apply'] = 'Terapkan'; +$lang['btn_deleteuser'] = 'Hapus Akun Saya'; $lang['loggedinas'] = 'Login sebagai '; $lang['user'] = 'Username'; $lang['pass'] = 'Password'; @@ -56,6 +62,7 @@ $lang['fullname'] = 'Nama lengkap'; $lang['email'] = 'E-Mail'; $lang['profile'] = 'Profil User'; $lang['badlogin'] = 'Maaf, username atau password salah.'; +$lang['badpassconfirm'] = 'Maaf, password salah'; $lang['minoredit'] = 'Perubahan Minor'; $lang['draftdate'] = 'Simpan draft secara otomatis'; $lang['regmissing'] = 'Maaf, Anda harus mengisi semua field.'; @@ -71,13 +78,20 @@ $lang['profna'] = 'Wiki ini tidak mengijinkan perubahan profil.'; $lang['profnochange'] = 'Tidak ada perubahan.'; $lang['profnoempty'] = 'Mohon mengisikan nama atau alamat email.'; $lang['profchanged'] = 'Profil User berhasil diubah.'; +$lang['profdeleteuser'] = 'Hapus Akun'; +$lang['profdeleted'] = 'Akun anda telah dihapus dari wiki ini'; +$lang['profconfdelete'] = 'Saya berharap menghapus akun saya dari wiki ini. +Aksi ini tidak bisa diselesaikan.'; +$lang['profconfdeletemissing'] = 'Knfirmasi check box tidak tercentang'; $lang['pwdforget'] = 'Lupa Password? Dapatkan yang baru'; $lang['resendna'] = 'Wiki ini tidak mendukung pengiriman ulang password.'; +$lang['resendpwd'] = 'Atur password baru'; $lang['resendpwdmissing'] = 'Maaf, Anda harus mengisikan semua field.'; $lang['resendpwdnouser'] = 'Maaf, user ini tidak ditemukan.'; $lang['resendpwdbadauth'] = 'Maaf, kode autentikasi tidak valid. Pastikan Anda menggunakan keseluruhan link konfirmasi.'; $lang['resendpwdconfirm'] = 'Link konfirmasi telah dikirim melalui email.'; $lang['resendpwdsuccess'] = 'Password baru Anda telah dikirim melalui email.'; +$lang['searchmedia'] = 'Cari nama file:'; $lang['txt_upload'] = 'File yang akan diupload'; $lang['txt_filename'] = 'Masukkan nama wiki (opsional)'; $lang['txt_overwrt'] = 'File yang telah ada akan ditindih'; @@ -85,11 +99,22 @@ $lang['lockedby'] = 'Sedang dikunci oleh'; $lang['lockexpire'] = 'Penguncian artikel sampai dengan'; $lang['js']['willexpire'] = 'Halaman yang sedang Anda kunci akan berakhir dalam waktu kurang lebih satu menit.\nUntuk menghindari konflik, gunakan tombol Preview untuk me-reset timer pengunci.'; $lang['js']['notsavedyet'] = 'Perubahan yang belum disimpan akan hilang.\nYakin akan dilanjutkan?'; +$lang['js']['searchmedia'] = 'Cari file'; $lang['js']['keepopen'] = 'Biarkan window terbuka dalam pemilihan'; $lang['js']['hidedetails'] = 'Sembunyikan detil'; +$lang['js']['mediatitle'] = 'Pengaturan Link'; +$lang['js']['mediasize'] = 'Ukuran gambar'; +$lang['js']['mediaclose'] = 'Tutup'; +$lang['js']['mediadisplayimg'] = 'Lihat gambar'; +$lang['js']['mediadisplaylnk'] = 'Lihat hanya link'; $lang['js']['nosmblinks'] = 'Link ke share Windows hanya bekerja di Microsoft Internet Explorer. Anda masih dapat mengcopy and paste linknya.'; $lang['js']['del_confirm'] = 'Hapus tulisan ini?'; +$lang['js']['media_select'] = 'Pilih file...'; +$lang['js']['media_upload_btn'] = 'Unggah'; +$lang['js']['media_done_btn'] = 'Selesai'; +$lang['js']['media_drop'] = 'Tarik file disini untuk mengunggah'; +$lang['js']['media_cancel'] = 'Buang'; $lang['rssfailed'] = 'Error terjadi saat mengambil feed: '; $lang['nothingfound'] = 'Tidak menemukan samasekali.'; $lang['mediaselect'] = 'Pilihan Mediafile'; @@ -101,11 +126,13 @@ $lang['uploadexist'] = 'File telah ada. Tidak mengerjakan apa-apa.'; $lang['uploadbadcontent'] = 'Isi file yang diupload tidak cocok dengan ekstensi file %s.'; $lang['uploadspam'] = 'File yang diupload diblok oleh spam blacklist.'; $lang['uploadxss'] = 'File yang diupload diblok karena kemungkinan isi yang berbahaya.'; +$lang['uploadsize'] = 'File yang diupload terlalu besar. (max.%)'; $lang['deletesucc'] = 'File "%s" telah dihapus.'; $lang['deletefail'] = '"%s" tidak dapat dihapus - cek hak aksesnya.'; $lang['mediainuse'] = 'File "%s" belum dihapus - file ini sedang digunakan.'; $lang['namespaces'] = 'Namespaces'; $lang['mediafiles'] = 'File tersedia didalam'; +$lang['accessdenied'] = 'Anda tidak diperbolehkan melihat halaman ini'; $lang['mediausage'] = 'Gunakan sintaks berikut untuk me-refer ke file ini'; $lang['mediaview'] = 'Tampilkan file asli'; $lang['mediaroot'] = 'root'; @@ -135,6 +162,7 @@ $lang['mail_newpage'] = 'Halaman ditambahkan:'; $lang['mail_changed'] = 'Halaman diubah:'; $lang['mail_new_user'] = 'User baru:'; $lang['mail_upload'] = 'Berkas di-upload:'; +$lang['pages_changes'] = 'Halaman'; $lang['qb_bold'] = 'Tebal'; $lang['qb_italic'] = 'Miring'; $lang['qb_underl'] = 'Garis Bawah'; diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 142dd3baa..e5f2d8d40 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -15,6 +15,7 @@ * @author Begina Felicysym <begina.felicysym@wp.eu> * @author Aoi Karasu <aoikarasu@gmail.com> * @author Tomasz Bosak <bosak.tomasz@gmail.com> + * @author Paweł Jan Czochański <czochanski@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -324,7 +325,7 @@ $lang['media_list_thumbs'] = 'Miniatury'; $lang['media_list_rows'] = 'Wiersze'; $lang['media_sort_name'] = 'Nazwa'; $lang['media_sort_date'] = 'Data'; -$lang['media_namespaces'] = 'Wybierz przestrzeń nazw'; +$lang['media_namespaces'] = 'Wybierz katalog'; $lang['media_files'] = 'Pliki w %s'; $lang['media_upload'] = 'Przesyłanie plików na %s'; $lang['media_search'] = 'Znajdź w %s'; @@ -337,6 +338,7 @@ $lang['media_perm_read'] = 'Przepraszamy, nie masz wystarczających uprawn $lang['media_perm_upload'] = 'Przepraszamy, nie masz wystarczających uprawnień do przesyłania plików.'; $lang['media_update'] = 'Prześlij nową wersję'; $lang['media_restore'] = 'Odtwórz tą wersję'; -$lang['currentns'] = 'Obecna przestrzeń nazw.'; +$lang['currentns'] = 'Obecny katalog'; $lang['searchresult'] = 'Wyniki wyszukiwania'; $lang['plainhtml'] = 'Czysty HTML'; +$lang['wikimarkup'] = 'Znaczniki'; diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index a5fc47f5f..aa823b074 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -290,6 +290,7 @@ $lang['i_policy'] = 'Počiatočná ACL politika'; $lang['i_pol0'] = 'Otvorená Wiki (čítanie, zápis a nahrávanie pre každého)'; $lang['i_pol1'] = 'Verejná Wiki (čítanie pre každého, zápis a nahrávanie pre registrovaných užívateľov)'; $lang['i_pol2'] = 'Uzatvorená Wiki (čítanie, zápis a nahrávanie len pre registrovaných užívateľov)'; +$lang['i_allowreg'] = 'Povolenie samostanej registrácie používateľov'; $lang['i_retry'] = 'Skúsiť znovu'; $lang['i_license'] = 'Vyberte licenciu, pod ktorou chcete uložiť váš obsah:'; $lang['i_license_none'] = 'Nezobrazovať žiadne licenčné informácie'; diff --git a/inc/lang/tr/lang.php b/inc/lang/tr/lang.php index 6b9e0dd44..210a82530 100644 --- a/inc/lang/tr/lang.php +++ b/inc/lang/tr/lang.php @@ -10,6 +10,7 @@ * @author Caleb Maclennan <caleb@alerque.com> * @author farukerdemoncel@gmail.com * @author Mustafa Aslan <maslan@hotmail.com> + * @author huseyin can <huseyincan73@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -179,6 +180,7 @@ $lang['yours'] = 'Senin Sürümün'; $lang['diff'] = 'Kullanılan sürüm ile farkları göster'; $lang['diff2'] = 'Seçili sürümler arasındaki farkı göster'; $lang['difflink'] = 'Karşılaştırma görünümüne bağlantı'; +$lang['diff_type'] = 'farklı görünüş'; $lang['line'] = 'Satır'; $lang['breadcrumb'] = 'İz'; $lang['youarehere'] = 'Buradasınız'; @@ -191,10 +193,17 @@ $lang['external_edit'] = 'Dışarıdan düzenle'; $lang['summary'] = 'Özeti düzenle'; $lang['noflash'] = 'Bu içeriği göstermek için <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Eklentisi</a> gerekmektedir.'; $lang['download'] = 'Parçacığı indir'; +$lang['tools'] = 'Alet'; +$lang['user_tools'] = 'Kullanıcı Aletleri'; +$lang['site_tools'] = 'Site Aletleri'; +$lang['page_tools'] = 'Sayfa Aletleri'; +$lang['skip_to_content'] = 'Bağlanmak için kaydır'; +$lang['sidebar'] = 'kaydırma çubuğu'; $lang['mail_newpage'] = 'sayfa eklenme:'; $lang['mail_changed'] = 'sayfa değiştirilme:'; $lang['mail_new_user'] = 'yeni kullanıcı'; $lang['mail_upload'] = 'dosya yüklendi:'; +$lang['changes_type'] = 'görünüşü değiştir'; $lang['pages_changes'] = 'Sayfalar'; $lang['media_changes'] = 'Çokluortam dosyaları'; $lang['both_changes'] = 'Sayfalar ve çoklu ortam dosyaları'; @@ -238,6 +247,9 @@ $lang['img_keywords'] = 'Anahtar Sözcükler'; $lang['img_width'] = 'Genişlik'; $lang['img_height'] = 'Yükseklik'; $lang['img_manager'] = 'Ortam oynatıcısında göster'; +$lang['subscr_m_new_header'] = 'Üyelik ekle'; +$lang['subscr_m_current_header'] = 'Üyeliğini onayla'; +$lang['subscr_m_unsubscribe'] = 'Üyelik iptali'; $lang['subscr_m_subscribe'] = 'Kayıt ol'; $lang['subscr_m_receive'] = 'Al'; $lang['authtempfail'] = 'Kullanıcı doğrulama geçici olarak yapılamıyor. Eğer bu durum devam ederse lütfen Wiki yöneticine haber veriniz.'; @@ -290,4 +302,5 @@ $lang['media_view'] = '%s'; $lang['media_edit'] = 'Düzenle %s'; $lang['media_history'] = 'Geçmiş %s'; $lang['media_perm_upload'] = 'Üzgünüm, karşıya dosya yükleme yetkiniz yok.'; +$lang['media_update'] = 'Yeni versiyonu yükleyin'; $lang['media_restore'] = 'Bu sürümü eski haline getir'; diff --git a/inc/load.php b/inc/load.php index c5b40ffd8..497dd6921 100644 --- a/inc/load.php +++ b/inc/load.php @@ -76,6 +76,7 @@ function load_autoload($name){ 'ZipLib' => DOKU_INC.'inc/ZipLib.class.php', 'DokuWikiFeedCreator' => DOKU_INC.'inc/feedcreator.class.php', 'Doku_Parser_Mode' => DOKU_INC.'inc/parser/parser.php', + 'Doku_Parser_Mode_Plugin' => DOKU_INC.'inc/parser/parser.php', 'SafeFN' => DOKU_INC.'inc/SafeFN.class.php', 'Sitemapper' => DOKU_INC.'inc/Sitemapper.php', 'PassHash' => DOKU_INC.'inc/PassHash.class.php', diff --git a/inc/media.php b/inc/media.php index 2943e8274..960b96e65 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1804,6 +1804,7 @@ function media_resize_image($file, $ext, $w, $h=0){ if($info == false) return $file; // that's no image - it's a spaceship! if(!$h) $h = round(($w * $info[1]) / $info[0]); + if(!$w) $w = round(($h * $info[0]) / $info[1]); // we wont scale up to infinity if($w > 2000 || $h > 2000) return $file; diff --git a/inc/parser/parser.php b/inc/parser/parser.php index 1f14b98a3..252bd9170 100644 --- a/inc/parser/parser.php +++ b/inc/parser/parser.php @@ -125,43 +125,91 @@ class Doku_Parser { } //------------------------------------------------------------------- + /** - * This class and all the subclasses below are - * used to reduce the effort required to register - * modes with the Lexer. For performance these - * could all be eliminated later perhaps, or - * the Parser could be serialized to a file once - * all modes are registered + * Class Doku_Parser_Mode_Interface * - * @author Harry Fuecks <hfuecks@gmail.com> + * Defines a mode (syntax component) in the Parser */ -class Doku_Parser_Mode { +interface Doku_Parser_Mode_Interface { + /** + * returns a number used to determine in which order modes are added + */ + public function getSort(); + + /** + * Called before any calls to connectTo + */ + function preConnect(); + + /** + * Connects the mode + * + * @param string $mode + */ + function connectTo($mode); /** + * Called after all calls to connectTo + */ + function postConnect(); + + /** + * Check if given mode is accepted inside this mode + * + * @param string $mode + * @return bool + */ + function accepts($mode); +} + +/** + * This class and all the subclasses below are used to reduce the effort required to register + * modes with the Lexer. + * + * @author Harry Fuecks <hfuecks@gmail.com> + */ +class Doku_Parser_Mode implements Doku_Parser_Mode_Interface { + /** * @var Doku_Lexer $Lexer */ var $Lexer; - var $allowedModes = array(); - // returns a number used to determine in which order modes are added function getSort() { trigger_error('getSort() not implemented in '.get_class($this), E_USER_WARNING); } - // Called before any calls to connectTo function preConnect() {} - - // Connects the mode function connectTo($mode) {} - - // Called after all calls to connectTo function postConnect() {} - function accepts($mode) { return in_array($mode, (array) $this->allowedModes ); } +} + +/** + * Basically the same as Doku_Parser_Mode but extends from DokuWiki_Plugin + * + * Adds additional functions to syntax plugins + */ +class Doku_Parser_Mode_Plugin extends DokuWiki_Plugin implements Doku_Parser_Mode_Interface { + /** + * @var Doku_Lexer $Lexer + */ + var $Lexer; + var $allowedModes = array(); + + function getSort() { + trigger_error('getSort() not implemented in '.get_class($this), E_USER_WARNING); + } + function preConnect() {} + function connectTo($mode) {} + function postConnect() {} + function accepts($mode) { + return in_array($mode, (array) $this->allowedModes ); + } } //------------------------------------------------------------------- diff --git a/inc/plugin.php b/inc/plugin.php index dccd37bd9..95bdaee2b 100644 --- a/inc/plugin.php +++ b/inc/plugin.php @@ -239,10 +239,35 @@ class DokuWiki_Plugin { } /** + * A fallback to provide access to the old render() method + * + * Since syntax plugins provide their own render method with a different signature and they now + * inherit from Doku_Plugin we can no longer have a render() method here (Strict Standards Violation). + * Instead use render_text() + * + * @deprecated 2014-01-22 + * @param $name + * @param $arguments + * @return null|string + */ + function __call($name, $arguments) { + if($name == 'render'){ + if(!isset($arguments[1])) $arguments[1] = 'xhtml'; + return $this->render_text($arguments[0], $arguments[1]); + } + trigger_error("no such method $name", E_ERROR); + return null; + } + + /** * output text string through the parser, allows dokuwiki markup to be used * very ineffecient for small pieces of data - try not to use + * + * @param string $text wiki markup to parse + * @param string $format output format + * @return null|string */ - function render($text, $format='xhtml') { + function render_text($text, $format='xhtml') { return p_render($format, p_get_instructions($text),$info); } |