This commit is contained in:
sebastian 2005-09-28 20:49:11 +00:00
parent c0572414cd
commit a353672193
71 changed files with 1542 additions and 1542 deletions

0
livesupport/modules/htmlUI/var/templates/file/edit.tpl Executable file → Normal file
View file

0
livesupport/modules/htmlUI/var/templates/file/list.tpl Executable file → Normal file
View file

View file

154
livesupport/modules/htmlUI/var/templates/file/objects.tpl Executable file → Normal file
View file

@ -1,77 +1,77 @@
{assign var="_PL_activeId" value=$PL->getActiveId()}
<div class="contenttabnav">
{if $START.pid}
<a href="{$UI_BROWSER}?act=fileList&id={$START.pid}">##go up##</a>
{/if}
{include file="file/path.tpl"}
</div>
<div class="head" style="width:555px; height: 21px;">&nbsp;
</div>
<div class="container_table" style="width: 555px; height: auto;">
<table>
<tr class="blue_head">
<td style="width: 280px">##Title##</td>
<td style="width: 20px">##Type##</td>
<td style="width: 255px; border: 0">##Action##</td>
</tr>
{if count($structure.listdata)}
{foreach from=$structure.listdata item=i}
{assign var="_listen_gunid" value=$i.gunid}
<tr class="{cycle values='blue1, blue2'}" {assign var="moreContextBefore" value=", 'SP.addItem'"}>
<td style="cursor: pointer" {include file="sub/contextmenu.tpl"}>
<span id="ID{$i.id}">
{if $i.type|lower eq 'folder'}
<a href="{$UI_BROWSER}?act=fileList&id={$i.id}" >[{$i.title|truncate:30}]</b>
{else}
{if $_PL_activeId == $i.id}
<b>{$i.title|truncate:30}</b>
{else}
{$i.title|truncate:30}
{/if}
{/if}
</span>
</td>
<td><img src="img/{$i.type|lower}.png" border="0" alt="{$i.type|lower|capitalize}" {include file="sub/alttext.tpl"} /></td>
<td style="border: 0">
{* &nbsp;<a href="javascript:frename('{$i.name}', '{$i.id}')">[rename]</a> *}
&nbsp;<a href="javascript:fmove('{$i.id}', '.')">##move##</a>
&nbsp;<a href="javascript:fcopy('{$i.id}', '.')">##copy##</a>
&nbsp;<a href="{$UI_BROWSER}?act=permissions&id={$i.id}">##permissions##</a>
{*
{if ($delOverride eq $i.id)}
<a href="{$UI_HANDLER}?act=delete&id={$i.id}&delOverride={$i.id}"
onClick="return confirm('Really delete non empty Folder &quot;{$i.name}&quot; now?')">[DEL]</a>
{else}
<a href="{$UI_HANDLER}?act=delete&id={$i.id}"
onClick="return confirm('Delete &quot;{$i.name}&quot;?')">[DEL]</a>
{/if}
{if $i.type|lower != 'folder'}
&nbsp;<a href="{$UI_BROWSER}?act=getMData&id={$i.id}">##MDataXML##</a>
&nbsp;<a href="{$UI_BROWSER}?act=editMetaData&id={$i.id}">[MDataForm]</a>
{if $i.type|lower eq 'webstream'}
&nbsp;<a href="{$UI_BROWSER}?act=editWebstream&id={$i.id}">##Edit##</a>
{elseif $i.type|lower eq 'audioclip'}
&nbsp;<a href="{$UI_BROWSER}?act=editFile&id={$i.id}">##Edit##</a>
&nbsp;<a href="{$CONFIG.accessRawAudioUrl}?id={$i.gunid}&sessid={$START.sessid}">##Access##</a>
&nbsp;<a href="{$UI_BROWSER}?act=_analyzeFile&id={$i.id}">##RawAnalyze##</a>
{/if}
&nbsp;<a href="#" onclick="hpopup('{$UI_HANDLER}?act=SP.addItem&id={$i.id}', '2SP')">[SP]</a>
{/if}
*}
&nbsp;
</td>
</tr>
{/foreach}
{else}
<tr><td align="center" colspan="3" width="400" style="border:0">##No objects##</td></tr>
{/if}
</table>
</div>
{assign var="_PL_activeId" value=$PL->getActiveId()}
<div class="contenttabnav">
{if $START.pid}
<a href="{$UI_BROWSER}?act=fileList&id={$START.pid}">##go up##</a>
{/if}
{include file="file/path.tpl"}
</div>
<div class="head" style="width:555px; height: 21px;">&nbsp;
</div>
<div class="container_table" style="width: 555px; height: auto;">
<table>
<tr class="blue_head">
<td style="width: 280px">##Title##</td>
<td style="width: 20px">##Type##</td>
<td style="width: 255px; border: 0">##Action##</td>
</tr>
{if count($structure.listdata)}
{foreach from=$structure.listdata item=i}
{assign var="_listen_gunid" value=$i.gunid}
<tr class="{cycle values='blue1, blue2'}" {assign var="moreContextBefore" value=", 'SP.addItem'"}>
<td style="cursor: pointer" {include file="sub/contextmenu.tpl"}>
<span id="ID{$i.id}">
{if $i.type|lower eq 'folder'}
<a href="{$UI_BROWSER}?act=fileList&id={$i.id}" >[{$i.title|truncate:30}]</b>
{else}
{if $_PL_activeId == $i.id}
<b>{$i.title|truncate:30}</b>
{else}
{$i.title|truncate:30}
{/if}
{/if}
</span>
</td>
<td><img src="img/{$i.type|lower}.png" border="0" alt="{$i.type|lower|capitalize}" {include file="sub/alttext.tpl"} /></td>
<td style="border: 0">
{* &nbsp;<a href="javascript:frename('{$i.name}', '{$i.id}')">[rename]</a> *}
&nbsp;<a href="javascript:fmove('{$i.id}', '.')">##move##</a>
&nbsp;<a href="javascript:fcopy('{$i.id}', '.')">##copy##</a>
&nbsp;<a href="{$UI_BROWSER}?act=permissions&id={$i.id}">##permissions##</a>
{*
{if ($delOverride eq $i.id)}
<a href="{$UI_HANDLER}?act=delete&id={$i.id}&delOverride={$i.id}"
onClick="return confirm('Really delete non empty Folder &quot;{$i.name}&quot; now?')">[DEL]</a>
{else}
<a href="{$UI_HANDLER}?act=delete&id={$i.id}"
onClick="return confirm('Delete &quot;{$i.name}&quot;?')">[DEL]</a>
{/if}
{if $i.type|lower != 'folder'}
&nbsp;<a href="{$UI_BROWSER}?act=getMData&id={$i.id}">##MDataXML##</a>
&nbsp;<a href="{$UI_BROWSER}?act=editMetaData&id={$i.id}">[MDataForm]</a>
{if $i.type|lower eq 'webstream'}
&nbsp;<a href="{$UI_BROWSER}?act=editWebstream&id={$i.id}">##Edit##</a>
{elseif $i.type|lower eq 'audioclip'}
&nbsp;<a href="{$UI_BROWSER}?act=editFile&id={$i.id}">##Edit##</a>
&nbsp;<a href="{$CONFIG.accessRawAudioUrl}?id={$i.gunid}&sessid={$START.sessid}">##Access##</a>
&nbsp;<a href="{$UI_BROWSER}?act=_analyzeFile&id={$i.id}">##RawAnalyze##</a>
{/if}
&nbsp;<a href="#" onclick="hpopup('{$UI_HANDLER}?act=SP.addItem&id={$i.id}', '2SP')">[SP]</a>
{/if}
*}
&nbsp;
</td>
</tr>
{/foreach}
{else}
<tr><td align="center" colspan="3" width="400" style="border:0">##No objects##</td></tr>
{/if}
</table>
</div>

0
livesupport/modules/htmlUI/var/templates/file/path.tpl Executable file → Normal file
View file

View file

