W3C compliance (work on issue #64 - https://github.com/shaarli/Shaarli/issues/64):
* fix duplicate IDs - #paging_older, #paging_newer become classes as the paging is displayed twice (top, bottom) in the linklist * fix duplicate IDs - #paging_privatelinks and #paging_linksperpage become classes * daily links are now valid (use &) * name attribute is not used anymore on a tag in link list * center tag is replaced by CSS in picwall and tag cloud * action in form tag can't be empty, use # instead * fixed configure table with CSS instead of cellpadding, border, and valign * export links are now valid * remove "size" in input tag * Fix missing alt attributes for img elements * tpl/daily: Use HTML entities instead of char escape codes * tpl/export: fix missing </span> closing tag * Remove obsolete language attribute on <script> elements
This commit is contained in:
parent
002f9625ec
commit
8079dfd1cd
11 changed files with 68 additions and 54 deletions
|
@ -291,34 +291,34 @@ h1 {
|
|||
color: #fff;
|
||||
}
|
||||
|
||||
#paging_privatelinks {
|
||||
.paging_privatelinks {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#paging_linksperpage {
|
||||
.paging_linksperpage {
|
||||
float: right;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#paging_linksperpage form.linksperpage {
|
||||
.paging_linksperpage form.linksperpage {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#paging_linksperpage form.linksperpage input {
|
||||
.paging_linksperpage form.linksperpage input {
|
||||
height: 15px;
|
||||
}
|
||||
|
||||
#paging_current {
|
||||
.paging_current {
|
||||
display: inline;
|
||||
color: #fff;
|
||||
padding: 0 20 0 20;
|
||||
}
|
||||
|
||||
#paging_older {
|
||||
.paging_older {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
#paging_newer {
|
||||
.paging_newer {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
|
@ -843,6 +843,10 @@ div.dailyNoEntry {
|
|||
clear: both;
|
||||
}
|
||||
|
||||
.right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* For lazy images loading in picture wall.
|
||||
Using http://www.appelsiini.net/projects/lazyload
|
||||
*/
|
||||
|
@ -850,6 +854,12 @@ div.dailyNoEntry {
|
|||
display: none;
|
||||
}
|
||||
|
||||
#configuration_table td {
|
||||
border: none;
|
||||
padding: 10px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
@media print {
|
||||
html {
|
||||
border: none;
|
||||
|
@ -958,17 +968,17 @@ div.dailyNoEntry {
|
|||
left: 0px;
|
||||
}
|
||||
|
||||
#paging_privatelinks {
|
||||
.paging_privatelinks {
|
||||
float: none;
|
||||
}
|
||||
|
||||
#paging_linksperpage {
|
||||
.paging_linksperpage {
|
||||
float: none;
|
||||
margin-bottom: 10px;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
#paging_older, #paging_newer, #paging_linksperpage a {
|
||||
#paging_older, #paging_newer, .paging_linksperpage a {
|
||||
border: 1px solid black;
|
||||
padding: 3px 5px 3px 5px;
|
||||
background-color: #666;
|
||||
|
@ -1029,3 +1039,7 @@ div.dailyNoEntry {
|
|||
.highlight {
|
||||
background-color: #FFFF33;
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<body onload="document.changepasswordform.oldpassword.focus();">
|
||||
<div id="pageheader">
|
||||
{include="page.header"}
|
||||
<form method="POST" action="" name="changepasswordform" id="changepasswordform">
|
||||
<form method="POST" action="#" name="changepasswordform" id="changepasswordform">
|
||||
Old password: <input type="password" name="oldpassword">
|
||||
New password: <input type="password" name="setpassword">
|
||||
<input type="hidden" name="token" value="{$token}">
|
||||
|
|
|
@ -5,26 +5,26 @@
|
|||
<div id="pageheader">
|
||||
{include="page.header"}
|
||||
{$timezone_js}
|
||||
<form method="POST" action="" name="configform" id="configform">
|
||||
<form method="POST" action="#" name="configform" id="configform">
|
||||
<input type="hidden" name="token" value="{$token}">
|
||||
<table border="0" cellpadding="20">
|
||||
<table id="configuration_table">
|
||||
|
||||
<tr><td><b>Page title:</b></td><td><input type="text" name="title" id="title" size="50" value="{$title}"></td></tr>
|
||||
|
||||
<tr><td><b>Title link:</b></td><td><input type="text" name="titleLink" id="titleLink" size="50" value="{$titleLink}"><br/><label for="titleLink">(default value is: ?)</label></td></tr>
|
||||
<tr><td valign="top"><b>Timezone:</b></td><td valign="top">{$timezone_form}</td></tr>
|
||||
<tr><td><b>Timezone:</b></td><td>{$timezone_form}</td></tr>
|
||||
|
||||
<tr><td valign="top"><b>Redirector</b></td><td><input type="text" name="redirector" id="redirector" size="50" value="{$redirector}"><br>(e.g. <i>http://anonym.to/?</i> will mask the HTTP_REFERER)</td></tr>
|
||||
<tr><td><b>Redirector</b></td><td><input type="text" name="redirector" id="redirector" size="50" value="{$redirector}"><br>(e.g. <i>http://anonym.to/?</i> will mask the HTTP_REFERER)</td></tr>
|
||||
|
||||
<tr><td valign="top"><b>Security:</b></td><td><input type="checkbox" name="disablesessionprotection" id="disablesessionprotection" {if="!empty($GLOBALS['disablesessionprotection'])"}checked{/if}><label for="disablesessionprotection"> Disable session cookie hijacking protection (Check this if you get disconnected often or if your IP address changes often.)</label></td></tr>
|
||||
<tr><td><b>Security:</b></td><td><input type="checkbox" name="disablesessionprotection" id="disablesessionprotection" {if="!empty($GLOBALS['disablesessionprotection'])"}checked{/if}><label for="disablesessionprotection"> Disable session cookie hijacking protection (Check this if you get disconnected often or if your IP address changes often.)</label></td></tr>
|
||||
|
||||
<tr><td valign="top"><b>Features:</b></td><td>
|
||||
<tr><td><b>Features:</b></td><td>
|
||||
<input type="checkbox" name="disablejquery" id="disablejquery" {if="!empty($GLOBALS['disablejquery'])"}checked{/if}><label for="disablejquery"> Disable jQuery and all heavy JavaScript (for example: Autocomplete in tags. Useful for slow computers.)</label>
|
||||
</td></tr>
|
||||
<tr><td valign="top"><b>New link:</b></td><td>
|
||||
<tr><td><b>New link:</b></td><td>
|
||||
<input type="checkbox" name="privateLinkByDefault" id="privateLinkByDefault" {if="!empty($GLOBALS['privateLinkByDefault'])"}checked{/if}/><label for="privateLinkByDefault"> All new link are private by default</label></td>
|
||||
</tr>
|
||||
<tr><td></td><td align="right"><input type="submit" name="Save" value="Save config" class="bigbutton"></td></tr>
|
||||
<tr><td></td><td class="right"><input type="submit" name="Save" value="Save config" class="bigbutton"></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
<div class="daily">
|
||||
<div class="dailyAbout">
|
||||
All links of one day<br>in a single page.<br>
|
||||
{if="$previousday"} <a href="?do=daily&day={$previousday}"><b><</b>Previous day</a>{else}<b><</b>Previous day{/if}
|
||||
-
|
||||
{if="$nextday"}<a href="?do=daily&day={$nextday}">Next day<b>></b></a>{else}Next day<b>></b>{/if}
|
||||
{if="$previousday"} <a href="?do=daily&day={$previousday}"><b><</b>Previous day</a>{else}<b><</b>Previous day{/if}
|
||||
-
|
||||
{if="$nextday"}<a href="?do=daily&day={$nextday}">Next day<b>></b></a>{else}Next day<b>></b>{/if}
|
||||
<br><br>
|
||||
<a href="?do=dailyrss" title="1 RSS entry per day"><img src="images/feed-icon-14x14.png#">Daily RSS Feed</a>
|
||||
<a href="?do=dailyrss" title="1 RSS entry per day"><img src="images/feed-icon-14x14.png#" alt="rss_feed">Daily RSS Feed</a>
|
||||
</div>
|
||||
<div class="dailyTitle"><img src="../images/floral_left.png" width="51" height="50" class="nomobile"> The Daily Shaarli <img src="../images/floral_right.png" width="51" height="50" class="nomobile"></div>
|
||||
<div class="dailyDate"><span class="nomobile">———————————</span> {$day} <span class="nomobile">———————————</span></div>
|
||||
<div class="dailyTitle"><img src="../images/floral_left.png" width="51" height="50" class="nomobile" alt="floral_left"> The Daily Shaarli <img src="../images/floral_right.png" width="51" height="50" class="nomobile" alt="floral_right"></div>
|
||||
<div class="dailyDate"><span class="nomobile">———————————</span> {$day} <span class="nomobile">———————————</span></div>
|
||||
<div class="clear"></div>
|
||||
|
||||
{if="$linksToDisplay"}
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
<div id="pageheader">
|
||||
{include="page.header"}
|
||||
<div id="toolsdiv">
|
||||
<a href="?do=export&what=all"><b>Export all</b> <span>: Export all links</span></a><br><br>
|
||||
<a href="?do=export&what=public"><b>Export public</b> <span>: Export public links only</a><br><br>
|
||||
<a href="?do=export&what=private"><b>Export private</b> <span>: Export private links only</a>
|
||||
<a href="?do=export&what=all"><b>Export all</b> <span>: Export all links</span></a><br><br>
|
||||
<a href="?do=export&what=public"><b>Export public</b> <span>: Export public links only</span></a><br><br>
|
||||
<a href="?do=export&what=private"><b>Export private</b> <span>: Export private links only</span></a>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
Import Netscape HTML bookmarks (as exported from Firefox/Chrome/Opera/Delicious/Diigo...) (Max: {$maxfilesize|htmlspecialchars} bytes).
|
||||
<form method="POST" action="?do=upload" enctype="multipart/form-data" name="uploadform" id="uploadform">
|
||||
<input type="hidden" name="token" value="{$token}">
|
||||
<input type="file" name="filetoupload" size="80">
|
||||
<input type="file" name="filetoupload">
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$maxfilesize|htmlspecialchars}">
|
||||
<input type="submit" name="import_file" value="Import" class="bigbutton"><br>
|
||||
<input type="checkbox" name="private" id="private"><label for="private"> Import all links as private</label><br>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<ul>
|
||||
{loop="links"}
|
||||
<li{if="$value.class"} class="{$value.class}"{/if}>
|
||||
<a name="{$value.linkdate|smallHash}" id="{$value.linkdate|smallHash}"></a>
|
||||
<a id="{$value.linkdate|smallHash}"></a>
|
||||
<div class="thumbnail">{$value.url|thumbnail}</div>
|
||||
<div class="linkcontainer">
|
||||
{if="isLoggedIn()"}
|
||||
|
@ -51,9 +51,9 @@
|
|||
{if="$GLOBALS['config']['ARCHIVE_ORG']"}
|
||||
<span class="linkarchive"><a href="https://web.archive.org/web/{$value.url|htmlspecialchars}">archive</a> - </span>
|
||||
{/if}
|
||||
<div class="linkqrcode"><a href="http://qrfree.kaywa.com/?l=1&s=8&d={$scripturl|urlencode}%3F{$value.linkdate|smallHash}"
|
||||
onclick="showQrCode(this); return false;" class="qrcode" data-permalink="{$scripturl}?{$value.linkdate|smallHash}"><img src="images/qrcode.png#" title="QR-Code"></a></div> -
|
||||
<a href={$value.url|htmlspecialchars}><span class="linkurl" title="Short link">{$value.url|htmlspecialchars}</span></a><br>
|
||||
<div class="linkqrcode"><a href="http://qrfree.kaywa.com/?l=1&s=8&d={$scripturl|urlencode}%3F{$value.linkdate|smallHash}"
|
||||
onclick="showQrCode(this); return false;" class="qrcode" data-permalink="{$scripturl}?{$value.linkdate|smallHash}"><img src="images/qrcode.png#" title="QR-Code" alt="QR-Code"></a></div> -
|
||||
<a href="{$value.url|htmlspecialchars}"><span class="linkurl" title="Short link">{$value.url|htmlspecialchars}</span></a><br>
|
||||
{if="$value.tags"}
|
||||
<div class="linktaglist">
|
||||
{loop="value.taglist"}<span class="linktag" title="Add tag"><a href="?addtag={$value|urlencode}">{$value|htmlspecialchars}</a></span> {/loop}
|
||||
|
@ -70,7 +70,7 @@
|
|||
|
||||
{include="page.footer"}
|
||||
|
||||
<script language="JavaScript">
|
||||
<script>
|
||||
// Remove any displayed QR-Code
|
||||
function remove_qrcode()
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class="paging">
|
||||
{if="isLoggedIn()"}
|
||||
<div id="paging_privatelinks">
|
||||
<div class="paging_privatelinks">
|
||||
<a href="?privateonly">
|
||||
{if="$privateonly"}
|
||||
<img src="images/private_16x16_active.png#" width="16" height="16" title="Click to see all links" alt="Click to see all links">
|
||||
|
@ -10,11 +10,11 @@
|
|||
</a>
|
||||
</div>
|
||||
{/if}
|
||||
<div id="paging_linksperpage">
|
||||
<div class="paging_linksperpage">
|
||||
Links per page: <a href="?linksperpage=20">20</a> <a href="?linksperpage=50">50</a> <a href="?linksperpage=100">100</a>
|
||||
<form method="GET" class="linksperpage"><input type="text" name="linksperpage" size="2"></form>
|
||||
</div>
|
||||
{if="$previous_page_url"} <a href="{$previous_page_url}" id="paging_older">◄Older</a> {/if}
|
||||
<div id="paging_current">page {$page_current} / {$page_max} </div>
|
||||
{if="$next_page_url"} <a href="{$next_page_url}" id="paging_newer">Newer►</a> {/if}
|
||||
{if="$previous_page_url"} <a href="{$previous_page_url}" class="paging_older">◄Older</a> {/if}
|
||||
<div class="paging_current">page {$page_current} / {$page_max} </div>
|
||||
{if="$next_page_url"} <a href="{$next_page_url}" class="paging_newer">Newer►</a> {/if}
|
||||
</div>
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
<div id="newversion"><span id="version_id">●</span> Shaarli {$newversion|htmlspecialchars} is <a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli#download">available</a>.</div>
|
||||
{/if}
|
||||
{if="isLoggedIn()"}
|
||||
<script language="JavaScript">function confirmDeleteLink() { var agree=confirm("Are you sure you want to delete this link ?"); if (agree) return true ; else return false ; }</script>
|
||||
<script>function confirmDeleteLink() { var agree=confirm("Are you sure you want to delete this link ?"); if (agree) return true ; else return false ; }</script>
|
||||
{/if}
|
||||
|
|
|
@ -9,15 +9,15 @@
|
|||
</head>
|
||||
<body>
|
||||
<div id="pageheader">{include="page.header"}</div>
|
||||
<center>
|
||||
<div class="picwall_container">
|
||||
{loop="linksToDisplay"}
|
||||
<div class="picwall_pictureframe">
|
||||
{$value.thumbnail}<a href="{$value.permalink}"><span class="info">{$value.title|htmlspecialchars}</span></a>
|
||||
</div>
|
||||
{/loop}
|
||||
<div class="center">
|
||||
<div id="picwall_container">
|
||||
{loop="linksToDisplay"}
|
||||
<div class="picwall_pictureframe">
|
||||
{$value.thumbnail}<a href="{$value.permalink}"><span class="info">{$value.title|htmlspecialchars}</span></a>
|
||||
</div>
|
||||
{/loop}
|
||||
</div>
|
||||
</div>
|
||||
</center>
|
||||
{include="page.footer"}
|
||||
|
||||
{if="empty($GLOBALS['disablejquery'])"}
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
<head>{include="includes"}</head>
|
||||
<body>
|
||||
<div id="pageheader">{include="page.header"}</div>
|
||||
<center>
|
||||
<div id="cloudtag">
|
||||
{loop="tags"}
|
||||
<span class="count">{$value.count}</span><a href="?searchtags={$key|urlencode}" style="font-size:{$value.size}pt;">{$key|htmlspecialchars}</a>
|
||||
{/loop}
|
||||
<div class="center">
|
||||
<div id="cloudtag">
|
||||
{loop="tags"}
|
||||
<span class="count">{$value.count}</span><a href="?searchtags={$key|urlencode}" style="font-size:{$value.size}pt;">{$key|htmlspecialchars}</a>
|
||||
{/loop}
|
||||
</div>
|
||||
</div>
|
||||
</center>
|
||||
{include="page.footer"}
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue