feat: add videodb media index with Docker stack

- Add videodb PHP/MySQL media collection manager (Blu-ray, DVD, CD)
- Dockerfile: PHP 8.1 + Apache with GD/mysqli/exif extensions
- docker-compose.yml: app on port 6761 + MySQL 8.0 with health checks
- docker-entrypoint.sh: auto-generates config.inc.php from env vars,
  waits for MySQL, initializes DB schema idempotently
- init-db.php: CLI schema installer using app's own prefix_query() logic
- Persistent volumes for DB, cache, and cover images

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-11 09:49:52 +02:00
commit f55c91276e
1230 changed files with 252321 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
#
# Apache access control
#
# @author Andreas Goetz <cpuidle@gmx.de>
# $Id: .htaccess,v 1.2 2008/03/01 10:19:07 andig2 Exp $
#
# avoid image expiry
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>

View File

@@ -0,0 +1,72 @@
body {font-family:sans-serif; font-size:14px; background-color: #9FAABB;}
a:link {text-decoration:none; color:#000000;}
a:visited {text-decoration:none; color:#000000;}
a:active {text-decoration:none; color:#000000;}
a:hover {text-decoration:none; color: red;}
.even {background-color:#D3DAE3;}
.odd {background-color:#FFFFFF;}
.lent {background-color:#999999;}
.center {text-align: center;}
.filter {font-size:12px; background-color:#C1D7EB;}
.list_title {font-weight:bold}
.list_diskid {font-weight:bold;font-size:12px}
.list_seen {font-size:12px}
.list_info {font-style:italic}
.list_plot {font-size:12px}
.tableborder {border-width:1px; border-style:solid; border-color:navy;}
.infobox {border-width:1px; border-style:solid; border-color:#000000; font-size:18px;}
.infobox td {text-align:center}
.show_title {font-size:20pt; font-weight:bolder;}
.show_subtitle {font-size:16pt; font-weight:bolder;}
.notavail {color:#ff0000; font-weight:bold}
.logo {color: navy; font-size:28px; font-weight:bolder; font-style:italic;}
.splitbrain {font-size:10px;}
.version {font-size:10px;}
.example {font-family:monospace; color:#004444;}
.textbox {font-family:sans-serif; font-size:12px; width:300px; height:120px }
/* setup screenshot thumbnails */
.setup-thumb {
float: left;
width: 105px;
text-align: center;
font-size: 12px;
border: 1px solid #999;
margin: 0 15px 15px 0;
padding: 5px;
}
.setup-thumb a:hover {
text-decoration: none;
}
/* this fixes a problem with opera */
tr {vertical-align: top;}
td {vertical-align: top; text-align:left}
/* special formatings for stuff in the helpbrowser */
.helpbrowser code {font-family:monospace; color:#004444;}
.helpbrowser td {background-color:#EEEEEE;}
.helpbrowser th {background-color:#EEEEEE;}
.helpbrowser h1 {text-align:center; font-size:20pt; font-weight:bolder;}
.helpbrowser h2 {margin-left:10px; font-size:16pt; font-weight:bolder;}
.helpbrowser h3 {margin-left:30px; font-size:12pt; font-weight:bolder; font-variant:small-caps}
.helpbrowser p {text-align:justify; margin-left:50px; width:90%}
.helpbrowser pre {margin-left:50px; font-family:monospace; color:#004444;}
.helpbrowser ul {margin-left:50px; width:90%}
.helpbrowser dl {margin-left:50px; width:90%}
.helpbrowser dd {margin-bottom:10px;}
.helpbrowser table {margin-left:50px; width:90%}

View File

@@ -0,0 +1,89 @@
{*
Template for the borrowing a single disk
$Id: borrow.tpl,v 2.10 2008/03/09 14:57:22 andig2 Exp $
*}
<div align="center">
{if $diskid != '' && $editable}
<table width="50%" class="infobox">
<tr>
<td align="center" style="text-align:center">
<form action="borrow.php" name="borrow" id="borrow" method="post">
<input type="hidden" name="diskid" id="diskid" value="{$diskid}" />
{if $who != ''}
<br />
{$lang.diskid} {$diskid}
{$lang.lentto} {$who} ({$dt})
<br />
<input type="hidden" name="return" id="return" value="1" />
<input type="submit" value="{$lang.returned}" />
{else}
<br />
{$lang.diskid} {$diskid} {$lang.available}
<br />
{$lang.borrowto}
<input type="text" size="40" maxlength="255" name="who" id="who" />
<input type="submit" value="{$lang.okay}" />
{/if}
<br />
<br />
</form>
</td>
</tr>
</table>
<script language="JavaScript" type="text/javascript">
if (document.forms['borrow'].who) document.forms['borrow'].who.focus();
</script>
{/if}
<br />
{if $config.multiuser}
<table>
<tr>
<td><h3>{$lang.curlentfrom}</h3></td>
<td><h3><form action="borrow.php">{html_options name=owner options=$owners selected=$owner onchange="submit()"}</form></h3></td>
<td><h3>:</h3></td>
</tr>
</table><br/>
{else}
<h3>{$lang.curlent}</h3>
{/if}
{if $borrowlist}
<table width="100%" class="tableborder">
<tr class="{cycle values="even,odd"}">
<th>{$lang.diskid}</th>
{if $config.multiuser}<th>{$lang.owner}</th>{/if}
<th>{$lang.title}</th>
<th>{$lang.lentto}</th>
<th>{$lang.date}</th>
<th></th>
</tr>
{foreach item=disk from=$borrowlist}
<tr class="{cycle values="even,odd"}">
<td align="center" style="text-align:center"><a href="search.php?q={$disk.diskid}&fields=diskid&nowild=1">{$disk.diskid}</a></td>
{if $config.multiuser}
<td align="center" style="text-align:center">{$disk.owner}</td>
{/if}
<td align="center" style="text-align:center">
<a href="show.php?id={$disk.id}">{$disk.title}</a>
{if $disk.count > 1} ... {/if}
</td>
<td align="center" style="text-align:center">{$disk.who}</td>
<td align="center" style="text-align:center">{$disk.dt}</td>
<td align="center" style="text-align:center">
{if $disk.editable}
<a href="borrow.php?diskid={$disk.diskid}&return=1">[ {$lang.returned} ]</a>
{/if}
</td>
</tr>
{/foreach}
</table>
{else}
{$lang.l_nothing}
{/if}
</div>
<br /><br />

View File

@@ -0,0 +1,28 @@
{*
Index of the contrib content
$Id: contrib.tpl,v 2.2 2005/05/26 07:35:45 andig2 Exp $
*}
<table width="100%" class="tablelist" cellspacing="0" cellpadding="0">
<tr><td colspab="3" height="20px">&nbsp;</td></tr>
{counter start=0 print=false name=contentcount}
{foreach item=file from=$files}
{cycle values="even,odd" assign=CLASS print=false}
<tr class="{$CLASS}">
<td width="10%">
<td width="80%" align="left">
<table>
<tr>
<td>
<a href="{$file[0]}">{$file[1]}</a>
</td>
</tr>
</table>
</td>
<td width="10%">
{counter assign=count name=contentcount}
</tr>
{/foreach}
<tr><td colspab="3" height="20px">&nbsp;</td></tr>
</table>

View File

@@ -0,0 +1,72 @@
body {font-family:sans-serif;font-size:16px;}
a:link {text-decoration:none; color:#000044;}
a:visited {text-decoration:none; color:#000044;}
a:active {text-decoration:none; color:#000044;}
a:hover {text-decoration:underline;}
.even {background-color:#FFFFFF;}
.odd {background-color:#EEEEEE;}
.lent {background-color:#FFCCCC;}
.center {text-align: center;}
.filter {font-size:12px}
.list_title {font-weight:bold}
.list_diskid {font-weight:bold;font-size:12px}
.list_seen {font-size:12px}
.list_info {font-style:italic}
.list_plot {font-size:12px}
.tableborder {border-width:1px; border-style:solid; border-color:#000000;}
.infobox {border-width:1px; border-style:solid; border-color:#000000; font-size:18px;}
.infobox td {text-align:center}
.show_title {font-size:20pt; font-weight:bolder;}
.show_subtitle {font-size:16pt; font-weight:bolder;}
.show_id {font-size:16pt; font-weight:bolder;}
.notavail {color:#ff0000; font-weight:bold}
.logo {font-size:28px; font-weight:bolder; font-style:italic;}
.splitbrain {font-size:10px;}
.version {font-size:10px;}

View File

@@ -0,0 +1,15 @@
{*
Deletion confirmation
$Id: delete.tpl,v 2.0 2003/08/20 19:07:34 agohr Exp $
*}
<br />
<div align="center">
<table width="50%" class="infobox" style="text-align:left">

View File

@@ -0,0 +1,304 @@
{*
Template for the edit interface
$Id: edit.tpl,v 2.19 2007/12/29 10:23:18 andig2 Exp $
*}
{if $http_error}
<pre>{$http_error}</pre>
{/if}
<script language="JavaScript" type="text/javascript" src="javascript/edit.js"></script>
<form action="edit.php" id="edi" name="edi" method="post" enctype="multipart/form-data">
<input type="hidden" name="id" id="id" value="{if !empty($video.id)}{$video.id}{/if}" />
<input type="hidden" name="engine" id="engine" value="{if !empty($engine)}{$engine}{/if}" />
<input type="hidden" name="save" id="save" value="1" />
<table class="tableborder">
<tr>
<td>
<table>
<tr>
<td>
{$lang.title}
</td>
<td>
<input type="text" name="title" id="title" value="{if !empty($video.q_title)}{$video.q_title}{/if}" size="43" maxlength="255" />
<a href="javascript:void(lookupData(document.edi.title.value))"><img src="images/search.gif" alt="" border="0" align="middle" /></a>
</td>
</tr>
<tr>
<td>
{$lang.subtitle}
</td>
<td>
<input type="text" name="subtitle" id="subtitle" value="{if !empty($video.q_subtitle)}{$video.q_subtitle}{/if}" size="43" maxlength="255" />
<a href="javascript:void(lookupData(document.edi.subtitle.value))"><img src="images/search.gif" alt="" border="0" align="middle" /></a>
</td>
</tr>
<tr>
<td>
{$lang.language}
</td>
<td>
{$video.f_language}
</td>
</tr>
<tr>
<td>
{$lang.diskid}
</td>
<td>
<input type="text" name="diskid" id="diskid" value="{if !empty($video.q_diskid)}{$video.q_diskid}{/if}" size="15" maxlength="255" />
<input type="hidden" name="autoid" id="autoid" value="{$autoid}" />
<input type="hidden" name="oldmediatype" id="oldmediatype" value="{$video.mediatype}" />
{$lang.mediatype} {html_options name="mediatype" options=$mediatypes selected=$video.mediatype}
</td>
</tr>
<tr>
<td>
<label for="istv">{$lang.tvepisode}</label>
</td>
<td>
{if !empty($video.istv)}
{$istv_val = $video.istv}
{else}
{$istv_val = null}
{/if}
{html_checkbox name="istv" value=1 checked=$istv_val}
</td>
</tr>
<tr>
<td>
<label for="seen">{$lang.seen}</label>
</td>
<td>
{if !empty($video.seen)}
{$seen_val = $video.seen}
{else}
{$seen_val = null}
{/if}
{html_checkbox name="seen" value=1 checked=$seen_val}
</td>
</tr>
<tr>
<td>
{$lang.filename}
</td>
<td>
<input type="text" name="filename" id="filename" value="{if !empty($video.q_filename)}{$video.q_filename}{/if}" size="45" maxlength="255" />
</td>
</tr>
<tr>
<td>
{$lang.filesize}
</td>
<td>
<input type="text" name="filesize" id="filesize" value="{if !empty($video.q_filesize)}{$video.q_filesize}{/if}" size="10" maxlength="15" /> bytes
</td>
</tr>
<tr>
<td>
{$lang.filedate}
</td>
<td>
<input type="text" name="filedate" id="filedate" value="{if !empty($video.q_filedate)}{$video.q_filedate}{/if}" maxlength="20" />
</td>
</tr>
<tr>
<td>
{$lang.audiocodec}
</td>
<td>
<input type="text" name="audio_codec" id="audio_codec" value="{if !empty($video.q_audio_codec)}{$video.q_audio_codec}{/if}" />
</td>
</tr>
<tr>
<td>
{$lang.videocodec}
</td>
<td>
<input type="text" name="video_codec" id="video_codec" value="{if !empty($video.q_video_codec)}{$video.q_video_codec}{/if}" />
</td>
</tr>
<tr>
<td>
{$lang.dimension}
</td>
<td>
<input type="text" name="video_width" id="video_width" value="{if !empty($video.q_video_width)}{$video.q_video_width}{/if}" size="5" maxlength="4" /> x
<input type="text" name="video_height" id="video_height" value="{if !empty($video.q_video_height)}{$video.q_video_height}{/if}" size="5" maxlength="4" />
</td>
</tr>
<tr>
<td>{$lang.rating}:</td>
<td>
{if !empty($video.rating)}
{rating_input value = $video.rating}
{else}
{rating_input value = null}
{/if}
</td>
</tr>
<tr>
<td colspan="2">
{$lang.genre}
<br />
{$genreselect}
</td>
</tr>
{if !empty($video.custom1name)}
<tr>
<td>{$video.custom1name}</td>
<td>{$video.custom1in}</td>
</tr>
{/if}
{if !empty($video.custom2name)}
<tr>
<td>{$video.custom2name}</td>
<td>{$video.custom2in}</td>
</tr>
{/if}
{if !empty($video.custom3name)}
<tr>
<td>{$video.custom3name}</td>
<td>{$video.custom3in}</td>
</tr>
{/if}
{if !empty($video.custom4name)}
<tr>
<td>{$video.custom4name}</td>
<td>{$video.custom4in}</td>
</tr>
{/if}
</table>
</td>
<td>
<table>
<tr>
<td>
IMDb-ID
</td>
<td>
<input type="text" name="imdbID" id="imdbID" value="{if !empty($video.q_imdbID)}{$video.q_imdbID}{/if}" size="15" maxlength="30" onchange="{literal}if(document.edi.imdbID.value != '') {document.edi.lookup1.checked=true} else {document.edi.lookup0.checked=true}{/literal}" />
{if !empty($video.q_imdbID) && $video.q_imdbID != ''}
<a href="http://uk.imdb.com/Title?{$video.q_imdbID}" target="_blank">{$lang.visit}</a>
{/if}
</td>
</tr>
<tr>
<td>
{$lang.coverurl}
</td>
<td>
<input type="text" name="imgurl" id="imgurl" value="{if !empty($video.q_imgurl)}{$video.q_imgurl}{/if}" size="45" maxlength="255" />
<a href="javascript:void(lookupImage(document.edi.title.value))"><img src="images/search.gif" alt="" border="0" align="middle" /></a>
</td>
</tr>
<tr>
<td>
{$lang.coverupload}
</td>
<td>
<input type="file" name="coverupload" id="coverupload" size="30" />
</td>
</tr>
<tr>
<td>
{$lang.country}
</td>
<td>
<input type="text" name="country" id="country" value="{if !empty($video.q_country)}{$video.q_country}{/if}" size="45" maxlength="255" />
</td>
</tr>
<tr>
<td>
{$lang.director}
</td>
<td>
<input type="text" name="director" id="director" value="{if !empty($video.q_director)}{$video.qq_director}{/if}" size="45" maxlength="255" />
</td>
</tr>
<tr>
<td>
{$lang.runtime}
</td>
<td>
<input type="text" name="runtime" id="runtime" value="{if !empty($video.q_runtime)}{$video.q_runtime}{/if}" size="5" maxlength="5" />min
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$lang.year}
<input type="text" name="year" id="year" value="{if !empty($video.q_year)}{$video.q_year}{/if}" size="5" maxlength="4" />
</td>
</tr>
<tr>
<td>
{$lang.plot}
</td>
<td>
<textarea cols="36" rows="6" name="plot" id="plot" wrap="virtual" class="textbox">{if !empty($video.q_plot)}{$video.q_plot}{/if}</textarea>
</td>
</tr>
<tr>
<td>
{$lang.cast}
</td>
<td>
<textarea cols="36" rows="6" name="actors" id="actors" wrap="off" class="textbox">{if !empty($video.q_actors)}{$video.q_actors}{/if}</textarea>
</td>
</tr>
<tr>
<td>
{$lang.comment}
</td>
<td>
<textarea cols="36" rows="6" name="comment" id="comment" wrap="virtual" class="textbox">{if !empty($video.q_comment)}{$video.q_comment}{/if}</textarea>
</td>
</tr>
{if !empty($owners)}
<tr>
<td>
{$lang.owner}
</td>
<td>
{html_options name=owner_id options=$owners selected=$video.owner_id}
</td>
</tr>
{/if}
</table>
</td>
</tr>
</table>
<b>{$lang.radio_look_caption}:</b> {html_radios name=lookup options=$lookup checked="$lookup_id"}
{if !empty($add_flag)}{html_checkbox name="add_flag" value=1 checked=$add_flag label=$lang.add_another}{/if}
<div align="center"><input type="submit" value="{$lang.save}" accesskey="s" /></div>
<br />
</form>

View File

@@ -0,0 +1,31 @@
{*
The filters on top of the browse page
$Id: filters.tpl,v 2.4 2005/05/24 17:49:34 chinamann Exp $
*}
<form action="index.php" id="browse" name="browse">
<table width="100%" class="tableborder">
<tr>
<td class="filter">
{html_radios name=filter options=$filters checked=$filter label_class="filterlink" onclick="submit()"}
</td>
{if !empty($order_options) AND $filter<>'new'}
<td align="right" class="filter" nowrap="nowrap">
<label class="filterlink" for="order">{$lang.order}: </label>{html_options name="order" id="order" options=$order_options selected=$order onchange="submit()"}
</td>
{/if}
<td align="right" class="filter">
<input type="checkbox" name="showtv" id="showtv" value="1" {if $showtv}checked="checked"{/if} onclick="submit()" /><label for="showtv">{$lang.radio_showtv}</label>
</td>
{if !empty($owners)}
<td class="filter">
<div align="right">
{html_options name=owner options=$owners selected=$owner onchange="submit()"}
</div>
</td>
{/if}
<td align="right">
<input type="submit" value="{$lang.okay}" name="OK" id="OK" />
</td>
</tr>
</table>
</form>

View File

@@ -0,0 +1,26 @@
{*
This is the footer which is displayed on bottom of every page
$Id: footer.tpl,v 2.5 2008/02/17 17:44:54 andig2 Exp $
*}
{$DEBUG}
<table width="100%" class="footertable">
<tr>
<td width="50">
<a href="#top"><img src="images/top.gif" border="0" alt="" class="toplink" /></a>
</td>
<td align="left" style="text-align:left">
{if !empty($loggedin)}
<span class="version">{$lang.loggedinas} {$loggedin}</span>
{/if}
</td>
<td align="right" style="text-align:right">
<a href="https://github.com/andig/videodb.git" class="splitbrain">v.{$version}</a>
</td>
</tr>
</table>
</div>
</body>
</html>

View File

@@ -0,0 +1,37 @@
{*
This is the header which is displayed on top of every page
$Id: header.tpl,v 2.13 2013/03/14 17:17:27 andig2 Exp $
*}
{include file="xml.tpl"}
<body>
<a name="top"></a>
<div align="center">
<table width="100%" class="menutable">
<tr>
<td width="120" valign="bottom">
<span class="logo">VideoDB</span>
</td>
<td width="100%" valign="bottom" align="center" style="text-align:center">
{if !empty($header.browse)}[&nbsp;<a href="{$header.browse}" accesskey="i">{$lang.browse}</a>&nbsp;] {/if}
{if !empty($header.trace)}[&nbsp;<a href="{$header.trace}">{$lang.imdbbrowser}</a>&nbsp;] {/if}
{if !empty($header.random)}[&nbsp;<a href="{$header.random}">{$lang.random}</a>&nbsp;] {/if}
{if !empty($header.search)}[&nbsp;<a href="{$header.search}" accesskey="f">{$lang.search}</a>&nbsp;] {/if}
{if !empty($header.new)}[&nbsp;<a href="{$header.new}" accesskey="n">{$lang.n_e_w}</a>&nbsp;] {/if}
{if !empty($header.edit)}[&nbsp;<a href="{$header.edit}" accesskey="e">{$lang.edit}</a>&nbsp;] {/if}
{if !empty($header.view)}[&nbsp;<a href="{$header.view}">{$lang.view}</a>&nbsp;] {/if}
{if !empty($header.del)}[&nbsp;<a href="{$header.del}" onclick="return(confirm('{$lang.really_del|escape:javascript|escape}?'))">{$lang.delete}</a>&nbsp;] {/if}
{if !empty($header.contrib)}[&nbsp;<a href="{$header.contrib}" accesskey="c">{$lang.contrib}</a>&nbsp;] {/if}
{if !empty($header.borrow)}[&nbsp;<a href="{$header.borrow}" accesskey="b">{$lang.borrow}</a>&nbsp;] {/if}
{if !empty($header.stats)}[&nbsp;<a href="{$header.stats}">{$lang.statistics}</a>&nbsp;] {/if}
{if !empty($header.setup)}[&nbsp;<a href="{$header.setup}">{$lang.setup}</a>&nbsp;] {/if}
{if !empty($header.profile)}[&nbsp;<a href="{$header.profile}">{$lang.profile}</a>&nbsp;] {/if}
{if !empty($header.help)}[&nbsp;<a href="{$header.help}" accesskey="h">{$lang.help}</a>&nbsp;] {/if}
{if !empty($header.login)}[&nbsp;<a href="{$header.login}" accesskey="l">{if !empty($loggedin)}{$lang.logout}{else}{$lang.login}{/if}</a>&nbsp;]{/if}
</td>
</tr>
</table>
<br />

View File

@@ -0,0 +1,7 @@
<table width="100%" class="tableborder">
<tr><td>
<span class="helpbrowser">
{$helptext}

View File

@@ -0,0 +1,71 @@
/* drJeckyll's style */
body {font-family:sans-serif; font-size:14px; background-color: #cbc9f4;}
a:link {text-decoration:none; color:#000011;}
a:visited {text-decoration:none; color:#000011;}
a:active {text-decoration:none; color:#000011;}
a:hover {text-decoration:underline;}
.even {background-color:#b2b4ec;}
.odd {background-color:#9ea0d2;}
.lent {background-color:#999999;}
.center {text-align: center;}
.filter {font-size:12px}
.list_title {font-weight:bold}
.list_diskid {font-weight:bold;font-size:12px}
.list_seen {font-size:12px}
.list_info {font-style:italic}
.list_plot {font-size:12px}
.tableborder {border-width:1px; border-style:solid; border-color:#9ea0d2;;}
.infobox {border-width:1px; border-style:solid; border-color:#000000; font-size:18px;}
.infobox td {text-align:center}
.show_title {font-size:20pt; font-weight:bolder;}
.show_subtitle {font-size:16pt; font-weight:bolder;}
.notavail {color:#ff0000; font-weight:bold}
.logo {color: navy; font-size:28px; font-weight:bolder; font-style:italic;}
.splitbrain {font-size:10px;}
.version {font-size:10px;}

View File

@@ -0,0 +1,79 @@
{*
Output of search results/browselist
$Id: list.tpl,v 2.18 2013/03/14 17:17:27 andig2 Exp $
*}
{if !empty($list)}
<table width="100%" class="tableborder">
{foreach item=video from=$list}
{cycle values="even,odd" assign=CLASS print=false}
{if $video.who != ''}
{assign var=CLASS value="lent"}
{/if}
<tr class="{$CLASS}">
{if $video.imgurl != ''}
<td width="37" align="center">
<a class="list_title" href="show.php?id={$video.id}">
<img src="{$video.imgurl}" border="0" width="35" height="48" align="top" alt="" />
</a>
</td>
{/if}
<td>
<a class="list_title" href="show.php?id={$video.id}">
{$video.title}
{if $video.subtitle}
- {$video.subtitle}
{/if}
</a>
[<span class="list_info">{if $video.year}<a href="search.php?q={$video.year}&fields=year&nowild=1">{$video.year}</a>{/if}{if $video.director && $video.year}; {/if}{if $video.director != ""}<a href="search.php?q=%22{$video.director}%22&isname=Y">{$video.director}</a>{/if}</span>]
<br />
<span class="list_plot">
{$video.plot|truncate:250}
<a class="list_title" href="show.php?id={$video.id}">{$lang.more}</a>
</span>
</td>
<td align="center" nowrap="nowrap" style="text-align:center">
<span class="list_diskid"><a href="search.php?q={$video.diskid}&fields=diskid&nowild=1">{$video.diskid}</a></span>
<br />
{foreach item=itemlang from=$video.language}
{if $itemlang}<a href="search.php?q={$itemlang|escape:url}&fields=language">
{if !empty($video.flagfile[$itemlang])}
<img src="{$video.flagfile[$itemlang]}" border="0" alt="{$itemlang}"/>
{else}
{$itemlang}
{/if}</a>
{/if}
{/foreach}
<br />
{if $video.seen}
<span class="list_seen">{$lang.seen}</span>
{/if}
</td>
<td align="center" nowrap="nowrap" style="text-align:center">
{if $video.editable}
<a href="edit.php?id={$video.id}">{$lang.edit}</a><br />
<a href="delete.php?id={$video.id}" onclick="return(confirm('{$video.title|escape:javascript|escape}: {$lang.really_del}?'))">{$lang.delete}</a>
{/if}
</td>
</tr>
{foreachelse}
<tr>
<td align="center" style="text-align:center">
<br />
{$lang.l_nothing}
<br />
<br />
</td>
</tr>
{/foreach}
</table>
{/if}

View File

@@ -0,0 +1,34 @@
{*
Output of login page
*}
<div align="center">
<p>{$lang.enterusername}</p>
<form action="login.php" id="login" method="post">
<input type="hidden" value="{$refer}" name="refer"/>
<table class="tableborder">
<tr>
<td>{$lang.username}:</td>
<td><input type="textbox" id="username" name="username"/></td>
</tr>
<tr>
<td>{$lang.password}:</td>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td colspan="2"><input type="checkbox" name="permanent" id="permanent" value="1"/><label for="permanent">{$lang.stayloggedin}</label></td>
</tr>
<tr>
<td colspan="2" align="middle" style="text-align:center"><input type="submit" value="{$lang.login}"/></td>
</tr>
</table>
</form>
<p>{$error}</p>
</div>
<script language="JavaScript" type="text/javascript">
document.forms['login'].username.focus();
</script>

View File

@@ -0,0 +1,88 @@
{*
IMDB search popup
$Id: lookup.tpl,v 2.15 2009/04/04 16:21:33 andig2 Exp $
*}
{include file="xml.tpl"}
<body>
<script language="JavaScript" type="text/javascript" src="javascript/lookup.js"></script>
<table width="100%" class="tablemenu" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="100%" align="left" style="text-align:left">
{foreach item=eng from=$engines}
[&nbsp;<a href="{$eng.url}">{$eng.name}</a>&nbsp;]
{/foreach}
</td>
</tr>
<tr>
<td>
<form action="lookup.php" id="lookup" name="lookup">
<table width="100%" class="tablefilter" cellspacing="5">
<tr>
<td nowrap="nowrap">
<input type="text" name="find" id="find" value="{$q_find}" size="31" style="width:200px" />
<input type="submit" class="button" value="{$lang.l_search}" />
{include file="lookup_engines.tpl"}
<script language="JavaScript" type="text/javascript">
document.lookup.find.focus();
</script>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
{if $http_error}
<pre>{$http_error}</pre>
{/if}
{if $imdbresults}
<b>{$lang.l_select}</b>
{if $searchtype == 'image'}
{foreach item=match from=$imdbresults}
<div class="thumbnail">
<a href="javascript:void(returnImage('{$match.coverurl|escape:"javascript"}'));" title="Select image and close Window">
<img src="{$match.imgsmall}" align="left" width="60" height="90" /><br />
{$match.title}
</a>
</div>
{/foreach}
{else}
<ul>
{foreach item=match from=$imdbresults}
<li>
<a href="javascript:void(returnData('{$match.id}','{$match.title|escape:"javascript"}','{$match.subtitle|escape:"javascript"}', '{$engine}'));" title="add ID and close Window">{$match.title}{if $match.subtitle} - {$match.subtitle}{/if}</a>
{if $match.details or $match.imgsmall}
<br/>
<font size="-2">
{if $match.imgsmall}<img src="{$match.imgsmall}" align="left" width="25" height="35">{/if}
{$match.details}
</font>
{/if}
</li>
{/foreach}
</ul>
{/if}
{else}
<div align="center"><b>{$lang.l_nothing}</b></div>
<br />
{/if}
<br /><br />
<div align="right">
[ <a href="http://uk.imdb.com/Find?{$find|escape:url}" target="_blank">{$lang.l_selfsearch}</a> ]
</div>
</body>
</html>

View File

@@ -0,0 +1,98 @@
body {font-family:sans-serif;font-size:16px; background-image:url(metal/alu.jpg);}
input,textarea,select,option {background-color:#C7C7D1; background-image:url(metal/alu.jpg);}
a:link {text-decoration:none; color:#333366;}
a:visited {text-decoration:none; color:#333366;}
a:active {text-decoration:none; color:#333366;}
a:hover {text-decoration:none; color:#333399;}
.even {background-image:url(metal/alu3.jpg);}
.odd {background-image:url(metal/alu2.jpg);}
.lent {background-image:url(metal/alu4.jpg);}
.center {text-align: center;}
.filter {font-size:12px}
.list_title {font-weight:bold}
.list_diskid {font-weight:bold;font-size:12px}
.list_seen {font-size:12px}
.list_info {font-style:italic}
.list_plot {font-size:12px}
.tableborder {border-width:1px;
border-style:solid;
border-left-color:#ffffff;
border-right-color:#555555;
border-top-color:#ffffff;
border-bottom-color:#555555;}
.infobox { border-width:1px;
border-style:solid;
border-left-color:#ffffff;
border-right-color:#555555;
border-top-color:#ffffff;
border-bottom-color:#555555; font-size:18px;
text-align:center;}
.infobox td {text-align:center}
.toplink { padding:2px;
background-image:url(metal/alu3.jpg);
border-width:1px;
border-style:solid;
border-left-color:#ffffff;
border-right-color:#555555;
border-top-color:#ffffff;
border-bottom-color:#555555;}
.splitbrain { font-size:10px;}
.version { font-size:10px;
border-width:1px;
border-style:solid;

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,71 @@
/* found at http://niels.beyond-reality.nl/video/ */
body {font-family:sans-serif; font-size:16px; background-color: #FF9933;}
a:link {text-decoration:none; color:#000011;}
a:visited {text-decoration:none; color:#000011;}
a:active {text-decoration:none; color:#000011;}
a:hover {text-decoration:underline;}
.even {background-color:#FFBB55;}
.odd {background-color:#FFAA44;}
.lent {background-color:#999999;}
.center {text-align: center;}
.filter {font-size:12px}
.list_title {font-weight:bold}
.list_diskid {font-weight:bold;font-size:12px}
.list_seen {font-size:12px}
.list_info {font-style:italic}
.list_plot {font-size:12px}
.tableborder {border-width:1px; border-style:solid; border-color:#3333FF;}
.infobox {border-width:1px; border-style:solid; border-color:#000000; font-size:18px;}
.infobox td {text-align:center}
.show_title {font-size:20pt; font-weight:bolder;}
.show_subtitle {font-size:16pt; font-weight:bolder;}
.notavail {color:#ff0000; font-weight:bold}
.logo {color: Steelblue; font-size:28px; font-weight:bolder; font-style:italic;}
.splitbrain {font-size:10px;}
.version {font-size:10px;}

View File

@@ -0,0 +1,18 @@
{*
The configuration template
$Id: profile.tpl,v 2.2 2004/06/09 16:13:05 agohr Exp $
*}
<form method="post" action="profile.php">
<input type="hidden" name="save" value="1" />
<table width="100%" class="tableborder">
{include file="options.tpl"}
</table>
<br />
<div align="center">
<input type="submit" value="{$lang.save}" accesskey="s" />
</div>
<br />
</form>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@@ -0,0 +1,64 @@
{*
Template for the search interface
$Id: search.tpl,v 2.14 2005/06/04 16:21:09 andig2 Exp $
*}
<script language="JavaScript" type="text/javascript" src="javascript/search.js"></script>
{include file="searchengines.tpl"}
<form action="search.php" id="search" name="search">
<table width="100%" class="tableborder" cellpadding="4">
<tr>
<td>
<table width="100%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="20%">
<span class="filterlink">{$lang.keywords}:</span>
<br/>
<input type="text" name="q" id="q" value="{$q_q}" size="45" maxlength="300"/>
<br/>
{include file="searchradios.tpl"}
<input type="button" value="{$lang.l_search}" onClick="submitSearch()" class="button" />
</td>
</tr>
<tr>
<td>
{$lang.keywords_desc}
</td>
</tr>
</table>
</td>
<td nowrap="nowrap" align="center" style="text-align:center">
{$lang.fieldselect}:<br />
<select name="fields[]" size="6" multiple="multiple">
{html_options options=$search_fields selected=$selected_fields}
</select><br />
<a href="javascript:selectAllFields()">{$lang.selectall}</a>
</td>
<td nowrap="nowrap">
{if !empty($owners)}
<span>{$lang.owner}:</span>
{html_options name=owner options=$owners selected=$video.owner_id}<br/>
{/if}
{$lang.genre_desc}:
{$genreselect}
</td>
{if !empty($imgurl)}
<td>
{*
<a href='http://uk.imdb.com/Name?{$q_q|replace:"&quot;":""|escape:url}'>
*}
<a href='http://uk.imdb.com/Name?{$q|replace:"&quot;|\"":""|escape:url}'>
<img align=left src="{$imgurl}" border="0" width="97" height="144">
</a>
</td>
{/if}
</tr>
</table>
</form>
<script language="JavaScript" type="text/javascript">
selectField(document.search.q);
</script>

View File

@@ -0,0 +1,32 @@
{*
The configuration template
$Id: setup.tpl,v 2.11 2010/02/14 12:25:12 andig2 Exp $
*}
<table width="100%" >
<tr>
<td align="right">
<form action="setup.php" style="display:inline">
<input type="hidden" name="cacheempty" value="1" />
<input type="submit" value="{$lang.cacheempty}" class="editcaption" onclick="return(confirm('{$lang.really_del|escape:javascript|escape}?'))" />
</form>
<form action="users.php" style="display:inline"><input type="submit" value="{$lang.help_usermanagern}" class="button"/></form>
</td>
</tr>
</table>
<form method="post" action="setup.php">
<input type="hidden" name="save" value="1" />
<table width="100%" class="tableborder">
{include file="options.tpl"}
</table>
<br />
<div align="center">
<input type="submit" value="{$lang.save}" accesskey="s" />
</div>
<br />
</form>

View File

@@ -0,0 +1,255 @@
{*
Template for the video detailview
$Id: show.tpl,v 2.17 2008/12/07 12:43:28 andig2 Exp $
*}
<table width="100%" class="tableborder"><tr><td>
<!-- content begin -->
<table width="100%" class='odd'>
<tr>
<td align="center" rowspan="2" width="200" style="text-align:center">
{if $link}
{if $config.imdbBrowser}{assign var="link" value=$link|escape:url}{assign var="link" value="trace.php?videodburl=$link"}{/if}
{/if}
{html_image file=$video.imgurl link=$link title=$lang.visit max_width="97" max_height="144"}
</td>
<td colspan="2">
<span class="show_title">{$video.title}</span>
{if $video.subtitle != ''}
<br/>
<span class="show_subtitle">{$video.subtitle}</span>
{/if}
</td>
<td align="center" style="text-align:center">
{if $video.diskid != ''}
<span class="show_id"><a href="search.php?q={$video.diskid}&fields=diskid&nowild=1">{$video.diskid}</a></span>
{if !empty($video.who) && $video.who != ''}
<br />
{$lang.notavail} {$video.who}
{/if}
{/if}
</td>
</tr>
<tr>
<td>
<table>
{if $video.year}
<tr><td><b>{$lang.year}:</b></td><td><a href="search.php?q={$video.year}&fields=year&nowild=1">{$video.year}</a></td></tr>
{/if}
{if $video.director != ''}
<tr><td><b>{$lang.director}:</b></td><td><a href="search.php?q=%22{$video.director|escape:url}%22&isname=Y">{$video.director}</a></td></tr>
{/if}
{if count($video.country)}
<tr><td><b>{$lang.country}:</b></td>
<td>
{*
<a href="search.php?q=%22{$video.country|escape:url}%22&fields=country&nowild=1">{$video.country}</a>
*}
{foreach item=country from=$video.country}
<a href="search.php?q=%22{$country|escape:url}%22&fields=country">{$country}</a>
{/foreach}
</td></tr>
{/if}
<tr>
<td><b>{$lang.seen}:</b></td>
<td>
<form action="show.php" name="show" id="show">
<input type="hidden" name="id" id="id" value="{$video.id}" />
<input type="hidden" name="save" id="save" value="1" />
{html_checkbox name="seen" value=1 checked=$video.seen onclick="submit()"}
{if $video.seen}<label for="seen">{$lang.yes}</label>{/if}
</form>
</td>
</tr>
<tr>
<td><b>{$lang.rating}:</b></td>
<td>{html_rating value=$video.rating}</td>
</tr>
</table>
</td>
<td>
<table>
{if $video.runtime > 0}
<tr><td><b>{$lang.length}:</b></td><td><b>{math equation="floor(x/60)" x=$video.runtime}</b> h <b>{math equation="x - floor(x/60) * 60" x=$video.runtime}</b> min ({$video.runtime} min)</td></tr>
{/if}
{if $video.language}
<tr>
<td><b>{$lang.language}:</b></td>
<td>
{foreach item=language from=$video.language}
<a href="search.php?q=%22{$language|escape:url}%22&fields=language">{$language}</a>
{/foreach}
</td>
</tr>
{/if}
{if $video.mediatype != ''}
<tr><td><b>{$lang.mediatype}:</b></td><td><a href="search.php?q=%22{$video.mediatype|escape:url}%22&fields=mediatype&nowild=1">{$video.mediatype}</a></td></tr>
{/if}
{if !empty($video.owner)}
<tr>
<td><b>{$lang.owner}:</b></td>
<td>
<a href="search.php?q={$video.owner|escape:url}&fields=owner&nowild=1">{$video.owner}</a>
{if $loggedin != '' and $video.email != '' and $video.owner != $loggedin and $video.who == '' and $video.diskid != ''}
[ <a href="javascript:void(open('borrowask.php?id={$video.id|escape:url}&diskid={$video.diskid|escape:url}','borrowask','width=210,height=210,menubar=no,resizable=yes,scrollbars=yes,status=yes,toolbar=no'))">{$lang.borrowask}</a> ]
{/if}
</td>
</tr>
{/if}
</table>
</td>
<td width="200">
{if $genres}
<b>{$lang.genres}:</b><br />
{foreach item=genre from=$genres}
<a href="search.php?q=&genres[]={$genre.id}">{$genre.name}</a><br />
{/foreach}
{/if}
</td>
</tr>
</table>
<table width="100%">
{if $video.plot != ''}
<tr>
<td colspan="2" style="text-align:justify">
<b>{$lang.plot}:</b><br />{$video.plot}<br />
<br />
</td>
</tr>
{/if}
<tr>
<td>
<table>
{if $video.filename != ''}
<tr><td><b>{$lang.filename}:</b></td><td>{$video.filename}</td></tr>
{/if}
{if $video.filesize > 0}
<tr><td><b>{$lang.filesize}:</b></td><td>{$video.filesize} mb</td></tr>
{/if}
{if $video.filedate != "0000-00-00 00:00:00"}
<tr><td><b>{$lang.filedate}:</b></td><td>{$video.filedate}</td></tr>
{/if}
{if $video.audio_codec != ''}
<tr><td><b>{$lang.audiocodec}:</b></td><td>{$video.audio_codec}</td></tr>
{/if}
{if $video.video_codec != ''}
<tr><td><b>{$lang.videocodec}:</b></td><td>{$video.video_codec}</td></tr>
{/if}
{if $video.video_height > 0 || $video.video_width > 0}
<tr><td><b>{$lang.dimension}:</b></td><td>{$video.video_width}x{$video.video_height}<br /><br /></td></tr>
{/if}
</table>
</td>
<td>
<table>
{if $video.comment != ''}
<tr>
<td><b>{$lang.comment}:</b></td>
<td>{$video.comment}</td>
</tr>
{/if}
{if !empty($video.custom1name) && !empty($video.custom1out)}
<tr>
<td><b>{$video.custom1name}:</b></td>
<td>{$video.custom1out}</td>
</tr>
{/if}
{if !empty($video.custom2name) && !empty($video.custom2out)}
<tr>
<td><b>{$video.custom2name}:</b></td>
<td>{$video.custom2out}</td>
</tr>
{/if}
{if !empty($video.custom3name) && !empty($video.custom3out)}
<tr>
<td><b>{$video.custom3name}:</b></td>
<td>{$video.custom3out}</td>
</tr>
{/if}
{if !empty($video.custom4name) && !empty($video.custom4out)}
<tr>
<td><b>{$video.custom4name}:</b></td>
<td>{$video.custom4out}</td>
</tr>
{/if}
</table>
</td>
</tr>
<tr>
<td width="100%" colspan="2">
{if $video.actors != ''}
<b>{$lang.cast}:
{if $cast_toggle}
{if $show_cast}
<a href="show.php?id={$video.id}" class="button submit">{$lang.hidecast}</a>
{else}
<a href="show.php?id={$video.id}&amp;show_cast=1" class="button submit">{$lang.showcast}</a>
{/if}
{/if}
</b>
{if $show_cast}
<table width="100%">
{counter start=0 print=false name=castcount assign=count}
{foreach item=actor from=$video.cast}
{if $count == 0}
<tr class="{cycle values="odd,even"}">
{/if}
<td width="{math equation="floor(100 / x)" x=$castcolumns}%">
<dl>
{if $actor.imgurl != ''}
<a href="{$actor.imdburl}"><img src="{$actor.imgurl}" width="38" height="52" border="0" align="left"></a>
{/if}
<dt>
<a href="search.php?q=%22{$actor.name|escape:url}%22&isname=Y">{$actor.name}</a>
</dt>
<dd>
{foreach item=role from=$actor.roles}
{$role}<br/>
{/foreach}
</dd>
</dl>
</td>
{counter assign=count name=castcount}
{if $count == $castcolumns}
{counter start=0 print=false name=castcount}
</tr>
{/if}
{/foreach}
</table>
{/if}
<br />
{/if}
</td>
</tr>
</table>
<!-- content end -->
</td></tr></table>

View File

@@ -0,0 +1,118 @@
{*
Template for the statistics page
$Id: stats.tpl,v 2.11 2008/11/13 17:56:05 andig2 Exp $
*}
<table width="100%" class="tableborder">
<tr>
<td align="center">
<table>
{if !empty($owners)}
<tr>
<td><b>{$lang.owner}:</b></td>
<td><form action="stats.php">{html_options name=owner options=$owners selected=$owner onchange="submit()"}</form></td>
</tr>
{/if}
<tr>
<td><b>{$lang.totalfiles}:</b></td>
<td>{$stats.count_all}</td>
</tr>
<tr>
<td><b>{$lang.tv_episodes}:</b></td>
<td><a href="search.php?q=1&fields=istv">{$stats.count_tv}</a></td>
</tr>
<tr>
<td><b>{$lang.numberdisks}:</b></td>
<td>{$stats.count_disk}</td>
</tr>
<tr>
<td><b>{$lang.videobygen}:</b><br />{$lang.multiple}</td>
<td>
{foreach item=row from=$stats.count_genre}
<a href="search.php?q=&genres[]={$row.id}">{$row.name}</a> : {$row.count}<br />
{/foreach}
</td>
</tr>
<tr>
<td><b>{$lang.year}:</b></td>
<td>
<table cellpadding="2">
<tr>
<td valign="bottom" align="left" style="text-align:left"><small>{$stats.first_year|spacify:"<br />"}</small></td>
<td colspan="2" valign="bottom" align="left" class="odd">
{foreach key=year item=count from=$stats.count_year}<a href="search.php?q={$year}&fields=year&nowild=1"><img src="images/bar.gif" width="3" height="{$count}" title="{$year}: {$count}" border="0" alt="" /></a>{/foreach}
</td>
<td valign="bottom" align="right" style="text-align:right"><small>{$stats.last_year|spacify:"<br />"}</small></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td align="center">
<table>
<tr>
<td><b>{$lang.averagefilesize}:</b></td>
<td>{$stats.avg_size} mb</td>
</tr>
<tr>
<td><b>{$lang.totalsize}</b></td>
<td>{$stats.sum_size} gb</td>
</tr>
<tr>
<td><b>{$lang.averageruntime}:</b></td>
<td>{$stats.avg_time} min</td>
</tr>
<tr>
<td><b>{$lang.totalruntime}:</b></td>
<td>{$stats.sum_time} h</td>
</tr>
<tr>
<td><b>{$lang.totalseen}:</b></td>
<td>{$stats.seen_time} h</td>
</tr>
<tr>
<td><b>{$lang.languages}:</b><br /></td>
<td>
<table cellspacing="0">
{foreach item=row from=$stats.count_lang}
{if $row.language}<tr><td><a href="search.php?q={$row.language|escape:url}&fields=language">{$row.language}</a>:</td><td>{$row.count}</td></tr>{/if}
{/foreach}
</table>
</td>
</tr>
<tr>
<td><b>{$lang.videobymedia}:</b></td>
<td>
<table cellspacing="0">
{foreach item=row from=$stats.count_media}
<tr><td><a href="search.php?q={$row.name|escape:url}&fields=mediatype&nowild=1">{$row.name}</a>:</td><td>{$row.count}</td></tr>
{/foreach}
</table>
</td>
</tr>
<tr>
<td><b>{$lang.videobyvcodec}:</b><br /></td>
<td>
<table cellspacing="0">
{foreach item=row from=$stats.count_vcodec}
{if $row.video_codec}<tr><td><a href="search.php?q={$row.video_codec|escape:url}&fields=video_codec&nowild=1">{$row.video_codec}</a>:</td><td>{$row.count}</td></tr>{/if}
{/foreach}
</table>
</td>
</tr>
<tr>
<td><b>{$lang.videobyacodec}:</b><br /></td>
<td>
<table cellspacing="0">
{foreach item=row from=$stats.count_acodec}
{if $row.audio_codec}<tr><td><a href="search.php?q={$row.audio_codec|escape:url}&fields=audio_codec&nowild=1">{$row.audio_codec}</a>:</td><td>{$row.count}</td></tr>{/if}
{/foreach}
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>

View File

@@ -0,0 +1,26 @@
{*
Template for browsing IMDB through VideoDB
$Id: trace.tpl,v 2.10 2005/05/20 10:02:17 andig2 Exp $
*}
<table width="100%" class="tableborder">
<tr>
<td>URL: </span><a href="{$url}" target="_blank">{$url}</a></td>
<td nowrap="nowrap" align="right" style="text-align:right">{if $fetchtime}{$lang.fetchtime}: {$fetchtime}s{/if}
<td align="right" style="text-align:right;">
<form action="trace.php" method="get" style="margin:0px; padding:0px;">
<input type="hidden" name="videodburl" value="{$url}" />
<input type="hidden" name="videodbreload" value="Y" />

View File

@@ -0,0 +1,106 @@
{*
Template for the user management screen
$Id: users.tpl,v 1.13 2013/03/15 16:42:46 andig2 Exp $
*}
<div align="center">
<p>{$message}</p>
<h3>{$lang.existingusers}</h3>
<table width="100%" class="tableborder">
<tr class="{cycle values="even,odd"}">
<th>{$lang.username}</th>
<th>{$lang.permissions}</th>
<th>{$lang.email}</th>
<th>{$lang.password}</th>
<th colspan="3">{$lang.action}</th>
</tr>
{foreach item=user from=$userlist}
<tr class="{cycle values="even,odd"}">
<form action="users.php" method="post">
<input type="hidden" name="id" value="{$user.id}" />
<input type="hidden" name="name" value="{$user.name|escape}" />
<td align="center" style="text-align:center">
<b>{$user.name}</b>
</td>
<td align="left" style="text-align:left">
{html_checkbox style="vertical-align:middle;" name="readflag" value="1" id="readflag"|cat:$user.name checked=$user.read label=$lang.perm_readall}<br/>
{html_checkbox style="vertical-align:middle;" name="writeflag" value="1" id="writeflag"|cat:$user.name checked=$user.write label=$lang.perm_writeall}<br/>
{html_checkbox style="vertical-align:middle;" name="adultflag" value="1" id="adultflag"|cat:$user.name checked=$user.adult label=$lang.perm_adult}<br/>
{html_checkbox style="vertical-align:middle;" name="adminflag" value="1" id="adminflag"|cat:$user.name checked=$user.admin label=$lang.perm_admin}
</td>
<td align="center" style="text-align:center">
{if $user.guest}
<input type="hidden" name="email" value="{$user.email|escape}" />
{else}
<input type="text" name="email" value="{$user.email|escape}" />
{/if}
</td>
<td align="center" style="text-align:center">
{if $user.guest}
<input type="hidden" name="password" />
{else}
<input type="text" name="password" />
{/if}
</td>
<td align="center" style="text-align:center">
<input type="submit" value="{$lang.update}" />
</td>
<td align="center" style="text-align:center">
{if !$user.guest}
<a href="users.php?del={$user.id|escape:url}" onClick="return confirm('{$lang.really_del|escape:javascript|escape}?')">{$lang.delete}</a>
{else}
&nbsp;
{/if}
</td>
<td align="center" style="text-align:center">
<a href="permissions.php?from_uid={$user.id|escape:url}">{$lang.perm}</a>
</td>
</form>
</tr>
{/foreach}
</table>
<br />
<h3>{$lang.createuser}</h3>
<form action="users.php" method="post">
<input type="hidden" name="newuser" value="1" />
<table width="100%" class="tableborder">
<tr class="{cycle values="even,odd"}">
<th>{$lang.username}</th>
<th>{$lang.permissions}</th>
<th>{$lang.email}</th>
<th>{$lang.password}</th>
<th></th>
</tr>
<tr class="{cycle values="even,odd"}">
<td align="center" style="text-align:center">
<input type="text" name="name" />
</td>
<td align="left" style="text-align:left">
{html_checkbox style="vertical-align:middle;" name="readflag" value="1" id="readflagNEWUSER" label=$lang.perm_readall}<br/>
{html_checkbox style="vertical-align:middle;" name="writeflag" value="1" id="writeflagNEWUSER" label=$lang.perm_writeall}<br/>
{html_checkbox style="vertical-align:middle;" name="adultflag" value="1" id="adultflagNEWUSER" label=$lang.perm_adult}<br/>
{html_checkbox style="vertical-align:middle;" name="adminflag" value="1" id="adminflagNEWUSER" label=$lang.perm_admin}
</td>
<td align="center" style="text-align:center">
<input type="text" name="email" />
</td>
<td align="center" style="text-align:center">
<input type="text" name="password" />
</td>
<td align="center" style="text-align:center">
<input type="submit" value="{$lang.create}" />
</td>
</form>
</tr>
</table>
</form>
</div>

View File

@@ -0,0 +1,31 @@
<div id="showcast">
<h3>{$lang.cast}:</h3>
<table width="100%">
{counter start=0 print=false name=castcount}
{foreach item=actor from=$video.cast}
{if $count == 0}
<tr>
{/if}
<td width="{floor(100/$config.castcolumns)}%">
{if $actor.imgurl}
{assign var="link" value=$actor.imdburl}
<a href="{if $config.imdbBrowser}{assign var="link" value=$link|escape:url}trace.php?videodburl={/if}{$link}">{html_image file=$actor.imgurl max_width=45 max_height=60 class=thumb}{*<img src="{$actor.imgurl}" width="38" height="52" align="left">*}</a>
{/if}
<a href="search.php?q=%22{$actor.name|escape:url}%22&amp;isname=Y">{$actor.name}</a>
{foreach item=role from=$actor.roles}
<br/>{$role}
{/foreach}
</td>
{counter assign=count name=castcount}
{if $count == $config.castcolumns}
</tr>{counter start=0 print=false name=castcount}
{/if}
{/foreach}
{if $count != 0}
{section name="columnLoop" start=$count loop=$config.castcolumns}
<td>&nbsp;</td>
{/section}
</tr>
{/if}
</table>
</div>

View File

@@ -0,0 +1,101 @@
{*
Template for the borrowing a single disk
$Id: borrow.tpl,v 1.11 2008/03/09 14:57:23 andig2 Exp $
*}
<!-- {$smarty.template} -->
{if $diskid && $editable}
<div id="actions">
<form action="borrow.php" id="formborrow" name="formborrow" method="post">
<input type="hidden" name="diskid" id="diskid" value="{$diskid}" />
{if $who}
{$lang.diskid} {$diskid}
{$lang.lentto} {$who} ({$dt})
<br />
<input type="hidden" name="return" value="1" />
<input type="submit" class="button" value="{$lang.returned}" />
{else}
{$lang.diskid} {$diskid} {$lang.available}
<br />
{$lang.borrowto}:
<input type="text" size="40" maxlength="255" id="who" name="who" />
<input type="submit" class="button" value="{$lang.okay}" />
{/if}
</form>
<script language="JavaScript" type="text/javascript">
// <!--
if (document.formborrow.who) document.formborrow.who.focus();
// -->
</script>
</div>
<!-- /actions -->
{else}
<div id="topspacer"></div>
{/if}
<div id="content">
<div id="borrow">
{if $config.multiuser}
<table>
<tr>
<td><h3>{$lang.curlentfrom}</h3></td>
<td><h3><form action="borrow.php">{html_options name=owner options=$owners selected=$owner onchange="submit()"}</form></h3></td>
<td><h3>:</h3></td>
</tr>
</table><br/>
{else}
<h3>{$lang.curlent}</h3>
{/if}
{if $borrowlist}
<table width="100%">
<tr class="{cycle values="even,odd"}">
<th>{$lang.diskid}</th>
{if $config.multiuser}<th>{$lang.owner}</th>{/if}
<th>{$lang.title}</th>
<th>{$lang.lentto}</th>
<th>{$lang.date}</th>
<th></th>
</tr>
{foreach item=disk from=$borrowlist}
<tr class="{cycle values="even,odd"}">
<td class="center"><a href="search.php?q={$disk.diskid}&amp;fields=diskid&amp;nowild=1">{$disk.diskid}</a></td>
{if $config.multiuser}
<td class="center">{$disk.owner}</td>
{/if}
<td class="center">
<a href="show.php?id={$disk.id}">{$disk.title}</a>
{if $disk.count > 1} ... {/if}
</td>
<td class="center">{$disk.who}</td>
<td class="center">{$disk.dt}</td>
<td class="center">
{if $disk.editable}
<form action="borrow.php" method="get">
<input type="hidden" name="diskid" value="{$disk.diskid}" />
<input type="hidden" name="return" value="1" />
<input type="submit" class="button" value="{$lang.returned}" />
</form>
{/if}
</td>
</tr>
{/foreach}
</table>
{else}
{$lang.l_nothing}
<br/><br/>
{/if}
</div>
<!-- /borrow -->
</div>
<!-- /content -->

View File

@@ -0,0 +1 @@
{*

View File

@@ -0,0 +1,94 @@
{assign var=IMGWIDTH value="194"}
{assign var=IMGHEIGHT value="288"}
{literal}
<style>
/* Outer div for image container */
.boxgrid{
position: relative;
overflow: hidden;
/* float:left; */
background:#161613;
border: solid 0px #8399AF;
width: 194px;
height: 288px;
margin: 10px;
}
.boxgrid img{
position: absolute;
top: 0;
left: 0;
border: 0;
}
/* Inner div for sliding content */
.boxcaption{
position: absolute;
width: 174px; /* note: 100% doesn't work here */
background: #000;
opacity: .8;
/* For IE 5-7 */
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
/* For IE 8 */
-MS-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
padding: 0 10px 10px 10px;
}
/* Inner content styling */
.boxcaption h3 {
font-size: 12pt;
font-weight: bold;
color: #fff;
margin: 0;
padding: 10px 0 10px 0;
}
.boxcaption div, .boxcaption h4, .boxcaption a {
font-size: 10pt;
color: #ddd;
padding: 10px 0 0 0;
}
/* Start position for actions */
.boxcaption .caption {
top: 220;
left: 0;
}
</style>
<script>
Event.observe(document, 'dom:loaded', function() {
// setup initial slider position based on height of h3 tag (plot)
$$('.boxcaption').each(function(el) {
el.setStyle({top: (288 - el.down('h3').getHeight())+'px'});
});
// unique identifier for queue scope
var elid = 1;
$$('.boxgrid.caption').each(function(el) {
elid++;
el.observe('mouseenter', function(e) {
var el = this.down('.boxcaption');
var dy = el.getHeight() - el.down('h3').getHeight();
new Effect.Move(el, {duration: 0.1, x: 0, y: -dy, mode: 'relative' //});
,queue: { position:'end', scope:'s'+elid }
});
});
el.observe('mouseleave', function(e) {
var el = this.down('.boxcaption');
var dy = el.getHeight() - el.down('h3').getHeight();
new Effect.Move(el, {duration: 0.1, x: 0, y: dy, mode: 'relative' // });
,queue: { position:'end', scope:'s'+elid }
});
});
});
});
</script>
{/literal}

View File

@@ -0,0 +1,18 @@
<style>
div {
border: 1px solid #000;
}
#inner {
margin: 20px;
}
</style>
<div id="outer">
<div id="inner">
</div>
</div>

View File

@@ -0,0 +1,15 @@
<div id="dlog" sstyle="position: absolute; top: 600px; left: 0px; width:200px; height: 80px;"></div>
{literal}
function dlog(d)
{
el = $('dlog');
/*
if (!el) {
el = new Element('div', {'id': 'dlog'}).setStyle({position:'absolute', left:'0px', top:'200px', width:'200px', border:'1px solid #000', height:'20px'});
document.body.appendChild(icon);
}
*/
el.innerHTML = d + "<br/>" + el.innerHTML;
}
{/literal}

View File

@@ -0,0 +1,18 @@
{*
Deletion confirmation
$Id: delete.tpl,v 1.2 2005/05/22 10:29:57 andig2 Exp $
*}
<!-- {$smarty.template} -->
<div id="topspacer"></div>

View File

@@ -0,0 +1,281 @@
{*
Template for the edit interface
$Id: edit.tpl,v 1.18 2010/02/24 21:20:18 andig2 Exp $
*}
<!-- {$smarty.template} -->
<script language="JavaScript" type="text/javascript" src="./javascript/edit.js"></script>
<script language="JavaScript" type="text/javascript" src="./javascript/prototype/rating.js"></script>
<script language="JavaScript" type="text/javascript" src="{$template}js/edit.js"></script>
<script language="JavaScript" type="text/javascript">
Event.observe(document, 'dom:loaded', function() {
/**
* Title search
*/
bindTitle();
/**
* Rating
*/
bindRating('rating_control', 'rating_value', {if !empty($video.rating)}{$video.rating}{else}0{/if});
/**
* Image lookup
*/
{if $engines.google}bindImageLookup();{/if}
});
</script>
{if !empty($video.id) || $xmlimport}
<div id="actions">
{if !empty($video.id)}
<form action="show.php" method="get" name="show">
<input type="hidden" name="id" value="{$video.id}" />
<input type="submit" class="button" value="{$lang.view}" />
</form>
{else}
<form action="edit.php" method="get" name="import">
<input type="hidden" name="import" value="xml" />
<input type="submit" class="button" value="Import" />
</form>
{/if}
</div>
<!-- /actions -->
{else}
<div id="topspacer2"></div>
{/if}
{if $http_error}<div class="center">{$http_error}</div>{/if}
<div id="content">
<div id="edit">
<form action="edit.php" id="edi" name="edi" method="post" enctype="multipart/form-data">
<input type="hidden" name="id" id="id" value="{if !empty($video.id)}{$video.id}{/if}" />
<input type="hidden" name="engine" id="engine" value="{if !empty($engine)}{$engine}{/if}" />
<input type="hidden" name="save" id="save" value="1" />
<table width="100%">
<tr>
<td>
<table>
<tr>
<td><h4>{$lang.title}:</h4></td>
<td>
<input type="text" name="title" id="title" value="{if !empty($video.q_title)}{$video.q_title}{/if}" size="50" autocomplete="off" maxlength="255" />
<div id="title_choices" class="autocomplete" style="display:none"></div>
<a href="javascript:void(lookupData(document.edi.title.value))"><img src="{$template}images/search.gif" alt="" align="top" /></a>
<span id="indicator1" style="display: none"><img src="{$template}images/spinner.gif" alt="{$lang.working}" /></span>
</td>
</tr>
<tr>
<td><h4>{$lang.subtitle}:</h4></td>
<td>
<input type="text" name="subtitle" id="subtitle" value="{if !empty($video.q_subtitle)}{$video.q_subtitle}{/if}" size="50" maxlength="255" />
<a href="javascript:void(lookupData(document.edi.subtitle.value))"><img src="{$template}images/search.gif" alt="" align="top" /></a>
</td>
</tr>
<tr>
<td><h4>{$lang.language}:</h4></td>
<td>{$video.f_language}</td>
</tr>
<tr>
<td><h4>{$lang.diskid}:</h4></td>
<td>
<input type="text" name="diskid" id="diskid" value="{if !empty($video.q_diskid)}{$video.q_diskid}{/if}" size="15" maxlength="255" />
<input type="hidden" name="autoid" id="autoid" value="{$autoid}" />
<input type="hidden" name="oldmediatype" id="oldmediatype" value="{$video.mediatype}" />
{$lang.mediatype} {html_options name="mediatype" options=$mediatypes selected=$video.mediatype}
</td>
</tr>
<tr>
<td><h4><label for="istv">{$lang.tvepisode}</label>:</h4></td>
<td><input type="checkbox" name="istv" id="istv" value="1" {if !empty($video.istv)}checked="checked"{/if}/></td>
</tr>
<tr>
<td><h4><label for="seen">{$lang.seen}</label>:</h4></td>
<td><input type="checkbox" name="seen" id="seen" value="1" {if !empty($video.seen)}checked="checked"{/if}/></td>
</tr>
<tr>
<td><h4>{$lang.filename}:</h4></td>
<td><input type="text" name="filename" id="filename" value="{if !empty($video.q_filename)}{$video.q_filename}{/if}" size="50" maxlength="255" /></td>
</tr>
<tr>
<td><h4>{$lang.filesize}:</h4></td>
<td><input type="text" name="filesize" id="filesize" value="{if !empty($video.q_filesize)}{$video.q_filesize}{/if}" size="10" maxlength="15" /> bytes</td>
</tr>
<tr>
<td><h4>{$lang.filedate}:</h4></td>
<td><input type="text" name="filedate" id="filedate" value="{if !empty($video.q_filedate)}{$video.q_filedate}{/if}" size="18" maxlength="20" /></td>
</tr>
<tr>
<td><h4>{$lang.audiocodec}:</h4></td>
<td><input type="text" name="audio_codec" id="audio_codec" value="{if !empty($video.q_audio_codec)}{$video.q_audio_codec}{/if}" /></td>
</tr>
<tr>
<td><h4>{$lang.videocodec}:</h4></td>
<td><input type="text" name="video_codec" id="video_codec" value="{if !empty($video.q_video_codec)}{$video.q_video_codec}{/if}" /></td>
</tr>
<tr>
<td><h4>{$lang.dimension}:</h4></td>
<td>
<input type="text" name="video_width" id="video_width" value="{if !empty($video.q_video_width)}{$video.q_video_width}{/if}" size="5" maxlength="4" /> x
<input type="text" name="video_height" id="video_height" value="{if !empty($video.q_video_height)}{$video.q_video_height}{/if}" size="5" maxlength="4" />
</td>
</tr>
<tr>
<td><h4>{$lang.rating}:</h4></td>
<td>
<div id="rating_control" class="rating_container"></div>&nbsp;(<span id="rating_value">{if !empty($video.rating)}{$video.rating}{else}0{/if}</span>)
<input type="hidden" name="rating" id="rating" value="{if !empty($video.rating)}{$video.rating}{/if}" />
</td>
</tr>
<tr>
<td colspan="2"><h4>{$lang.genre}:</h4>
<br/>
{$genreselect}
</td>
</tr>
{if !empty($owners)}
<tr>
<td>{$lang.owner}</td>
<td>
{html_options name=owner_id options=$owners selected=$video.owner_id}
</td>
</tr>
{/if}
{if !empty($video.custom1name)}
<tr>
<td><h4>{$video.custom1name}:</h4></td>
<td>{$video.custom1in}</td>
</tr>
{/if}
{if !empty($video.custom3name)}
<tr>
<td><h4>{$video.custom3name}:</h4></td>
<td>{$video.custom3in}</td>
</tr>
{/if}
</table>
</td>
<td>
<table>
<tr>
<td><h4>{$lang.extid}:</h4></td>
<td>
<input type="text" name="imdbID" id="imdbID" value="{if !empty($video.q_imdbID)}{$video.q_imdbID}{/if}" size="15" maxlength="30" onchange="changedId()" />
{if !empty($link)}<h4><a href="{$link}" target="_blank">{$lang.visit}</a></h4>{/if}</td>
</tr>
<tr>
<td><h4>{$lang.coverurl}:</h4></td>
<td>
<input type="text" name="imgurl" id="imgurl" value="{if !empty($video.q_imgurl)}{$video.q_imgurl}{/if}" size="50" maxlength="255" />
<a href="javascript:void(lookupImage(document.edi.title.value))"><img src="{$template}images/search.gif" alt="" align="top" /></a>
</td>
</tr>
<tr>
<td><h4>{$lang.coverupload}:</h4></td>
<td><input type="file" name="coverupload" id="coverupload" size="35" /></td>
</tr>
<tr>
<td><h4>{$lang.country}:</h4></td>
<td><input type="text" name="country" id="country" value="{if !empty($video.q_country)}{$video.q_country}{/if}" size="50" maxlength="255" /></td>
</tr>
<tr>
<td><h4>{$lang.director}:</h4></td>
<td><input type="text" name="director" id="director" value="{if !empty($video.q_director)}{$video.q_director}{/if}" size="50" maxlength="255" /></td>
</tr>
<tr>
<td><h4>{$lang.runtime}:</h4></td>
<td>
<input type="text" name="runtime" id="runtime" value="{if !empty($video.q_runtime)}{$video.q_runtime}{/if}" size="5" maxlength="5" />min
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$lang.year}
<input type="text" name="year" id="year" value="{if !empty($video.year)}{$video.year}{/if}" size="5" maxlength="4" />
</td>
</tr>
<tr>
<td><h4>{$lang.plot}:</h4></td>
<td><textarea cols="40" rows="8" name="plot" id="plot" wrap="virtual">{if !empty($video.q_plot)}{$video.q_plot}{/if}</textarea></td>
</tr>
<tr>
<td><h4>{$lang.cast}:</h4></td>
<td><textarea cols="40" rows="8" name="actors" id="actors" wrap="off">{if !empty($video.q_actors)}{$video.q_actors}{/if}</textarea></td>
</tr>
<tr>
<td><h4>{$lang.comment}:</h4></td>
<td><textarea cols="40" rows="3" name="comment" id="comment" wrap="virtual">{if !empty($video.q_comment)}{$video.q_comment}{/if}</textarea></td>
</tr>
{if !empty($video.custom2name)}
<tr>
<td><h4>{$video.custom2name}:</h4></td>
<td>{$video.custom2in}</td>
</tr>
{/if}
{if !empty($video.custom4name)}
<tr>
<td><h4>{$video.custom4name}:</h4></td>
<td>{$video.custom4in}</td>
</tr>
{/if}
</table>
</td>
</tr>
</table>
<div id="editbuttons">
{$lang.radio_look_caption}: {html_radios name=lookup options=$lookup checked="$lookup_id"}
<label for="add_flag"><input type="checkbox" name="add_flag" id="add_flag" value="1" {if !empty($add_flag)}checked="checked"{/if} />{$lang.add_another}</label>
<input type="submit" class="button" value="{$lang.save}" id="savebutton" accesskey="s" />
</div>
</form>
</div>
<!-- /edit -->
<div id="images" class="hidden">
<div id="images2">Alternative images:</div>
<div id="imagecontent"></div>
<div class="clear"></div>
</div>
<div class="clear"></div>
<!-- /images -->
</div>
<!-- /content -->

View File

@@ -0,0 +1,588 @@
/**
* Elegant style sheet
*
* $Id: elegant.css,v 1.40 2013/03/14 17:16:35 andig2 Exp $
*/
/*
* Defaults
*/
body {
font-family: Arial, Helvetica, sans serif;
font-size: 12px;
margin: 0px;
padding: 0px;
background-color: #e4e4e4;
color: #40474e
}
form, ul {
margin: 0px;
}
a:link, a:visited, a:active {
text-decoration: none;
color: #40474e
}
a:hover {
text-decoration: underline;
color: rgb(255,102,0);
}
table.collapse {
border-collapse : collapse;
}
tr {
vertical-align: top;
}
td { /* this fixes a problem with opera */
vertical-align: top;
text-align: left;
}
img {
border: 0px;
}
input, textarea, select {
font-size: 12px;
}
h3, h4 { /* bold font, usually in action section */
font-size: 12px;
font-weight: bold;
margin: 0px;
}
h4 { /* used on edit page */
font-weight: normal;
display: inline;
}
/*
* divs
*/
#container {
padding: 2px 8px 10px 8px;
}
#logo {
text-align: right;
float: right;
}
#logotitle, #logotitle a {
font: bold 20px trebuchet ms, arial, helvetica, sans-serif;
text-decoration: none;
}
#logohelp, #logologin, #logoprofile, #logoversion {
display: inline;
}
.logodivider {
margin: 0px 0px 0px 3px;
}
#header {
}
#headernav {
margin: 26px 0px 4px 0px;
padding: 0px;
}
#headernav li {
display: inline;
list-style-type: none;
}
#headernav2 li {
display: inline;
list-style-type: none;
font-size: 11px;
font-weight: normal;
}
#headernav2 li:before { content: "| "; }
#headernav2 li:first-child:before { content: ""; }
/*IE workaround*/
/*All IE browsers*/
* html #headernav2 li
{
border-left: 1px solid black;
padding: 0 0.4em 0 0.4em;
margin: 0 0.4em 0 -0.4em;
}
/*prevent first |*/
* html #headernav2 li
{
display: block;
float: left;
}
/*end workaround*/
#headerhelp, #headerlogin, #headerprofile {
display: none;
}
#filters {
padding: 2px 0px 4px 0px;
background-color: #fff;
font-size: 11px;
text-transform: capitalize;
border-bottom: 1px dotted #aaa;
}
#filtersmoreless {
float: right;
padding: 3px 4px 0px 0px;
}
#filtersmoreless img.button {
padding: 1px;
background-color: white;
border: none;
}
#quicksearch:hover {
color: #000000;
}
#quicksearch {
background: url(images/search_grey.gif) no-repeat scroll 0px;
color: #BBB;
padding-left: 17px;
}
#footer {
background-color: #fff;
font-size: 10px;
height: 19px;
padding: 2px;
}
#footerpages {
padding: 3px;
}
#footerversion {
float: right;
padding: 3px;
display: none;
}
#footerimage {
float: right;
padding: 2px;
}
#topspacer {
}
#topspacer2 {
background-color: #fff;
height: 25px;
border-bottom: 1px dotted #aaa;
}
#actions {
background-color: #fff;
padding: 4px;
border-bottom: 1px dotted #aaa;
}
#actionsspacer {
display: none;
}
#actionsbuttons {
}
#actions form, #actions h3 {
display: inline;
}
#actions div {
display: inline;
}
#content, #listitems {
background-color: #fff;
}
#showheader {
border-bottom: 1px dotted #aaa;
}
#showheader h1 {
font-size: 22px;
font-weight: bold;
margin: 0px;
}
#showheader h2 {
font-size: 18px;
font-weight: bolder;
margin: 0px;
}
#showimage {
float: left;
padding: 5px;
}
#showplot, #showfile, #showcomment, #showcast {
padding: 4px;
text-align: justify;
}
#showfile, #showcomment, #showcast {
border-bottom: 1px dotted #aaa;
}
#lookup {
padding: 4px;
}
#editbuttons {
position: absolute;
top: 46px;
right: 8px;
float: right;
font-size: 12px;
padding: 3px 90px 0px 0px;
margin: 0px;
}
#permissionbuttons {
position: absolute;
top: 48px;
right: 8px;
float: right;
font-size: 12px;
padding: 3px 4px 0px 0px;
margin: 0px;
}
#savebutton {
position: absolute;
top: 5px;
right: 4px;
}
#searchimage {
float: right;
}
#edit, #borrow, #statistics, #tools, #lookup, #users, #permissions, #contentlogin {
border-bottom: 1px dotted #aaa;
}
#borrow {
padding: 4px;
}
/*
* classes
*/
.tabActive a:visited,
.tabActive a:link,
.tabActive a:hover,
.tabInactive a:visited,
.tabInactive a:link,
.tabInactive a:hover {
font-size: 11px;
font-weight: bold;
margin: 4px 0px 0px 0px;
padding: 3px 6px 4px 6px;
text-decoration: none;
text-transform: capitalize;
white-space: nowrap;
}
.tabActive a:visited,
.tabActive a:link,
.tabActive a:hover {
background-color: #fff;
color: #222;
color: rgb(255,102,0);
}
.tabActive a:hover {
color: rgb(255,102,0);
}
.tabInactive a:visited,
.tabInactive a:link,
.tabInactive a:hover {
background-color: #f4f4f4;
color: #666;
}
.tabInactive a:hover {
background-color: #fff;
color: rgb(255,102,0);
}
.right {
text-align: right;
}
.center {
text-align: center;
}
.clear {
clear: both;
}
.button {
padding: 0px 3px 0px 3px;
border: 1px solid #aaa;
background: #eee;
cursor: hand;
}
.dropcap:first-letter {
float: left;
margin: 2px;
font-size: 32px;
}
.optionseven, .optionsodd {
border-bottom: 1px dotted #aaa;
padding: 4px;
}
.optionsleft {
float: left;
width: 25%;
text-align: center;
}
.optionsright {
float: right;
width: 75%;
text-align: left;
}
.lent {
background-color: #fdd;
}
.wanted {
background-color: #ffb;
}
.notavail {
font-weight: bold;
color: rgb(255,102,0);
}
.listeven, .listodd, #showplot, #torrents, #purchases {
border-bottom: 1px dotted #aaa;
}
.list_title, .list_diskid {
font-size: 12px;
font-weight: bold;
}
.list_info, .list_seen, .list_plot {
font-size: 11px;
}
.list_info {
font-style: italic;
}
.list_plot a {
font-weight: bold;
}
.list_item_buttons form {
display: inline;
}
.list_item_more {
float: right;
}
.list_diskid, .list_language, .list_seen, .list_item_buttons {
text-align: right;
}
.list_language {
margin-top: 2px;
margin-left: 2px;
}
.list_episode {
padding: 2px;
}
/*
* Images
*/
.cover {
margin: 0px 4px 0px 0px;
}
.thumb {
float: left;
margin: 0px 2px 1px 0px;
}
/* setup screenshot thumbnails */
.setup-thumb {
float: left;
width: 105px;
text-align: center;
border: 1px solid #999;
margin: 0 15px 15px 0;
padding: 5px;
}
.setup-thumb a:hover {
text-decoration: none;
}
/* lookup thumbnail formatting */
.thumbnail {
float: left;
margin: 5px;
}
#purchasecontent .thumbnail {
width: 300px;
background-color: #fff;
color: #000;
}
.img-shadow {
float: left;
background: url(images/shadowalpha.png) no-repeat bottom right !important;
background: url(images/shadow.gif) no-repeat bottom right;
margin: 10px 0 0 10px !important;
margin: 10px 0 0 5px;
}
.img-shadow img {
display: block;
position: relative;
background-color: #fff;
border: 1px solid #a9a9a9;
margin: -8px 6px 6px -8px !important;
margin: -8px 6px 6px -4px;
padding: 1px;
}
/*
* Ajax Stuff
*/
.hidden {
display: none;
}
div.autocomplete {
position:absolute;
width:250px;
background-color:white;
border:1px solid #ccc;
border-width: 1px 0 0 0;
margin:0px;
padding:0px;
opacity:0.90;
}
div.autocomplete ul {
list-style-type:none;
margin:0px;
padding:0px;
}
div.autocomplete ul li {
list-style-type:none;
display:block;
margin:0;
padding:2px;
border: 1px solid #ccc;
border-width: 0 1px 1px 1px;
cursor:pointer;
}
div.autocomplete ul li.selected {
background: #4173CC;
color: #fff;
}
div.autocomplete ul li em {
font-weight: bold;
font-style: normal;
background: #ccc;
}
div.autocomplete ul li.selected em {
background: none;
}
/* Rating */
.rating_container {
white-space: nowrap;
clear: both;
display: inline;
}
.rating_container a {
float:left;
display:block;
width:20px;
height:20px;
border:0;
}
.rating_container a.rating_off {
background-image:url("images/starempty.gif");
}
.rating_container a.rating_half {
background-image:url("images/starhalf.gif");
}
.rating_container a.rating_on {
background-image:url("images/starfull.gif");
}
.rating_container a.rating_selected {
background-image:url("images/starselected.gif");
}
/* Image lookup */
#images, #images .thumbnail a {
background-color: #aaa;
color: #fff;
}
#images2 {
padding: 5px 5px 0px 5px;
}
/*
* Help Browser
*/
.helpbrowser code {font-family: monospace; color: #044;}
.helpbrowser td th {background-color: #eee;}
.helpbrowser h1 {text-align: center; font-size: 15pt; font-weight: bolder; margin-top: 0px}
.helpbrowser h2 {margin-left: 10px; font-size: 13pt; font-weight: bolder;}
.helpbrowser h3 {margin-left: 30px; font-size: 11pt; font-weight: bolder; font-variant: small-caps}
.helpbrowser p {text-align: justify; margin-left: 50px; width: 90%}
.helpbrowser pre {margin-left: 50px; font-family: monospace; color: #044;}
.helpbrowser table ul dl {margin-left: 50px; width: 90%}
.helpbrowser dd {margin-bottom: 10px;}

View File

@@ -0,0 +1,128 @@
/**
* Grey style sheet
*
* $Id: elegant_grey.css,v 1.1 2013/03/14 17:16:36 andig2 Exp $
*/
/*
* Defaults
*/
body {
font-family: Tahoma, Verdana, sans serif;
background-color: #f8f8f8;
color: #000;
}
a:link, a:visited, a:active {
color: #000;
}
#logotitle {
font: bold 20px tahoma, trebuchet ms, arial, helvetica, sans-serif;
}
#filters {
background-color: #ddd;
}
#footer {
background-color: #ddd;
}
#topspacer, #topspacer2 {
background-color: #ddd;
height: 10px;
}
#actions {
background-color: #ddd;
padding: 4px;
}
#content {
background-color: #eee;
}
#showheader {
border-bottom: 1px solid #aaa;
}
#showplot, #showfile, #showcomment, #showcast, #torrents, #purchases {
padding: 4px;
text-align: justify;
border-bottom: 1px solid #aaa;
}
#lookup {
padding: 4px;
}
#edit, #borrow, #statistics, #tools, #lookup, #users {
}
.tabActive a:visited,
.tabActive a:link,
.tabActive a:hover {
background-color: #ddd;
color: #000;
}
.tabActive a:hover {
color: #fff;
}
.tabInactive a:visited,
.tabInactive a:link,
.tabInactive a:hover {
background-color: #aaa;
color: #fff;
}
.tabInactive a:hover {
background-color: #ddd;
}
.button {
padding-top: 1px;
padding-bottom: 1px;
padding-right: 3px;
padding-left: 3px;
}
.dropcap:first-letter {
}
.listeven {
background-color: #fff;
clear: both;
}
.listodd {
background-color: #eee;
clear: both;
}
.listdivider {
clear: both;
}
.listcell {
float: left;
}
.lent {
background-color: #fcc;
}
.wanted {
background-color: #ff9;
}
.notavail {
color: #f00;
}
.listeven, .listodd {
border-bottom: 1px dotted #aaa;
}

