]> git.lizzy.rs Git - lmz_opening_hours.git/commitdiff
configure and apply time intervals for all weekdays
authorIsidor Zeuner <minetest@quidecco.de>
Sat, 3 Apr 2021 16:02:07 +0000 (18:02 +0200)
committerIsidor Zeuner <minetest@quidecco.de>
Sat, 3 Apr 2021 16:02:07 +0000 (18:02 +0200)
init.lua

index bf3deba185923549c7f149b8696e67343acaf64f..85d91c24bd7ca5db174e686e1106939ba440a9ba 100644 (file)
--- a/init.lua
+++ b/init.lua
@@ -47,11 +47,6 @@ local function get_date_formated()
        return os.date("%d.%m.%y")
 end
 
-local function is_weekend()
-       local d = os.date("%w")
-       return d == "0" or d == "6"
-end
-
 local function upgrade_configuration(old)
        local new = {
                version = 2,
@@ -118,10 +113,9 @@ local function opening_today()
        local day_key
        if exception and exception == get_date_formated() then
                day_key = "exception"
-       elseif is_weekend() then
-               day_key = "day0"
        else
-               day_key = "day1"
+               local d = os.date("%w")
+               day_key = "day" .. d
        end
        return {
                start_hour = opening_hours[day_key .. "_start_hour"],
@@ -192,16 +186,45 @@ local function show_gui(name)
        local inline_off = 0.2427394885132
        local lab_close_y = 6.3935847420893
        local fld_close_y = lab_close_y + 0.2427394885132
-       local lab_day1_x = 0.1
        local pre_colon_off = 0.4
-       local fld_day1_f_hour_x = 0.64
        local minute_off = 0.04
        local to_off = 1.24
+       local day_off = 3.6
+       local lab_day1_x = 0.1
+       local fld_day1_f_hour_x = 0.64
        local fld_day1_f_minute_x = fld_day1_f_hour_x + fld_w - minute_off
        local lab_day1_f_colon_x = fld_day1_f_minute_x - pre_colon_off
        local fld_day1_t_hour_x = lab_day1_f_colon_x + to_off
        local fld_day1_t_minute_x = fld_day1_t_hour_x + fld_w - minute_off
        local lab_day1_t_colon_x = fld_day1_t_minute_x - pre_colon_off
+       local lab_day2_x = lab_day1_x + day_off
+       local fld_day2_f_hour_x = fld_day1_f_hour_x + day_off
+       local fld_day2_f_minute_x = fld_day1_f_minute_x + day_off
+       local lab_day2_f_colon_x = lab_day1_f_colon_x + day_off
+       local fld_day2_t_hour_x = fld_day1_t_hour_x + day_off
+       local fld_day2_t_minute_x = fld_day1_t_minute_x + day_off
+       local lab_day2_t_colon_x = lab_day1_t_colon_x + day_off
+       local lab_day3_x = lab_day2_x + day_off
+       local fld_day3_f_hour_x = fld_day2_f_hour_x + day_off
+       local fld_day3_f_minute_x = fld_day2_f_minute_x + day_off
+       local lab_day3_f_colon_x = lab_day2_f_colon_x + day_off
+       local fld_day3_t_hour_x = fld_day2_t_hour_x + day_off
+       local fld_day3_t_minute_x = fld_day2_t_minute_x + day_off
+       local lab_day3_t_colon_x = lab_day2_t_colon_x + day_off
+       local lab_day4_x = lab_day3_x + day_off
+       local fld_day4_f_hour_x = fld_day3_f_hour_x + day_off
+       local fld_day4_f_minute_x = fld_day3_f_minute_x + day_off
+       local lab_day4_f_colon_x = lab_day3_f_colon_x + day_off
+       local fld_day4_t_hour_x = fld_day3_t_hour_x + day_off
+       local fld_day4_t_minute_x = fld_day3_t_minute_x + day_off
+       local lab_day4_t_colon_x = lab_day3_t_colon_x + day_off
+       local lab_day5_x = lab_day4_x + day_off
+       local fld_day5_f_hour_x = fld_day4_f_hour_x + day_off
+       local fld_day5_f_minute_x = fld_day4_f_minute_x + day_off
+       local lab_day5_f_colon_x = lab_day4_f_colon_x + day_off
+       local fld_day5_t_hour_x = fld_day4_t_hour_x + day_off
+       local fld_day5_t_minute_x = fld_day4_t_minute_x + day_off
+       local lab_day5_t_colon_x = lab_day4_t_colon_x + day_off
        local below_off = 1.1530125704378
        local lab_b_y = 0.28175119202427
        local fld_b_y = lab_b_y + below_off
@@ -213,25 +236,71 @@ local function show_gui(name)
        local fld_e_y = lab_e_y + below_off
        local lab_e_colon_y = fld_e_y - inline_off
        local o = opening_hours
-       local formspec = "size[10.01,7.9267895878525]"
-       .. "label[-0.14,-0.23840485478977;Öffnungszeiten]"
-       .. "label[" .. lab_day1_x .. "," .. lab_b_y .. ";Mo.-Fr.]"
+       local formspec_day1 = ""
+       .. "label[" .. lab_day1_x .. "," .. lab_b_y .. ";Mo.]"
        .. "field[" .. fld_day1_f_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day1_start_hour;von;" .. string.format("%02d", o.day1_start_hour) .. "]"
        .. "label[" .. lab_day1_f_colon_x .. "," .. lab_b_colon_y .. ";:]"
        .. "field[" .. fld_day1_f_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day1_start_minute;;" .. string.format("%02d", o.day1_start_minute) .. "]"
        .. "field[" .. fld_day1_t_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day1_end_hour;bis;" .. string.format("%02d", o.day1_end_hour) .. "]"
        .. "label[" .. lab_day1_t_colon_x .. "," .. lab_b_colon_y .. ";:]"
        .. "field[" .. fld_day1_t_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day1_end_minute;;" .. string.format("%02d", o.day1_end_minute) .. "]"
