| Modul ini dilindungi. Modul ini sangat mencolok yang digunakan oleh banyak halaman, atau sangat sering disubstitusikan. Karena vandalisme atau kesalahan akan mempengaruhi banyak halaman, dan suntingan kecil dapat memberi beban besar pada server, modul ini dilindungi dari penyuntingan. |
| Modul Lua ini digunakan di pesan sistem. Perubahan pada templat atau modul ini dapat mengubah antarmuka pengguna Wikipedia secara serentak. Untuk mencegah suntingan mengganggu skala besar, setiap perubahan harus diuji di subhalaman /bak pasir atau /kasus uji Modul:Protect, atau bak pasir modul Anda. Perubahan yang telah diuji kemudian dapat ditambahkan ke halaman ini dalam satu suntingan. Harap diskusikan perubahan di halaman pembicaraan sebelum mengimplementasikannya. |
Metamodul menyederhanakan penanganan kesalahan di modul lain. Ini mengubah fungsi yang mungkin melempar kesalahan menjadi fungsi yang mengembalikan pesan kesalahan tertentu dalam kasus tersebut.
PenggunaanPenggunaan
localprotect=require('Modul:Protect') localprotectedFunc=protect(func,errFormat,options)
ArgumenArgumen
func- Fungsi yang akan diubah.
errFormat(default:'Error: %s')- Pesan galat khusus.
- Gunakan
'%s'untuk menyertakan pesan dari kesalahan yang terdeteksi.
options– tabel opsional dengan kolom-kolom berikut:raw(default: false)- Jika true, lalu
errFormatakan digunakan apa adanya, jika tidak maka akan dibungkus di dalam tag<strong class="error">.
- Jika true, lalu
removeLocation(default: true)- Jika true, menghapus informasi lokasi dari pesan kesalahan yang tertangkap.
Dokumentasi di atas ditransklusikan dari Modul:Protect/doc. (sunting | riwayat)
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
localfunctionprocessResult(options,success,...) ifnotsuccessthen localmessage=tostring(...or'(tidak ada pesan)') ifoptions.removeLocationthen message=string.gsub(message,'^[Mm]odul[e]?:[^:]+:%d+: ','',1) end returnstring.format(options.errFormat,message) end return... end localfunctionprotect(func,errFormat,options) iftype(errFormat)=='table'then options=optionsorerrFormat errFormat=nil end options=mw.clone(options)or{} options.errFormat=errFormatoroptions.errFormator'Galat: %s' ifnotoptions.rawthen options.errFormat='<strong class="error">'..options.errFormat..'</strong>' end options.removeLocation=options.removeLocation==niloroptions.removeLocation returnfunction(...) returnprocessResult(options,pcall(func,...)) end end returnprotect