View File

@@ -0,0 +1,123 @@
<!-- {$smarty.template} -->
<script language="JavaScript" type="text/javascript" src="./javascript/prototype/fancyzoom.js"></script>
{literal}
<script language="JavaScript" type="text/javascript">
Event.observe(document, 'dom:loaded', function() {
zoomdiv = $('ZoomBox');
zoomimg = $('ZoomImage');
if (document.getElementById('ZoomImage').style.webkitBoxShadow || browserIsIE) {
$('ShadowBox').remove();
if (browserIsIE) {
$('ZoomClose').setStyle({top: '0px', left: '-1px'});
// IE doesn't do transparent PNGs
$('ZoomClose').down('img').src = {/literal}'{$template}images/fancyzoom/closebox.gif'{literal};
}
}
$$('a').each(function(el) {
if (el.getAttribute("rel") == "zoom") {
// store target in object
var eventManager = {
theTarget: el,
click: function(event) {
zoomClick(this.theTarget, event);
if (event) Event.stop(event);
},
preload: function(event) {
zoomPreload(this.theTarget);
}
};
// bind click event to object methods
el.observe('click', eventManager.click.bind(eventManager));
el.observe('mouseover', eventManager.preload.bind(eventManager));
}
});
});
</script>
{/literal}
{literal}
<style>
#ZoomBox {
position: absolute;
z-index: 499;
visibility: hidden;
}
#ZoomClose {
position: absolute;
left: -15px;
top: -15px;
width:30px;
height:30px;
border:0;
cursor: pointer;
}
#ZoomImage {
border: 0;
cursor: pointer;
}
#ShadowBox {
position: absolute;
z-index: 498;
visibility: hidden;
}
#ZoomCapDiv {
position: absolute;
margin-left: 13px;
margin-right: 13px;
visibility: hidden;
}
#ZoomCapDiv td {
vertical-align: middle;
}
#ZoomCaption {
valign: middle;
fontSize: 14px;
fontFamily: Helvetica;
fontWeight: bold;
color: #ffffff;
textShadow: 0px 2px 4px #000000;
whiteSpace: nowrap;
}
#ZoomSpin {
position: absolute;
visibility: hidden;
}
/* fix for xhtml strict - otherwise img is inline and has a margin */
#ZoomBox img, #ShadowBox img, #ZoomCapDiv img {
display: block;
}
a[rel=zoom] img {
border: 0;
}
</style>
{/literal}
<div id="ZoomBox">
<a href="javascript:zoomOut();"><img src="{$template}images/fancyzoom/spacer.gif" id="ZoomImage"/></a>
<div id="ZoomClose">
<a href="javascript:zoomOut();"><img src="{$template}images/fancyzoom/closebox.png" width="30" height="30" border="0"></a>
</div>
</div>
<div id="ZoomCapDiv">
<table border="0" cellpadding="0" cellspacing="0">
<tr height="26">
<td><img src="{$template}images/fancyzoom/zoom-caption-l.png" width="13" height="26"></td>
<td background="{$template}images/fancyzoom/zoom-caption-fill.png"><div id="ZoomCaption">Caption</div></td>
<td><img src="{$template}images/fancyzoom/zoom-caption-r.png" width="13" height="26"></td>
</tr>
</table>
</div>
<div id="ShadowBox">
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
<tr style="height: 25px;"><td style="width: 27px;"><img width="27" height="25" src="{$template}images/fancyzoom/zoom-shadow1.png"/></td><td background="{$template}images/fancyzoom/zoom-shadow2.png"><img width="1" height="1" src="{$template}images/fancyzoom/spacer.gif"/></td><td style="width: 27px;"><img width="27" height="25" src="{$template}images/fancyzoom/zoom-shadow3.png"/></td></tr>
<tr><td background="{$template}images/fancyzoom/zoom-shadow4.png"><img width="1" height="1" src="{$template}images/fancyzoom/spacer.gif"/></td><td bgcolor="#ffffff"><img width="1" height="1" src="{$template}images/fancyzoom/spacer.gif"/></td><td background="{$template}images/fancyzoom/zoom-shadow5.png"><img width="1" height="1" src="{$template}images/fancyzoom/spacer.gif"/></td></tr>
<tr style="height: 26px;"><td style="width: 27px;"><img width="27" height="26" src="{$template}images/fancyzoom/zoom-shadow6.png"/></td><td background="{$template}images/fancyzoom/zoom-shadow7.png"><img width="1" height="1" src="{$template}images/fancyzoom/spacer.gif"/></td><td style="width: 27px;"><img width="27" height="26" src="{$template}images/fancyzoom/zoom-shadow8.png"/></td></tr>
</table>
</div>
{*<div id="ZoomSpin"><img src="{$template}images/fancyzoom/ajax-loader.gif"/></div>*}

