From c10065b71c0017c0a4165d177464609534156e09 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Mon, 11 Aug 2008 16:05:50 +0000 Subject: [PATCH] Added new Application luci-samba offering SMB/CIFS network share configuration --- applications/luci-samba/Makefile | 2 + .../luci-samba/luasrc/controller/samba.lua | 27 ++++++++++ .../luci-samba/luasrc/i18n/samba.de.lua | 18 +++++++ .../luci-samba/luasrc/i18n/samba.en.lua | 18 +++++++ .../luci-samba/luasrc/model/cbi/samba.lua | 54 +++++++++++++++++++ contrib/package/luci/Makefile | 16 ++++++ libs/web/root/etc/config/luci | 1 + 7 files changed, 136 insertions(+) create mode 100644 applications/luci-samba/Makefile create mode 100644 applications/luci-samba/luasrc/controller/samba.lua create mode 100644 applications/luci-samba/luasrc/i18n/samba.de.lua create mode 100644 applications/luci-samba/luasrc/i18n/samba.en.lua create mode 100644 applications/luci-samba/luasrc/model/cbi/samba.lua diff --git a/applications/luci-samba/Makefile b/applications/luci-samba/Makefile new file mode 100644 index 000000000..81a96f6a8 --- /dev/null +++ b/applications/luci-samba/Makefile @@ -0,0 +1,2 @@ +include ../../build/config.mk +include ../../build/module.mk \ No newline at end of file diff --git a/applications/luci-samba/luasrc/controller/samba.lua b/applications/luci-samba/luasrc/controller/samba.lua new file mode 100644 index 000000000..a698777c2 --- /dev/null +++ b/applications/luci-samba/luasrc/controller/samba.lua @@ -0,0 +1,27 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth +Copyright 2008 Jo-Philipp Wich + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- +module("luci.controller.samba", package.seeall) + +function index() + if not luci.fs.isfile("/etc/config/samba") then + return + end + require("luci.i18n") + luci.i18n.loadc("samba") + + local page = entry({"admin", "services", "samba"}, cbi("samba"), luci.i18n.translate("samba")) + page.i18n = "samba" + page.dependent = true +end \ No newline at end of file diff --git a/applications/luci-samba/luasrc/i18n/samba.de.lua b/applications/luci-samba/luasrc/i18n/samba.de.lua new file mode 100644 index 000000000..421ecf0e5 --- /dev/null +++ b/applications/luci-samba/luasrc/i18n/samba.de.lua @@ -0,0 +1,18 @@ +samba = "Netzwerkfreigaben" +samba_samba_name = "Hostname" +samba_samba_description = "Beschreibung" +samba_samba_workgroup = "Arbeitsgruppe" +samba_samba_homes = "Heimatverzeichnisse freigeben" +samba_samba_homes_desc = "Systembenutzer können ihre Heimatverzeichnis über Netzwerkfreigaben erreichen." + +samba_sambashare = "Dateifreigaben" +samba_sambashare_path = "Freigabepfad" +samba_sambashare_path_desc = "Physischer Pfad" +samba_sambashare_users = "Erlaubte Benutzer" +samba_sambashare_users_desc = "optional" +samba_sambashare_readonly = "Nur Lesen" +samba_sambashare_guestok = "Gäste erlauben" +samba_sambashare_createmask = "Anlegemaske" +samba_sambashare_createmask_desc = "Maske für neue Dateien" +samba_sambashare_dirmask = "Verzeichnismaske" +samba_sambashare_dirmask_desc = "Maske für neue Verzeichnisse" diff --git a/applications/luci-samba/luasrc/i18n/samba.en.lua b/applications/luci-samba/luasrc/i18n/samba.en.lua new file mode 100644 index 000000000..28fce71dc --- /dev/null +++ b/applications/luci-samba/luasrc/i18n/samba.en.lua @@ -0,0 +1,18 @@ +samba = "Network Shares" +samba_samba_name = "Hostname" +samba_samba_description = "Description" +samba_samba_workgroup = "Workgroup" +samba_samba_homes = "Share home-directories" +samba_samba_homes_desc = "System users can reach their home directories via network shares." + +samba_sambashare = "Shared Directories" +samba_sambashare_path = "Shared Directory" +samba_sambashare_path_desc = "Physical Path" +samba_sambashare_users = "Allowed Users" +samba_sambashare_users_desc = "optional" +samba_sambashare_readonly = "Read Only" +samba_sambashare_guestok = "Allow Guests" +samba_sambashare_createmask = "Create Mask" +samba_sambashare_createmask_desc = "Mask for new files" +samba_sambashare_dirmask = "Directory Mask" +samba_sambashare_dirmask_desc = "Mask for new directories" diff --git a/applications/luci-samba/luasrc/model/cbi/samba.lua b/applications/luci-samba/luasrc/model/cbi/samba.lua new file mode 100644 index 000000000..3fe7006e3 --- /dev/null +++ b/applications/luci-samba/luasrc/model/cbi/samba.lua @@ -0,0 +1,54 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth +Copyright 2008 Jo-Philipp Wich + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- + +m = Map("samba") + +s = m:section(TypedSection, "samba", "Samba") +s.anonymous = true + +s:option(Value, "name") +s:option(Value, "description") +s:option(Value, "workgroup") +s:option(Flag, "homes") + + +s = m:section(TypedSection, "sambashare") +s.anonymous = true +s.addremove = true +s.template = "cbi/tblsection" + +s:option(Value, "name", translate("name")) +s:option(Value, "path") + +s:option(Value, "users").rmempty = true + +ro = s:option(Flag, "read_only") +ro.enabled = "yes" +ro.disabled = "no" + +go = s:option(Flag, "guest_ok") +go.enabled = "yes" +go.disabled = "no" + +cm = s:option(Value, "create_mask") +cm.rmempty = true +cm.size = 4 + +dm = s:option(Value, "dir_mask") +dm.rmempty = true +dm.size = 4 + + +return m \ No newline at end of file diff --git a/contrib/package/luci/Makefile b/contrib/package/luci/Makefile index a4441de5b..d2c060385 100644 --- a/contrib/package/luci/Makefile +++ b/contrib/package/luci/Makefile @@ -468,6 +468,17 @@ define Package/luci-app-ddns/install endef +define Package/luci-app-samba + $(call Package/luci/webtemplate) + DEPENDS+=+luci-admin-full +samba + TITLE:=Network Shares - Samba SMB/CIFS module +endef + +define Package/luci-app-samba/install + $(call Package/luci/install/template,$(1),applications/luci-samba) +endef + + ### Server Gateway Interfaces ### define Package/luci-sgi-cgi @@ -637,6 +648,10 @@ endif ifneq ($(CONFIG_PACKAGE_luci-app-ddns),) PKG_SELECTED_MODULES+=applications/luci-ddns endif +ifneq ($(CONFIG_PACKAGE_luci-app-samba),) + PKG_SELECTED_MODULES+=applications/luci-samba +endif + ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),) PKG_SELECTED_MODULES+=libs/sgi-cgi @@ -706,6 +721,7 @@ $(eval $(call BuildPackage,luci-app-statistics)) $(eval $(call BuildPackage,luci-app-upnp)) $(eval $(call BuildPackage,luci-app-ntpc)) $(eval $(call BuildPackage,luci-app-ddns)) +$(eval $(call BuildPackage,luci-app-samba)) $(eval $(call BuildPackage,luci-sgi-cgi)) $(eval $(call BuildPackage,luci-sgi-luci)) diff --git a/libs/web/root/etc/config/luci b/libs/web/root/etc/config/luci index b3532110d..76fa441c8 100644 --- a/libs/web/root/etc/config/luci +++ b/libs/web/root/etc/config/luci @@ -33,6 +33,7 @@ config event uci_oncommit option luci_splash "/sbin/luci-reload firewall luci_splash" option upnpd "/etc/init.d/miniupnpd enabled && /sbin/luci-reload miniupnpd || /etc/init.d/miniupnpd stop" option ntpclient "/sbin/luci-reload ntpclient" + option samba "/sbin/luci-reload samba" config internal languages -- 2.25.1