-       .. "label[" .. lab_day1_x .. "," .. lab_w_y .. ";Sa.-So.]"
-       .. "field[" .. fld_day1_f_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_start_hour;von;" .. string.format("%02d", o.day0_start_hour) .. "]"
+       local formspec_day2 = ""
+       .. "label[" .. lab_day2_x .. "," .. lab_b_y .. ";Di.]"
+       .. "field[" .. fld_day2_f_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day2_start_hour;von;" .. string.format("%02d", o.day2_start_hour) .. "]"
+       .. "label[" .. lab_day2_f_colon_x .. "," .. lab_b_colon_y .. ";:]"
+       .. "field[" .. fld_day2_f_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day2_start_minute;;" .. string.format("%02d", o.day2_start_minute) .. "]"
+       .. "field[" .. fld_day2_t_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day2_end_hour;bis;" .. string.format("%02d", o.day2_end_hour) .. "]"
+       .. "label[" .. lab_day2_t_colon_x .. "," .. lab_b_colon_y .. ";:]"
+       .. "field[" .. fld_day2_t_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day2_end_minute;;" .. string.format("%02d", o.day2_end_minute) .. "]"
+       local formspec_day3 = ""
+       .. "label[" .. lab_day3_x .. "," .. lab_b_y .. ";Mi.]"
+       .. "field[" .. fld_day3_f_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day3_start_hour;von;" .. string.format("%02d", o.day3_start_hour) .. "]"
+       .. "label[" .. lab_day3_f_colon_x .. "," .. lab_b_colon_y .. ";:]"
+       .. "field[" .. fld_day3_f_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day3_start_minute;;" .. string.format("%02d", o.day3_start_minute) .. "]"
+       .. "field[" .. fld_day3_t_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day3_end_hour;bis;" .. string.format("%02d", o.day3_end_hour) .. "]"
+       .. "label[" .. lab_day3_t_colon_x .. "," .. lab_b_colon_y .. ";:]"
+       .. "field[" .. fld_day3_t_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day3_end_minute;;" .. string.format("%02d", o.day3_end_minute) .. "]"
+       local formspec_day4 = ""
+       .. "label[" .. lab_day4_x .. "," .. lab_b_y .. ";Do.]"
+       .. "field[" .. fld_day4_f_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day4_start_hour;von;" .. string.format("%02d", o.day4_start_hour) .. "]"
+       .. "label[" .. lab_day4_f_colon_x .. "," .. lab_b_colon_y .. ";:]"
+       .. "field[" .. fld_day4_f_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day4_start_minute;;" .. string.format("%02d", o.day4_start_minute) .. "]"
+       .. "field[" .. fld_day4_t_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day4_end_hour;bis;" .. string.format("%02d", o.day4_end_hour) .. "]"
+       .. "label[" .. lab_day4_t_colon_x .. "," .. lab_b_colon_y .. ";:]"
+       .. "field[" .. fld_day4_t_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day4_end_minute;;" .. string.format("%02d", o.day4_end_minute) .. "]"
+       local formspec_day5 = ""
+       .. "label[" .. lab_day5_x .. "," .. lab_b_y .. ";Fr.]"
+       .. "field[" .. fld_day5_f_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day5_start_hour;von;" .. string.format("%02d", o.day5_start_hour) .. "]"
+       .. "label[" .. lab_day5_f_colon_x .. "," .. lab_b_colon_y .. ";:]"
+       .. "field[" .. fld_day5_f_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day5_start_minute;;" .. string.format("%02d", o.day5_start_minute) .. "]"
+       .. "field[" .. fld_day5_t_hour_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day5_end_hour;bis;" .. string.format("%02d", o.day5_end_hour) .. "]"
+       .. "label[" .. lab_day5_t_colon_x .. "," .. lab_b_colon_y .. ";:]"
+       .. "field[" .. fld_day5_t_minute_x .. "," .. fld_b_y .. ";" .. fld_sz .. ";fld_day5_end_minute;;" .. string.format("%02d", o.day5_end_minute) .. "]"
+       local formspec_business_days = ""
+       .. formspec_day1
+       .. formspec_day2
+       .. formspec_day3
+       .. formspec_day4
+       .. formspec_day5
+       local formspec_day6 = ""
+       .. "label[" .. lab_day1_x .. "," .. lab_w_y .. ";Sa.]"
+       .. "field[" .. fld_day1_f_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day6_start_hour;von;" .. string.format("%02d", o.day6_start_hour) .. "]"
        .. "label[" .. lab_day1_f_colon_x .. "," .. lab_w_colon_y .. ";:]"
