diff --git a/CONTRIBUTED.md b/CONTRIBUTED.md index dd316464c0..4580727dc4 100644 --- a/CONTRIBUTED.md +++ b/CONTRIBUTED.md @@ -44,8 +44,8 @@ package openwrt-mwol: [Mleaf/openwrt-mwol](https://github.com/Mleaf/openwrt-mwol package gargoyle: [ericpaulbishop/gargoyle](https://github.com/ericpaulbishop/gargoyle).
luci-app-qos-gargoyle source: [kuoruan/luci-app-qos-gargoyle](https://github.com/kuoruan/luci-app-qos-gargoyle).
luci-theme-rosy source: [rosywrt/luci-theme-rosy](https://github.com/rosywrt/luci-theme-rosy).
-luci-theme-argon-mc source: [sypopo/luci-theme-argon-mc](https://github.com/sypopo/luci-theme-argon-mc). - +luci-theme-argon-mc source: [sypopo/luci-theme-argon-mc](https://github.com/sypopo/luci-theme-argon-mc).
+luci-app-cupsd source: [F-Light/luci-app-cupsd](https://github.com/F-Light/luci-app-cupsd). ## License ### Depending on their own License. diff --git a/package/ctcgfw/luci-app-cupsd/Makefile b/package/ctcgfw/luci-app-cupsd/Makefile new file mode 100644 index 0000000000..fc17ebce89 --- /dev/null +++ b/package/ctcgfw/luci-app-cupsd/Makefile @@ -0,0 +1,15 @@ +# +#-- Copyright (C) 2018 dz +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI Support for cupsd +LUCI_DEPENDS:= +cups +PKG_VERSION:=1.2 + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-cupsd/luasrc/controller/cupsd.lua b/package/ctcgfw/luci-app-cupsd/luasrc/controller/cupsd.lua new file mode 100644 index 0000000000..ec5acc619a --- /dev/null +++ b/package/ctcgfw/luci-app-cupsd/luasrc/controller/cupsd.lua @@ -0,0 +1,17 @@ +#-- Copyright (C) 2018 dz + +module("luci.controller.cupsd", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/cupsd") then + return + end + + local page + + + entry({"admin", "services", "cupsd"},alias("admin", "services", "cupsd","page1"),_("CUPS 打印服务器"),60).dependent = true + entry({"admin", "services", "cupsd","page1"}, cbi("cupsd/page1"),_("设置"),10).leaf = true + entry({"admin", "services", "cupsd","page2"}, cbi("cupsd/page2"),_("高级"),20).leaf = true +end + diff --git a/package/ctcgfw/luci-app-cupsd/luasrc/model/cbi/cupsd/page1.lua b/package/ctcgfw/luci-app-cupsd/luasrc/model/cbi/cupsd/page1.lua new file mode 100644 index 0000000000..af7c4cb14b --- /dev/null +++ b/package/ctcgfw/luci-app-cupsd/luasrc/model/cbi/cupsd/page1.lua @@ -0,0 +1,42 @@ +-- Copyright 2008 Yanira +-- Licensed to the public under the Apache License 2.0. +--mod by wulishui 20191205 + +require("luci.model.ipkg") +local fs = require "nixio.fs" +require("nixio.fs") +local uci = require "luci.model.uci".cursor() +local cport = uci:get_first("cupsd", "cupsd", "port") or 631 + +local m, s, o + +local running=(luci.sys.call("pidof cupsd > /dev/null") == 0) + +local button = "" +local state_msg = "" + +if running then + state_msg = "" .. translate("~正在运行~") .. "" +else + state_msg = "" .. translate("CUPS在睡觉觉zZZ") .. "" +end + +if running then + button = "

------" +end + +m = Map("cupsd", translate("CUPS打印服务器")) +m.description = translate("CUPS是苹果公司为MacOS和其他类似UNIX的操作系统开发的基于标准的开源打印系统。".. button .. "

" .. translate("运行状态").. " : " .. state_msg .. "
") + +s = m:section(TypedSection, "cupsd", translate("")) +s.anonymous = true + +s:option(Flag, "enabled", translate("Enable")) + +s:option(Value, "port", translate("WEB管理端口"),translate("可随意设定为无冲突的端口,对程序运行无影响。")).default = 631 +s.rmempty = true + + +return m + + diff --git a/package/ctcgfw/luci-app-cupsd/luasrc/model/cbi/cupsd/page2.lua b/package/ctcgfw/luci-app-cupsd/luasrc/model/cbi/cupsd/page2.lua new file mode 100644 index 0000000000..4b54a11150 --- /dev/null +++ b/package/ctcgfw/luci-app-cupsd/luasrc/model/cbi/cupsd/page2.lua @@ -0,0 +1,29 @@ +local fs = require "nixio.fs" +local sys = require "luci.sys" + +m = Map("samba", translate("CUPS高级配置"), translate("此处修改的是/etc/cups/cupsd.conf文件。")) +s = m:section(TypedSection, "samba") +s.anonymous=true + +o = s:option(TextValue, "/etc/cups/cupsd.conf") +o.rows = 20 +o.wrap = "off" +function o.cfgvalue(self, section) + return fs.readfile("/etc/cups/cupsd.conf") or "" +end + +function o.write(self, section, value) + if value then + value = value:gsub("\r\n?", "\n") + fs.writefile("/tmp/cupsd.conf", value) + if (luci.sys.call("cmp -s /tmp/cupsd.conf /etc/cups/cupsd.conf") == 1) then + fs.writefile("/etc/cups/cupsd.conf", value) + luci.sys.call("/etc/init.d/cupsd reload >/dev/null") + end + fs.remove("/tmp/cupsd.conf") + end +end + +return m + + diff --git a/package/ctcgfw/luci-app-cupsd/root/etc/config/cupsd b/package/ctcgfw/luci-app-cupsd/root/etc/config/cupsd new file mode 100644 index 0000000000..132a52ee97 --- /dev/null +++ b/package/ctcgfw/luci-app-cupsd/root/etc/config/cupsd @@ -0,0 +1,4 @@ + +config cupsd 'config' + option enabled '0' + option port '631' diff --git a/package/ctcgfw/luci-app-cupsd/root/etc/uci-defaults/luci-cupsd b/package/ctcgfw/luci-app-cupsd/root/etc/uci-defaults/luci-cupsd new file mode 100755 index 0000000000..279f499120 --- /dev/null +++ b/package/ctcgfw/luci-app-cupsd/root/etc/uci-defaults/luci-cupsd @@ -0,0 +1,14 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@cupsd[-1] + add ucitrack cupsd + set ucitrack.@cupsd[-1].init=cupsd + commit ucitrack +EOF + + +/etc/init.d/cupsd stop + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/package/ctcgfw/luci-app-cupsd/root/www/cups.pdf b/package/ctcgfw/luci-app-cupsd/root/www/cups.pdf new file mode 100644 index 0000000000..42a52ef224 Binary files /dev/null and b/package/ctcgfw/luci-app-cupsd/root/www/cups.pdf differ