<%#
 Copyright 2008 Steven Barth <steven@midlink.org>
 Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
 Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
 Licensed to the public under the Apache License 2.0.
-%>

<%
local fs = require "nixio.fs"
local has_custom_splash = fs.access("/usr/lib/luci-splash/splashtext.html")
local has_custom_splashinclude = fs.access("/usr/lib/luci-splash/splashtextinclude.html")

function expand (e, R)        
	return (string.gsub(e, "###([A-Z_]+)###", R))
end

local community, homepage, leasetime, limit_up, limit_down

local contacturl = luci.dispatcher.build_url("freifunk", "contact")

local c = luci.model.uci.cursor():get_all("freifunk", "community")
if c and c.name then
        name = luci.model.uci.cursor():get('profile_' .. c.name, 'profile', 'name')
	if name then
		community = name
	else
		community = c.name
	end
else
	community = "Freifunk"
end

if c and c.homepage then
	homepage = c.homepage
else
	homepage = "http://freifunk.net"
end

local s = luci.model.uci.cursor():get_all("luci_splash", "general")
if s then
	leasetime = s.leasetime or ""
	limit_up = s.limit_up or nil
	limit_down = s.limit_down or nil
end

local limit_text = ""
if limit_up and limit_down then
	limit_text = "<p>" .. translate("Your bandwidth is limited to") .. " " .. limit_down .. "/" .. limit_up ..
	" " .. translate("KB/s (Download/Upload). You may be able to remove this limit by actively contributing " ..
	"to this project.") .. "</p>"
end

local contact = translate('%s with the operator of this access point.')
contact = contact % ('<a href="' .. contacturl .. '">' .. translatef('Get in contact') .. '</a>')

local accepttext = translate('By accepting these rules you can use this network for %s hour(s). After this time you need to accept these rules again.')
accepttext = accepttext % leasetime


if has_custom_splash then
	local R = {
		COMMUNITY = community,
		COMMUNITY_URL = homepage,
		LEASETIME = leasetime,
		ACCEPT = tostring(translate("Accept")),
		LIMIT = limit_text,
		CONTACTURL = contacturl
	}
	local splashtext = expand(fs.readfile("/usr/lib/luci-splash/splashtext.html"), R)
	%>
	<%=splashtext%>

<% else %>

	<h2 name="content"><%:Welcome%></h2>

	<p><%:You are now connected to the free wireless mesh network%> <a href="<%=homepage%>"><%=community%></a>.
	<%:Please note that we are not an internet service provider but an experimental community network.%></p>
	<p><%:Access to the internet might be possible nevertheless, because some activists of this project share their
	private	internet connections. These few connections are shared between all users. That means available bandwidth
	is limited and because of this we ask you not to do any of the following:%></p>
	<ul>
		<li><%:use filesharing applications on this network%></li>
		<li><%:waste bandwidth with unnecessary downloads or streams%></li>
		<li><%:perform any kind of illegal activities%></li>
	</ul>
	<br />

	<% if limit_up and limit_down then %>
		<%=limit_text%>
	<% end %>
	
	<p><%:If you use this network on a regular basis we ask for your support:%></p>
	<ul>
		<li><a href="<%=homepage%>"><%:Become an active member of this community and help by operating your own node%></a></li>
		<li><%=contact%></li>
		<li><%:Donate some money to help us keep this project alive.%></li>
		<li><%:If you operate your own wifi equipment use channels different from ours.%></li>
	</ul>

	<%
	if has_custom_splashinclude then
		local splashtextinclude = fs.readfile("/usr/lib/luci-splash/splashtextinclude.html")
	%>
		<%=splashtextinclude%>
	<% end %>

	<h2><%:Usage Agreement%></h2>
	<p>
	<%:The open and free wireless network of volunteers ("Operators") provides the necessary equipment and Internet connections ("Infrastructure") at their own expense.%>
	<%:These Terms of Use govern the use of the network by its participants' computer, PDA, or similar device ("Devices") within the network.%>
	<%:Access to the network is not guaranteed. It can be interrupted at any time without notice for any reason, for certain devices, and/or may be blocked for certain users.%>
	</p>

	<h3><%:Legally Prohibited Activities%></h3>
	<p><%:The participant agrees to not perform any action and refrain from acts which may violate the law or infringe upon the rights of third parties.%></p>
 
	<h3><%:Legally Prohibited content%></h3>
	<p><%:The participant agrees to not transfer content over the network which violates the law.%></p>
 
	<h3><%:Fair Use Policy%></h3>
	<p><%:The participant agrees to not use the network in any way which will harm the infrastructure, the network itself, its operators or other participants.%></p>
 
	<h3><%:Safety%></h3>
	<p><%:The network, like the Internet, is unencrypted and open. Each participant is responsible for the safety of their own connections and devices.%></p>
 
	<h3>Disclaimer</h3>
	<p><%:The operator claims no liability for loss of data, unauthorized access/damage to devices, or financial losses that participants may suffer from the use of the network.%></p>

	<br /><p><b><%=accepttext%></b></p>
<% end %>



