diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2014-12-03 15:17:05 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2015-01-08 16:26:20 +0100 |
commit | 1bb4822dca6113f73e3bc89e2acf15935e6f8e92 (patch) | |
tree | 35e16f100466e4e00657199b38bb3d87d52bf73f /themes/luci-theme-freifunk-generic/luasrc | |
parent | 9edd0e46c3f880727738ce8ca6ff1c8b85f99ef4 (diff) |
Rework LuCI build system
* Rename subdirectories to their repective OpenWrt package names
* Make each LuCI module its own standalone package
* Deploy a shared luci.mk which is used by each module Makefile
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Diffstat (limited to 'themes/luci-theme-freifunk-generic/luasrc')
-rw-r--r-- | themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/footer.htm | 31 | ||||
-rw-r--r-- | themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/header.htm | 226 |
2 files changed, 257 insertions, 0 deletions
diff --git a/themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/footer.htm b/themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/footer.htm new file mode 100644 index 0000000000..e9df8cda00 --- /dev/null +++ b/themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/footer.htm @@ -0,0 +1,31 @@ +<%# +LuCI - Lua Configuration Interface +Copyright 2008 Steven Barth <steven@midlink.org> +Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> + +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 +-%> +<% local xtime +if exectime then + xtime = (string.format("%.2fs", os.clock() - exectime)) +end %> + +</div> +<div class="clear"></div> +<div class="push"></div> +</div> + +<div class="footer"> +<p class="luci"><a href="http://luci.subsignal.org">Powered by <%= luci.__appname__ .. " (" .. luci.__version__ .. ")" %></a></p> +<% if xtime then %> +<p class="exectime">Script execution time: <%=xtime%></p> +<% end %> +</div> + +</body> +</html> + diff --git a/themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/header.htm b/themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/header.htm new file mode 100644 index 0000000000..e8b1c062d1 --- /dev/null +++ b/themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/header.htm @@ -0,0 +1,226 @@ +<%# +LuCI - Lua Configuration Interface +Copyright 2008 Steven Barth <steven@midlink.org> +Copyright 2008-2011 Jo-Philipp Wich <xm@subsignal.org> + +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 +-%> + +<% + local fs = require "luci.fs" + local sys = require "luci.sys" + local http = require "luci.http" + local disp = require "luci.dispatcher" + + local hostname = sys.hostname() + local load1, load5, load15 = sys.loadavg() + + local request = disp.context.path + local category = request[1] + local cattree = category and disp.node(category) + + local tree = disp.node() + local node = disp.context.dispatched + + local categories = disp.node_childs(tree) + + local c = tree + local i, r + + -- tag all nodes leading to this page + for i, r in ipairs(request) do + if c.nodes and c.nodes[r] then + c = c.nodes[r] + c._menu_selected = true + end + end + + local uci = require "luci.model.uci".cursor() + local ff = uci:get("freifunk", "community", "name") or "" + local co = "profile_" .. ff + local community = uci:get_first(co, "community", "name") or "Freifunk" + local hp = uci:get_first(co, "community", "homepage") or "http://www.freifunk.net" + local logo = "/luci-static/freifunk-generic/logo.jpg" + local banner = false + local show_comm = true + + local lo = fs.glob("/www/luci-static/resources/custom_logo.*") + if lo[1] then + logo = string.gsub(lo[1], "/www", "") + end + + local lon = fs.glob("/www/luci-static/resources/custom_logo_only.*") + if lon[1] then + logo = string.gsub(lon[1], "/www", "") + show_comm = false + end + + local hea = fs.glob("/www/luci-static/resources/custom_header.*") + if hea[1] then + logo = string.gsub(hea[1], "/www", "") + show_comm = false + banner = true + end +-%> + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<%=luci.i18n.context.lang%>" lang="<%=luci.i18n.context.lang%>"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta http-equiv="Content-Script-Type" content="text/javascript" /> +<link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/cascade.css" /> +<link rel="stylesheet" media="only screen and (max-device-width: 854px)" href="<%=media%>/mobile.css" type="text/css" /> +<link rel="stylesheet" media="only screen and (max-width: 854px)" href="<%=media%>/smallscreen.css" type="text/css" /> +<link rel="stylesheet" media="handheld" href="<%=media%>/mobile.css" type="text/css" /> +<!--[if IE 7]><link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/ie7.css" /><![endif]--> +<% if node and node.css then %><link rel="stylesheet" type="text/css" media="screen" href="<%=resource%>/<%=node.css%>" /> +<% end -%> +<% if css then %><style title="text/css"> +<%= css %> +</style> +<% end -%> +<meta name="viewport" content="initial-scale=1.0" /> +<script type="text/javascript" src="<%=resource%>/xhr.js"></script> + +<title><%=striptags( hostname .. ( (node and node.title) and ' - ' .. translate(tostring(node.title)) or '')) %> - LuCI</title> +</head> + +<body class="lang_<%=luci.i18n.context.lang%>"> + +<div class="wrapper"> + +<!--[if lt IE 7]> +<div class="warning"><div style="background-color: #cccccc;padding: 2px 10px 2px 10px"> +<%: Your Internet Explorer is too old to display this page correctly. Please upgrade it to at least version 7 or use another browser like Firefox, Opera or Safari.%> +</div></div> +<![endif]--> + +<%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> + <div class="warning"> + <strong><%:No password set!%></strong><br /> + <%:There is no password set on this router. Please configure a root password to protect the web interface and enable SSH.%> + </div> +<%- end -%> + +<p class="skiplink"> +<span id="skiplink1"><a href="#navigation"><%:skiplink1 Skip to navigation%></a></span> +<span id="skiplink2"><a href="#content"><%:skiplink2 Skip to content%></a></span> +</p> + +<div id="header"> + <%if banner then%> + <div class="header_banner"> + <a href="<%=hp%>"><img src="<%=logo%>" alt="Header" /></a> + </div> + <%else%> + <div class="header_left"> + <a href="<%=hp%>"><img src="<%=logo%>" id="mainlogo" alt="Logo" /></a> + <%if show_comm then%> + <a href="<%=hp%>"><%=community%></a> + <br/> + <%end%> + </div> + <div class="header_right"> + <%=luci.version.distversion%><br /> + <%:Load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%><br /> + <%:Hostname%>: <%=hostname%><br /> + <span id="xhr_poll_status" style="display:none" onclick="XHR.running() ? XHR.halt() : XHR.run()"> + <%:Auto Refresh%>: + <span id="xhr_poll_status_on"><%:on%></span> + <span id="xhr_poll_status_off" style="display:none"><%:off%></span> + </span> + </div> + <div class="clear"></div> + + <%end%> +</div> + +<%- + local function submenu(prefix, node) + local childs = disp.node_childs(node) + if #childs > 0 then +%> + <ul id="submenu_<%=string.gsub(string.gsub(prefix, "/", "_"), "^_(.-)_$", "%1")%>"> + <%- + for i, r in ipairs(childs) do + local nnode = node.nodes[r] + local href = controller .. prefix .. r .. "/" .. + (nnode.query and http.build_querystring(nnode.query) or "") + %> + <li> + <a<%=ifattr(nnode._menu_selected, "class", "active")%> href="<%=luci.util.pcdata(href)%>"><%=translate(nnode.title)%></a> + <%- submenu(prefix .. r .. "/", nnode) %> + </li> + <%- + end + %> + </ul> +<% + end + end +%> + +<div id="menubar"> +<h2 class="navigation"><a id="navigation" name="navigation"><%:navigation Navigation%></a></h2> +<ul id="mainmenu" class="dropdowns"> + <% + local childs = disp.node_childs(cattree) + if #childs > 0 then + for i, r in ipairs(childs) do + local nnode = cattree.nodes[r] + local href = controller .. "/" .. category .. "/" .. r .. + (nnode.query and http.build_querystring(k.query) or "") + %> + <li> + <a<%=ifattr(nnode._menu_selected, "class", "preactive")%> href="<%=href%>"><%=translate(nnode.title)%></a> + <%- submenu("/" .. category .. "/" .. r .. "/", nnode) %> + </li> + <% + end + end + %> + <li></li> +</ul> + +<% if #categories > 1 then %> + <ul id="modemenu"> + <% for i, r in ipairs(categories) do %> + <li><a<%=ifattr(request[1] == r, "class", "active")%> href="<%=controller%>/<%=r%>/"><%=striptags(translate(tree.nodes[r].title))%></a></li> + <% end %> + </ul> +<% end %> + +<% +if tree.nodes[category] and tree.nodes[category].ucidata then + local ucic = 0 + for i, j in pairs(require("luci.model.uci").cursor():changes()) do + for k, l in pairs(j) do + for m, n in pairs(l) do + ucic = ucic + 1; + end + end + end +-%> + <div id="savemenu"> + <% if ucic > 0 then %> + <a class="warning" href="<%=controller%>/<%=category%>/uci/changes/?redir=<%=http.urlencode(http.formvalue("redir") or REQUEST_URI)%>"><%:Unsaved Changes%>: <%=ucic%></a> + <% end -%> + </div> +<% end %> + +<div class="clear"></div> +</div> +<div id="maincontent"> +<% if category ~= "freifunk" and category ~= "splash" then %> +<noscript> + <div class="errorbox"> + <strong><%:Java Script required!%></strong><br /> + <%:You must enable Java Script in your browser or LuCI will not work properly.%> + </div> +</noscript> +<% end %> |