Adding password hashing

This commit is contained in:
Fabian Stamm
2018-04-10 19:57:45 +02:00
58 changed files with 9475 additions and 3 deletions

BIN
radicale/web/css/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

43
radicale/web/css/main.css Normal file
View File

@ -0,0 +1,43 @@
body { background: #e4e9f6; color: #424247; display: flex; flex-direction: column; font-size: 14pt; line-height: 1.4; margin: 0; min-height: 100vh; }
a { color: inherit; }
nav, footer { background: #a40000; color: white; padding: 0 20%; }
nav ul, footer ul { display: flex; flex-wrap: wrap; margin: 0; padding: 0; }
nav ul li, footer ul li { display: block; padding: 0 1em 0 0; }
nav ul li a, footer ul li a { color: inherit; display: block; padding: 1em 0.5em 1em 0; text-decoration: inherit; transition: 0.2s; }
nav ul li a:hover, nav ul li a:focus, footer ul li a:hover, footer ul li a:focus { color: black; outline: none; }
header { background: url(logo.svg), linear-gradient(to bottom right, #050a02, black); background-position: 22% 45%; background-repeat: no-repeat; color: #efdddd; font-size: 1.5em; min-height: 250px; overflow: auto; padding: 3em 22%; text-shadow: 0.2em 0.2em 0.2em rgba(0, 0, 0, 0.5); }
header > * { padding-left: 220px; }
header h1 { font-size: 2.5em; font-weight: lighter; margin: 0.5em 0; }
main { flex: 1; }
section { padding: 0 20% 2em; }
section:not(:last-child) { border-bottom: 1px dashed #ccc; }
section h1 { background: linear-gradient(to bottom right, #050a02, black); color: #e5dddd; font-size: 2.5em; margin: 0 -33.33% 1em; padding: 1em 33.33%; }
section h2, section h3, section h4 { font-weight: lighter; margin: 1.5em 0 1em; }
article { border-top: 1px solid transparent; position: relative; margin: 3em 0; }
article aside { box-sizing: border-box; color: #aaa; font-size: 0.8em; right: -30%; top: 0.5em; position: absolute; }
article:before { border-top: 1px dashed #ccc; content: ""; display: block; left: -33.33%; position: absolute; right: -33.33%; }
pre { border-radius: 3px; background: black; color: #d3d5db; margin: 0 -1em; overflow-x: auto; padding: 1em; }
table { border-collapse: collapse; font-size: 0.8em; margin: auto; }
table td { border: 1px solid #ccc; padding: 0.5em; }
dl dt { margin-bottom: 0.5em; margin-top: 1em; }
@media (max-width: 800px) { body { font-size: 12pt; }
header, section { padding-left: 2em; padding-right: 2em; }
nav, footer { padding-left: 0; padding-right: 0; }
nav ul, footer ul { justify-content: center; }
nav ul li, footer ul li { padding: 0 0.5em; }
nav ul li a, footer ul li a { padding: 1em 0; }
header { background-position: 50% 30px, 0 0; padding-bottom: 0; padding-top: 330px; text-align: center; }
header > * { margin: 0; padding-left: 0; }
section h1 { margin: 0 -0.8em 1.3em; padding: 0.5em 0; text-align: center; }
article aside { top: 0.5em; right: -1.5em; }
article:before { left: -2em; right: -2em; } }

1003
radicale/web/fn.js Normal file

File diff suppressed because it is too large Load Diff

105
radicale/web/index.html Normal file
View File

@ -0,0 +1,105 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width initial-scale=1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<script src="fn.js"></script>
<title>Web interface for Radicale</title>
<link href="css/main.css" media="screen" rel="stylesheet" />
<link href="css/icon.png" type="image/png" rel="shortcut icon" />
</head>
<body>
<nav>
<ul>
<li id="logoutview" style="display: none;"><a href="" name="link">Logout [<span name="user" style="word-wrap:break-word;"></span>]</a></li>
</ul>
</nav>
<section id="loginscene" style="display: none;">
<h1>Login</h1>
<form name="form">
<input name="user" type="text" placeholder="Username"><br>
<input name="password" type="password" placeholder="Password"><br>
<span style="color: #A40000;" name="error"></span><br>
<button type="submit">Next</button>
</form>
</section>
<section id="loadingscene" style="display: none;">
<h1>Loading</h1>
Please wait...
</section>
<section id="collectionsscene" style="display: none;">
<h1>Collections</h1>
<a href="" name="new">Create new addressbook or calendar</a>
<article name="collectiontemplate">
<h2><span name="color"></span><span name="title" style="word-wrap:break-word;">Title</span> <small>[<span name="ADDRESSBOOK">addressbook</span><span name="CALENDAR_JOURNAL_TASKS">calendar, journal and tasks</span><span name="CALENDAR_JOURNAL">calendar and journal</span><span name="CALENDAR_TASKS">calendar and tasks</span><span name="JOURNAL_TASKS">journal and tasks</span><span name="CALENDAR">calendar</span><span name="JOURNAL">journal</span><span name="TASKS">tasks</span>]</small></h2>
<span name="description" style="word-wrap:break-word;">Description</span>
<ul>
<li>URL: <a name="url" style="word-wrap:break-word;">url</a></li>
<li><a href="" name="edit">Edit</a></li>
<li><a href="" name="delete">Delete</a></li>
</ul>
</article>
</section>
<section id="editcollectionscene" style="display: none;">
<h1>Edit collection</h1>
<h2>Edit <span name="title" style="word-wrap:break-word;">title</span>:</h2>
<form>
Title:<br>
<input name="displayname" type="text"><br>
Description:<br>
<input name="description" type="text"><br>
Type:<br>
<select name="type">
<option value="ADDRESSBOOK">addressbook</option>
<option value="CALENDAR_JOURNAL_TASKS">calendar, journal and tasks</option>
<option value="CALENDAR_JOURNAL">calendar and journal</option>
<option value="CALENDAR_TASKS">calendar and tasks</option>
<option value="JOURNAL_TASKS">journal and tasks</option>
<option value="CALENDAR">calendar</option>
<option value="JOURNAL">journal</option>
<option value="TASKS">tasks</option>
</select><br>
Color:<br>
<input name="color" type="color"><br>
<span style="color: #A40000;" name="error"></span><br>
<button type="submit" name="submit">Save</button>
<button type="button" name="cancel">Cancel</button>
</form>
</section>
<section id="createcollectionscene" style="display: none;">
<h1>Create new collection</h1>
<form>
Title:<br>
<input name="displayname" type="text"><br>
Description:<br>
<input name="description" type="text"><br>
Type:<br>
<select name="type">
<option value="ADDRESSBOOK">addressbook</option>
<option value="CALENDAR_JOURNAL_TASKS">calendar, journal and tasks</option>
<option value="CALENDAR_JOURNAL">calendar and journal</option>
<option value="CALENDAR_TASKS">calendar and tasks</option>
<option value="JOURNAL_TASKS">journal and tasks</option>
<option value="CALENDAR">calendar</option>
<option value="JOURNAL">journal</option>
<option value="TASKS">tasks</option>
</select><br>
Color:<br>
<input name="color" type="color"><br>
<span style="color: #A40000;" name="error"></span><br>
<button type="submit" name="submit">Create</button>
<button type="button" name="cancel">Cancel</button>
</form>
</section>
<section id="deletecollectionscene" style="display: none;">
<h1>Delete collection</h1>
<h2>Delete <span name="title" style="word-wrap:break-word;">title</span>?</h2>
<span style="color: #A40000;" name="error"></span><br>
<form>
<button type="button" name="delete">Yes</button>
<button type="button" name="cancel">No</button>
</form>
</section>
</body>
</html>