-       .. "field[" .. fld_day1_f_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_start_minute;;" .. string.format("%02d", o.day0_start_minute) .. "]"
-       .. "field[" .. fld_day1_t_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_end_hour;bis;" .. string.format("%02d", o.day0_end_hour) .. "]"
+       .. "field[" .. fld_day1_f_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day6_start_minute;;" .. string.format("%02d", o.day6_start_minute) .. "]"
+       .. "field[" .. fld_day1_t_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day6_end_hour;bis;" .. string.format("%02d", o.day6_end_hour) .. "]"
        .. "label[" .. lab_day1_t_colon_x .. "," .. lab_w_colon_y .. ";:]"
-       .. "field[" .. fld_day1_t_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_end_minute;;" .. string.format("%02d", o.day0_end_minute) .. "]"
-       .. "label[" .. lab_day1_x .. "," .. lab_e_y .. ";Heute]"
-       .. (o.exception_today
+       .. "field[" .. fld_day1_t_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day6_end_minute;;" .. string.format("%02d", o.day6_end_minute) .. "]"
+       local formspec_day0 = ""
+       .. "label[" .. lab_day2_x .. "," .. lab_w_y .. ";So.]"
+       .. "field[" .. fld_day2_f_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_start_hour;von;" .. string.format("%02d", o.day0_start_hour) .. "]"
+       .. "label[" .. lab_day2_f_colon_x .. "," .. lab_w_colon_y .. ";:]"
+       .. "field[" .. fld_day2_f_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_start_minute;;" .. string.format("%02d", o.day0_start_minute) .. "]"
+       .. "field[" .. fld_day2_t_hour_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_end_hour;bis;" .. string.format("%02d", o.day0_end_hour) .. "]"
+       .. "label[" .. lab_day2_t_colon_x .. "," .. lab_w_colon_y .. ";:]"
+       .. "field[" .. fld_day2_t_minute_x .. "," .. fld_w_y .. ";" .. fld_sz .. ";fld_day0_end_minute;;" .. string.format("%02d", o.day0_end_minute) .. "]"
+       local formspec_exception = (o.exception_today
                        and ""
+                               .. "label[" .. lab_day1_x .. "," .. lab_e_y .. ";Heute]"
                                .. "field[" .. fld_day1_f_hour_x .. "," .. fld_e_y .. ";" .. fld_sz .. ";fld_exception_start_hour;von;" .. string.format("%02d", o.exception_start_hour) .. "]"
                                .. "label[" .. lab_day1_f_colon_x .. "," .. lab_e_colon_y .. ";:]"
                                .. "field[" .. fld_day1_f_minute_x .. "," .. fld_e_y .. ";" .. fld_sz .. ";fld_exception_start_minute;;" .. string.format("%02d", o.exception_start_minute) .. "]"
@@ -240,6 +309,12 @@ local function show_gui(name)
                                .. "field[" .. fld_day1_t_minute_x .. "," .. fld_e_y .. ";" .. fld_sz .. ";fld_exception_end_minute;;" .. string.format("%02d", o.exception_end_minute) .. "]"
                        or "image_button[0.34,4.5296922410056;4.205,0.7835;;add_exception;Ausnahmeregelung hinzufügen]"
                )
+       local formspec = "size[18.01,7.9267895878525]"
+       .. "label[-0.14,-0.23840485478977;Öffnungszeiten]"
+       .. formspec_business_days
+       .. formspec_day6
+       .. formspec_day0
+       .. formspec_exception
        .. "label[" .. lab_day1_x .. ",5.4833116601647;Einstellungen]"
        .. "label[0.34," .. lab_close_y .. ";Spieler ]"
        .. "field[1.6," .. fld_close_y .. ";" .. fld_sz .. ";fld_warn_offset;;" .. o.warn_offset .. "]"