eurn/formspecs.lua
2024-02-20 23:03:09 -03:00

117 lines
4.2 KiB
Lua

modEUrn.FormSpecs = {
showFormRegCampaign = function(playername, political_campaign)
local Campaign = modEUrn.getPresCandCampaign(playername)
if type(political_campaign)~="string" or political_campaign==""then
political_campaign = Campaign
end
local myFormSpec = ""
myFormSpec = myFormSpec
.."formspec_version[6]"
.."size[16,8,false]"
.."background[0,-8;16,16;text_eurn_front.png]"
.."box[0.5,0.75;15,5.75;#000000CC]"
.."textarea[0.5,0.75;15,5.75;txtCampaign;"
..minetest.formspec_escape(
modEUrn.translate("Campanha Política de")..": "..
core.colorize("#00FF00", playername)
)..";"
..minetest.formspec_escape(political_campaign)..
"]"
.."button_exit[0.5,6.75;12.25,1;btnSave;"..modEUrn.translate("REGISTER").."]"
.."button_exit[13.25,6.75;2,1;;"..modEUrn.translate("CANCEL").."]"
minetest.show_formspec(playername, "frmEUrnRegCampaign", myFormSpec)
end,
showFormInfoCampaign = function(playername, candidatename)
local Campaign = modEUrn.getPresCandCampaign(candidatename)
--if type(modEUrn.handler.candidates.president[candidatename])=="nil" then Campaign = "" end
local myFormSpec = ""
myFormSpec = myFormSpec
.."formspec_version[6]"
.."size[16,8,false]"
.."background[0,-8;16,16;text_eurn_front.png]"
.."box[0.5,0.75;15,5.75;#00000088]"
.."textarea[0.5,0.75;15,5.75;;"
..minetest.formspec_escape(
modEUrn.translate("Campanha Política de")..": "..
core.colorize("#00FF00", candidatename)
)..";"
..minetest.formspec_escape(Campaign)..
"]"
--.."button_exit[0.5,6.75;11,1;btnSave;"..modEUrn.translate("REGISTER").."]"
.."button_exit[0.5,6.75;15,1;;"..modEUrn.translate("CLOSE").."]"
minetest.log('action', modEUrn.translate("Player %s is listing campaign data..."):format(playername))
minetest.log('action',modEUrn.translate("Candidate Name")..candidatename)
minetest.log('action',modEUrn.translate("Candidate Campaign")..Campaign)
minetest.show_formspec(playername, "frmEUrnInfoCampaign", myFormSpec)
end,
--[[
showHypertext = function(playername)
--Fonte:
-- * https://minetest.gitlab.io/minetest/formspec/
-- * https://minetest.gitlab.io/minetest/formspec/#hypertextxywhnametext
-- * https://github.com/minetest/minetest/blob/master/doc/lua_api.md
local myFormSpec = ""
myFormSpec = myFormSpec
--.."formspec_version[5.6.0]"
.."formspec_version[6]"
.."size[16,8,false]"
.."background[0,-8;16,16;text_eurn_front.png]"
--.."bgcolor[000000;false;FFFFFF]"
--.."bgcolor[#00880044;false;#000000]"
--.."bgcolor[#636D7600;true]"
--.."position[0,0]"
--.."container[0,0]"
--.."image[0,-8;16,16;text_eurn_front.png]"
.."vertlabel[15.75,0.5;"..minetest.formspec_escape(modEUrn.translate("E-URN")).."]"
.."hypertext[0.5,0.5;15,7;myPage;"
--..minetest.formspec_escape("<global margin=10 valign=0 color=#FF00FF hovercolor=#00FFFF size=12 font=normal halign=center >")
.."<global valign=middle halign=left margin=10 background=#FFFFFFCC color=#000000 hovercolor=#00FF00 size=12 font=normal>"
.."<tag name=action color=#FF0000 hovercolor=#00FF00 font=normal size=12>"
..minetest.formspec_escape(body:format(playername:upper()))
.."]" -- Fim de hypertext[]
--.."container_end[]"
--"hypertext[<X>,<Y>;<W>,<H>;<name>;<text>]"
minetest.show_formspec(playername, "frmEUrnInit", myFormSpec)
end,
--]]
}
minetest.register_on_player_receive_fields(function(player, formname, fields)
local playername = player:get_player_name()
--[[
modEUrn.debug(
"formname: "..formname.."\n"
.."fields: "..dump(fields),
playername
)
--]]
if type(formname)=="string" and formname == "frmEUrnRegCampaign" then
if type(fields.txtCampaign)~= "nil" and type(fields.btnSave) ~= "nil"
then
--modEUrn.debug("modEUrn.doPresidentCandidate(playername='"..playername.."', playername='"..playername.."', fields.txtCampaign="..dump(fields.txtCampaign)..")")
if modEUrn.doPresidentCandidate(playername, playername, fields.txtCampaign) then
modEUrn.doSave()
minetest.chat_send_player(
playername,
--os.date("%Y-%m-%d %Hh:%Mm:%Ss", now) ..
core.colorize("#00FF00", "[E-URN]").." "
..modEUrn.translate("Player %s has been registered to run as a candidate for president of this server!"):format(dump(playername))
)
end
end
end
end)