View File

@@ -0,0 +1,43 @@
{*
The filters on top of the browse page
$Id: filters.tpl,v 1.17 2009/03/26 11:17:17 andig2 Exp $
*}
<!-- {$smarty.template} -->
<script language="JavaScript" type="text/javascript" src="{$template}js/index.js"></script>
<div id="filters">
<form action="index.php" id="browse" name="browse">
{if $listcolumns AND $moreless}
<div id="filtersmoreless">
<span id="indicator1" style="display:none"><img src="{$template}images/spinner.gif" alt="{$lang.working}" /></span>
<a href="index.php?listcolumns={math equation="{if $listcolumns gt 1}columns-1{else}1{/if}" columns=$listcolumns}" listcolumns="{$listcolumns}" id="columns_less"><img src="{$template}images/minus2.png" class="button" /></a>
<a href="index.php?listcolumns={math equation="columns+1" columns=$listcolumns}" id="columns_more"><img src="{$template}images/plus2.png" class="button" /></a>
</div>
{/if}
<div id="filtersalphabet">
{html_radios name=filter options=$filters checked=$filter class="radio"}
<input type="checkbox" name="showtv" id="showtv" value="1" {if $showtv}checked="checked"{/if} /><label for="showtv">{$lang.radio_showtv}</label>
&nbsp;<label for="quicksearch">{$lang.quicksearch}:</label>
<input type="text" class="autoenable" {*disabled="disabled" *}name="quicksearch" id="quicksearch" autocomplete="off" value="{$lang.search}" onblur="clearInput('quicksearch', '{$lang.search}')" onfocus="clearInput('quicksearch', '{$lang.search}')"/>
<div id="item_choices" class="autocomplete" style="display:none"></div>
{if !empty($owners)}{html_options name=owner id=owner options=$owners selected=$owner}{/if}
{html_options name="mediafilter" id="mediafilter" options=$mediafilter selected=$mediatype}
{if !empty($order_options)}
<span style="font-weight:bold">{$lang.order}:</span>{html_options name="order" id="order" options=$order_options selected=$order}
{/if}
<input type="image" name="submit" src="{$template}images/search.gif" alt="{$lang.search}" align="absmiddle" />
</div>
</form>
</div>
<!-- /filters -->