@ -1,72 +1,72 @@
<div class="container_table" style="width: 555px; height: auto;">
<table>
<tr class="blue_head">
<td style="width: 300px">Subject Name</td>
<td style="width: 50px">Action</td>
<td style="width: 50px;">Permission</td>
<td style="width: 50px; border: 0">&nbsp;</td>
</tr>
{if (is_array($permissions.perms) && count($permissions.perms)>0)}
{foreach from=$permissions.perms item=row}
{if $row.type eq 'A'}
{assign var='da' value='allow'}
{else}
{if $row.type eq 'D'}
{assign var='da' value='deny'}
{else}
{assign var='da' value=$row.type}
{/if}
{/if}
<tr bgcolor="{cycle values='#eeeeee, #dadada'}">
<td>{* <a <?php #href="alibExPList.php?id=<?php echo$row['subj']? >"?>> *}{$row.login}</a></td>
<td>{$row.action}</td>
<td>{$da}</td>
<td style="border:0">
<a href="{$UI_HANDLER}?act=removePerm&permid={$row.permid}&oid={$permissions.id}&id={$permissions.id}"
onClick="return confirm('Delete permission &quot;{$da}&nbsp;{$row.action}&quot; for user {$row.login}?')">[remove]</a>
</td>
</tr>
{/foreach}
{else}
<tr><td colspan="4" style="border:0">No Permissions set.</td></tr>
{/if}
</table>
<br>
<form action="{$UI_HANDLER}" method="post">
Add Permission
<select name="allowDeny">
<option value="A">Allow</option>
<option value="D">Deny</option>
</select>
for Action
<select name="permAction">
<option value="_all">all</option>
{if is_array($permissions.actions)}
{foreach from=$permissions.actions item='it'}
<option value="{$it}">{$it}</option>
{/foreach}
{/if}
</select>
to Subject
<select name="subj">
{if is_array($permissions.subjects)}
{foreach from=$permissions.subjects item='it'}
<option value="{$it.id}">{$it.login}</option>
{/foreach}
{/if}
</select>
<input type="hidden" name="act" value="addPerm">
<input type="hidden" name="id" value="{$permissions.id}">
<input type="submit" value="Do it!">
</form>
<div class="container_table" style="width: 555px; height: auto;">
<table>
<tr class="blue_head">
<td style="width: 300px">Subject Name</td>
<td style="width: 50px">Action</td>
<td style="width: 50px;">Permission</td>
<td style="width: 50px; border: 0">&nbsp;</td>
</tr>
{if (is_array($permissions.perms) && count($permissions.perms)>0)}
{foreach from=$permissions.perms item=row}
{if $row.type eq 'A'}
{assign var='da' value='allow'}
{else}
{if $row.type eq 'D'}
{assign var='da' value='deny'}
{else}
{assign var='da' value=$row.type}
{/if}
{/if}
<tr bgcolor="{cycle values='#eeeeee, #dadada'}">
<td>{* <a <?php #href="alibExPList.php?id=<?php echo$row['subj']? >"?>> *}{$row.login}</a></td>
<td>{$row.action}</td>
<td>{$da}</td>
<td style="border:0">
<a href="{$UI_HANDLER}?act=removePerm&permid={$row.permid}&oid={$permissions.id}&id={$permissions.id}"
onClick="return confirm('Delete permission &quot;{$da}&nbsp;{$row.action}&quot; for user {$row.login}?')">[remove]</a>
</td>
</tr>
{/foreach}
{else}
<tr><td colspan="4" style="border:0">No Permissions set.</td></tr>
{/if}
</table>
<br>
<form action="{$UI_HANDLER}" method="post">
Add Permission
<select name="allowDeny">
<option value="A">Allow</option>
<option value="D">Deny</option>
</select>
for Action
<select name="permAction">
<option value="_all">all</option>
{if is_array($permissions.actions)}
{foreach from=$permissions.actions item='it'}
<option value="{$it}">{$it}</option>
{/foreach}
{/if}
</select>
to Subject
<select name="subj">
{if is_array($permissions.subjects)}
{foreach from=$permissions.subjects item='it'}
<option value="{$it.id}">{$it.login}</option>
{/foreach}
{/if}
</select>
<input type="hidden" name="act" value="addPerm">
<input type="hidden" name="id" value="{$permissions.id}">
<input type="submit" value="Do it!">
</form>
</div>

View file

0
livesupport/modules/htmlUI/var/templates/file/tree.tpl Executable file → Normal file
View file

0
livesupport/modules/htmlUI/var/templates/header.tpl Executable file → Normal file
View file

View file

View file

View file

View file

View file

@ -1,82 +1,82 @@
{assign var="_PL_activeId" value=$PL->getActiveId()}
{if $_results.cnt > 0}
<form name="SEARCHRESULTS">
<div class="head" style="width:535px; height: 21px;">&nbsp;</div>
<div class="container_table" style="width: 555px; height: auto;">
<table style="width: 535px;">
<tr class="blue_head">
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('SEARCHRESULTS')"></td>
<td style="width: 200px"><a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.reOrder&by=title', 'order');" id="blue_head">##Title##</a></td>
<td style="width: 195px"><a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.reOrder&by=creator', 'order');" id="blue_head">##Creator##</a></td>
<td><a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.reOrder&by=extent', 'order');" id="blue_head">##Duration##</a></td>
<td style="width: 41px; border: 0; text-align: center"><a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.reOrder&by=type', 'order');" id="blue_head">##Type##</a></td>
</tr>
{foreach from=$_results.items item=i}
<!-- start item -->
<tr class="background-color: {cycle values='blue1, blue2'}">
<td><input type="checkbox" class="checkbox" name="{$i.id}"/></td>
<td {include file="library/actionhandler.tpl"} style="cursor: pointer">
{if $PLAYLIST.id == $i.id}
<b>{$i.title|truncate:30}</b>
{else}
{$i.title|truncate:30}
{/if}
</td>
<td {include file="library/actionhandler.tpl"} style="cursor: pointer">{$i.creator}</td>
<td {include file="library/actionhandler.tpl"} style="text-align: right; cursor: pointer">{assign var="_duration" value=$i.duration}{niceTime in=$_duration}</td>
<td {include file="library/actionhandler.tpl"} style="border: 0; text-align: center; cursor: pointer">
<img src="img/{$i.type|lower}.png" border="0" alt="{$i.type|lower|capitalize}" {include file="sub/alttext.tpl"} />
</td>
</tr>
<!-- end item -->
{/foreach}
</table>
</div>
<div class="footer" style="width: 530px;">
<div class="counter">
{* {if $_results.prev}<a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.setOffset&page=prev', 'pager')" id="blue_head">##previous##</a>{/if} *}
{foreach from=$_results.pagination item=p key=k}
{if $k != $_results.page+1}
<a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.setOffset&page={$k}', 'pager')" id="blue_head">{$p}</a>
{else}
{$p}
{/if}
{/foreach}
{* {if $_results.next}<a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.setOffset&page=next', 'pager')" id="blue_head">##next##</a>{/if} *}
&nbsp;&nbsp;
##Range##:&nbsp;{$_criteria.offset+1}-{if ($_criteria.offset+$_criteria.limit)>$_results.cnt}{$_results.cnt}{else}{$_criteria.offset+$_criteria.limit}{/if}&nbsp;
##Count##:&nbsp;{$_results.cnt}&nbsp;
{* ##Page##:&nbsp;&nbsp;{$_results.page+1}&nbsp;&nbsp; *}
</div>
<select name="SEARCHRESULTS_multiaction" onChange="collector_submit('SEARCHRESULTS', this.value)">
<option>##Multiple Action:##</option>
<option value="SP.addItem">##Add file(s) to ScratchPad##</option>
{if $_PL_activeId}
<option value="PL.addItem">##Add file(s) to active Playlist##</option>
{else}
<option value="PL.create">##New Playlist using this file(s)##</option>
{/if}
</select>
<script type="text/javascript">
document.forms['SEARCHRESULTS'].elements['SEARCHRESULTS_multiaction'].options[0].selected=true;
//document.forms['SEARCHRESULTS'].elements['all'].checked = false;
//collector_switchAll('SEARCHRESULTS')
</script>
</div>
</form>
{else}
##No match found.##
{/if}
{assign var="_PL_activeId" value=null}
{assign var="_duration" value=null}
{assign var="_PL_activeId" value=$PL->getActiveId()}
{if $_results.cnt > 0}
<form name="SEARCHRESULTS">
<div class="head" style="width:535px; height: 21px;">&nbsp;</div>
<div class="container_table" style="width: 555px; height: auto;">
<table style="width: 535px;">
<tr class="blue_head">
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('SEARCHRESULTS')"></td>
<td style="width: 200px"><a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.reOrder&by=title', 'order');" id="blue_head">##Title##</a></td>
<td style="width: 195px"><a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.reOrder&by=creator', 'order');" id="blue_head">##Creator##</a></td>
<td><a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.reOrder&by=extent', 'order');" id="blue_head">##Duration##</a></td>
<td style="width: 41px; border: 0; text-align: center"><a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.reOrder&by=type', 'order');" id="blue_head">##Type##</a></td>
</tr>
{foreach from=$_results.items item=i}
<!-- start item -->
<tr class="background-color: {cycle values='blue1, blue2'}">
<td><input type="checkbox" class="checkbox" name="{$i.id}"/></td>
<td {include file="library/actionhandler.tpl"} style="cursor: pointer">
{if $PLAYLIST.id == $i.id}
<b>{$i.title|truncate:30}</b>
{else}
{$i.title|truncate:30}
{/if}
</td>
<td {include file="library/actionhandler.tpl"} style="cursor: pointer">{$i.creator}</td>
<td {include file="library/actionhandler.tpl"} style="text-align: right; cursor: pointer">{assign var="_duration" value=$i.duration}{niceTime in=$_duration}</td>
<td {include file="library/actionhandler.tpl"} style="border: 0; text-align: center; cursor: pointer">
<img src="img/{$i.type|lower}.png" border="0" alt="{$i.type|lower|capitalize}" {include file="sub/alttext.tpl"} />
</td>
</tr>
<!-- end item -->
{/foreach}
</table>
</div>
<div class="footer" style="width: 530px;">
<div class="counter">
{* {if $_results.prev}<a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.setOffset&page=prev', 'pager')" id="blue_head">##previous##</a>{/if} *}
{foreach from=$_results.pagination item=p key=k}
{if $k != $_results.page+1}
<a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.setOffset&page={$k}', 'pager')" id="blue_head">{$p}</a>
{else}
{$p}
{/if}
{/foreach}
{* {if $_results.next}<a href="#" onClick="hpopup('{$UI_HANDLER}?act={$_act_prefix}.setOffset&page=next', 'pager')" id="blue_head">##next##</a>{/if} *}
&nbsp;&nbsp;
##Range##:&nbsp;{$_criteria.offset+1}-{if ($_criteria.offset+$_criteria.limit)>$_results.cnt}{$_results.cnt}{else}{$_criteria.offset+$_criteria.limit}{/if}&nbsp;
##Count##:&nbsp;{$_results.cnt}&nbsp;
{* ##Page##:&nbsp;&nbsp;{$_results.page+1}&nbsp;&nbsp; *}
</div>
<select name="SEARCHRESULTS_multiaction" onChange="collector_submit('SEARCHRESULTS', this.value)">
<option>##Multiple Action:##</option>
<option value="SP.addItem">##Add file(s) to ScratchPad##</option>
{if $_PL_activeId}
<option value="PL.addItem">##Add file(s) to active Playlist##</option>
{else}
<option value="PL.create">##New Playlist using this file(s)##</option>
{/if}
</select>
<script type="text/javascript">
document.forms['SEARCHRESULTS'].elements['SEARCHRESULTS_multiaction'].options[0].selected=true;
//document.forms['SEARCHRESULTS'].elements['all'].checked = false;
//collector_switchAll('SEARCHRESULTS')
</script>
</div>
</form>
{else}
##No match found.##
{/if}
{assign var="_PL_activeId" value=null}
{assign var="_duration" value=null}

View file

View file

View file

View file

@ -1,7 +1,7 @@
<html>
<head>
</head>
<body>
<center>
<img src="img/ls_logo_animated.gif">
</center>
<html>
<head>
</head>
<body>
<center>
<img src="img/ls_logo_animated.gif">
</center>

0
livesupport/modules/htmlUI/var/templates/main.tpl Executable file → Normal file
View file

View file

0
livesupport/modules/htmlUI/var/templates/menu.tpl Executable file → Normal file
View file

View file

View file

@ -1,90 +1,90 @@
<!-- start playlist editor -->
<div class="container_elements" style="width: 607px;">
<div style="width: 574px;">
<div style="float: left;"><h1>##Playlist Editor## </h1></div>
<div style="float: right;"><h1><a href="{$UI_BROWSER}?act=PL.editMetaData" style="color: #666666">{$PL->title} &nbsp; {getHour time=$PL->duration}##h##&nbsp;{getMinute time=$PL->duration}##m##&nbsp;{getSecond time=$PL->duration}##s##</a></h1></div>
</div>
<div class="head" style="width: 574px;">
<div class="left">&nbsp;</div>
<div class="right">&nbsp;</div>
<div class="clearer">&nbsp;</div>
</div>
<div class="container_table" style="width: 594px;">
<table style="width: 574px;">
<form name="PL">
<!-- start repeat after 14 columns -->
<tr class="blue_head">
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('PL')"></td>
<script type="text/javascript">
document.forms['PL'].elements['all'].checked = false;
</script>
<td style="width: 200px">##Title##</td>
<td> ##Duration##</td>
<td style="width: 200px">##Artist##</td>
<td style="width: 30px;">##Type##</td>
<td style="width: 30px; border: 0">##Move##</td>
</tr>
<!-- end repeat after 14 columns -->
<!-- start item -->
{foreach from=$PL->getFlat($PL->activeId) key='pos' item='i'}
<!-- {$n++} -->
<!-- fade information -->
<tr onClick="return contextmenu('{$i.attrs.id}', {if $n == 1}'PL.changeFadeIn'{else}'PL.changeTransition'{/if})" style="background-color: #bbb">
<td></td>
<td colspan="5" style="border: 0; cursor: pointer">##Fade## {$i.fadein_ms|string_format:"%d"} ms</td>
</tr>
<tr class="{cycle values='blue1, blue2'}">
<td><input type="checkbox" class="checkbox" name="{$i.attrs.id}"/></td>
<td {include file="playlist/actionhandler.tpl"}>{$i.title}</td>
<td {include file="playlist/actionhandler.tpl"} style="text-align: right">
{assign var="_duration" value=$i.duration}{niceTime in=$_duration}
</td>
<td {include file="playlist/actionhandler.tpl"}>{$i.creator}</td>
<td {include file="playlist/actionhandler.tpl"}>
<img src="img/{$i.type}.png" border="0" alt="{$i.type|capitalize}" {include file="sub/alttext.tpl"} />
</td>
<td style="border: 0">
<a href="#" onClick="hpopup('{$UI_HANDLER}?act=PL.moveItem&id={$i.attrs.id}&pos={$pos-1}')"><img src="img/bt_top_xsm.png" alt="##move up##" vspace=1 hspace=1/></a>
<a href="#" onClick="hpopup('{$UI_HANDLER}?act=PL.moveItem&id={$i.attrs.id}&pos={$pos+1}')"><img src="img/bt_bottom_xsm.png" alt="##move down##" vspace=1 hspace=1/></a>
</td>
</tr>
{/foreach}
{if $n}
<!-- fade information -->
<tr onClick="return contextmenu('{$i.attrs.id}', {if $n == 1}'PL.changeFadeIn'{else}'PL.changeFadeOut'{/if})" style="background-color: #bbb">
<td></td>
<td colspan="5" style="border: 0; cursor: pointer">##Fade## {$i.fadeout_ms|string_format:"%d"} ms</td>
</tr>
{else}
<tr class="{cycle values='blue1, blue2'}">
<td style="border: 0" colspan="6" align="center">##No Entry##</td>
</tr>
{/if}
<!-- end item -->
</form>
</table>
</div>
<div class="footer" style="width: 569px;">
<input type="button" class="button_large" onClick="collector_submit('PL', '0&popup[]=PL.changeAllTransitions', '{$UI_BROWSER}', 'chgAllTrans', 400, 150)" value="##Change Fades##" />
<input type="button" class="button_large" onClick="collector_submit('PL', 'PL.removeItem')" value="##Remove Selected##" />
<input type="button" class="button_large" onClick="collector_clearAll('PL', 'PL.removeItem')" value="##Clear Playlist##" />
</div>
<div class="container_button">
<input type="button" class="button_large" value="##Save Playlist##" onClick="hpopup('{$UI_HANDLER}?act=PL.save')">
<input type="button" class="button_large" value="##Revert to Saved##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmRevert', 'PL.revertChanges', 400, 50)">
<input type="button" class="button_large" value="##Delete Playlist##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmDelete', 'PL.deleteActive', 400, 50)">
</div>
<div class="container_button">
{if $UI_PL_DRAG_ENABLED}
<input type="button" class="button_large" value="##Reorder Playlist##" onClick="popup('{$UI_BROWSER}?popup[]=PL.arrangeItems', 'PL.arrangeItems', 533, 600)">
{/if}
<input type="button" class="button_large" value="##Close Playlist##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmRelease', 'PL.confirmRelease', 400, 50)">
<input type="button" class="button_large" value="##Description##" onClick="location.href='{$UI_BROWSER}?act=PL.editMetaData'">
</div>
</div>
<!-- end playlist editor -->
<!-- start playlist editor -->
<div class="container_elements" style="width: 607px;">
<div style="width: 574px;">
<div style="float: left;"><h1>##Playlist Editor## </h1></div>
<div style="float: right;"><h1><a href="{$UI_BROWSER}?act=PL.editMetaData" style="color: #666666">{$PL->title} &nbsp; {getHour time=$PL->duration}##h##&nbsp;{getMinute time=$PL->duration}##m##&nbsp;{getSecond time=$PL->duration}##s##</a></h1></div>
</div>
<div class="head" style="width: 574px;">
<div class="left">&nbsp;</div>
<div class="right">&nbsp;</div>
<div class="clearer">&nbsp;</div>
</div>
<div class="container_table" style="width: 594px;">
<table style="width: 574px;">
<form name="PL">
<!-- start repeat after 14 columns -->
<tr class="blue_head">
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('PL')"></td>
<script type="text/javascript">
document.forms['PL'].elements['all'].checked = false;
</script>
<td style="width: 200px">##Title##</td>
<td> ##Duration##</td>
<td style="width: 200px">##Artist##</td>
<td style="width: 30px;">##Type##</td>
<td style="width: 30px; border: 0">##Move##</td>
</tr>
<!-- end repeat after 14 columns -->
<!-- start item -->
{foreach from=$PL->getFlat($PL->activeId) key='pos' item='i'}
<!-- {$n++} -->
<!-- fade information -->
<tr onClick="return contextmenu('{$i.attrs.id}', {if $n == 1}'PL.changeFadeIn'{else}'PL.changeTransition'{/if})" style="background-color: #bbb">
<td></td>
<td colspan="5" style="border: 0; cursor: pointer">##Fade## {$i.fadein_ms|string_format:"%d"} ms</td>
</tr>
<tr class="{cycle values='blue1, blue2'}">
<td><input type="checkbox" class="checkbox" name="{$i.attrs.id}"/></td>
<td {include file="playlist/actionhandler.tpl"}>{$i.title}</td>
<td {include file="playlist/actionhandler.tpl"} style="text-align: right">
{assign var="_duration" value=$i.duration}{niceTime in=$_duration}
</td>
<td {include file="playlist/actionhandler.tpl"}>{$i.creator}</td>
<td {include file="playlist/actionhandler.tpl"}>
<img src="img/{$i.type}.png" border="0" alt="{$i.type|capitalize}" {include file="sub/alttext.tpl"} />
</td>
<td style="border: 0">
<a href="#" onClick="hpopup('{$UI_HANDLER}?act=PL.moveItem&id={$i.attrs.id}&pos={$pos-1}')"><img src="img/bt_top_xsm.png" alt="##move up##" vspace=1 hspace=1/></a>
<a href="#" onClick="hpopup('{$UI_HANDLER}?act=PL.moveItem&id={$i.attrs.id}&pos={$pos+1}')"><img src="img/bt_bottom_xsm.png" alt="##move down##" vspace=1 hspace=1/></a>
</td>
</tr>
{/foreach}
{if $n}
<!-- fade information -->
<tr onClick="return contextmenu('{$i.attrs.id}', {if $n == 1}'PL.changeFadeIn'{else}'PL.changeFadeOut'{/if})" style="background-color: #bbb">
<td></td>
<td colspan="5" style="border: 0; cursor: pointer">##Fade## {$i.fadeout_ms|string_format:"%d"} ms</td>
</tr>
{else}
<tr class="{cycle values='blue1, blue2'}">
<td style="border: 0" colspan="6" align="center">##No Entry##</td>
</tr>
{/if}
<!-- end item -->
</form>
</table>
</div>
<div class="footer" style="width: 569px;">
<input type="button" class="button_large" onClick="collector_submit('PL', '0&popup[]=PL.changeAllTransitions', '{$UI_BROWSER}', 'chgAllTrans', 400, 150)" value="##Change Fades##" />
<input type="button" class="button_large" onClick="collector_submit('PL', 'PL.removeItem')" value="##Remove Selected##" />
<input type="button" class="button_large" onClick="collector_clearAll('PL', 'PL.removeItem')" value="##Clear Playlist##" />
</div>
<div class="container_button">
<input type="button" class="button_large" value="##Save Playlist##" onClick="hpopup('{$UI_HANDLER}?act=PL.save')">
<input type="button" class="button_large" value="##Revert to Saved##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmRevert', 'PL.revertChanges', 400, 50)">
<input type="button" class="button_large" value="##Delete Playlist##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmDelete', 'PL.deleteActive', 400, 50)">
</div>
<div class="container_button">
{if $UI_PL_DRAG_ENABLED}
<input type="button" class="button_large" value="##Reorder Playlist##" onClick="popup('{$UI_BROWSER}?popup[]=PL.arrangeItems', 'PL.arrangeItems', 533, 600)">
{/if}
<input type="button" class="button_large" value="##Close Playlist##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmRelease', 'PL.confirmRelease', 400, 50)">
<input type="button" class="button_large" value="##Description##" onClick="location.href='{$UI_BROWSER}?act=PL.editMetaData'">
</div>
</div>
<!-- end playlist editor -->
{assign var="_duration" value=null}

View file

@ -1,145 +1,145 @@
<div class="container_elements" style="width: 607px;">
<div style="width: 574px;">
<div style="float: left;"><h1>##Playlist Editor## </h1></div>
<div style="float: right;"><h1><a href="{$UI_BROWSER}?act=PL.editMetaData" style="color: #666666">{$PL->title} &nbsp; {getHour time=$PL->duration}##h##&nbsp;{getMinute time=$PL->duration}##m##&nbsp;{getSecond time=$PL->duration}##s##</a></h1></div>
</div>
<div class="head" style="width: 574px;">
<div class="left">&nbsp;</div>
<div class="right">&nbsp;</div>
<div class="clearer">&nbsp;</div>
</div>
<form name="PL" action="{$UI_HANDLER}" method="get">
<input type="hidden" name="act" value="PL.reOrder"
<div class="container_table" style="width: 594px;">
<table style="width: 574px;">
<!-- start repeat after 14 columns -->
<tr class="blue_head">
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('PL')"></td>
<script type="text/javascript">
document.forms['PL'].elements['all'].checked = false;
</script>
<td>##Title##</td>
<td style="width: 50px;">##Duration##</td>
<td style="width: 200px">##Artist##</td>
<td style="width: 35px;">##Type##</td>
<td style="width: 35px; border: 0">##Move##</td>
</tr>
<!-- end repeat after 14 columns -->
</table>
<div id="draglist_container">
{foreach from=$PL->getFlat($PL->activeId) key='pos' item='i'}
<!-- start item -->
<div style="position: relative; left: 0px; top: 0px;">
<!-- {$n++} -->
<table style="width: 574px;">
<!-- fade information -->
<tr onClick="return contextmenu('{$i.attrs.id}', {if $n == 1}'PL.changeFadeIn'{else}'PL.changeTransition'{/if})" style="background-color: #bbb">
<td style="width: 30px"></td>
<td colspan="5" style="border: 0; cursor: pointer">##Fade## {$i.fadein_ms|string_format:"%d"} ms</td>
</tr>
<!-- end fade information -->
<!-- clip information -->
<tr class="{cycle values='blue1, blue2'}">
<td style="width: 30px"><input type="checkbox" class="checkbox" name="{$i.attrs.id}"/></td>
<td {include file="playlist/actionhandler.tpl"}>{$i.title}</td>
<td style="width: 50px;" {include file="playlist/actionhandler.tpl"} style="text-align: right">
{assign var="_duration" value=$i.duration}{niceTime in=$_duration}
</td>
<td style="width: 200px" {include file="playlist/actionhandler.tpl"}>{$i.creator}</td>
<td style="width: 35px" {include file="playlist/actionhandler.tpl"}>
<img src="img/{$i.type}.png" border="0" alt="{$i.type|capitalize}" {include file="sub/alttext.tpl"} />
</td>
<td style="width: 35px; border: 0">
<a href="#" onClick="hpopup('{$UI_HANDLER}?act=PL.moveItem&id={$i.attrs.id}&pos={$pos-1}')"><img src="img/bt_top_xsm.png" alt="##move up##" vspace=1 hspace=1/></a>
<a href="#" onClick="hpopup('{$UI_HANDLER}?act=PL.moveItem&id={$i.attrs.id}&pos={$pos+1}')"><img src="img/bt_bottom_xsm.png" alt="##move down##" vspace=1 hspace=1/></a>
</td>
</tr>
<!-- end clip information -->
</table>
<input type="hidden" name="pl_items[{$i.attrs.id}]">
</div>
<!-- end item -->
{/foreach}
</div>
<table style="width: 574px;">
{if $n}
<!-- last item fadeout information -->
<tr onClick="return contextmenu('{$i.attrs.id}', {if $n == 1}'PL.changeFadeIn'{else}'PL.changeFadeOut'{/if})" style="background-color: #bbb">
<td style="width: 30px"></td>
<td style="border: 0; cursor: pointer">##Fade## {$i.fadeout_ms|string_format:"%d"} ms</td>
</tr>
{else}
<!-- empty playlist -->
<tr class="{cycle values='blue1, blue2'}">
<td style="border: 0" colspan="6" align="center">##No Entry##</td>
</tr>
{/if}
</table>
</div>
<div class="footer" style="width: 569px;">
<input type="button" class="button_large" onClick="collector_submit('PL', '0&popup[]=PL.changeAllTransitions', '{$UI_BROWSER}', 'chgAllTrans', 400, 150)" value="##Change Fades##" />
<input type="button" class="button_large" onClick="collector_submit('PL', 'PL.removeItem')" value="##Remove Selected##" />
<input type="button" class="button_large" onClick="collector_clearAll('PL', 'PL.removeItem')" value="##Clear Playlist##" />
</div>
<div class="container_button">
<input type="button" class="button_large" value="##Save Playlist##" onClick="hpopup('{$UI_HANDLER}?act=PL.save')">
<input type="button" class="button_large" value="##Revert to Saved##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmRevert', 'PL.revertChanges', 400, 50)">
<input type="button" class="button_large" value="##Delete Playlist##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmDelete', 'PL.deleteActive', 400, 50)">
</div>
<div class="container_button">
<INPUT TYPE="button" class="button_large" VALUE="##Save Reorder##" onClick="javascript:draglist_manager.do_submit('PL','draglist_container')">
<input type="button" class="button_large" value="##Close Playlist##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmRelease', 'PL.confirmRelease', 400, 50)">
<input type="button" class="button_large" value="##Description##" onClick="location.href='{$UI_BROWSER}?act=PL.editMetaData'">
</div>
</form>
</div>
{assign var="_duration" value=null}
<script language="JavaScript" src="assets/dom-drag.js" type="text/javascript"></script>
<script language="JavaScript" src="assets/draglist.js" type="text/javascript"></script>
<script language="JavaScript">
// a bit ugly. draglist.js assumes the existence of a global
// dragListIndex array.
var dragListIndex = new Array();
// manager classes.
draglist_manager = new fv_dragList('draglist_container');
// queries all top level <divs> under the draglist_container
// div and sets up dragging.
draglist_manager.setup();
// queries all top level <span>'s under the draglist_container_horz
// div and sets up horizontal dragging.
// addes the newly created dragList to the list of draglists on
// the page (i.e. we can have more than one on a page)
addDragList( draglist_manager );
<div class="container_elements" style="width: 607px;">
<div style="width: 574px;">
<div style="float: left;"><h1>##Playlist Editor## </h1></div>
<div style="float: right;"><h1><a href="{$UI_BROWSER}?act=PL.editMetaData" style="color: #666666">{$PL->title} &nbsp; {getHour time=$PL->duration}##h##&nbsp;{getMinute time=$PL->duration}##m##&nbsp;{getSecond time=$PL->duration}##s##</a></h1></div>
</div>
<div class="head" style="width: 574px;">
<div class="left">&nbsp;</div>
<div class="right">&nbsp;</div>
<div class="clearer">&nbsp;</div>
</div>
<form name="PL" action="{$UI_HANDLER}" method="get">
<input type="hidden" name="act" value="PL.reOrder"
<div class="container_table" style="width: 594px;">
<table style="width: 574px;">
<!-- start repeat after 14 columns -->
<tr class="blue_head">
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('PL')"></td>
<script type="text/javascript">
document.forms['PL'].elements['all'].checked = false;
</script>
<td>##Title##</td>
<td style="width: 50px;">##Duration##</td>
<td style="width: 200px">##Artist##</td>
<td style="width: 35px;">##Type##</td>
<td style="width: 35px; border: 0">##Move##</td>
</tr>
<!-- end repeat after 14 columns -->
</table>
<div id="draglist_container">
{foreach from=$PL->getFlat($PL->activeId) key='pos' item='i'}
<!-- start item -->
<div style="position: relative; left: 0px; top: 0px;">
<!-- {$n++} -->
<table style="width: 574px;">
<!-- fade information -->
<tr onClick="return contextmenu('{$i.attrs.id}', {if $n == 1}'PL.changeFadeIn'{else}'PL.changeTransition'{/if})" style="background-color: #bbb">
<td style="width: 30px"></td>
<td colspan="5" style="border: 0; cursor: pointer">##Fade## {$i.fadein_ms|string_format:"%d"} ms</td>
</tr>
<!-- end fade information -->
<!-- clip information -->
<tr class="{cycle values='blue1, blue2'}">
<td style="width: 30px"><input type="checkbox" class="checkbox" name="{$i.attrs.id}"/></td>
<td {include file="playlist/actionhandler.tpl"}>{$i.title}</td>
<td style="width: 50px;" {include file="playlist/actionhandler.tpl"} style="text-align: right">
{assign var="_duration" value=$i.duration}{niceTime in=$_duration}
</td>
<td style="width: 200px" {include file="playlist/actionhandler.tpl"}>{$i.creator}</td>
<td style="width: 35px" {include file="playlist/actionhandler.tpl"}>
<img src="img/{$i.type}.png" border="0" alt="{$i.type|capitalize}" {include file="sub/alttext.tpl"} />
</td>
<td style="width: 35px; border: 0">
<a href="#" onClick="hpopup('{$UI_HANDLER}?act=PL.moveItem&id={$i.attrs.id}&pos={$pos-1}')"><img src="img/bt_top_xsm.png" alt="##move up##" vspace=1 hspace=1/></a>
<a href="#" onClick="hpopup('{$UI_HANDLER}?act=PL.moveItem&id={$i.attrs.id}&pos={$pos+1}')"><img src="img/bt_bottom_xsm.png" alt="##move down##" vspace=1 hspace=1/></a>
</td>
</tr>
<!-- end clip information -->
</table>
<input type="hidden" name="pl_items[{$i.attrs.id}]">
</div>
<!-- end item -->
{/foreach}
</div>
<table style="width: 574px;">
{if $n}
<!-- last item fadeout information -->
<tr onClick="return contextmenu('{$i.attrs.id}', {if $n == 1}'PL.changeFadeIn'{else}'PL.changeFadeOut'{/if})" style="background-color: #bbb">
<td style="width: 30px"></td>
<td style="border: 0; cursor: pointer">##Fade## {$i.fadeout_ms|string_format:"%d"} ms</td>
</tr>
{else}
<!-- empty playlist -->
<tr class="{cycle values='blue1, blue2'}">
<td style="border: 0" colspan="6" align="center">##No Entry##</td>
</tr>
{/if}
</table>
</div>
<div class="footer" style="width: 569px;">
<input type="button" class="button_large" onClick="collector_submit('PL', '0&popup[]=PL.changeAllTransitions', '{$UI_BROWSER}', 'chgAllTrans', 400, 150)" value="##Change Fades##" />
<input type="button" class="button_large" onClick="collector_submit('PL', 'PL.removeItem')" value="##Remove Selected##" />
<input type="button" class="button_large" onClick="collector_clearAll('PL', 'PL.removeItem')" value="##Clear Playlist##" />
</div>
<div class="container_button">
<input type="button" class="button_large" value="##Save Playlist##" onClick="hpopup('{$UI_HANDLER}?act=PL.save')">
<input type="button" class="button_large" value="##Revert to Saved##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmRevert', 'PL.revertChanges', 400, 50)">
<input type="button" class="button_large" value="##Delete Playlist##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmDelete', 'PL.deleteActive', 400, 50)">
</div>
<div class="container_button">
<INPUT TYPE="button" class="button_large" VALUE="##Save Reorder##" onClick="javascript:draglist_manager.do_submit('PL','draglist_container')">
<input type="button" class="button_large" value="##Close Playlist##" onClick="popup('{$UI_BROWSER}?popup[]=PL.confirmRelease', 'PL.confirmRelease', 400, 50)">
<input type="button" class="button_large" value="##Description##" onClick="location.href='{$UI_BROWSER}?act=PL.editMetaData'">
</div>
</form>
</div>
{assign var="_duration" value=null}
<script language="JavaScript" src="assets/dom-drag.js" type="text/javascript"></script>
<script language="JavaScript" src="assets/draglist.js" type="text/javascript"></script>
<script language="JavaScript">
// a bit ugly. draglist.js assumes the existence of a global
// dragListIndex array.
var dragListIndex = new Array();
// manager classes.
draglist_manager = new fv_dragList('draglist_container');
// queries all top level <divs> under the draglist_container
// div and sets up dragging.
draglist_manager.setup();
// queries all top level <span>'s under the draglist_container_horz
// div and sets up horizontal dragging.
// addes the newly created dragList to the list of draglists on
// the page (i.e. we can have more than one on a page)
addDragList( draglist_manager );
</script>

View file

View file

View file

@ -1,96 +1,96 @@
{include file="popup/header.tpl"}
{include file="script/alttext.js.tpl"}
<div class="container_elements" style="width: 500px">
<div>
<div style="float: left;"><h1>##Reorder Playlist## </h1></div>
<div style="float: right;"><h1>{$PL->title} &nbsp; {getHour time=$PL->duration}##h##&nbsp;{getMinute time=$PL->duration}##m##&nbsp;{getSecond time=$PL->duration}##s##</h1></div>
</div>
<br><br>
{$UI_PL_DRAG_INTRO}
<form name="PL" action="{$UI_HANDLER}">
<input type="hidden" name="act" value="PL.reArrange">
<div>
<table style="width: 500px;">
<tr class="blue_head">
<td>##Title##</td>
<td style="width: 50px;">##Duration##</td>
<td style="width: 150px">##Artist##</td>
<td style="width: 35px; border:0">##Type##</td>
</tr>
</table>
</div>
<div id="draglist_container">
{foreach from=$PL->getFlat($PL->activeId) key='pos' item='i'}
<!-- start item -->
<div style="position: relative; left: 0px; top: 0px;">
<!-- {$n++} -->
<table style="width: 500px;">
<!-- clip information -->
<tr><td style="border:0" colspan="5"></tr>
<tr class="blue1" style="cursor: move;">
<td>{$i.title}</td>
<td style="width: 50px;">{assign var="_duration" value=$i.duration}{niceTime in=$_duration}</td>
<td style="width: 150px">{$i.creator}</td>
<td style="width: 35px; border:0"><img src="img/{$i.type}.png" border="0" alt="{$i.type|capitalize}" {include file="sub/alttext.tpl"} /></td>
</tr>
<!-- end clip information -->
</table>
<input type="hidden" name="pl_items[{$i.attrs.id}]">
</div>
<!-- end item -->
{/foreach}
</div>
<br>
<div style="width: 500px;">
<div style="float: left;"><input type="button" class="button_large" value="##Cancel##" onClick="window.close()"> </div>
<div style="float: right;"><INPUT TYPE="button" class="button_large" VALUE="##Save Reorder##" onClick="javascript:draglist_manager.do_submit('PL','draglist_container')"></div>
</div>
</form>
<br>
</div>
{assign var="_duration" value=null}
<script language="JavaScript" src="assets/dom-drag.js" type="text/javascript"></script>
<script language="JavaScript" src="assets/draglist.js" type="text/javascript"></script>
<script language="JavaScript">
// a bit ugly. draglist.js assumes the existence of a global
// dragListIndex array.
var dragListIndex = new Array();
// manager classes.
draglist_manager = new fv_dragList('draglist_container');
// queries all top level <divs> under the draglist_container
// div and sets up dragging.
draglist_manager.setup();
// queries all top level <span>'s under the draglist_container_horz
// div and sets up horizontal dragging.
// addes the newly created dragList to the list of draglists on
// the page (i.e. we can have more than one on a page)
addDragList( draglist_manager );
</script>
</body>
{include file="popup/header.tpl"}
{include file="script/alttext.js.tpl"}
<div class="container_elements" style="width: 500px">
<div>
<div style="float: left;"><h1>##Reorder Playlist## </h1></div>
<div style="float: right;"><h1>{$PL->title} &nbsp; {getHour time=$PL->duration}##h##&nbsp;{getMinute time=$PL->duration}##m##&nbsp;{getSecond time=$PL->duration}##s##</h1></div>
</div>
<br><br>
{$UI_PL_DRAG_INTRO}
<form name="PL" action="{$UI_HANDLER}">
<input type="hidden" name="act" value="PL.reArrange">
<div>
<table style="width: 500px;">
<tr class="blue_head">
<td>##Title##</td>
<td style="width: 50px;">##Duration##</td>
<td style="width: 150px">##Artist##</td>
<td style="width: 35px; border:0">##Type##</td>
</tr>
</table>
</div>
<div id="draglist_container">
{foreach from=$PL->getFlat($PL->activeId) key='pos' item='i'}
<!-- start item -->
<div style="position: relative; left: 0px; top: 0px;">
<!-- {$n++} -->
<table style="width: 500px;">
<!-- clip information -->
<tr><td style="border:0" colspan="5"></tr>
<tr class="blue1" style="cursor: move;">
<td>{$i.title}</td>
<td style="width: 50px;">{assign var="_duration" value=$i.duration}{niceTime in=$_duration}</td>
<td style="width: 150px">{$i.creator}</td>
<td style="width: 35px; border:0"><img src="img/{$i.type}.png" border="0" alt="{$i.type|capitalize}" {include file="sub/alttext.tpl"} /></td>
</tr>
<!-- end clip information -->
</table>
<input type="hidden" name="pl_items[{$i.attrs.id}]">
</div>
<!-- end item -->
{/foreach}
</div>
<br>
<div style="width: 500px;">
<div style="float: left;"><input type="button" class="button_large" value="##Cancel##" onClick="window.close()"> </div>
<div style="float: right;"><INPUT TYPE="button" class="button_large" VALUE="##Save Reorder##" onClick="javascript:draglist_manager.do_submit('PL','draglist_container')"></div>
</div>
</form>
<br>
</div>
{assign var="_duration" value=null}
<script language="JavaScript" src="assets/dom-drag.js" type="text/javascript"></script>
<script language="JavaScript" src="assets/draglist.js" type="text/javascript"></script>
<script language="JavaScript">
// a bit ugly. draglist.js assumes the existence of a global
// dragListIndex array.
var dragListIndex = new Array();
// manager classes.
draglist_manager = new fv_dragList('draglist_container');
// queries all top level <divs> under the draglist_container
// div and sets up dragging.
draglist_manager.setup();
// queries all top level <span>'s under the draglist_container_horz
// div and sets up horizontal dragging.
// addes the newly created dragList to the list of draglists on
// the page (i.e. we can have more than one on a page)
addDragList( draglist_manager );
</script>
</body>
</html>

View file

View file

@ -1,11 +1,11 @@
{include file="popup/header.tpl"}
<center>
{tra 0='Are you sure to remove "$1"?' 1=$_REQUEST.login}
<br><br>
<input type="button" class="button" onClick="window.close()" value="Cancel">
<input type="button" class="button" onClick="location.href='{$UI_HANDLER}?act=SUBJECTS.removeSubj&login={$_REQUEST.login|escape:'url'}'" value="OK">
</center>
</body>
</html>
{include file="popup/header.tpl"}
<center>
{tra 0='Are you sure to remove "$1"?' 1=$_REQUEST.login}
<br><br>
<input type="button" class="button" onClick="window.close()" value="Cancel">
<input type="button" class="button" onClick="location.href='{$UI_HANDLER}?act=SUBJECTS.removeSubj&login={$_REQUEST.login|escape:'url'}'" value="OK">
</center>
</body>
</html>

View file

View file

View file

View file

624
livesupport/modules/htmlUI/var/templates/popup/help.tpl Executable file → Normal file
View file

@ -1,313 +1,313 @@
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<title>LiveSupport Help</title>
<style>
{literal}
body {
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 12px;
color: #2C2C2C;
margin: 0px;
background: #fff;
}
.copyright {
font-size: 9px;
}
img {
border: none;
}
.container {
width: 100%;
}
/* #################################### CONTENTAREA ############################### */
.content {
margin: 19px;
float: left;
width: 90%;
}
.container_elements {
border: 1px solid #cfcfcf;
padding: 6px;
margin-bottom: 21px;
}
.container_elements h1
{
font-size: 18px;
margin: 20px 0 0 0;
color: #666;
}
.container_elements h2
{
font-size: 16px;
margin: 20px 0 0 0;
color: #666;
}
.container_elements h3
{
font-size: 14px;
margin: 10px 0 0 0;
color: #666;
}
.container_elements h4
{
font-size: 12px;
margin: 5px 0 0 0;
color: #666;
}
DIV.blockquote
{
padding-left: 20px;
}
{/literal}
</style>
</head>
<body>
<div class="container">
<div class="content">
<div class="container_elements">
<img src="img/logo_livesupport.png" border="0" />
<h1>Quick Start - {$UI_VERSION_FULLNAME}</h1>
<div class="copyright">{$UI_VERSION} &copy;2005 <a href="http://www.mdlf.org" target="_blank">MDLF</a> - maintained and distributed under GNU/GPL by <a href="http://www.campware.org" target="_blank">CAMPWARE</a></div>
<h2>Navigation</h2>
<div class=blockquote>
<h3>Context menus</h3>
The LiveSupport
web client uses context menus extensively throughout the program. For example, by clicking
on the ScratchPad, you can perform a number of operations on your file, including
adding it to a playlist and removing it from the ScratchPad.
&nbsp;
<h3>ScratchPad</h3>
The ScratchPad
provides you with a list of all the files (both sound files and playlists)
you have worked with recently. This serves as both a &quot;history&quot; as
well as a &quot;clipboard&quot; for working with files between windows. You
can listen to a sound file from the ScratchPad by right-clicking 'Listen',
which will send the sound file to you for playback.
&nbsp;
<h3>Playlists and ScratchPad</h3>
Playlists appear
in the ScratchPad differently than sound files. You can 'release' a playlist
directly from the ScratchPad (see the Playlist section for more on releasing
a playlist). A playlist that has been activated will appear in <b>bold</b>.
A playlist that has been 'released' will appear in normal text.
</div>
<h2>Playlists</h2>
<p >Playlists are the core of how LiveSupport works. You add sound
files to a playlist, and then schedule that playlist to be played at a date
and time of your choosing. Playlists are edited in the Playlist Editor. You
can include an unlimited number of playlists inside playlists; for example,
if you have a one-hour show and want to have two commercial breaks, each made
up of their own playlists.</p>
<div class=blockquote>
<h3>Adding a file from the ScratchPad to the active playlist</h3>
You can add a
file (either a sound file or a playlist file) from the ScratchPad to the active
playlist by right-clicking it in the ScratchPad and selecting &quot;Add to
active playlist&quot;. This will add it to the end of the active playlist.
&nbsp;
<h3>Changing file order in the playlist</h3>
You can change
a file's order in the playlist by clicking on the up or down arrows on the
right.
&nbsp;
<h3>Change transition</h3>
Transitions between
sound files are set to 0 ms by default. You can change this by moving your
mouse over the &quot;Fade&quot; line in the Playlist window and selecting
&quot;Change Transition.&quot; In this menu, you can set the length of the
transition, as well as the type of transition.
&nbsp;
<h3>Activating and releasing a playlist</h3>
Playlists are
either 'active' or 'released'. An released playlist is one that has been 'released'
for broadcast, and can be added to the scheduler. An 'active' playlist can
continue to be edited. Playlists can be activated for editing by right-clicking
&quot;Activate&quot; in the ScratchPad menu. This will take you to the playlist
editor. If a playlist has been released, it will appear in a list of playlists
available for scheduling.
</div>
<h2>Schedule</h2>
<p >Once you've created a playlist, schedule it for playback using the
Schedule window. (Please remember that only released playlists can be added
to the schedule.)</p>
<div class=blockquote>
<h3>Adding a playlist to the schedule</h3>
You can add it
to the schedule by opening the Schedule window, then choosing a schedule view
that suits you. Then you can add your playlist to the schedule by right-clicking
and choosing &quot;Insert playlist here&quot;. A popup window will then appear
allowing you to select the exact start time for your playlist, as well as
a pull-down list of available released playlists.
&nbsp;
<h3>Removing a playlist from the schedule</h3>
You can remove
a playlist from the schedule by right clicking on its time [soon to be its
title] and choosing &quot;Remove Playlist&quot;. This does not delete the
playlist, however. It will remain in the database.
</div>
<h2>Files</h2>
<p >Sound files are added to the LiveSupport system in two steps.</p>
<div class=blockquote>
<h3>Uploading and analyzing</h3>
The first step is to select the sound file you want to upload into
the LiveSupport system. This is handled in the Upload -&gt; New file menu.
You select the file to upload by clicking on the &quot;Browse&quot; button,
choosing your sound file, then clicking &quot;Submit&quot;. LiveSupport automatically
analyses the sound file for any information that may be stored in ID3 tags.
<br/>
If you encounter the error "unknown method" most probably the file size is bigger than allowed in the system settings of the machine you are running LiveSupport on. Contact your system administrator and tell him to consult the LiveSupport manual.
<h3>Describing your file using metadata</h3>
The second step allows you to edit this information (called &quot;metadata&quot;)
and add your own. If your sound file is a music file, you have a number of
options for entering metadata under the &quot;Music&quot; tab. If your sound
file is a news report or other talk, choose the &quot;Talk&quot; tab. The
Talk tab allows reporters to include the time and date their report is about,
the organizations covered in the report, and the location the report takes
place in. Good metadata will help you and other colleagues to later find and
use the material you upload. It's in your best interest to be as thorough
as possible in inputting this metadata.
</div>
<h2>Browse and Search</h2>
<p >The browse and search functions are
designed to be both easy to use and powerful, helping you to search not only
file titles but also other metadata. Both browse and search let you search
for both sound files as well as playlists. </p>
<p >Search works more or less like a regular search
engine. You can type in a word to be searched, and the results will appear below
the search input window. The difference is that you are searching the metadata
that you and your colleagues input to describe the sound files you put in. Good
metadata will mean better search results.</p>
<div class=blockquote>
<h3>Using the browse function</h3>
The browse function is a powerful feature that lets you
browse all files according to general criteria you specify. The first column
lets you choose a category to browse from, such as “Genre”. Under that category,
you can choose one of the options that appears in that category, which refines
the number of files displayed. The second and third columns work in the same
ways, and let you continue to refine your browsing.
<h3>Using multiple search terms</h3>
Let's say you want to finding all files created by “John
Doe” in the year 2005. Do the following:
<ul>
<li>
Select first the field to search and
input its value. In this case it would be to pull down the “Creator” field
and type in “John Doe” in the window.
</li>
<li>
Then press the “Add One Row” button
and an additional search row appears. Select the “Year” field and type
in 2005 in the window.
</li>
<li>
Press “Submit” and your results
if any will appear below.
</li>
</ul>
<h3>Working with the files you find</h3>
You can add the files you find in both
browse and search either to your ScratchPad or directly to a new playlist.
Right-clicking on a file in the results window gives you a number of options,
such as:
<ul>
<li>
Add to ScratchPad
</li>
<li>
Listen
</li>
<li>
New playlist using file
</li>
<li>
Edit
</li>
<li>
Delete
</li>
</ul>
</div>
<h2>System Preferences</h2>
<p >Your station's system administrator can change a number of system-wide
settings in the System Preferences menu. In the System Preferences you can:</p>
<ul>
<li>
Add your station's logo and frequency
</li>
<li>
Set the length of the ScratchPad
</li>
<li>
Set the maximum file size that can be uploaded to the system
</li>
<li>
Administer users and groups for the system, including assigning their
access priveleges
</li>
</ul>
<h1>Where to go for help</h1>
<p >LiveSupport has a mailing list for support-related
questions at <a href="mailto:ls-support@campware.org">ls-support@campware.org</a>,
or you can visit the LiveSupport forums at <a href="http://www.campware.org/" target="_blank">http://www.campware.org</a></p>
</div>
</div>
</div>
</body>
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<title>LiveSupport Help</title>
<style>
{literal}
body {
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 12px;
color: #2C2C2C;
margin: 0px;
background: #fff;
}
.copyright {
font-size: 9px;
}
img {
border: none;
}
.container {
width: 100%;
}
/* #################################### CONTENTAREA ############################### */
.content {
margin: 19px;
float: left;
width: 90%;
}
.container_elements {
border: 1px solid #cfcfcf;
padding: 6px;
margin-bottom: 21px;
}
.container_elements h1
{
font-size: 18px;
margin: 20px 0 0 0;
color: #666;
}
.container_elements h2
{
font-size: 16px;
margin: 20px 0 0 0;
color: #666;
}
.container_elements h3
{
font-size: 14px;
margin: 10px 0 0 0;
color: #666;
}
.container_elements h4
{
font-size: 12px;
margin: 5px 0 0 0;
color: #666;
}
DIV.blockquote
{
padding-left: 20px;
}
{/literal}
</style>
</head>
<body>
<div class="container">
<div class="content">
<div class="container_elements">
<img src="img/logo_livesupport.png" border="0" />
<h1>Quick Start - {$UI_VERSION_FULLNAME}</h1>
<div class="copyright">{$UI_VERSION} &copy;2005 <a href="http://www.mdlf.org" target="_blank">MDLF</a> - maintained and distributed under GNU/GPL by <a href="http://www.campware.org" target="_blank">CAMPWARE</a></div>
<h2>Navigation</h2>
<div class=blockquote>
<h3>Context menus</h3>
The LiveSupport
web client uses context menus extensively throughout the program. For example, by clicking
on the ScratchPad, you can perform a number of operations on your file, including
adding it to a playlist and removing it from the ScratchPad.
&nbsp;
<h3>ScratchPad</h3>
The ScratchPad
provides you with a list of all the files (both sound files and playlists)
you have worked with recently. This serves as both a &quot;history&quot; as
well as a &quot;clipboard&quot; for working with files between windows. You
can listen to a sound file from the ScratchPad by right-clicking 'Listen',
which will send the sound file to you for playback.
&nbsp;
<h3>Playlists and ScratchPad</h3>
Playlists appear
in the ScratchPad differently than sound files. You can 'release' a playlist
directly from the ScratchPad (see the Playlist section for more on releasing
a playlist). A playlist that has been activated will appear in <b>bold</b>.
A playlist that has been 'released' will appear in normal text.
</div>
<h2>Playlists</h2>
<p >Playlists are the core of how LiveSupport works. You add sound
files to a playlist, and then schedule that playlist to be played at a date
and time of your choosing. Playlists are edited in the Playlist Editor. You
can include an unlimited number of playlists inside playlists; for example,
if you have a one-hour show and want to have two commercial breaks, each made
up of their own playlists.</p>
<div class=blockquote>
<h3>Adding a file from the ScratchPad to the active playlist</h3>
You can add a
file (either a sound file or a playlist file) from the ScratchPad to the active
playlist by right-clicking it in the ScratchPad and selecting &quot;Add to
active playlist&quot;. This will add it to the end of the active playlist.
&nbsp;
<h3>Changing file order in the playlist</h3>
You can change
a file's order in the playlist by clicking on the up or down arrows on the
right.
&nbsp;
<h3>Change transition</h3>
Transitions between
sound files are set to 0 ms by default. You can change this by moving your
mouse over the &quot;Fade&quot; line in the Playlist window and selecting
&quot;Change Transition.&quot; In this menu, you can set the length of the
transition, as well as the type of transition.
&nbsp;
<h3>Activating and releasing a playlist</h3>
Playlists are
either 'active' or 'released'. An released playlist is one that has been 'released'
for broadcast, and can be added to the scheduler. An 'active' playlist can
continue to be edited. Playlists can be activated for editing by right-clicking
&quot;Activate&quot; in the ScratchPad menu. This will take you to the playlist
editor. If a playlist has been released, it will appear in a list of playlists
available for scheduling.
</div>
<h2>Schedule</h2>
<p >Once you've created a playlist, schedule it for playback using the
Schedule window. (Please remember that only released playlists can be added
to the schedule.)</p>
<div class=blockquote>
<h3>Adding a playlist to the schedule</h3>
You can add it
to the schedule by opening the Schedule window, then choosing a schedule view
that suits you. Then you can add your playlist to the schedule by right-clicking
and choosing &quot;Insert playlist here&quot;. A popup window will then appear
allowing you to select the exact start time for your playlist, as well as
a pull-down list of available released playlists.
&nbsp;
<h3>Removing a playlist from the schedule</h3>
You can remove
a playlist from the schedule by right clicking on its time [soon to be its
title] and choosing &quot;Remove Playlist&quot;. This does not delete the
playlist, however. It will remain in the database.
</div>
<h2>Files</h2>
<p >Sound files are added to the LiveSupport system in two steps.</p>
<div class=blockquote>
<h3>Uploading and analyzing</h3>
The first step is to select the sound file you want to upload into
the LiveSupport system. This is handled in the Upload -&gt; New file menu.
You select the file to upload by clicking on the &quot;Browse&quot; button,
choosing your sound file, then clicking &quot;Submit&quot;. LiveSupport automatically
analyses the sound file for any information that may be stored in ID3 tags.
<br/>
If you encounter the error "unknown method" most probably the file size is bigger than allowed in the system settings of the machine you are running LiveSupport on. Contact your system administrator and tell him to consult the LiveSupport manual.
<h3>Describing your file using metadata</h3>
The second step allows you to edit this information (called &quot;metadata&quot;)
and add your own. If your sound file is a music file, you have a number of
options for entering metadata under the &quot;Music&quot; tab. If your sound
file is a news report or other talk, choose the &quot;Talk&quot; tab. The
Talk tab allows reporters to include the time and date their report is about,
the organizations covered in the report, and the location the report takes
place in. Good metadata will help you and other colleagues to later find and
use the material you upload. It's in your best interest to be as thorough
as possible in inputting this metadata.
</div>
<h2>Browse and Search</h2>
<p >The browse and search functions are
designed to be both easy to use and powerful, helping you to search not only
file titles but also other metadata. Both browse and search let you search
for both sound files as well as playlists. </p>
<p >Search works more or less like a regular search
engine. You can type in a word to be searched, and the results will appear below
the search input window. The difference is that you are searching the metadata
that you and your colleagues input to describe the sound files you put in. Good
metadata will mean better search results.</p>
<div class=blockquote>
<h3>Using the browse function</h3>
The browse function is a powerful feature that lets you
browse all files according to general criteria you specify. The first column
lets you choose a category to browse from, such as “Genre”. Under that category,
you can choose one of the options that appears in that category, which refines
the number of files displayed. The second and third columns work in the same
ways, and let you continue to refine your browsing.
<h3>Using multiple search terms</h3>
Let's say you want to finding all files created by “John
Doe” in the year 2005. Do the following:
<ul>
<li>
Select first the field to search and
input its value. In this case it would be to pull down the “Creator” field
and type in “John Doe” in the window.
</li>
<li>
Then press the “Add One Row” button
and an additional search row appears. Select the “Year” field and type
in 2005 in the window.
</li>
<li>
Press “Submit” and your results
if any will appear below.
</li>
</ul>
<h3>Working with the files you find</h3>
You can add the files you find in both
browse and search either to your ScratchPad or directly to a new playlist.
Right-clicking on a file in the results window gives you a number of options,
such as:
<ul>
<li>
Add to ScratchPad
</li>
<li>
Listen
</li>
<li>
New playlist using file
</li>
<li>
Edit
</li>
<li>
Delete
</li>
</ul>
</div>
<h2>System Preferences</h2>
<p >Your station's system administrator can change a number of system-wide
settings in the System Preferences menu. In the System Preferences you can:</p>
<ul>
<li>
Add your station's logo and frequency
</li>
<li>
Set the length of the ScratchPad
</li>
<li>
Set the maximum file size that can be uploaded to the system
</li>
<li>
Administer users and groups for the system, including assigning their
access priveleges
</li>
</ul>
<h1>Where to go for help</h1>
<p >LiveSupport has a mailing list for support-related
questions at <a href="mailto:ls-support@campware.org">ls-support@campware.org</a>,
or you can visit the LiveSupport forums at <a href="http://www.campware.org/" target="_blank">http://www.campware.org</a></p>
</div>
</div>
</div>
</body>
</html>

View file

View file

View file

@ -1,18 +1,18 @@
{include file="popup/header.tpl"}
<center>
<div id="logout">
<form>
<table border=0>
<tr><td>{tra 0='Are you sure to logout $1' 1=$USER.login}</td></tr>
<tr><td align="right">
<input type="button" value="{tra 0=OK}" onclick="javascript: location.href='{$UI_HANDLER}?act=signover'">&nbsp;
<input type="button" value="{tra 0=Cancel}" onclick="javascript: window.close()">
</td></tr>
</table>
</form>
</div>
</center>
</body>
{include file="popup/header.tpl"}
<center>
<div id="logout">
<form>
<table border=0>
<tr><td>{tra 0='Are you sure to logout $1' 1=$USER.login}</td></tr>
<tr><td align="right">
<input type="button" value="{tra 0=OK}" onclick="javascript: location.href='{$UI_HANDLER}?act=signover'">&nbsp;
<input type="button" value="{tra 0=Cancel}" onclick="javascript: window.close()">
</td></tr>
</table>
</form>
</div>
</center>
</body>
</html>

View file

View file

View file

View file

@ -1,74 +1,74 @@
{$SCHEDULER->buildDay()}
{assign var="_scale" value=$SCHEDULER->getDayTimingScale()} {* get the 24h scale *}
{assign var="_entrys" value=$SCHEDULER->getDayEntrys()} {* get all entrys on given day from scheduler *}
{assign var="_day" value=$SCHEDULER->curr} {* to have year, month, day in between_additem.tpl *}
<div class="content">
<div class="container_elements">
<h1>##Daily View##</h1>
<div class="clearer">&nbsp;</div>
<p>##{$SCHEDULER->curr.monthname}## {$SCHEDULER->curr.day}, {$SCHEDULER->curr.year}</p>
<form name="SCHEDULER">
<table class="scheduler_day" style="width: 606px;">
<tr class="blue_head">
<td style="border-left: 1px solid #ccc; width: 95px">##Time##</td>
<td style="width: 481px; border-right: 0;">##Show Info##</td>
</tr>
{foreach from=$_scale item="_hour"}
{if is_array($_entrys[$_hour])}
<tr class="blue1">
<td style="border-left: 1px solid #ccc; cursor: pointer" {include file="scheduler/day_additem.tpl"}>
{$_hour|string_format:"%02d"}:00
</td>
<td style="border-right: 1px solid #ccc;">
{if $_entrys[$_hour].end}
{include file="scheduler/between_additem.tpl"}
{/if}
{if $_entrys[$_hour].start}
{foreach from=$_entrys[$_hour].start item="i"}
<div {include file="scheduler/removeitem.tpl"}>
<img src="img/playlist.png" border="0" {include file="sub/alttext.tpl"}>
&nbsp;
<b>{$i.title}</b>
{$i.start}-{$i.end}
{$i.creator}
{if $i.endshere}
{include file="scheduler/between_additem.tpl"}
{/if}
</div>
{/foreach}
{/if}
{if $_entrys.span[$_hour]}
span
{/if}
</td>
</tr>
{else}
<tr class="blue2" {include file="scheduler/day_additem.tpl"}>
<td style="border-left: 1px solid #ccc;">{$_hour|string_format:"%02d"}:00</td>
<td style="border-right: 1px solid #ccc;"></td>
</tr>
{/if}
{/foreach}
</table>
</form>
{* Multiaction buttons
<div class="container_button" style="float: right; margin-top: 10px;">
<input type="button" class="button_large" value="Edit Playlist" />
<input type="button" class="button_large" value="Delete Playlist" />
<input type="button" class="button_large" value="Add Playlist" />
</div>
<div class="clearer">&nbsp;</div>
*}
</div>
{$SCHEDULER->buildDay()}
{assign var="_scale" value=$SCHEDULER->getDayTimingScale()} {* get the 24h scale *}
{assign var="_entrys" value=$SCHEDULER->getDayEntrys()} {* get all entrys on given day from scheduler *}
{assign var="_day" value=$SCHEDULER->curr} {* to have year, month, day in between_additem.tpl *}
<div class="content">
<div class="container_elements">
<h1>##Daily View##</h1>
<div class="clearer">&nbsp;</div>
<p>##{$SCHEDULER->curr.monthname}## {$SCHEDULER->curr.day}, {$SCHEDULER->curr.year}</p>
<form name="SCHEDULER">
<table class="scheduler_day" style="width: 606px;">
<tr class="blue_head">
<td style="border-left: 1px solid #ccc; width: 95px">##Time##</td>
<td style="width: 481px; border-right: 0;">##Show Info##</td>
</tr>
{foreach from=$_scale item="_hour"}
{if is_array($_entrys[$_hour])}
<tr class="blue1">
<td style="border-left: 1px solid #ccc; cursor: pointer" {include file="scheduler/day_additem.tpl"}>
{$_hour|string_format:"%02d"}:00
</td>
<td style="border-right: 1px solid #ccc;">
{if $_entrys[$_hour].end}
{include file="scheduler/between_additem.tpl"}
{/if}
{if $_entrys[$_hour].start}
{foreach from=$_entrys[$_hour].start item="i"}
<div {include file="scheduler/removeitem.tpl"}>
<img src="img/playlist.png" border="0" {include file="sub/alttext.tpl"}>
&nbsp;
<b>{$i.title}</b>
{$i.start}-{$i.end}
{$i.creator}
{if $i.endshere}
{include file="scheduler/between_additem.tpl"}
{/if}
</div>
{/foreach}
{/if}
{if $_entrys.span[$_hour]}
span
{/if}
</td>
</tr>
{else}
<tr class="blue2" {include file="scheduler/day_additem.tpl"}>
<td style="border-left: 1px solid #ccc;">{$_hour|string_format:"%02d"}:00</td>
<td style="border-right: 1px solid #ccc;"></td>
</tr>
{/if}
{/foreach}
</table>
</form>
{* Multiaction buttons
<div class="container_button" style="float: right; margin-top: 10px;">
<input type="button" class="button_large" value="Edit Playlist" />
<input type="button" class="button_large" value="Delete Playlist" />
<input type="button" class="button_large" value="Add Playlist" />
</div>
<div class="clearer">&nbsp;</div>
*}
</div>
</div>

View file

View file

View file

View file

View file

@ -1,75 +1,75 @@
{$SCHEDULER->buildWeek()}
{assign var="_scale" value=$SCHEDULER->getDayTimingScale()}
<div class="content" style="width: auto;">
<!-- start scheduler -->
<div class="container_elements" style="width: 790px;">
<div class="head_scheduler" style=""><h1>##Weekly View##</h1></div>
{*
<div class="container_button_scheduler">
<input type="button" class="button_large" value="Start Scheduler" />
<input type="button" class="button_large" value="Stop Scheduler" />
</div>
*}
<div class="clearer">&nbsp;</div>
<p>{$SCHEDULER->curr.week}. ##calendar week## {$SCHEDULER->curr.year}</p>
<table class="scheduler_week">
<tr>
{* Link Woche zurück <a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=--')"><<</a> *}
<th class="firstrow" style="border-left: 1px solid #ccc"></th>
{foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnamen angezeigt *}
<th class="date"></th>
<th class="day"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&day={$_Day.day}&month={$_Day.month}&year={$_Day.year}')">##{$_Day.label.full}##</a></th>
{/foreach}
{* Link Woche vor <a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=%2B%2B')">>></a> *}
</tr>
<tr>
<td class="firstrow_secondcol" style="border-left: 1px solid #ccc"></td>
{foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnummern angezeigt *}
<td class="date_secondcol">
<a href="#" {include file="scheduler/week_additem.tpl"}><b>{$_Day.day}</b></a>
</td>
<td class="day_secondcol"></td>
{/foreach}
</tr>
{assign var="_entrys" value=$SCHEDULER->getWeekEntrys()}
{foreach from=$_scale item="_hour"}
{assign var="_year" value=$_Day.year}
{assign var="_month" value=$_Day.month}
<tr>
<td class="firstrow" style="border-left: 1px solid #ccc">{$_hour}</td>
{foreach from=$SCHEDULER->Week item="_day"}
{if is_array($_entrys[$_day.day][$_hour])}
<td class="date_full" {include file="scheduler/week_additem.tpl"}></td>
<td class="day_full">
{foreach from=$_entrys[$_day.day][$_hour] item="i"}
<div {include file="scheduler/removeitem.tpl"}>
<img src="img/playlist.png" border="0" {include file="sub/alttext.tpl"}>
&nbsp;
<h2>{$i.title|truncate:12}</h2>
<p>{$i.start|truncate:8:""} - {$i.end|truncate:8:""}</p>
<p>{$i.creator}</p>
</div>
{include file="scheduler/between_additem.tpl"}
{/foreach}
</td>
{else}
<td class="date" {include file="scheduler/week_additem.tpl"}></td>
<td class="day" {include file="scheduler/week_additem.tpl"}></td>
{/if}
{/foreach}
</tr>
{/foreach}
</table>
</div>
<div class="clearer">&nbsp;</div>
</div>
<!-- end playlist editor -->
</div>
{$SCHEDULER->buildWeek()}
{assign var="_scale" value=$SCHEDULER->getDayTimingScale()}
<div class="content" style="width: auto;">
<!-- start scheduler -->
<div class="container_elements" style="width: 790px;">
<div class="head_scheduler" style=""><h1>##Weekly View##</h1></div>
{*
<div class="container_button_scheduler">
<input type="button" class="button_large" value="Start Scheduler" />
<input type="button" class="button_large" value="Stop Scheduler" />
</div>
*}
<div class="clearer">&nbsp;</div>
<p>{$SCHEDULER->curr.week}. ##calendar week## {$SCHEDULER->curr.year}</p>
<table class="scheduler_week">
<tr>
{* Link Woche zurück <a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=--')"><<</a> *}
<th class="firstrow" style="border-left: 1px solid #ccc"></th>
{foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnamen angezeigt *}
<th class="date"></th>
<th class="day"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&day={$_Day.day}&month={$_Day.month}&year={$_Day.year}')">##{$_Day.label.full}##</a></th>
{/foreach}
{* Link Woche vor <a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=%2B%2B')">>></a> *}
</tr>
<tr>
<td class="firstrow_secondcol" style="border-left: 1px solid #ccc"></td>
{foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnummern angezeigt *}
<td class="date_secondcol">
<a href="#" {include file="scheduler/week_additem.tpl"}><b>{$_Day.day}</b></a>
</td>
<td class="day_secondcol"></td>
{/foreach}
</tr>
{assign var="_entrys" value=$SCHEDULER->getWeekEntrys()}
{foreach from=$_scale item="_hour"}
{assign var="_year" value=$_Day.year}
{assign var="_month" value=$_Day.month}
<tr>
<td class="firstrow" style="border-left: 1px solid #ccc">{$_hour}</td>
{foreach from=$SCHEDULER->Week item="_day"}
{if is_array($_entrys[$_day.day][$_hour])}
<td class="date_full" {include file="scheduler/week_additem.tpl"}></td>
<td class="day_full">
{foreach from=$_entrys[$_day.day][$_hour] item="i"}
<div {include file="scheduler/removeitem.tpl"}>
<img src="img/playlist.png" border="0" {include file="sub/alttext.tpl"}>
&nbsp;
<h2>{$i.title|truncate:12}</h2>
<p>{$i.start|truncate:8:""} - {$i.end|truncate:8:""}</p>
<p>{$i.creator}</p>
</div>
{include file="scheduler/between_additem.tpl"}
{/foreach}
</td>
{else}
<td class="date" {include file="scheduler/week_additem.tpl"}></td>
<td class="day" {include file="scheduler/week_additem.tpl"}></td>
{/if}
{/foreach}
</tr>
{/foreach}
</table>
</div>
<div class="clearer">&nbsp;</div>
</div>
<!-- end playlist editor -->
</div>

View file

View file

@ -1,38 +1,38 @@
onClick="return contextmenu('{$i.id}'
, 'SP.removeItem'
{if $i.type|lower == 'audioclip'}
, 'listen', '{$i.gunid}', '##audioclip##'
{if $_PL_activeId}
, 'PL.addItem'
{else}
, 'PL.create', '{$i.title|truncate:20|escape:'html'}'
{/if}
, 'edit', '##audioclip##'
, 'delete', '##audioclip##'
{/if}
{if $i.type|lower == 'webstream'}
{if $_PL_activeId}
, 'PL.addItem'
{else}
, 'PL.create', '{$i.title|truncate:20}'
{/if}
, 'edit', '##webstream##'
, 'delete', '##webstream##'
{/if}
{if $i.type|lower == 'playlist'}
{if $_PL_activeId}
{if $_PL_activeId == $i.id}
, 'PL.release'
{elseif $PL->isAvailable($i.id) == true}
, 'SCHEDULER.addPL', 'PL.addItem', 'PL.activate', 'PL.delete'
{/if}
{elseif $PL->isAvailable($i.id) == true}
, 'SCHEDULER.addPL', 'PL.activate'
, 'PL.create', '{$i.title|truncate:20}'
, 'delete', '##playlist##'
{/if}
{/if}
onClick="return contextmenu('{$i.id}'
, 'SP.removeItem'
{if $i.type|lower == 'audioclip'}
, 'listen', '{$i.gunid}', '##audioclip##'
{if $_PL_activeId}
, 'PL.addItem'
{else}
, 'PL.create', '{$i.title|truncate:20|escape:'html'}'
{/if}
, 'edit', '##audioclip##'
, 'delete', '##audioclip##'
{/if}
{if $i.type|lower == 'webstream'}
{if $_PL_activeId}
, 'PL.addItem'
{else}
, 'PL.create', '{$i.title|truncate:20}'
{/if}
, 'edit', '##webstream##'
, 'delete', '##webstream##'
{/if}
{if $i.type|lower == 'playlist'}
{if $_PL_activeId}
{if $_PL_activeId == $i.id}
, 'PL.release'
{elseif $PL->isAvailable($i.id) == true}
, 'SCHEDULER.addPL', 'PL.addItem', 'PL.activate', 'PL.delete'
{/if}
{elseif $PL->isAvailable($i.id) == true}
, 'SCHEDULER.addPL', 'PL.activate'
, 'PL.create', '{$i.title|truncate:20}'
, 'delete', '##playlist##'
{/if}
{/if}
)"

View file

@ -1,82 +1,82 @@
{assign var="_PL_activeId" value=$PL->getActiveId()}
{assign var="SCRATCHPAD" value=$SCRATCHPAD->get()}
<!-- start scratch pad -->
<form name="SP">
<div class="container_elements">
<h1>##ScratchPad##</h1>
<div class="head" style="width:255px; height: 21px;">&nbsp;</div>
<div class="container_table" style="width:275px;">
<table style="width:255px;">
<!-- start table header -->
<tr class="blue_head">
<td style="width: 1px"><input type="checkbox" name="all" onClick="collector_switchAll('SP')"></td>
<td style="width: *"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SP.reOrder&by=title', 'order');" id="blue_head">##Title##</a></td>
<td style="width: 1px"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SP.reOrder&by=title', 'order');" id="blue_head">##Duration##</td>
<td style="width: 1px; border: 0; text-align: center"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SP.reOrder&by=title', 'order');" id="blue_head">##Type##</td>
</tr>
<!-- end table header -->
{if count($SCRATCHPAD) >= 1}
{foreach from=$SCRATCHPAD item=i}
<!-- start item -->
<tr class="{cycle values='blue1, blue2'}">
<td><input type="checkbox" class="checkbox" name="{$i.id}"/></td>
<td {include file="scratchpad/actionhandler.tpl"} style="cursor: pointer">
{if $i.type|lower == "playlist"}
{if $_PL_activeId == $i.id}
<div style="font-weight: bold; cursor: pointer">
{else}
<div style="cursor: pointer">
{/if}
{$i.title|truncate:14}
</div>
{else}
{$i.title|truncate:14}
{/if} {* on some reason object call doesn´t like usage of array *}
</td> {assign var="_duration" value=$i.duration}
<td {include file="scratchpad/actionhandler.tpl"} style="text-align: right; cursor: pointer">{niceTime in=$_duration}</td>
<td {include file="scratchpad/actionhandler.tpl"} style="border: 0; text-align: center; cursor: pointer">
{if $PL->isAvailable($i.id) == false}
<div align="left"><img src="img/ico_lock.png">
<img src="img/{$i.type}.png" border="0" alt="{$i.type|capitalize}" {include file="sub/alttext.tpl"} /></div>
{else}
<img src="img/{$i.type}.png" border="0" alt="{$i.type|capitalize}" {include file="sub/alttext.tpl"} /> {/if}
</td>
</tr>
<!-- end item -->
{/foreach}
{else}
<tr class="blue1">
<td style="border: 0" colspan="4" align="center">##empty##</td>
</tr>
{/if}
</table>
</div>
<div class="footer" style="width:250px;">
<select name="SP_multiaction" onChange="collector_submit('SP', this.value)">
<option>##Multiple Action:##</option>
<option value="SP.removeItem">##Remove file(s)##</option>
{if $_PL_activeId}
<option value="PL.addItem">##Add file(s) to active Playlist##</option>
{else}
<option value="PL.create">##New Playlist using this file(s)##</option>
{/if}
</select>
<script type="text/javascript">
document.forms['SP'].elements['SP_multiaction'].options[0].selected = true;
document.forms['SP'].elements['all'].checked = false;
collector_switchAll('SP');
</script>
<a href="#" onClick="collector_clearAll('SP', 'SP.removeItem')" id="blue_head">##Clear##</a>
</div>
</div>
</form>
<!-- end scratch pad -->
{assign var="_PL_activeId" value=null}
{assign var="_PL_activeId" value=$PL->getActiveId()}
{assign var="SCRATCHPAD" value=$SCRATCHPAD->get()}
<!-- start scratch pad -->
<form name="SP">
<div class="container_elements">
<h1>##ScratchPad##</h1>
<div class="head" style="width:255px; height: 21px;">&nbsp;</div>
<div class="container_table" style="width:275px;">
<table style="width:255px;">
<!-- start table header -->
<tr class="blue_head">
<td style="width: 1px"><input type="checkbox" name="all" onClick="collector_switchAll('SP')"></td>
<td style="width: *"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SP.reOrder&by=title', 'order');" id="blue_head">##Title##</a></td>
<td style="width: 1px"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SP.reOrder&by=title', 'order');" id="blue_head">##Duration##</td>
<td style="width: 1px; border: 0; text-align: center"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SP.reOrder&by=title', 'order');" id="blue_head">##Type##</td>
</tr>
<!-- end table header -->
{if count($SCRATCHPAD) >= 1}
{foreach from=$SCRATCHPAD item=i}
<!-- start item -->
<tr class="{cycle values='blue1, blue2'}">
<td><input type="checkbox" class="checkbox" name="{$i.id}"/></td>
<td {include file="scratchpad/actionhandler.tpl"} style="cursor: pointer">
{if $i.type|lower == "playlist"}
{if $_PL_activeId == $i.id}
<div style="font-weight: bold; cursor: pointer">
{else}
<div style="cursor: pointer">
{/if}
{$i.title|truncate:14}
</div>
{else}
{$i.title|truncate:14}
{/if} {* on some reason object call doesn´t like usage of array *}
</td> {assign var="_duration" value=$i.duration}
<td {include file="scratchpad/actionhandler.tpl"} style="text-align: right; cursor: pointer">{niceTime in=$_duration}</td>
<td {include file="scratchpad/actionhandler.tpl"} style="border: 0; text-align: center; cursor: pointer">
{if $PL->isAvailable($i.id) == false}
<div align="left"><img src="img/ico_lock.png">
<img src="img/{$i.type}.png" border="0" alt="{$i.type|capitalize}" {include file="sub/alttext.tpl"} /></div>
{else}
<img src="img/{$i.type}.png" border="0" alt="{$i.type|capitalize}" {include file="sub/alttext.tpl"} /> {/if}
</td>
</tr>
<!-- end item -->
{/foreach}
{else}
<tr class="blue1">
<td style="border: 0" colspan="4" align="center">##empty##</td>
</tr>
{/if}
</table>
</div>
<div class="footer" style="width:250px;">
<select name="SP_multiaction" onChange="collector_submit('SP', this.value)">
<option>##Multiple Action:##</option>
<option value="SP.removeItem">##Remove file(s)##</option>
{if $_PL_activeId}
<option value="PL.addItem">##Add file(s) to active Playlist##</option>
{else}
<option value="PL.create">##New Playlist using this file(s)##</option>
{/if}
</select>
<script type="text/javascript">
document.forms['SP'].elements['SP_multiaction'].options[0].selected = true;
document.forms['SP'].elements['all'].checked = false;
collector_switchAll('SP');
</script>
<a href="#" onClick="collector_clearAll('SP', 'SP.removeItem')" id="blue_head">##Clear##</a>
</div>
</div>
</form>
<!-- end scratch pad -->
{assign var="_PL_activeId" value=null}
{assign var="_duration" value=null}

View file

View file

View file

@ -1,23 +1,23 @@
<script language="javascript">
{literal}
function myClock(y, m, d, h, i, s, interval) {
clock = new Array();
clock['interval'] = interval;
clock['time'] = new Date(y, m, d, h, i ,s);
clock['run'] = setInterval("incClock();", clock['interval']);
}
function incClock() {
clock['time'].setTime(clock['time'].getTime() + clock['interval']);
document.getElementById("statusbar_servertime").innerHTML = twoDigit(clock['time'].getHours()) + ":" + twoDigit(clock['time'].getMinutes()) + ":" + twoDigit(clock['time'].getSeconds());
}
{/literal}
myClock({$smarty.now|date_format:"%Y"|string_format:"%d"}, {$smarty.now|date_format:"%m"|string_format:"%d"}, {$smarty.now|date_format:"%d"|string_format:"%d"},
{$smarty.now|date_format:"%H"|string_format:"%d"}, {$smarty.now|date_format:"%M"|string_format:"%d"}, {$smarty.now|date_format:"%S"|string_format:"%d"},
1000);
</script>
<script language="javascript">
{literal}
function myClock(y, m, d, h, i, s, interval) {
clock = new Array();
clock['interval'] = interval;
clock['time'] = new Date(y, m, d, h, i ,s);
clock['run'] = setInterval("incClock();", clock['interval']);
}
function incClock() {
clock['time'].setTime(clock['time'].getTime() + clock['interval']);
document.getElementById("statusbar_servertime").innerHTML = twoDigit(clock['time'].getHours()) + ":" + twoDigit(clock['time'].getMinutes()) + ":" + twoDigit(clock['time'].getSeconds());
}
{/literal}
myClock({$smarty.now|date_format:"%Y"|string_format:"%d"}, {$smarty.now|date_format:"%m"|string_format:"%d"}, {$smarty.now|date_format:"%d"|string_format:"%d"},
{$smarty.now|date_format:"%H"|string_format:"%d"}, {$smarty.now|date_format:"%M"|string_format:"%d"}, {$smarty.now|date_format:"%S"|string_format:"%d"},
1000);
</script>

View file

View file

View file

@ -1,121 +1,121 @@
<script language="javascript">
{literal}
// play-progress-bar object
function plPrBar(tit, eh, ei, es, dh, di, ds, next, ntit, nh, ni, ns){
this.tit = tit;
this.next = next;
this.interval = 333;
this.ntit = ntit;
this.nh = nh;
this.ni = ni;
this.ns = ns;
// inits:
this.elapsed = new Date();
this.duration = new Date();
this.remaining = new Date();
this.elapsed.setTime (Date.UTC(1970, 0, 1, eh, ei, es));
this.duration.setTime(Date.UTC(1970, 0, 1, dh, di, ds));
// methods:
this.init = plPrBar_init;
this.tick = plPrBar_tick;
this.update = plPrBar_update;
this.stop = plPrBar_stop;
this.show = plPrBar_show;
this.hide = plPrBar_hide;
this.create = plPrBar_create;
this.run = setInterval("ppb.tick();", this.interval);
}
function plPrBar_init() {
document.getElementById("now_title").innerHTML = this.tit;
if (this.next == 0) {
document.getElementById("next_clip").innerHTML = '';
} else {
document.getElementById("next_title").innerHTML = this.ntit;
document.getElementById("next_duration").innerHTML = '(' + twoDigit(this.nh) + ':' + twoDigit(this.ni) + ':' + twoDigit(this.ns) + ')';
}
this.show();
this.update();
}
function plPrBar_tick() {
if (this.remaining.getTime() <= this.interval*2) {
this.stop();
return;
}
this.elapsed.setTime(this.elapsed.getTime() + this.interval);
this.remaining.setTime(this.duration.getTime() - this.elapsed.getTime());
this.update();
}
function plPrBar_update() {
document.getElementById("now_elapsed").innerHTML = twoDigit(this.elapsed.getUTCHours()) + ":" + twoDigit(this.elapsed.getUTCMinutes()) + ":" + twoDigit(this.elapsed.getUTCSeconds());
document.getElementById("now_remaining").innerHTML = twoDigit(this.remaining.getUTCHours()) + ":" + twoDigit(this.remaining.getUTCMinutes()) + ":" + twoDigit(this.remaining.getUTCSeconds());
document.getElementById("now_scala").style.width = (100 / this.duration.getTime() * this.elapsed.getTime()) + "%";
}
function plPrBar_stop() {
clearInterval(this.run);
if (this.next == 0) {
// just if no next item to play
this.hide();
} else {
// all values for next clip needed here:
jsCom("jscom_wrapper", ["uiBrowser", "SCHEDULER", "getNowNextClip4jscom"], this.create);
}
}
function plPrBar_create(jscomRes) {
if (jscomRes !== '') {
eval('var parms = ' + jscomRes + ';');
ppb = new plPrBar(parms[0],
parms[1], parms[2], parms[3],
parms[4], parms[5], parms[6],
parms[7], parms[8], parms[9], parms[10], parms[11]
);
ppb.init();
} else {
plPrBar_hide();
};
}
function plPrBar_show() {
document.getElementById("statusbar_indicator").innerHTML = '<img src="img/el_onair.png" alt="on air">';
document.getElementById("statusbar_whatsplaying").className = 'whatplaying';
}
function plPrBar_hide() {
document.getElementById("statusbar_indicator").innerHTML = '<img src="img/el_offair.png" alt="off air">';
document.getElementById("statusbar_whatsplaying").innerHTML = "";
}
{/literal}
{if (is_array($_nowplaying.duration))}
ppb = new plPrBar ("{$_nowplaying.title|truncate:33}",
{$_nowplaying.elapsed.h|string_format:"%d"}, {$_nowplaying.elapsed.m|string_format:"%d"}, {$_nowplaying.elapsed.s|string_format:"%d"},
{$_nowplaying.duration.h|string_format:"%d"}, {$_nowplaying.duration.m|string_format:"%d"}, {$_nowplaying.duration.s|string_format:"%d"},
{if is_array($_nextplaying)}
1, "{$_nextplaying.title|truncate:22}", {$_nextplaying.duration.h|string_format:'%d'}, {$_nextplaying.duration.m|string_format:'%2d'}, {$_nextplaying.duration.s|string_format:'%2d'}
{else}
0, "", 0, 0, 0
{/if}
);
ppb.init();
{/if}
{$JSCOM->genJsCode()}
</script>
<script language="javascript">
{literal}
// play-progress-bar object
function plPrBar(tit, eh, ei, es, dh, di, ds, next, ntit, nh, ni, ns){
this.tit = tit;
this.next = next;
this.interval = 333;
this.ntit = ntit;
this.nh = nh;
this.ni = ni;
this.ns = ns;
// inits:
this.elapsed = new Date();
this.duration = new Date();
this.remaining = new Date();
this.elapsed.setTime (Date.UTC(1970, 0, 1, eh, ei, es));
this.duration.setTime(Date.UTC(1970, 0, 1, dh, di, ds));
// methods:
this.init = plPrBar_init;
this.tick = plPrBar_tick;
this.update = plPrBar_update;
this.stop = plPrBar_stop;
this.show = plPrBar_show;
this.hide = plPrBar_hide;
this.create = plPrBar_create;
this.run = setInterval("ppb.tick();", this.interval);
}
function plPrBar_init() {
document.getElementById("now_title").innerHTML = this.tit;
if (this.next == 0) {
document.getElementById("next_clip").innerHTML = '';
} else {
document.getElementById("next_title").innerHTML = this.ntit;
document.getElementById("next_duration").innerHTML = '(' + twoDigit(this.nh) + ':' + twoDigit(this.ni) + ':' + twoDigit(this.ns) + ')';
}
this.show();
this.update();
}
function plPrBar_tick() {
if (this.remaining.getTime() <= this.interval*2) {
this.stop();
return;
}
this.elapsed.setTime(this.elapsed.getTime() + this.interval);
this.remaining.setTime(this.duration.getTime() - this.elapsed.getTime());
this.update();
}
function plPrBar_update() {
document.getElementById("now_elapsed").innerHTML = twoDigit(this.elapsed.getUTCHours()) + ":" + twoDigit(this.elapsed.getUTCMinutes()) + ":" + twoDigit(this.elapsed.getUTCSeconds());
document.getElementById("now_remaining").innerHTML = twoDigit(this.remaining.getUTCHours()) + ":" + twoDigit(this.remaining.getUTCMinutes()) + ":" + twoDigit(this.remaining.getUTCSeconds());
document.getElementById("now_scala").style.width = (100 / this.duration.getTime() * this.elapsed.getTime()) + "%";
}
function plPrBar_stop() {
clearInterval(this.run);
if (this.next == 0) {
// just if no next item to play
this.hide();
} else {
// all values for next clip needed here:
jsCom("jscom_wrapper", ["uiBrowser", "SCHEDULER", "getNowNextClip4jscom"], this.create);
}
}
function plPrBar_create(jscomRes) {
if (jscomRes !== '') {
eval('var parms = ' + jscomRes + ';');
ppb = new plPrBar(parms[0],
parms[1], parms[2], parms[3],
parms[4], parms[5], parms[6],
parms[7], parms[8], parms[9], parms[10], parms[11]
);
ppb.init();
} else {
plPrBar_hide();
};
}
function plPrBar_show() {
document.getElementById("statusbar_indicator").innerHTML = '<img src="img/el_onair.png" alt="on air">';
document.getElementById("statusbar_whatsplaying").className = 'whatplaying';
}
function plPrBar_hide() {
document.getElementById("statusbar_indicator").innerHTML = '<img src="img/el_offair.png" alt="off air">';
document.getElementById("statusbar_whatsplaying").innerHTML = "";
}
{/literal}
{if (is_array($_nowplaying.duration))}
ppb = new plPrBar ("{$_nowplaying.title|truncate:33}",
{$_nowplaying.elapsed.h|string_format:"%d"}, {$_nowplaying.elapsed.m|string_format:"%d"}, {$_nowplaying.elapsed.s|string_format:"%d"},
{$_nowplaying.duration.h|string_format:"%d"}, {$_nowplaying.duration.m|string_format:"%d"}, {$_nowplaying.duration.s|string_format:"%d"},
{if is_array($_nextplaying)}
1, "{$_nextplaying.title|truncate:22}", {$_nextplaying.duration.h|string_format:'%d'}, {$_nextplaying.duration.m|string_format:'%2d'}, {$_nextplaying.duration.s|string_format:'%2d'}
{else}
0, "", 0, 0, 0
{/if}
);
ppb.init();
{/if}
{$JSCOM->genJsCode()}
</script>

132
livesupport/modules/htmlUI/var/templates/statusbar.tpl Executable file → Normal file
View file

@ -1,66 +1,66 @@
{assign var='_nowplaying' value=$SCHEDULER->getNowNextClip()}
{assign var='_nextplaying' value=$SCHEDULER->getNowNextClip(1)}
<!-- start header -->
<!-- start header left -->
<div class="headLeft">
<img src="img/logo_livesupport.png" alt="Livesupport Logo" />
<div class="container">
{include file="userinfo.tpl"}
</div>
</div>
<!-- end header left -->
<!-- start header right -->
<div class="headRight">
<!-- start station information -->
<div class="station">
<img src="{$STATIONPREFS.stationLogoPath}" alt="{$STATIONPREFS.stationName}" width='127' height='34'>
<div class="frequence">{$STATIONPREFS.stationFrequency}</div>
</div>
<!-- end station information -->
<!-- start onair information -->
<div class="onair" id="statusbar_indicator">
{if $_nowplaying}
<img src="img/el_onair.png" alt="on air" />
{else}
<img src="img/el_offair.png" alt="off air">
{/if}
</div>
<!-- end onair information -->
<!-- start station time -->
<div class="stationtime">
<h1>##Station Time##</h1>
<div class="time"><span id="statusbar_servertime" class="clock" style="position:relative;">{$smarty.now|date_format:"%H:%M:%S"}</span>
<div class="timezone">cet</div>
</div>
</div>
<!-- end station time -->
<!-- start what playing -->
<div class="whatplaying" id="statusbar_whatsplaying">
{if $_nowplaying}
<div class="nowplaying">##Now Playing##: <strong id="now_title"></strong></div>
<div class="scala">
<div class="scala_in" id="now_scala" style="width: {$_nowplaying.percentage}%;">&nbsp;</div>
</div>
<div class="time">
<div class="left">Elapsed: <strong id="now_elapsed"></strong></div>
<div class="right">Remaining: <strong id="now_remaining"></strong></div>
</div>
{/if}
<div class="clearer"></div>
<div id="next_clip">
{if $_nextplaying}
<p>##Playing Next##: <span id="next_title"></span> &nbsp;<span id="next_duration"></span></p>
{/if}
</div>
</div>
<!-- end what playing -->
</div>
<!-- end header right -->
<!-- end header -->
{include file="script/clock.js.tpl"}
{include file="script/progressbar.js.tpl"}
{assign var='_nowplaying' value=null}
{assign var='_nextplaying' value=null}
{assign var='_nowplaying' value=$SCHEDULER->getNowNextClip()}
{assign var='_nextplaying' value=$SCHEDULER->getNowNextClip(1)}
<!-- start header -->
<!-- start header left -->
<div class="headLeft">
<img src="img/logo_livesupport.png" alt="Livesupport Logo" />
<div class="container">
{include file="userinfo.tpl"}
</div>
</div>
<!-- end header left -->
<!-- start header right -->
<div class="headRight">
<!-- start station information -->
<div class="station">
<img src="{$STATIONPREFS.stationLogoPath}" alt="{$STATIONPREFS.stationName}" width='127' height='34'>
<div class="frequence">{$STATIONPREFS.stationFrequency}</div>
</div>
<!-- end station information -->
<!-- start onair information -->
<div class="onair" id="statusbar_indicator">
{if $_nowplaying}
<img src="img/el_onair.png" alt="on air" />
{else}
<img src="img/el_offair.png" alt="off air">
{/if}
</div>
<!-- end onair information -->
<!-- start station time -->
<div class="stationtime">
<h1>##Station Time##</h1>
<div class="time"><span id="statusbar_servertime" class="clock" style="position:relative;">{$smarty.now|date_format:"%H:%M:%S"}</span>
<div class="timezone">cet</div>
</div>
</div>
<!-- end station time -->
<!-- start what playing -->
<div class="whatplaying" id="statusbar_whatsplaying">
{if $_nowplaying}
<div class="nowplaying">##Now Playing##: <strong id="now_title"></strong></div>
<div class="scala">
<div class="scala_in" id="now_scala" style="width: {$_nowplaying.percentage}%;">&nbsp;</div>
</div>
<div class="time">
<div class="left">Elapsed: <strong id="now_elapsed"></strong></div>
<div class="right">Remaining: <strong id="now_remaining"></strong></div>
</div>
{/if}
<div class="clearer"></div>
<div id="next_clip">
{if $_nextplaying}
<p>##Playing Next##: <span id="next_title"></span> &nbsp;<span id="next_duration"></span></p>
{/if}
</div>
</div>
<!-- end what playing -->
</div>
<!-- end header right -->
<!-- end header -->
{include file="script/clock.js.tpl"}
{include file="script/progressbar.js.tpl"}
{assign var='_nowplaying' value=null}
{assign var='_nextplaying' value=null}

View file

View file

0
livesupport/modules/htmlUI/var/templates/sub/x.tpl Executable file → Normal file
View file

View file

View file

View file

@ -1,18 +1,18 @@
<div class="content">
{if $act == "SUBJECTS"}
{include file="subjects/overview.tpl"}
{/if}
{if $act == "SUBJECTS.addUser" || $act == "SUBJECTS.addGroup"}
{include file="subjects/addSubjForm.tpl"}
{/if}
{if $act == "SUBJECTS.manageGroupMember"}
{include file="subjects/manageGroupMember.tpl"}
{/if}
{if $act == "SUBJECTS.chgPasswd"}
{include file="subjects/chgPasswd.tpl"}
{/if}
<div class="content">
{if $act == "SUBJECTS"}
{include file="subjects/overview.tpl"}
{/if}
{if $act == "SUBJECTS.addUser" || $act == "SUBJECTS.addGroup"}
{include file="subjects/addSubjForm.tpl"}
{/if}
{if $act == "SUBJECTS.manageGroupMember"}
{include file="subjects/manageGroupMember.tpl"}
{/if}
{if $act == "SUBJECTS.chgPasswd"}
{include file="subjects/chgPasswd.tpl"}
{/if}
</div>

View file

@ -1,102 +1,102 @@
{assign var="_gname" value=$SUBJECTS->Base->gb->getSubjName($_REQUEST.id)}
<div class="container_elements" style="width: 607px;">
<h1>{tra 0='Manage Group: $1' 1=$_gname}</h1>
<div class="container_table" style="width: 594px;">
<!-- start current group member -->
<div class="container_elements" style="float: left">
<h1>##Current Members##</h1>
<div class="head" style="width:255px; height: 21px;">&nbsp;</div>
<div class="container_table" style="width:275px;">
<table style="width:255px;">
<form name="GRP">
<tr class="blue_head">
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('GRP')"></td>
<td style="width: 164px">##Login##</td>
<td style="width: 41px; border: 0; text-align: center">##Type##</td>
</tr>
{assign var="_member" value=$SUBJECTS->getGroupMember($_REQUEST.id)}
{if (is_array($_member) && count($_member)>0)}
{foreach from=$_member item="i"}
<tr class="{cycle values='blue1, blue2'}">
<td><input type="checkbox" class="checkbox" name="{$i.id}"/></td>
<td onClick="return contextmenu('login={$i.login|escape:'url'}&gname={$_gname|escape:'url'}', 'SUBJECTS.removeSubjFromGr')">{$i.login}</td>
<td style="border: 0; text-align: center"
onClick="return contextmenu('login={$i.login|escape:'url'}&gname={$_gname|escape:'url'}', 'SUBJECTS.removeSubjFromGr')">
{if $i.type|lower == 'u'}
<img src="img/user.png" border="0" alt="User" />
{else}
<img src="img/group.png" border="0" alt="Group" />
{/if}
</td>
</tr>
{/foreach}
{else}
<tr><td colspan="3" align="center" style="border: 0">##No group members##</td></tr>
{/if}
</form>
</table>
</div>
<div class="footer" style="width:250px;">
<a href="" onClick="collector_submit('GRP', 'SUBJECTS.removeSubjFromGr&gname={$_gname|escape:'url'}')" id="blue_head">##Remove selected##</a>
</div>
</div>
<!-- end current group member -->
<!-- start add group member -->
<div class="container_elements" style="float: right">
<h1>##Add Members##</h1>
<div class="head" style="width:255px; height: 21px;">&nbsp;</div>
<div class="container_table" style="width:275px;">
<table style="width:255px;">
<form name="NOGRP">
<!-- start table header -->
<tr class="blue_head">
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('NOGRP')"></td>
<td style="width: 164px">##Login##</td>
<td style="width: 41px; border: 0">##Type##</td>
</tr>
<!-- end table header -->
{assign var="_nonmember" value=$SUBJECTS->getNonGroupMember($_REQUEST.id)}
{foreach from=$_nonmember item=i}
{if $i.login !== $_gname}
{assign var="_loop" value=true}
<!-- start item -->
<tr class="{cycle values='blue1, blue2'}">
<td><input type="checkbox" class="checkbox" name="{$i.id}"/></td>
<td onClick="return contextmenu('login={$i.login|escape:'url'}&gname={$_gname|escape:'url'}', 'SUBJECTS.addSubj2Gr')">{$i.login}</td>
<td style="border: 0; text-align: center"
onClick="return contextmenu('login={$i.login|escape:'url'}&gname={$_gname|escape:'url'}', 'SUBJECTS.removeSubjFromGr')">
{if $i.type|lower == 'u'}
<img src="img/user.png" border="0" alt="User" />
{else}
<img src="img/group.png" border="0" alt="Group" />
{/if}
</td>
</tr>
<!-- end item -->
{/if}
{/foreach}
{if $_loop != true}
<tr><td colspan="3" align="center" style="border: 0">##Nothing left##</td></tr>
{/if}
</form>
</table>
</div>
<div class="footer" style="width:250px;">
<a href="" onClick="collector_submit('NOGRP', 'SUBJECTS.addSubj2Gr&gname={$_gname|escape:'url'}')" id="blue_head">##Add selected##</a>
</div>
</div>
<!-- end add group member -->
</div>
<input type="button" class="button_wide" value="##Back to overview##" onClick="location.href='{$UI_BROWSER}?act=SUBJECTS'">
</div>
{assign var="_gname" value=$SUBJECTS->Base->gb->getSubjName($_REQUEST.id)}
<div class="container_elements" style="width: 607px;">
<h1>{tra 0='Manage Group: $1' 1=$_gname}</h1>
<div class="container_table" style="width: 594px;">
<!-- start current group member -->
<div class="container_elements" style="float: left">
<h1>##Current Members##</h1>
<div class="head" style="width:255px; height: 21px;">&nbsp;</div>
<div class="container_table" style="width:275px;">
<table style="width:255px;">
<form name="GRP">
<tr class="blue_head">
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('GRP')"></td>
<td style="width: 164px">##Login##</td>
<td style="width: 41px; border: 0; text-align: center">##Type##</td>
</tr>
{assign var="_member" value=$SUBJECTS->getGroupMember($_REQUEST.id)}
{if (is_array($_member) && count($_member)>0)}
{foreach from=$_member item="i"}
<tr class="{cycle values='blue1, blue2'}">
<td><input type="checkbox" class="checkbox" name="{$i.id}"/></td>
<td onClick="return contextmenu('login={$i.login|escape:'url'}&gname={$_gname|escape:'url'}', 'SUBJECTS.removeSubjFromGr')">{$i.login}</td>
<td style="border: 0; text-align: center"
onClick="return contextmenu('login={$i.login|escape:'url'}&gname={$_gname|escape:'url'}', 'SUBJECTS.removeSubjFromGr')">
{if $i.type|lower == 'u'}
<img src="img/user.png" border="0" alt="User" />
{else}
<img src="img/group.png" border="0" alt="Group" />
{/if}
</td>
</tr>
{/foreach}
{else}
<tr><td colspan="3" align="center" style="border: 0">##No group members##</td></tr>
{/if}
</form>
</table>
</div>
<div class="footer" style="width:250px;">
<a href="" onClick="collector_submit('GRP', 'SUBJECTS.removeSubjFromGr&gname={$_gname|escape:'url'}')" id="blue_head">##Remove selected##</a>
</div>
</div>
<!-- end current group member -->
<!-- start add group member -->
<div class="container_elements" style="float: right">
<h1>##Add Members##</h1>
<div class="head" style="width:255px; height: 21px;">&nbsp;</div>
<div class="container_table" style="width:275px;">
<table style="width:255px;">
<form name="NOGRP">
<!-- start table header -->
<tr class="blue_head">
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('NOGRP')"></td>
<td style="width: 164px">##Login##</td>
<td style="width: 41px; border: 0">##Type##</td>
</tr>
<!-- end table header -->
{assign var="_nonmember" value=$SUBJECTS->getNonGroupMember($_REQUEST.id)}
{foreach from=$_nonmember item=i}
{if $i.login !== $_gname}
{assign var="_loop" value=true}
<!-- start item -->
<tr class="{cycle values='blue1, blue2'}">
<td><input type="checkbox" class="checkbox" name="{$i.id}"/></td>
<td onClick="return contextmenu('login={$i.login|escape:'url'}&gname={$_gname|escape:'url'}', 'SUBJECTS.addSubj2Gr')">{$i.login}</td>
<td style="border: 0; text-align: center"
onClick="return contextmenu('login={$i.login|escape:'url'}&gname={$_gname|escape:'url'}', 'SUBJECTS.removeSubjFromGr')">
{if $i.type|lower == 'u'}
<img src="img/user.png" border="0" alt="User" />
{else}
<img src="img/group.png" border="0" alt="Group" />
{/if}
</td>
</tr>
<!-- end item -->
{/if}
{/foreach}
{if $_loop != true}
<tr><td colspan="3" align="center" style="border: 0">##Nothing left##</td></tr>
{/if}
</form>
</table>
</div>
<div class="footer" style="width:250px;">
<a href="" onClick="collector_submit('NOGRP', 'SUBJECTS.addSubj2Gr&gname={$_gname|escape:'url'}')" id="blue_head">##Add selected##</a>
</div>
</div>
<!-- end add group member -->
</div>
<input type="button" class="button_wide" value="##Back to overview##" onClick="location.href='{$UI_BROWSER}?act=SUBJECTS'">
</div>

View file

@ -1,43 +1,43 @@
<div class="container_elements" style="width: 607px;">
<h1>##User/Group Management##</h1>
<div class="container_table" style="width: 594px;">
<table style="width: 574px;">
<tr class="blue_head">
<td>##Login##</td>
<td style="width: 40px; text-align: center">##Members##</td>
<td style="width: 40px; border: 0; text-align: center">##Type##</td>
</tr>
{foreach from=$SUBJECTS->getSubjectsWCnt() item=i}
{if $i.type|lower == 'g'}{assign var="_type" value="group"}{else}{assign var="_type" value="user"}{/if}
<tr class="{cycle values='blue1, blue2'}"
style="cursor: pointer"
onClick="return contextmenu('id={$i.id}&login={$i.login|escape:'url'}', {if $i.type|lower eq 'g'}'SUBJECTS.manageGroupMember', {else}'SUBJECTS.chgPasswd', {/if} 'SUBJECTS.removeSubj')"
>
<td>{$i.login}</td>
<td style="width: 30px; text-align: center;">
{if $i.type|lower == 'g'}
{$i.cnt}
{else}
-
{/if}
</td>
<td style="border: 0; text-align: center;"><img src="img/{$_type}.png" border="0" alt="{$_type|capitalize}" /></td>
</tr>
{/foreach}
</table>
<br>
<div class="container_button">
<input type="button" class="button" value="##Add User##" onclick="location.href='{$UI_BROWSER}?act=SUBJECTS.addUser'">
<input type="button" class="button" value="##Add Group##" onclick="location.href='{$UI_BROWSER}?act=SUBJECTS.addGroup'">
</div>
</div>
</div>
<div class="container_elements" style="width: 607px;">
<h1>##User/Group Management##</h1>
<div class="container_table" style="width: 594px;">
<table style="width: 574px;">
<tr class="blue_head">
<td>##Login##</td>
<td style="width: 40px; text-align: center">##Members##</td>
<td style="width: 40px; border: 0; text-align: center">##Type##</td>
</tr>
{foreach from=$SUBJECTS->getSubjectsWCnt() item=i}
{if $i.type|lower == 'g'}{assign var="_type" value="group"}{else}{assign var="_type" value="user"}{/if}
<tr class="{cycle values='blue1, blue2'}"
style="cursor: pointer"
onClick="return contextmenu('id={$i.id}&login={$i.login|escape:'url'}', {if $i.type|lower eq 'g'}'SUBJECTS.manageGroupMember', {else}'SUBJECTS.chgPasswd', {/if} 'SUBJECTS.removeSubj')"
>
<td>{$i.login}</td>
<td style="width: 30px; text-align: center;">
{if $i.type|lower == 'g'}
{$i.cnt}
{else}
-
{/if}
</td>
<td style="border: 0; text-align: center;"><img src="img/{$_type}.png" border="0" alt="{$_type|capitalize}" /></td>
</tr>
{/foreach}
</table>
<br>
<div class="container_button">
<input type="button" class="button" value="##Add User##" onclick="location.href='{$UI_BROWSER}?act=SUBJECTS.addUser'">
<input type="button" class="button" value="##Add Group##" onclick="location.href='{$UI_BROWSER}?act=SUBJECTS.addGroup'">
</div>
</div>
</div>
{assign var="_type" value=null}

0
livesupport/modules/htmlUI/var/templates/userinfo.tpl Executable file → Normal file
View file