137 lines
5 KiB
Plaintext
Executable file
137 lines
5 KiB
Plaintext
Executable file
<% @title = "Edit Web" %>
|
|
|
|
<form action="../update_web" id="setup" method="post" onSubmit="cleanAddress(); return validateSetup()">
|
|
<h2 style="margin-bottom: 3px">Name and address</h2>
|
|
<div class="help">
|
|
The name of the web is included in the title on all pages. The address is the base path that all pages within the web live beneath.
|
|
Ex: the address "rails" gives URLs like <i>/rails/show/HomePage</i>.
|
|
</div>
|
|
|
|
<div class="inputBox">
|
|
Name: <input type="text" id="name" name="name" value="<%= @web.name %>" onChange="proposeAddress();">
|
|
Address: <input type="text" id="address" name="address" value="<%= @web.address %>" onChange="cleanAddress();">
|
|
<i>(Letters & digits only)</i>
|
|
</div>
|
|
|
|
<h2 style="margin-bottom: 3px">Specialize</h2>
|
|
<div class="help">
|
|
Turning safe mode on will strip HTML tags and stylesheet options from the content of all pages.
|
|
Turning on "brackets only" will require all wiki words to be as [[wiki word]] and WikiWord won't work.
|
|
Additions to the stylesheet take precedence over the existing styles. <i>Hint:</i> View source on a page you want to
|
|
style to find ID names on individual tags. <a href="#" onClick="document.getElementById('additionalStyle').style.display='block';return false;">See styles >></a>
|
|
</div>
|
|
<div class="inputBox">
|
|
Markup:
|
|
<select name="markup">
|
|
<%= html_options({ "Textile" => :textile, "Markdown" => :markdown, "RDoc" => :rdoc }, @web.markup) %>
|
|
</select>
|
|
|
|
|
|
|
|
Color:
|
|
<select name="color">
|
|
<%= html_options({ "Green" => "008B26", "Purple" => "504685", "Red" => "DA0006", "Orange" => "FA6F00", "Grey" => "8BA2B0" },
|
|
@web.color) %>
|
|
</select>
|
|
|
|
|
|
|
|
<small>
|
|
|
|
<input type="checkbox" name="safe_mode"<%= " CHECKED" if @web.safe_mode %>> Safe mode
|
|
|
|
|
|
|
|
<input type="checkbox" name="brackets_only"<%= " CHECKED" if @web.brackets_only %>> Brackets only
|
|
|
|
|
|
|
|
<input type="checkbox" name="count_pages"<%= " CHECKED" if @web.count_pages %>> Count pages
|
|
|
|
</small>
|
|
|
|
<textarea id="additionalStyle" style="display: none; margin-top: 10px; margin-bottom: 5px; width: 560px; height: 200px" name="additional_style"><%= @web.additional_style %></textarea>
|
|
</div>
|
|
|
|
<h2 style="margin-bottom: 3px">Password protection for this web (<%= @web.name %>)</h2>
|
|
<div class="help">
|
|
This is the password that visitors need to view and edit this web. Setting the password to nothing will remove the password protection.
|
|
</div>
|
|
<div class="inputBox">
|
|
Password: <input type="password" id="password" name="password" value="<%= @web.password %>">
|
|
Verify: <input type="password" id="password_check" value="<%= @web.password %>" name="password_check">
|
|
</div>
|
|
|
|
<h2 style="margin-bottom: 3px">Publish read-only version of this web (<%= @web.name %>)</h2>
|
|
<div class="help">
|
|
You can turn on a read-only version of this web that's accessible even when the regular web is password protected.
|
|
The published version is accessible through URLs like /wiki/published/HomePage.
|
|
</div>
|
|
<div class="inputBox">
|
|
<input type="checkbox" name="published"<%= " CHECKED" if @web.published %>> Publish this web
|
|
</div>
|
|
|
|
<p align="right">
|
|
<small>
|
|
Enter system password
|
|
<input type="password" id="system_password" name="system_password">
|
|
and
|
|
<input type="submit" value="Update Web">
|
|
<br/><br/>
|
|
...or forget changes and <a href="/new_web/">create a new web</a>
|
|
</small>
|
|
</p>
|
|
|
|
</form>
|
|
|
|
<br/>
|
|
<h1>Other administrative tasks</h1>
|
|
|
|
<form action="../remove_orphaned_pages" id="remove_orphaned_pages" method="post">
|
|
|
|
<p align="right">
|
|
<small>
|
|
Clean up by entering system password
|
|
<input type="password" id="system_password" name="system_password">
|
|
and
|
|
<input type="submit" value="Delete Orphan Pages">
|
|
</small>
|
|
</p>
|
|
|
|
<script>
|
|
function proposeAddress() {
|
|
document.getElementById('address').value =
|
|
document.getElementById('name').value.replace(/[^a-zA-Z0-9]/g, "").toLowerCase();
|
|
}
|
|
|
|
function cleanAddress() {
|
|
document.getElementById('address').value =
|
|
document.getElementById('address').value.replace(/[^a-zA-Z0-9]/g, "").toLowerCase();
|
|
}
|
|
|
|
function validateSetup() {
|
|
if (document.getElementById('system_password').value == "") {
|
|
alert("You must enter the system password");
|
|
return false;
|
|
}
|
|
|
|
if (document.getElementById('name').value == "") {
|
|
alert("You must pick a name for the web");
|
|
return false;
|
|
}
|
|
|
|
if (document.getElementById('address').value == "") {
|
|
alert("You must pick an address for the web");
|
|
return false;
|
|
}
|
|
|
|
if (document.getElementById('password').value != "" &&
|
|
document.getElementById('password').value != document.getElementById('password_check').value) {
|
|
alert("The password and its verification doesn't match");
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
</script>
|