View File

@@ -0,0 +1,52 @@
{*
This is the footer which is displayed on bottom of every page
$Id: footer.tpl,v 1.7 2008/10/19 10:45:28 andig2 Exp $
*}
<!-- {$smarty.template} -->
<div id="footer" style="clear:both;">
<div id="footerimage">
{if !empty($pdf)}
<a href="{$pdf}export=pdf&amp;ext=.pdf"><img src="images/pdfexport.png" /></a>
{/if}
{if !empty($xls)}
<a href="{$xls}export=xls&amp;ext=.xls"><img src="images/xlsexport.png" /></a>
{/if}
{if !empty($xml)}
<a href="{$xml}export=xml" target="_blank"><img src="images/xmlexport.png" /></a>
{/if}
{if !empty($rss)}
<a href="{$rss}export=rss" target="_blank"><img src="images/rssexport.png" /></a>
{/if}
</div>
<div id="footerversion">
<a href="https://github.com/andig/videodb.git">v{$version|strip|replace:"_":"."}</a>
</div>
<div id="footerpages">
<a href="#top"><img src="images/top.gif" alt=""/></a>
{if !empty($pageno) && !empty($maxpageno)}
{if $pageno != 1}<a href="?pageno={$pageno-1}">&#171;</a>{/if}
Page <span id="pageno">{$pageno}</span> of <span id="maxpageno">{$maxpageno}</span>
{if $pageno != $maxpageno}<a href="?pageno={$pageno+1}">&#187;</a>{/if}
&nbsp;
{/if}
{if !empty($totalresults)}<span id="count">{$totalresults}</span> {$lang.records}.{/if}
</div>
{*
{if $loggedin}<span> {$lang.loggedinas} {$loggedin}</span>{/if}
*}
</div>
<!-- /footer -->
</div>
<!-- /container -->
{$DEBUG}
</body>
</html>

