Modül:Korumalı değişiklik isteği
Görünüm
Modül belgelemesi[oluştur]
Bu modül şu Lua modüllerini kullanıyor: |
require('Modül:Küresel değil')
local iletiKutusu = require("Modül:İleti kutusu").main
local function yapNesne(sayfa)
local nesne = {}
local baslik = mw.title.new(sayfa)
local deneme = mw.title.new(sayfa.."/deneme")
function nesne:adalani() return baslik.nsText end
function nesne:baglanti() return "[["..baslik.fullText.."]]" end
function nesne:duzenle() return "["..baslik:fullUrl{action = 'edit'}.." düzenle]" end
function nesne:gecmis() return "["..baslik:fullUrl{action = 'history'}.." geçmiş]" end
function nesne:sonDegisiklik() return "["..baslik:fullUrl{diff = 'cur', oldid = 'prev'}.." son]" end
function nesne:baglantilar() return "[[Özel:SayfayaBağlantılar/"..baslik.fullText.."|bağlantılar]]" end
function nesne:deneme() return "[["..deneme.fullText.."|deneme tahtası]]" end
function nesne:denemeDuzenle()
return "["..deneme:fullUrl{action = 'edit'}.." deneme tahtasını düzenle]"
end
function nesne:denemeGecmis()
return "["..deneme:fullUrl{action = 'history'}.." deneme tahtası geçmişi]"
end
function nesne:denemeSon()
return "["..deneme:fullUrl{diff = 'cur', oldid = 'prev'}.." deneme tahtası son]"
end
function nesne:fark()
local kar = mw.title.new("Özel:SayfaKarşılaştır")
return "["..kar:fullUrl{page1 = baslik.fullText, page2 = deneme.fullText}.." fark]"
end
function nesne:test()
return "[["..mw.title.new(sayfa.."/test").fullText.."|test senaryosu]]"
end
function nesne:ciktiSayisi()
local bag = mw.uri.new{
host = 'tools.wmflabs.org',
path = '/templatecount/index.php',
query = {
lang = 'tr',
name = baslik.text,
namespace = baslik.namespace,
},
fragment = 'bottom'
}
return "["..tostring(bag).." çıktı sayısı]"
end
function nesne:gunluk()
local kar = mw.title.new("Özel:Günlük")
return "["..kar:fullUrl{type = "protect", page = baslik.fullText}.." günlük]"
end
function nesne:altBar()
local ciktilar = {nesne:duzenle(), nesne:gecmis(), nesne:sonDegisiklik(), nesne:baglantilar()}
local denemeler = {
nesne:deneme(), nesne:denemeDuzenle(), nesne:denemeGecmis(),
nesne:denemeSon(), nesne:fark()
}
for _,d in ipairs(denemeler) do if deneme.exists then table.insert(ciktilar, d) end end
if mw.title.new(sayfa.."/test").exists then table.insert(ciktilar, nesne:test()) end
table.insert(ciktilar, nesne:ciktiSayisi())
table.insert(ciktilar, nesne:gunluk())
return "<small>(" .. table.concat(ciktilar, " '''·''' ") .. ")</small>"
end
return nesne
end
local function istek(params, tip)
local sayfa = params[1]
local nesne = yapNesne(sayfa)
local hedef = params.hedef or ""
local sebep = params.sebep or ""
local args = {}
args.resim = "[[Dosya:Yarı-koruma.svg|60px]]"
args.metin = "'''"..(tip == "değişiklik" and "[[Yardım:Koruma|Koruma altında]] olan " or "")
..nesne:baglanti().." sayfasında "
..(tip == "değişiklik" and "bir değişiklik yapılması [[Vikipedi:Değişiklik istekleri|istendi]]" or "")
..(tip == "taşıma" and "[["..hedef.."]] sayfasına yönlendirmesiz taşıma isteği yapıldı" or "")
..".'''<br>"..nesne:altBar()
.."<p>Bu şablonun hemen altında isteğin '''detaylı ve tam açıklaması''' bulunmalıdır ki "
.."konuyla ilgisi olmayan bir hizmetli de bu değişikliği hızlıca yapabilsin.</p>"
..(tip == "taşıma" and "<p>'''Taşıma gerekçesi:''' "..sebep..".</p>" or "")
.."<p style='font-size:smaller; line-height:1.3em;'>"
..(tip == "değişiklik" and "Koruma altındaki sayfalar için değişiklik istekleri" or "")
..(tip == "taşıma" and "Yönlendirmesiz taşıma istekleri" or "")
.." yalnızca '''tartışmasız''' veya [[Vikipedi:Fikir birliği|fikir birliği]] sağlanmış "
..(tip == "değişiklik" and "değişiklikler" or "")
..(tip == "taşıma" and "taşıma istekleri" or "")
.." için yapılmalıdır. Eğer tartışmasız bir durum ise, bu şablonu '''kullanmadan''' "
.."önce tartışma sayfasında argümanınızı belirtin. "
..(tip == "değişiklik" and
(nesne:adalani() == "Şablon" and "Bir değişiklik isteğinde bulunmadan önce şablonun "
..nesne:deneme().."nda değişiklik yapın ve bunu da "..nesne:test().."nda test edin. " or "")
.."Bir sayfanın korunmasını veya korunmasının kaldırılması isteğini [[Vikipedi:Sayfa koruma talepleri|"
.."sayfa koruma talepleri]]nden yapın. " or "")
.."Bu talep tamamlandığında veya reddedildiğinde, lütfen "
.."şablonun etkisiz hale gelmesi için <code>|cevaplandı=evet</code> parametresini girin."
.."</p>"
..(params.test == "evet" and ""
or (tip == "değişiklik" and "[[Kategori:Koruma altındaki sayfada değişiklik talepleri]]" or "")
..(tip == "taşıma" and "[[Kategori:Yönlendirmesiz taşıma talepleri]]" or ""))
return args
end
local function cevaplandi(params, tip)
local sayfa = params[1]
local args = {}
args["küçük"] = "evet"
args.metin = "[["..mw.title.new(sayfa).fullText.."]] sayfası için yapılan bu "
..(tip == "değişiklik" and "[[Vikipedi:Değişiklik istekleri|değişiklik isteği]]" or "")
..(tip == "taşıma" and "yönlendirmesiz taşıma isteği" or "")
.." cevaplandı. Şablonu tekrar aktif "
.."hale getirmek için <code>|cevaplandı=</code> parametresini ''hayır'' yapın."
return args
end
local function goster(args, tip)
local kutuArgs
if args[1] then else
args[1] = mw.title.getCurrentTitle().text
end
if args["cevaplandı"] == "evet" then
kutuArgs = cevaplandi(args, tip)
else
kutuArgs = istek(args, tip)
end
if tip == "taşıma" or mw.ustring.find(mw.title.getCurrentTitle().nsText, "[Tt]artışma") or args.test == "evet" then
return iletiKutusu("tmbox", kutuArgs)
else
error("Bu şablon yalnızca tartışma sayfalarında kullanılmalıdır")
end
end
local function degisiklikIstegi(frame)
return goster(frame:getParent().args, "değişiklik")
end
local function yonlendirmesizTasi(frame)
return goster(frame:getParent().args, "taşıma")
end
return {
degisiklikIstegi = degisiklikIstegi,
yonlendirmesizTasi = yonlendirmesizTasi
}