View File

@@ -0,0 +1,48 @@
{literal}
<style>
.fullsize-icon {
position: absolute;
margin: 0;
padding: 0;
width: 30px;
height: 30px;
background: transparent url(/videodb/javascript/fullsize/fullsize-icon.png) no-repeat left top;
z-index: 950;
cursor: hand, auto;
}
</style>
<script language="JavaScript" type="text/javascript">
Event.observe(document, 'dom:loaded', function() {
$$('img.canzoom').each(function(el) {
postop = el.positionedOffset().top + 5; //+ parseInt(el.getStyle('margin-top').slice(0,-2));
posleft = el.positionedOffset().left + 5;
icon = new Element('div').addClassName('fullsize-icon').setStyle({display: 'none', top: postop+'px', left: posleft+'px'}); // , border: '1px solid red'
icon.srcimage = el;
document.body.appendChild(icon);
icon.observe('click', function(e) {
zoomClick(this.srcimage, e);
});
el.writeAttribute({href: el.readAttribute('targetimg')});
el.icon = icon;
el.observe('mouseenter', function(e) {
this.icon.appear({duration: 0.3});
});
el.observe('mouseleave', function(e) {
mouseX = Event.pointerX(e);
mouseY = Event.pointerY(e);
el = document.elementFromPoint(mouseX, mouseY);
if (el != this.icon) {
this.icon.fade({duration: 0.3});
}
});
});
});
</script>
{/literal}

View File

@@ -0,0 +1,21 @@
{assign var="chs" value=""}
{assign var="chl" value=""}
{foreach item=row from=$stats.count_genre}
{assign var="rowname" value=$row.name}
{assign var="rowcount" value=$row.count}
{assign var="rowid" value=$row.id}
{if $chs}{assign var="chs" value=$chs|cat:","}{/if}
{if $chl}{assign var="chl" value=$chl|cat:"|"}{/if}
{assign var="chs" value=$chs|cat:"$rowcount.0"}
{assign var="chl" value=$chl|cat:$rowname}
{/foreach}
CHS:{$chs}
CHL:{$chl}
http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs={$chs}&chl={$chl}
<img src="http://chart.apis.google.com/chart?cht=p3&chd=t:{$chs}&chl={$chl}" />

View File

@@ -0,0 +1,602 @@
/**
* Grey style sheet
*
* $Id: grey.css,v 1.24 2013/03/14 17:16:36 andig2 Exp $
*/
/*
* Defaults
*/
body {
font-family: Tahoma, Verdana, sans serif;
font-size: 12px;
margin: 0px;
padding: 0px;
background-color: #f8f8f8;
color: #000;
}
form, ul {
margin: 0px;
}
a:link, a:visited, a:active {
text-decoration: none;
color: #000;
}
a:hover {
text-decoration: underline;
color: rgb(255,102,0);
}
table.collapse {
border-collapse : collapse;
}
tr {
vertical-align: top;
}
td { /* this fixes a problem with opera */
vertical-align: top;
text-align: left;
}
img {
border: 0px;
}
input, textarea, select {
font-size: 12px;
}
h3, h4 { /* bold font, usually in action section */
font-size: 12px;
font-weight: bold;
margin: 0px;
}
h4 { /* used on edit page */
font-weight: normal;
display: inline;
}
/*
* divs
*/
#container {
padding: 2px 8px 10px 8px;
}
#logo {
text-align: right;
float: right;
}
#logotitle, #logotitle a {
font: bold 20px trebuchet ms, arial, helvetica, sans-serif;
text-decoration: none;
}
#logohelp, #logologin, #logoprofile, #logoversion {
display: inline;
}
.logodivider {
margin: 0px 0px 0px 3px;
}
#header {
}
#headernav {
margin: 26px 0px 4px 0px;
padding: 0px;
}
#headernav li {
display: inline;
list-style-type: none;
}
#headernav2 li {
display: inline;
list-style-type: none;
font-size: 11px;
font-weight: normal;
}
#headernav2 li:before { content: "| "; }
#headernav2 li:first-child:before { content: ""; }
/*IE workaround*/
/*All IE browsers*/
* html #headernav2 li
{
border-left: 1px solid black;
padding: 0 0.4em 0 0.4em;
margin: 0 0.4em 0 -0.4em;
}
/*prevent first |*/
* html #headernav2 li
{
display: block;
float: left;
}
/*end workaround*/
#headerhelp, #headerlogin, #headerprofile {
display: none;
}
#filters {
padding: 2px 0px 4px 0px;
background-color: #ddd;
font-size: 11px;
text-transform: capitalize;
}
#filtersmoreless {
float: right;
padding: 3px 4px 0px 0px;
}
#filtersmoreless img.button {
padding: 1px;
background-color: white;
border: none;
}
#quicksearch:hover {
color: #000000;
}
#quicksearch {
background: url(images/search_grey.gif) no-repeat scroll 0px;
color: #BBB;
padding-left: 17px;
}
#footer {
background-color: #ddd;
font-size: 10px;
height: 19px;
padding: 2px;
}
#footerpages {
padding: 3px;
}
#footerversion {
float: right;
padding: 3px;
display: none;
}
#footerimage {
float: right;
padding: 2px;
}
#topspacer, #topspacer2 {
background-color: #ddd;
height: 10px;
}
#topspacer2 {
height: 25px;
}
#actions {
background-color: #ddd;
padding: 4px;
}
#actionsspacer {
display: none;
}
#actionsbuttons {
}
#actions form, #actions h3 {
display: inline;
}
#actions div {
display: inline;
}
#content {
background-color: #eee;
}
#showheader {
border-bottom: 1px solid #aaa;
}
#showheader h1 {
font-size: 22px;
font-weight: bold;
margin: 0px;
}
#showheader h2 {
font-size: 18px;
font-weight: bolder;
margin: 0px;
}
#showimage {
float: left;
padding: 5px;
}
#showplot, #showfile, #showcomment, #showcast {
padding: 4px;
text-align: justify;
}
#showfile, #showcomment, #showcast {
border-bottom: 1px dotted #aaa;
}
#lookup {
padding: 4px;
}
#editbuttons {
position: absolute;
top: 46px;
right: 8px;
float: right;
font-size: 12px;
padding: 3px 90px 0px 0px;
margin: 0px;
}
#permissionbuttons {
position: absolute;
top: 48px;
right: 8px;
float: right;
font-size: 12px;
padding: 3px 4px 0px 0px;
margin: 0px;
}
#savebutton {
position: absolute;
top: 5px;
right: 4px;
}
#searchimage {
float: right;
}
#edit, #borrow, #statistics, #tools, #lookup, #users, #permissions, #contentlogin {
}
#borrow {
padding: 4px;
}
/*
* classes
*/
.tabActive a:visited,
.tabActive a:link,
.tabActive a:hover,
.tabInactive a:visited,
.tabInactive a:link,
.tabInactive a:hover {
font-size: 11px;
font-weight: bold;
margin: 4px 0px 0px 0px;
padding: 3px 6px 4px 6px;
text-decoration: none;
text-transform: capitalize;
white-space: nowrap;
}
.tabActive a:visited,
.tabActive a:link,
.tabActive a:hover {
background-color: #ddd;
color: #000;
}
.tabActive a:hover {
color: #fff;
}
.tabInactive a:visited,
.tabInactive a:link,
.tabInactive a:hover {
background-color: #aaa;
color: #fff;
}
.tabInactive a:hover {
background-color: #ddd;
}
.right {
text-align: right;
}
.center {
text-align: center;
}
.clear {
clear: both;
}
.button {
padding-top: 1px;
padding-bottom: 1px;
padding-right: 3px;
padding-left: 3px;
border: 1px solid #aaa;
background: #eee;
cursor: hand;
}
.dropcap:first-letter {
}
.listeven {
background-color: #fff;
clear: both;
}
.listodd {
background-color: #eee;
clear: both;
}
.listdivider {
clear: both;
}
.listcell {
float: left;
}
.optionseven, .optionsodd {
border-bottom: 1px dotted #aaa;
padding: 4px;
}
.optionsleft {
float: left;
width: 25%;
text-align: center;
}
.optionsright {
float: right;
width: 75%;
text-align: left;
}
.lent {
background-color: #fcc;
}
.wanted {
background-color: #ff9;
}
.notavail {
font-weight: bold;
color: #f00;
}
.listeven, .listodd {
border-bottom: 1px dotted #aaa;
}
.list_title, .list_diskid {
font-size: 12px;
font-weight: bold;
}
.list_info, .list_seen, .list_plot {
font-size: 11px;
}
.list_info {
font-style: italic;
}
.list_plot a {
font-weight: bold;
}
.list_item_buttons form {
display: inline;
}
.list_item_more {
float: right;
}
.list_diskid, .list_language, .list_seen, .list_item_buttons {
text-align: right;
}
.list_language {
margin-top: 2px;
margin-left: 2px;
}
.list_episode {
padding: 2px;
}
/*
* Images
*/
.cover {
margin: 0px 4px 0px 0px;
}
.thumb {
float: left;
margin: 0px 2px 1px 0px;
}
/* setup screenshot thumbnails */
.setup-thumb {
float: left;
width: 105px;
text-align: center;
border: 1px solid #999;
margin: 0 15px 15px 0;
padding: 5px;
}
.setup-thumb a:hover {
text-decoration: none;
}
/* lookup thumbnail formatting */
.thumbnail {
float: left;
margin: 5px;
}
#purchasecontent .thumbnail {
width: 300px;
background-color: #fff;
color: #000;
}
.img-shadow {
float: left;
background: url(images/shadowalpha.png) no-repeat bottom right !important;
background: url(images/shadow.gif) no-repeat bottom right;
margin: 10px 0 0 10px !important;
margin: 10px 0 0 5px;
}
.img-shadow img {
display: block;
position: relative;
background-color: #fff;
border: 1px solid #a9a9a9;
margin: -8px 6px 6px -8px !important;
margin: -8px 6px 6px -4px;
padding: 1px;
}
/*
* Ajax Stuff
*/
.hidden {
display: none;
}
div.autocomplete {
position:absolute;
width:250px;
background-color:white;
border:1px solid #ccc;
border-width: 1px 0 0 0;
margin:0px;
padding:0px;
opacity:0.90;
}
div.autocomplete ul {
list-style-type:none;
margin:0px;
padding:0px;
}
div.autocomplete ul li {
list-style-type:none;
display:block;
margin:0;
padding:2px;
border: 1px solid #ccc;
border-width: 0 1px 1px 1px;
cursor:pointer;
}
div.autocomplete ul li.selected {
background: #4173CC;
color: #fff;
}
div.autocomplete ul li em {
font-weight: bold;
font-style: normal;
background: #ccc;
}
div.autocomplete ul li.selected em {
background: none;
}
/* Rating */
.rating_container {
white-space: nowrap;
clear: both;
display: inline;
}
.rating_container a {
float:left;
display:block;
width:20px;
height:20px;
border:0;
}
.rating_container a.rating_off {
background-image:url("images/starempty.gif");
}
.rating_container a.rating_half {
background-image:url("images/starhalf.gif");
}
.rating_container a.rating_on {
background-image:url("images/starfull.gif");
}
.rating_container a.rating_selected {
background-image:url("images/starselected.gif");
}
/* Image lookup */
#images, #images .thumbnail a {
background-color: #aaa;
color: #fff;
}
#images2 {
padding: 5px 5px 0px 5px;
}
/*
* Help Browser
*/
.helpbrowser code {font-family: monospace; color: #044;}
.helpbrowser td th {background-color: #eee;}
.helpbrowser h1 {text-align: center; font-size: 15pt; font-weight: bolder; margin-top: 0px}
.helpbrowser h2 {margin-left: 10px; font-size: 13pt; font-weight: bolder;}
.helpbrowser h3 {margin-left: 30px; font-size: 11pt; font-weight: bolder; font-variant: small-caps}
.helpbrowser p {text-align: justify; margin-left: 50px; width: 90%}
.helpbrowser pre {margin-left: 50px; font-family: monospace; color: #044;}
.helpbrowser table ul dl {margin-left: 50px; width: 90%}
.helpbrowser dd {margin-bottom: 10px;}

View File

@@ -0,0 +1,50 @@
{*
This is the header which is displayed on top of every page
$Id: header.tpl,v 1.6 2008/02/17 17:44:54 andig2 Exp $
*}
{include file="xml.tpl"}
<body>
<!-- {$smarty.template} -->
<a name="top"></a>
<div id="container">
<div id="logo">
<div id="logotitle">
<a href="https://github.com/andig/videodb.git">videoDB</a>
</div>
<ul id="headernav2">
{if !empty($header.login)}<li><div id="logologin"><a href="{$header.login}">{if !empty($loggedin)}{$lang.logout}{else}{$lang.login}{/if}</a>
{if !empty($loggedin)}({$lang.loggedinas} {$loggedin}){/if}</div></li>{/if}
{if !empty($header.profile)}<li><div id="logoprofile"><a href="{$header.profile}">{$lang.profile}</a></div></li>{/if}
{if !empty($header.help)}<li><div id="logohelp"><a href="{$header.help}">{$lang.help}</a></div></li>{/if}
<li><div id="logoversion"><a href="https://github.com/andig/videodb.git">v{$version|strip|replace:"_":"."|replace:" ":""}</a></div></li>
</ul>
</div>
<!-- /logo -->
<div id="header">
<ul id="headernav">
{if !empty($header.browse)}<li class="{if $header.active == 'browse'}tabActive{else}tabInactive{/if}"><a href="{$header.browse}{if !empty($browseid)}#{$browseid}{/if}" accesskey="i">{$lang.browse}</a></li>{/if}
{if !empty($header.trace)}<li class="{if $header.active == 'trace'}tabActive{else}tabInactive{/if}"><a href="{$header.trace}">{$lang.imdbbrowser}</a></li>{/if}
{if !empty($header.random)}<li class="{if $header.active == 'random'}tabActive{else}tabInactive{/if}"><a href="{$header.random}">{$lang.random}</a></li>{/if}
{if !empty($header.search)}<li class="{if $header.active == 'search'}tabActive{else}tabInactive{/if}"><a href="{$header.search}">{$lang.search}</a></li>{/if}
{if !empty($header.new)}<li class="{if $header.active == 'new'}tabActive{else}tabInactive{/if}"><a href="{$header.new}" accesskey="n">{$lang.n_e_w}</a></li>{/if}
{if $header.active == 'show'}<li class="tabActive">{if !empty($header.request_uri)}<a href="{$header.request_uri}"> {/if} {$lang.view}</a></li> {/if}
{if $header.active == 'edit'}<li class="tabActive"><a href="{$header.edit}">{$lang.edit}</a></li> {/if}
{if !empty($header.borrow)}<li class="{if $header.active == 'borrow'}tabActive{else}tabInactive{/if}"><a href="{$header.borrow}">{$lang.borrow}</a></li>{/if}
{if !empty($header.stats)}<li class="{if $header.active == 'stats'}tabActive{else}tabInactive{/if}"><a href="{$header.stats}">{$lang.statistics}</a></li>{/if}
{if !empty($header.contrib)}<li class="{if $header.active == 'contrib'}tabActive{else}tabInactive{/if}"><a href="{$header.contrib}">{$lang.contrib}</a></li>{/if}
{if !empty($header.setup)}<li class="{if $header.active == 'setup'}tabActive{else}tabInactive{/if}"><a href="{$header.setup}">{$lang.setup}</a></li>{/if}
{if !empty($header.profile)}<li class="{if $header.active == 'profile'}tabActive{else}tabInactive{/if}"><div id="headerprofile"<a href="{$header.profile}">{$lang.profile}</a></div></li>{/if}
{if !empty($header.help)}<li class="{if $header.active == 'help'}tabActive{else}tabInactive{/if}"><div id="headerhelp"><a href="{$header.help}">{$lang.help}</a></div></li>{/if}
{if !empty($header.login)}<li class="{if $header.active == 'login'}tabActive{else}tabInactive{/if}"><div id="headerlogin"><a href="{$header.login}">{if !empty($loggedin)}{$lang.logout}{else}{$lang.login}{/if}</a></div></li>{/if}
</ul>
<!-- /headernav -->
</div>
<!-- /header -->

View File

@@ -0,0 +1,14 @@
{*
The help template
$Id: help.tpl,v 1.2 2005/05/22 10:29:57 andig2 Exp $
*}
<!-- {$smarty.template} -->

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.0" width="300" height="73" id="svg1901">
<defs id="defs1903">
<clipPath id="clipPath3318">
<rect width="61.964287" height="61.964287" rx="23.75" ry="23.75" x="82.142853" y="127.36217" style="opacity: 0.696; fill: none; fill-opacity: 1; stroke: rgb(0, 0, 0); stroke-width: 1.5; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="rect3320"/>
</clipPath>
<clipPath id="clipPath3322">
<rect width="61.964287" height="61.964287" rx="23.75" ry="23.75" x="82.142853" y="127.36217" style="opacity: 0.696; fill: none; fill-opacity: 1; stroke: rgb(0, 0, 0); stroke-width: 1.5; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="rect3324"/>
</clipPath>
<clipPath id="clipPath3326">
<rect width="61.964287" height="61.964287" rx="23.75" ry="23.75" x="82.142853" y="127.36217" style="opacity: 0.696; fill: none; fill-opacity: 1; stroke: rgb(0, 0, 0); stroke-width: 1.5; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="rect3328"/>
</clipPath>
</defs>
<g style="opacity: 1;" id="layer1">
<rect width="61.964287" height="61.964287" rx="23.75" ry="23.75" x="6.4285669" y="5.9335957" style="opacity: 1; fill: rgb(14, 143, 19); fill-opacity: 1; stroke: none; stroke-width: 1.5; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="rect3330"/>
<path d="M 106.59741,32.174729 L 113.06926,32.174729 L 113.06926,57.214729 L 106.59741,57.214729 L 106.59741,32.174729 M 106.59741,23.200619 L 113.06926,23.200619 L 113.06926,29.868569 L 106.59741,29.868569 L 106.59741,23.200619 M 124.73186,23.127349 L 124.73186,32.621159 L 131.67256,32.621159 L 131.67256,38.467029 L 124.73186,38.467029 L 124.73186,47.349589 C 124.79487,49.722939 126.47553,50.785559 127.77338,50.743849 L 131.82408,50.743849 L 131.82408,57.214729 L 126.54464,57.214729 C 121.17802,57.303999 117.79349,52.423599 117.79349,47.081729 L 117.79349,23.127349 M 77.632044,23.306219 L 90.538984,23.306219 C 93.093924,23.306259 94.995454,23.421749 96.243594,23.652679 C 100.45905,24.430329 102.92157,28.534269 103.09352,31.829149 C 103.26529,35.120589 101.92794,37.404249 100.07413,39.174119 C 101.44643,40.340439 103.39143,42.895179 103.39364,47.350579 C 103.39586,51.805979 100.65138,56.160779 95.771574,56.935999 C 94.684964,57.059179 92.778224,57.136179 88.622754,57.166969 L 77.632044,57.166969 L 77.632044,23.306219 M 84.478494,29.566979 L 84.478494,36.771989 L 87.783244,36.771989 C 90.172564,36.772009 91.657264,36.736589 92.237344,36.665719 C 93.286984,36.538219 94.108744,36.169819 94.702644,35.560529 C 95.310314,34.937109 95.614164,34.122379 95.614184,33.116359 C 95.614164,32.152879 95.351754,31.373569 94.826954,30.778449 C 94.315914,30.169189 93.549394,29.800799 92.527394,29.673249 C 91.919674,29.602429 90.172564,29.567009 87.286044,29.566979 L 84.478494,29.566979 M 84.478494,43.032749 L 84.478494,50.747629 L 89.187504,50.747629 C 91.284584,50.747639 92.614914,50.688589 93.178524,50.570509 C 94.043544,50.413059 94.744774,50.032579 95.282164,49.429009 C 95.832624,48.812359 96.107864,47.992329 96.107884,46.968909 C 96.107864,46.102959 95.898154,45.368219 95.478764,44.764649 C 95.059324,44.161129 94.449864,43.721589 93.650364,43.446049 C 92.863944,43.170529 91.146964,43.032759 88.499404,43.032749 L 84.478494,43.032749" style="font-size: 43.8754px; font-style: normal; font-weight: bold; opacity: 1; fill: rgb(14, 143, 19); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: DejaVu Sans Condensed;" id="text2218"/>
<path d="M 130.56223,23.068893 L 157.10046,23.068893 L 157.10046,29.711942 L 147.56126,29.711942 L 147.56126,57.151622 L 140.12285,57.151622 L 140.12285,29.711942 L 130.56223,29.711942 L 130.56223,23.068893" style="font-size: 45.3047px; font-style: normal; font-weight: bold; fill: rgb(102, 102, 102); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: DejaVu Sans Condensed;" id="text3228"/>
<path d="M 187.69196,31.977679 C 184.81064,31.977679 182.15136,33.597079 180.91071,35.602679 C 179.67006,37.608279 179.44196,39.690689 179.44196,41.477679 L 179.44196,57.008929 L 186.44196,57.008929 L 186.44196,41.477679 C 186.44196,40.498899 186.69758,39.584209 186.87946,39.290179 C 187.06134,38.996149 186.79915,38.977679 187.69196,38.977679 L 194.62946,38.977679 L 194.62946,31.977679 L 187.69196,31.977679 z " style="opacity: 1; fill: rgb(102, 102, 102); fill-opacity: 1; stroke: none; stroke-width: 7; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="path3237"/>
<path d="M 204.62946,31.977679 C 201.74814,31.977679 199.12011,33.597079 197.87946,35.602679 C 196.63881,37.608279 196.41071,39.690689 196.41071,41.477679 L 196.41071,57.008929 L 203.41071,57.008929 L 203.41071,41.477679 C 203.41071,40.498899 203.66633,39.584209 203.84821,39.290179 C 204.03009,38.996149 203.73664,38.977679 204.62946,38.977679 L 211.59821,38.977679 L 211.59821,31.977679 L 204.62946,31.977679 z " style="opacity: 1; fill: rgb(102, 102, 102); fill-opacity: 1; stroke: none; stroke-width: 7; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="path3240"/>
<path d="M 276.16044,23.127349 L 276.16044,32.621159 L 283.10114,32.621159 L 283.10114,38.467029 L 276.16044,38.467029 L 276.16044,47.349589 C 276.22345,49.722939 277.90411,50.785559 279.20196,50.743849 L 283.25266,50.743849 L 283.25266,57.214729 L 277.97322,57.214729 C 272.6066,57.303999 269.22207,52.423599 269.22207,47.081729 L 269.22207,23.127349" style="font-size: 43.8754px; font-style: normal; font-weight: bold; opacity: 1; fill: rgb(102, 102, 102); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: DejaVu Sans Condensed;" id="path3250"/>
<path d="M 160.97321,31.883929 C 155.43439,31.883929 150.87946,36.470109 150.87946,42.008929 L 150.87946,47.727679 C 150.87946,53.266499 155.43439,57.821429 160.97321,57.821429 L 166.44196,57.821429 C 171.98078,57.821429 176.5357,53.266499 176.53571,47.727679 L 176.53571,42.008929 C 176.53571,36.470109 171.98078,31.883929 166.44196,31.883929 L 160.97321,31.883929 z M 160.97321,38.883929 L 166.44196,38.883929 C 168.22386,38.883929 169.53571,40.227029 169.53571,42.008929 L 169.53571,47.727679 C 169.53571,49.509579 168.22386,50.821429 166.44196,50.821429 L 160.97321,50.821429 C 159.19131,50.821429 157.87946,49.509579 157.87946,47.727679 L 157.87946,42.008929 C 157.87946,40.227029 159.19131,38.883929 160.97321,38.883929 z " style="opacity: 1; fill: rgb(102, 102, 102); fill-opacity: 1; stroke: none; stroke-width: 7; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="rect3257"/>
<path d="M 220.12946,42.008929 L 231.78571,42.008929 C 231.78571,40.227029 230.47388,38.883929 228.69196,38.883929 L 223.22321,38.883929 C 221.44131,38.883929 220.12946,40.227029 220.12946,42.008929 z M 231.78571,47.727679 L 220.12946,47.727679 C 220.12946,49.509579 221.44131,50.821429 223.22321,50.821429 L 234.75288,50.821429 L 234.75288,57.821429 L 223.22321,57.821429 C 217.68439,57.821429 213.12946,53.266499 213.12946,47.727679 L 213.12946,42.008929 C 213.12946,36.470109 217.68439,31.883929 223.22321,31.883929 L 228.69196,31.883929 C 234.23078,31.883929 238.78571,36.470109 238.78571,42.008929 L 238.78571,47.727679 L 231.78571,47.727679 z " style="opacity: 1; fill: rgb(102, 102, 102); fill-opacity: 1; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="rect3259"/>
<path d="M 254.16071,31.415179 C 252.19522,31.415179 250.22019,32.003379 248.31696,32.852679 L 248.31696,31.470699 L 241.31696,31.470699 L 241.31696,42.258929 L 241.31696,57.290179 L 248.31696,57.290179 L 248.31696,42.258929 C 248.31696,41.248949 248.798,40.522489 249.97321,39.727679 C 251.14842,38.932869 252.94967,38.415179 254.16071,38.415179 C 255.33036,38.415179 256.83437,38.896439 257.81696,39.665179 C 258.79955,40.433919 259.37946,41.269089 259.37946,42.883929 L 259.37946,57.290179 L 266.37946,57.290179 L 266.37946,42.883929 C 266.37946,39.165929 264.52671,36.009449 262.12946,34.133929 C 259.73221,32.258409 256.89683,31.415179 254.16071,31.415179 z " style="opacity: 1; fill: rgb(102, 102, 102); fill-opacity: 1; stroke: none; stroke-width: 7; stroke-linecap: butt; stroke-miterlimit: 4; stroke-opacity: 1;" id="path3268"/>
<path d="M 282.31118,23.257948 L 287.6102,23.257948 L 287.6102,24.26673 L 285.70546,24.26673 L 285.70546,28.433592 L 284.2202,28.433592 L 284.2202,24.26673 L 282.31118,24.26673 L 282.31118,23.257948 M 288.3721,23.257948 L 290.25971,23.257948 L 291.56948,26.027766 L 292.88781,23.257948 L 294.77115,23.257948 L 294.77115,28.433592 L 293.36721,28.433592 L 293.36721,24.648054 L 292.0446,27.438678 L 291.10293,27.438678 L 289.78031,24.648054 L 289.78031,28.433592 L 288.3721,28.433592 L 288.3721,23.257948" style="font-size: 7.88895px; font-style: normal; font-weight: bold; opacity: 1; fill: rgb(102, 102, 102); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: DejaVu Sans Condensed;" id="text3280"/>
<path d="M 113.70536,144.54968 C 93.472023,142.41044 76.151987,174.4551 106.60714,192.63004" transform="translate(-75.7143, -121.429)" style="opacity: 1; fill: none; fill-opacity: 1; stroke: rgb(159, 210, 161); stroke-width: 5; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" clip-path="url(#clipPath3326)" id="path3305"/>
<path d="M 123.03571,152.71932 C 108.25116,145.34211 95.019967,156.63352 96.302302,169.17853 C 97.622258,182.09158 109.5603,192.63229 136.45024,187.80226" transform="translate(-75.7143, -121.429)" style="opacity: 1; fill: none; fill-opacity: 1; stroke: rgb(207, 233, 208); stroke-width: 5; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" clip-path="url(#clipPath3322)" id="path3307"/>
<path d="M 124.76913,162.71932 C 119.86081,153.87951 108.39125,155.13346 104.28571,161.6479 C 101.06775,166.75397 100.51364,179.18764 118.21429,182.18361 C 126.36905,183.35916 138.80953,182.03673 148.39286,180.93361" transform="translate(-75.7143, -121.429)" style="opacity: 1; fill: none; fill-opacity: 1; stroke: rgb(255, 255, 255); stroke-width: 5; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" clip-path="url(#clipPath3318)" id="path3309"/>
<rect width="61.964287" height="61.964287" rx="23.75" ry="23.75" x="6.4285669" y="5.9335957" style="opacity: 1; fill: none; fill-opacity: 1; stroke: rgb(14, 143, 19); stroke-width: 1.5; stroke-linecap: butt; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="rect3316"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 900 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 428 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Some files were not shown because too many files have changed in this diff Show More