Initial commit: Kimai TMS
Kimai time management system (PHP 5.6 / MySQL) with custom extensions: - Budget tracking (ki_budget) - Change request form (ki_changerequest) - Invoice generation (ki_invoice) - Expense tracking (ki_expenses) - Flexi time (ki_flexitime) - Export, admin panel, timesheets, tasks, summary Database: ~900K time entries, 2,000+ users, 439 projects. Config: includes/autoconf.php — localhost/kimai/kimai
This commit is contained in:
95
extensions/ki_export/templates/floaters/export_CSV.tpl
Normal file
95
extensions/ki_export/templates/floaters/export_CSV.tpl
Normal file
@@ -0,0 +1,95 @@
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#help').hide();
|
||||
$('#floater input#timeformat').attr('value',$('#xp_ext_timeformat').attr('value'));
|
||||
$('#floater input#dateformat').attr('value',$('#xp_ext_dateformat').attr('value'));
|
||||
$('#floater input#default_location').attr('value',$('#default_location').attr('value'));
|
||||
$('#floater input#axValue').attr('value',filterUsr.join(":")+'|'+filterKnd.join(":")+'|'+filterPct.join(":")+'|'+filterEvt.join(":"));
|
||||
$('#floater input#filter_cleared').attr('value',$('#xp_ext_tab_filter_cleared').attr('value'));
|
||||
$('#floater input#filter_refundable').attr('value',$('#xp_ext_tab_filter_refundable').attr('value'));
|
||||
$('#floater input#filter_type').attr('value',$('#xp_ext_tab_filter_type').attr('value'));
|
||||
$('#floater input#axColumns').attr('value',xp_enabled_columns());
|
||||
$('.floater_content fieldset label').css('width','200px');
|
||||
|
||||
$('#floater input#first_day').attr('value',new Date($('#pick_in').val()).getTime()/1000);
|
||||
$('#floater input#last_day').attr('value',new Date($('#pick_out').val()).getTime()/1000);
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
<div id="floater_innerwrap">
|
||||
|
||||
<div id="floater_handle">
|
||||
<span id="floater_title">{$kga.lang.xp_ext.exportCSV}</span>
|
||||
<div class="right">
|
||||
<a href="#" class="close" onClick="floaterClose();">{$kga.lang.close}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="help">
|
||||
<div class="content">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="floater_content">
|
||||
|
||||
<form id="xp_ext_form_export_CSV" action="../extensions/ki_export/processor.php" method="post">
|
||||
|
||||
<fieldset>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<label for="column_delimiter">{$kga.lang.xp_ext.column_delimiter}:</label>
|
||||
<input type="text" value="{$prefs.column_delimiter|escape:'html'}" name="column_delimiter" id="column_delimiter" size="1"/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="quote_char">{$kga.lang.xp_ext.quote_char}:</label>
|
||||
<input type="text" value="{$prefs.quote_char|escape:'html'}" name="quote_char" id="quote_char" size="1">
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="reverse_order">{$kga.lang.xp_ext.reverse_order}:</label>
|
||||
<input type="checkbox" value="true" name="reverse_order" id="reverse_order"/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
{$kga.lang.xp_ext.dl_hint}
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
{* -------------------------------------------------------------------- *}
|
||||
|
||||
<!-- <input name="id" type="hidden" value="" /> -->
|
||||
<input name="axAction" type="hidden" value="export_csv" />
|
||||
<input name="axValue" id="axValue" type="hidden" value="" />
|
||||
<input name="first_day" id="first_day" type="hidden" value="" />
|
||||
<input name="last_day" id="last_day" type="hidden" value="" />
|
||||
<input name="axColumns" id="axColumns" type="hidden" value=""/>
|
||||
<input name="timeformat" id="timeformat" type="hidden" value=""/>
|
||||
<input name="dateformat" id="dateformat" type="hidden" value=""/>
|
||||
<input name="default_location" id="default_location" type="hidden" value=""/>
|
||||
<input name="filter_cleared" id="filter_cleared" type="hidden" value=""/>
|
||||
<input name="filter_refundable" id="filter_refundable" type="hidden" value=""/>
|
||||
<input name="filter_type" id="filter_type" type="hidden" value=""/>
|
||||
|
||||
<div id="formbuttons">
|
||||
<input class='btn_norm' type='button' value='{$kga.lang.cancel}' onClick='floaterClose(); return false;' />
|
||||
<input class='btn_ok' type='submit' value='{$kga.lang.submit}' onClick="floaterClose();"/>
|
||||
</div>
|
||||
|
||||
{* -------------------------------------------------------------------- *}
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
121
extensions/ki_export/templates/floaters/export_PDF.tpl
Normal file
121
extensions/ki_export/templates/floaters/export_PDF.tpl
Normal file
@@ -0,0 +1,121 @@
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#help').hide();
|
||||
$('#floater input#timeformat').attr('value',$('#xp_ext_timeformat').attr('value'));
|
||||
$('#floater input#dateformat').attr('value',$('#xp_ext_dateformat').attr('value'));
|
||||
$('#floater input#default_location').attr('value',$('#xp_ext_default_location').attr('value'));
|
||||
$('#floater input#axValue').attr('value',filterUsr.join(":")+'|'+filterKnd.join(":")+'|'+filterPct.join(":")+'|'+filterEvt.join(":"));
|
||||
$('#floater input#filter_cleared').attr('value',$('#xp_ext_tab_filter_cleared').attr('value'));
|
||||
$('#floater input#filter_refundable').attr('value',$('#xp_ext_tab_filter_refundable').attr('value'));
|
||||
$('#floater input#filter_type').attr('value',$('#xp_ext_tab_filter_type').attr('value'));
|
||||
$('#floater input#axColumns').attr('value',xp_enabled_columns());
|
||||
$('.floater_content fieldset label').css('width','200px');
|
||||
|
||||
$('#floater input#first_day').attr('value',new Date($('#pick_in').val()).getTime()/1000);
|
||||
$('#floater input#last_day').attr('value',new Date($('#pick_out').val()).getTime()/1000);
|
||||
});
|
||||
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
<div id="floater_innerwrap">
|
||||
|
||||
<div id="floater_handle">
|
||||
<span id="floater_title">{$kga.lang.xp_ext.exportPDF}</span>
|
||||
<div class="right">
|
||||
<a href="#" class="close" onClick="floaterClose();">{$kga.lang.close}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="help">
|
||||
<div class="content">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="floater_content">
|
||||
|
||||
<form id="xp_ext_form_export_PDF" action="../extensions/ki_export/processor.php" method="post" target="_blank">
|
||||
<fieldset>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<label for="print_comments">{$kga.lang.xp_ext.print_comment}:</label>
|
||||
<input type="checkbox" value="true" name="print_comments" id="print_comments" {if $prefs.print_comments}checked="checked"{/if}/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="print_summary">{$kga.lang.xp_ext.print_summary}:</label>
|
||||
<input type="checkbox" value="true" name="print_summary" id="print_summary" {if $prefs.print_summary}checked="checked"{/if}>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="create_bookmarks">{$kga.lang.xp_ext.create_bookmarks}:</label>
|
||||
<input type="checkbox" value="true" name="create_bookmarks" id="create_bookmarks" {if $prefs.create_bookmarks}checked="checked"{/if}/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="download_pdf">{$kga.lang.xp_ext.download_pdf}:</label>
|
||||
<input type="checkbox" value="true" name="download_pdf" id="download_pdf" {if $prefs.download_pdf}checked="checked"{/if}/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="customer_new_page">{$kga.lang.xp_ext.customer_new_page}:</label>
|
||||
<input type="checkbox" value="true" name="customer_new_page" id="customer_new_page" {if $prefs.customer_new_page}checked="checked"{/if}/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="reverse_order">{$kga.lang.xp_ext.reverse_order}:</label>
|
||||
<input type="checkbox" value="true" name="reverse_order" id="reverse_order" {if $prefs.reverse_order}checked="checked"{/if}/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="reverse_order">{$kga.lang.comment}:</label>
|
||||
<textarea name="document_comment" id="document_comment"></textarea>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="axAction">{$kga.lang.xp_ext.pdf_format}:</label>
|
||||
<select name="axAction" id="axAction">
|
||||
<option value="export_pdf" {if $prefs.pdf_format=='export_pdf'}selected="selected"{/if}>{$kga.lang.xp_ext.export_pdf}</option>
|
||||
<option value="export_pdf2" {if $prefs.pdf_format=='export_pdf2'}selected="selected"{/if}>{$kga.lang.xp_ext.export_pdf2}</option>
|
||||
</select>
|
||||
</li>
|
||||
<li>
|
||||
{$kga.lang.xp_ext.dl_hint}
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
{* -------------------------------------------------------------------- *}
|
||||
|
||||
<!-- <input name="id" type="hidden" value="" /> -->
|
||||
<input name="axValue" id="axValue" type="hidden" value="" />
|
||||
<input name="first_day" id="first_day" type="hidden" value="" />
|
||||
<input name="last_day" id="last_day" type="hidden" value="" />
|
||||
<input name="axColumns" id="axColumns" type="hidden" value=""/>
|
||||
<input name="timeformat" id="timeformat" type="hidden" value=""/>
|
||||
<input name="dateformat" id="dateformat" type="hidden" value=""/>
|
||||
<input name="default_location" id="default_location" type="hidden" value=""/>
|
||||
<input name="filter_cleared" id="filter_cleared" type="hidden" value=""/>
|
||||
<input name="filter_refundable" id="filter_refundable" type="hidden" value=""/>
|
||||
<input name="filter_type" id="filter_type" type="hidden" value=""/>
|
||||
|
||||
<div id="formbuttons">
|
||||
<input class='btn_norm' type='button' value='{$kga.lang.cancel}' onClick='floaterClose(); return false;' />
|
||||
<input class='btn_ok' type='submit' value='{$kga.lang.submit}' onClick="floaterClose();"/>
|
||||
</div>
|
||||
|
||||
{* -------------------------------------------------------------------- *}
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
87
extensions/ki_export/templates/floaters/export_XLS.tpl
Normal file
87
extensions/ki_export/templates/floaters/export_XLS.tpl
Normal file
@@ -0,0 +1,87 @@
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#help').hide();
|
||||
$('#floater input#timeformat').attr('value',$('#xp_ext_timeformat').attr('value'));
|
||||
$('#floater input#dateformat').attr('value',$('#xp_ext_dateformat').attr('value'));
|
||||
$('#floater input#default_location').attr('value',$('#default_location').attr('value'));
|
||||
$('#floater input#axValue').attr('value',filterUsr.join(":")+'|'+filterKnd.join(":")+'|'+filterPct.join(":")+'|'+filterEvt.join(":"));
|
||||
$('#floater input#filter_cleared').attr('value',$('#xp_ext_tab_filter_cleared').attr('value'));
|
||||
$('#floater input#filter_refundable').attr('value',$('#xp_ext_tab_filter_refundable').attr('value'));
|
||||
$('#floater input#filter_type').attr('value',$('#xp_ext_tab_filter_type').attr('value'));
|
||||
$('#floater input#axColumns').attr('value',xp_enabled_columns());
|
||||
$('.floater_content fieldset label').css('width','200px');
|
||||
|
||||
$('#floater input#first_day').attr('value',new Date($('#pick_in').val()).getTime()/1000);
|
||||
$('#floater input#last_day').attr('value',new Date($('#pick_out').val()).getTime()/1000);
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
<div id="floater_innerwrap">
|
||||
|
||||
<div id="floater_handle">
|
||||
<span id="floater_title">{$kga.lang.xp_ext.exportXLS}</span>
|
||||
<div class="right">
|
||||
<a href="#" class="close" onClick="floaterClose();">{$kga.lang.close}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="help">
|
||||
<div class="content">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="floater_content">
|
||||
|
||||
<form id="xp_ext_form_export_XLS" action="../extensions/ki_export/processor.php" method="post">
|
||||
<fieldset>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<label for="decimal_separator">{$kga.lang.decimal_separator}:</label>
|
||||
<input type="text" value="{$kga.conf.decimalSeparator|escape:'html'}" name="decimal_separator" id="decimal-separator" size="1"/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="reverse_order">{$kga.lang.xp_ext.reverse_order}:</label>
|
||||
<input type="checkbox" value="true" name="reverse_order" id="reverse_order" {if $prefs.reverse_order}checked="checked"{/if}/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
{$kga.lang.xp_ext.dl_hint}
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
{* -------------------------------------------------------------------- *}
|
||||
|
||||
<input name="axAction" type="hidden" value="export_xls" />
|
||||
<input name="axValue" id="axValue" type="hidden" value="" />
|
||||
<input name="first_day" id="first_day" type="hidden" value="" />
|
||||
<input name="last_day" id="last_day" type="hidden" value="" />
|
||||
<input name="axColumns" id="axColumns" type="hidden" value=""/>
|
||||
<input name="timeformat" id="timeformat" type="hidden" value=""/>
|
||||
<input name="dateformat" id="dateformat" type="hidden" value=""/>
|
||||
<input name="default_location" id="default_location" type="hidden" value=""/>
|
||||
<input name="filter_cleared" id="filter_cleared" type="hidden" value=""/>
|
||||
<input name="filter_refundable" id="filter_refundable" type="hidden" value=""/>
|
||||
<input name="filter_type" id="filter_type" type="hidden" value=""/>
|
||||
|
||||
<div id="formbuttons">
|
||||
<input class='btn_norm' type='button' value='{$kga.lang.cancel}' onClick='floaterClose(); return false;' />
|
||||
<input class='btn_ok' type='submit' value='{$kga.lang.submit}' onClick="floaterClose();"/>
|
||||
</div>
|
||||
|
||||
{* -------------------------------------------------------------------- *}
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
55
extensions/ki_export/templates/floaters/help_timeformat.tpl
Normal file
55
extensions/ki_export/templates/floaters/help_timeformat.tpl
Normal file
@@ -0,0 +1,55 @@
|
||||
<div id="floater_innerwrap">
|
||||
|
||||
<div id="floater_handle">
|
||||
<span id="floater_title">{$kga.lang.xp_ext.export_timeformat_help}</span>
|
||||
<div class="right">
|
||||
<a href="#" class="close" onClick="floaterClose();">{$kga.lang.close}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="floater_content">
|
||||
|
||||
<table class="xp_time_help_table">
|
||||
<tr> <td class="xp_time_shortcut">a</td> <td class="xp_time_description">abbreviated weekday name according to the current locale</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">A</td> <td class="xp_time_description">full weekday name according to the current locale</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">b</td> <td class="xp_time_description">abbreviated month name according to the current locale</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">B</td> <td class="xp_time_description">full month name according to the current locale</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">c</td> <td class="xp_time_description">preferred date and time representation for the current locale</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">C</td> <td class="xp_time_description">century number (the year divided by 100 and truncated to an integer, range 00 to 99)</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">d</td> <td class="xp_time_description">day of the month as a decimal number (range 01 to 31)</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">D</td> <td class="xp_time_description">same as m/d/y</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">e</td> <td class="xp_time_description">day of the month as a decimal number, a single digit is preceded by a space (range 1 to 31)</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">g</td> <td class="xp_time_description">Week-based year within century [00,99]</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">G</td> <td class="xp_time_description">Week-based year, including the century [0000,9999]</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">h</td> <td class="xp_time_description">same as b</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">H</td> <td class="xp_time_description">hour as a decimal number using a 24-hour clock (range 00 to 23)</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">I</td> <td class="xp_time_description">hour as a decimal number using a 12-hour clock (range 01 to 12)</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">j</td> <td class="xp_time_description">day of the year as a decimal number (range 001 to 366)</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">k</td> <td class="xp_time_description">Hour (24-hour clock) single digits are preceded by a blank. (range 0 to 23)</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">l</td> <td class="xp_time_description">hour as a decimal number using a 12-hour clock, single digits preceeded by a space (range 1 to 12)</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">m</td> <td class="xp_time_description">month as a decimal number (range 01 to 12)</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">M</td> <td class="xp_time_description">minute as a decimal number</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">n</td> <td class="xp_time_description">newline character</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">p</td> <td class="xp_time_description"> either `am' or `pm' according to the given time value, or the corresponding strings for the current locale</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">r</td> <td class="xp_time_description">time in a.m. and p.m. notation</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">R</td> <td class="xp_time_description">time in 24 hour notation</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">S</td> <td class="xp_time_description">second as a decimal number</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">t</td> <td class="xp_time_description">tab character</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">T</td> <td class="xp_time_description">current time, equal to H:M:S</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">u</td> <td class="xp_time_description">weekday as a decimal number [1,7], with 1 representing Monday</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">U</td> <td class="xp_time_description">week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">V</td> <td class="xp_time_description">The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week
|
||||
1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week.</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">w</td> <td class="xp_time_description">day of the week as a decimal, Sunday being 0</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">W</td> <td class="xp_time_description">week number of the current year as a decimal number, starting with the first Monday
|
||||
as the first day of the first week</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">x</td> <td class="xp_time_description">preferred date representation for the current locale without the time</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">X</td> <td class="xp_time_description">preferred time representation for the current locale without the date</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">y</td> <td class="xp_time_description">year as a decimal number without a century (range 00 to 99)</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">Y</td> <td class="xp_time_description">year as a decimal number including the century</td> </tr>
|
||||
<tr> <td class="xp_time_shortcut">Z</td> <td class="xp_time_description">time zone or name or abbreviation</td> </tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
83
extensions/ki_export/templates/floaters/print.tpl
Normal file
83
extensions/ki_export/templates/floaters/print.tpl
Normal file
@@ -0,0 +1,83 @@
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#help').hide();
|
||||
$('#floater input#timeformat').attr('value',$('#xp_ext_timeformat').attr('value'));
|
||||
$('#floater input#dateformat').attr('value',$('#xp_ext_dateformat').attr('value'));
|
||||
$('#floater input#default_location').attr('value',$('#default_location').attr('value'));
|
||||
$('#floater input#axValue').attr('value',filterUsr.join(":")+'|'+filterKnd.join(":")+'|'+filterPct.join(":")+'|'+filterEvt.join(":"));
|
||||
$('#floater input#filter_cleared').attr('value',$('#xp_ext_tab_filter_cleared').attr('value'));
|
||||
$('#floater input#filter_refundable').attr('value',$('#xp_ext_tab_filter_refundable').attr('value'));
|
||||
$('#floater input#filter_type').attr('value',$('#xp_ext_tab_filter_type').attr('value'));
|
||||
$('#floater input#axColumns').attr('value',xp_enabled_columns());
|
||||
$('.floater_content fieldset label').css('width','200px');
|
||||
|
||||
$('#floater input#first_day').attr('value',new Date($('#pick_in').val()).getTime()/1000);
|
||||
$('#floater input#last_day').attr('value',new Date($('#pick_out').val()).getTime()/1000);
|
||||
});
|
||||
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<div id="floater_innerwrap">
|
||||
|
||||
<div id="floater_handle">
|
||||
<span id="floater_title">{$kga.lang.xp_ext.print}</span>
|
||||
<div class="right">
|
||||
<a href="#" class="close" onClick="floaterClose();">{$kga.lang.close}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="help">
|
||||
<div class="content">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="floater_content">
|
||||
|
||||
|
||||
<form id="xp_ext_form_print" action="../extensions/ki_export/processor.php" method="post" target="_blank">
|
||||
<fieldset>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
{$kga.lang.xp_ext.print_hint}
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="print_summary">{$kga.lang.xp_ext.print_summary}:</label>
|
||||
<input type="checkbox" value="true" name="print_summary" id="print_summary" {if $prefs.print_summary}checked="checked"{/if}>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="reverse_order">{$kga.lang.xp_ext.reverse_order}:</label>
|
||||
<input type="checkbox" value="true" name="reverse_order" id="reverse_order" {if $prefs.reverse_order}checked="checked"{/if}/>
|
||||
</li>
|
||||
</ul>
|
||||
{* -------------------------------------------------------------------- *}
|
||||
|
||||
<input name="axAction" type="hidden" value="export_html" />
|
||||
<input name="axValue" id="axValue" type="hidden" value="" />
|
||||
<input name="first_day" id="first_day" type="hidden" value="" />
|
||||
<input name="last_day" id="last_day" type="hidden" value="" />
|
||||
<input name="axColumns" id="axColumns" type="hidden" value=""/>
|
||||
<input name="timeformat" id="timeformat" type="hidden" value=""/>
|
||||
<input name="dateformat" id="dateformat" type="hidden" value=""/>
|
||||
<input name="default_location" id="default_location" type="hidden" value=""/>
|
||||
<input name="filter_cleared" id="filter_cleared" type="hidden" value=""/>
|
||||
<input name="filter_refundable" id="filter_refundable" type="hidden" value=""/>
|
||||
<input name="filter_type" id="filter_type" type="hidden" value=""/>
|
||||
|
||||
<div id="formbuttons">
|
||||
<input class='btn_norm' type='button' value='{$kga.lang.cancel}' onClick='floaterClose(); return false;' />
|
||||
<input class='btn_ok' type='submit' value='{$kga.lang.submit}' onClick="floaterClose();"/>
|
||||
</div>
|
||||
|
||||
{* -------------------------------------------------------------------- *}
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
235
extensions/ki_export/templates/formats/excel.tpl
Normal file
235
extensions/ki_export/templates/formats/excel.tpl
Normal file
@@ -0,0 +1,235 @@
|
||||
<html xmlns:o="urn:schemas-microsoft-com:office:office"
|
||||
xmlns:x="urn:schemas-microsoft-com:office:excel"
|
||||
xmlns="http://www.w3.org/TR/REC-html40">
|
||||
|
||||
<head>
|
||||
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
|
||||
<style>
|
||||
{literal}
|
||||
.date {
|
||||
mso-number-format:"Short Date";
|
||||
}
|
||||
.time {
|
||||
mso-number-format:"h\:mm\:ss\;\@";
|
||||
}
|
||||
.duration {
|
||||
mso-number-format:"h\:mm\;\@";
|
||||
}
|
||||
.decimal {
|
||||
mso-number-format:Fixed;
|
||||
}
|
||||
{/literal}
|
||||
</style>
|
||||
<!--[if gte mso 9]><xml>
|
||||
<x:ExcelWorkbook>
|
||||
<x:ExcelWorksheets>
|
||||
<x:ExcelWorksheet>
|
||||
<x:Name>Tabelle1</x:Name>
|
||||
<x:WorksheetOptions>
|
||||
<x:DefaultColWidth>10</x:DefaultColWidth>
|
||||
<x:Selected/>
|
||||
<x:Panes>
|
||||
<x:Pane>
|
||||
<x:Number>3</x:Number>
|
||||
<x:ActiveRow>4</x:ActiveRow>
|
||||
<x:ActiveCol>3</x:ActiveCol>
|
||||
</x:Pane>
|
||||
</x:Panes>
|
||||
<x:ProtectContents>False</x:ProtectContents>
|
||||
<x:ProtectObjects>False</x:ProtectObjects>
|
||||
<x:ProtectScenarios>False</x:ProtectScenarios>
|
||||
</x:WorksheetOptions>
|
||||
</x:ExcelWorksheet>
|
||||
</x:ExcelWorksheets>
|
||||
</x:ExcelWorkbook>
|
||||
</xml><![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table>
|
||||
<thead><tr>
|
||||
{*column headers------------------------------------------------*}
|
||||
{ if $columns.date } <td>{$kga.lang.datum}</td> { /if }
|
||||
{ if $columns.from } <td>{$kga.lang.in}</td> { /if }
|
||||
{ if $columns.to } <td>{$kga.lang.out}</td> { /if }
|
||||
{ if $columns.time } <td>{$kga.lang.time}</td> { /if }
|
||||
{ if $columns.dec_time } <td>{$kga.lang.timelabel}</td> { /if }
|
||||
{ if $columns.rate } <td>{$kga.lang.rate}</td> { /if }
|
||||
{ if $columns.wage } <td>{$kga.currency_name}</td> { /if }
|
||||
{ if $columns.knd } <td>{$kga.lang.knd}</td> { /if }
|
||||
{ if $columns.division } <td>Division</td> { /if }
|
||||
{ if $columns.pct } <td>{$kga.lang.pct}</td> { /if }
|
||||
{ if $columns.action } <td>{$kga.lang.evt}</td> { /if }
|
||||
{ if $columns.comment } <td>{$kga.lang.comment}</td> { /if }
|
||||
{ if $columns.location } <td>{$kga.lang.zlocation}</td> { /if }
|
||||
{ if $columns.trackingnr } <td>{$kga.lang.trackingnr}</td> { /if }
|
||||
{ if $columns.user } <td>{$kga.lang.username}</td> { /if }
|
||||
{ if $columns.cleared } <td>{$kga.lang.cleared}</td> { /if }
|
||||
</tr>
|
||||
</thead>
|
||||
{section name=row loop=$arr_data}
|
||||
<tr>
|
||||
{*datum --------------------------------------------------------*}
|
||||
{ if $columns.date }
|
||||
<td class=date>
|
||||
{ if $custom_dateformat }
|
||||
{$arr_data[row].time_in|date_format:$custom_dateformat|escape:'html'}
|
||||
{ else }
|
||||
{$arr_data[row].time_in|date_format:$kga.date_format.1|escape:'html'}
|
||||
{ /if }
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*in -----------------------------------------------------------*}
|
||||
{ if $columns.from }
|
||||
<td align=right class=time>
|
||||
{ if $custom_timeformat }
|
||||
{$arr_data[row].time_in|date_format:$custom_timeformat|escape:'html'}
|
||||
{ else }
|
||||
{$arr_data[row].time_in|date_format:"%H:%M"|escape:'html'}
|
||||
{ /if }
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*out ----------------------------------------------------------*}
|
||||
{ if $columns.to }
|
||||
<td align=right class=time>
|
||||
|
||||
{if $arr_data[row].time_out}
|
||||
{ if $custom_timeformat }
|
||||
{$arr_data[row].time_out|date_format:$custom_timeformat|escape:'html'}
|
||||
{ else }
|
||||
{$arr_data[row].time_out|date_format:"%H:%M"|escape:'html'}
|
||||
{ /if }
|
||||
{else}
|
||||
––:––
|
||||
{/if}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*task time ----------------------------------------------------*}
|
||||
{ if $columns.time }
|
||||
<td align=right class=duration>
|
||||
|
||||
{if $arr_data[row].zef_time}
|
||||
|
||||
{$arr_data[row].zef_duration}
|
||||
|
||||
{else}
|
||||
–:––
|
||||
{/if}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*decimal time --------------------------------------------------*}
|
||||
{ if $columns.dec_time }
|
||||
<td align=right class=decimal>
|
||||
|
||||
{if $arr_data[row].dec_zef_time}
|
||||
{$arr_data[row].dec_zef_time}
|
||||
|
||||
{else}
|
||||
–:––
|
||||
{/if}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*rate ---------------------------------------------------------*}
|
||||
{ if $columns.rate }
|
||||
<td align=right class=decimal>
|
||||
|
||||
{$arr_data[row].zef_rate}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*task wage ----------------------------------------------------*}
|
||||
{ if $columns.wage }
|
||||
<td align=right class=decimal>
|
||||
|
||||
{if $arr_data[row].wage}
|
||||
|
||||
{$arr_data[row].wage}
|
||||
|
||||
{else}
|
||||
–
|
||||
{/if}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*client name --------------------------------------------------*}
|
||||
{ if $columns.knd }
|
||||
<td>
|
||||
{$arr_data[row].knd_name|escape:'html'}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*division name -------------------------------------------------*}
|
||||
{ if $columns.division }
|
||||
<td>
|
||||
{$arr_data[row].division|escape:'html'}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*project name -------------------------------------------------*}
|
||||
{ if $columns.pct }
|
||||
<td>
|
||||
{$arr_data[row].pct_name|escape:'html'}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
|
||||
{*event name and comment bubble --------------------------------*}
|
||||
{ if $columns.action }
|
||||
<td>
|
||||
{$arr_data[row].evt_name|escape:'html'}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*comment -----------------------------------------------------*}
|
||||
{ if $columns.comment }
|
||||
<td>
|
||||
{$arr_data[row].comment|escape:'html'|replace:"\n":" "}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*location ----------------------------------------------------*}
|
||||
{ if $columns.location }
|
||||
<td>
|
||||
{$arr_data[row].location|escape:'html'}
|
||||
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*tracking number ---------------------------------------------*}
|
||||
{ if $columns.trackingnr }
|
||||
<td>
|
||||
{$arr_data[row].trackingnr|escape:'html'}
|
||||
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*user --------------------------------------------------------*}
|
||||
{ if $columns.user }
|
||||
<td>
|
||||
{$arr_data[row].username|escape:'html'}
|
||||
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*cleared -----------------------------------------------------*}
|
||||
{ if $columns.cleared }
|
||||
<td>
|
||||
{if $arr_data[row].cleared}cleared{else}{/if}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
|
||||
</tr>
|
||||
|
||||
{/section}
|
||||
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
403
extensions/ki_export/templates/formats/html.tpl
Normal file
403
extensions/ki_export/templates/formats/html.tpl
Normal file
@@ -0,0 +1,403 @@
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta content="">
|
||||
|
||||
{literal}
|
||||
<style type="text/css" media="all">
|
||||
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
margin-bottom:30px;
|
||||
}
|
||||
fieldset, img { border: 0; }
|
||||
address, caption, cite, code, dfn, em, strong, th, var {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul { list-style: none; }
|
||||
caption, th { text-align: left; }
|
||||
h2 {
|
||||
margin-bottom:10px;
|
||||
}
|
||||
q:before { content: ''; }
|
||||
q:after { content: ''; }
|
||||
abbr, acronym { border: 0; }
|
||||
th {
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
}
|
||||
th {
|
||||
border-right: 1px solid #999999;
|
||||
padding: 5px;
|
||||
}
|
||||
th:first-child { border-left: 1px solid #999999; }
|
||||
td {
|
||||
border-right: 1px solid #999999;
|
||||
padding: 5px;
|
||||
}
|
||||
td:first-child { border-left: 1px solid #999999; }
|
||||
h1 {
|
||||
font-size: 150%;
|
||||
font-weight: bold;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<style type="text/css" media="print">
|
||||
|
||||
body {
|
||||
color: black;
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
th {
|
||||
background: #ccc;
|
||||
border-top: 1px solid #999;
|
||||
border-bottom: 1px solid #999;
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
font-size: 11px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
td {
|
||||
border-bottom: 1px solid #999;
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#div_selectform {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#div_liste {
|
||||
|
||||
}
|
||||
|
||||
#invertbtn, .invertclm {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<style type="text/css" media="screen">
|
||||
body {
|
||||
color: black;
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
font-size: 11px;
|
||||
padding:10px;
|
||||
}
|
||||
|
||||
th {
|
||||
background: #ccc;
|
||||
border-top: 1px solid #999;
|
||||
border-bottom: 1px solid #999;
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
font-size: 11px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
td {
|
||||
border-bottom: 1px solid #999;
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#div_liste {
|
||||
margin-top:10px;
|
||||
float: left;
|
||||
width: 600px;
|
||||
}
|
||||
</style>
|
||||
|
||||
{/literal}
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h2> {$kga.lang.xp_ext.time_period}: {$timespan|escape:'html'} </h2>
|
||||
|
||||
{ if $customersFilter != "" }
|
||||
<br/><b>{$kga.lang.knds}</b>: {$customersFilter|escape:'html'}
|
||||
{/if}
|
||||
{ if $projectsFilter != "" }
|
||||
<br/><b>{$kga.lang.pcts}</b>: {$projectsFilter|escape:'html'}
|
||||
{/if}
|
||||
<br/>
|
||||
|
||||
{if $summary != 0}
|
||||
<h2>{$kga.lang.xp_ext.summary}</h2>
|
||||
|
||||
|
||||
<table border="1">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>{$kga.lang.evt}</th>
|
||||
{ if $columns.dec_time }
|
||||
<th>{$kga.lang.xp_ext.duration}</th>
|
||||
{/if}
|
||||
{ if $columns.wage }
|
||||
<th>{$kga.lang.xp_ext.costs}</th>
|
||||
{/if}
|
||||
</tr>
|
||||
|
||||
{section name=row loop=$summary}
|
||||
<tr>
|
||||
<td>{$summary[row].name|escape:'html'}</td>
|
||||
{ if $columns.dec_time }
|
||||
<td>{if $summary[row].time != -1}
|
||||
{$summary[row].time|escape:'html'}
|
||||
{/if}</td>
|
||||
{/if}
|
||||
{ if $columns.wage }
|
||||
<td>{$summary[row].wage|escape:'html'}</td>
|
||||
{/if}
|
||||
</tr>
|
||||
{/section}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<i>{$kga.lang.xp_ext.finalamount}</i>
|
||||
</td>
|
||||
{ if $columns.dec_time }
|
||||
<td>{$timeSum|number_format:2:$kga.conf.decimalSeparator:""|escape:'html'}</td>
|
||||
{/if}
|
||||
{ if $columns.wage }
|
||||
<td>{$wageSum|number_format:2:$kga.conf.decimalSeparator:""|escape:'html'}</td>
|
||||
{/if}
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
|
||||
<h2>{$kga.lang.xp_ext.full_list}</h2>
|
||||
|
||||
<table border="1">
|
||||
<tbody>
|
||||
|
||||
{*column headers------------------------------------------------*}
|
||||
<tr>
|
||||
{ if $columns.date } <th>{$kga.lang.datum}</th> { /if }
|
||||
{ if $columns.from } <th>{$kga.lang.in}</th> { /if }
|
||||
{ if $columns.to } <th>{$kga.lang.out}</th> { /if }
|
||||
{ if $columns.time } <th>{$kga.lang.time}</th> { /if }
|
||||
{ if $columns.dec_time } <th>{$kga.lang.timelabel}</th> { /if }
|
||||
{ if $columns.rate } <th>{$kga.lang.rate}</th> { /if }
|
||||
{ if $columns.wage } <th>{$kga.currency_name}</th> { /if }
|
||||
{ if $columns.knd } <th>{$kga.lang.knd}</th> { /if }
|
||||
{ if $columns.division } <th>Division</th> { /if }
|
||||
{ if $columns.pct } <th>{$kga.lang.pct}</th> { /if }
|
||||
{ if $columns.action } <th>{$kga.lang.evt}</th> { /if }
|
||||
{ if $columns.comment } <th>{$kga.lang.comment}</th> { /if }
|
||||
{ if $columns.location } <th>{$kga.lang.zlocation}</th> { /if }
|
||||
{ if $columns.trackingnr } <th>{$kga.lang.trackingnr}</th> { /if }
|
||||
{ if $columns.user } <th>{$kga.lang.username}</th> { /if }
|
||||
{ if $columns.cleared } <th>{$kga.lang.cleared}</th> { /if }
|
||||
|
||||
</tr>
|
||||
|
||||
{section name=row loop=$arr_data}
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
{*datum --------------------------------------------------------*}
|
||||
{ if $columns.date }
|
||||
<td>
|
||||
{ if $custom_dateformat }
|
||||
{$arr_data[row].time_in|date_format:$custom_dateformat|escape:'html'}
|
||||
{ else }
|
||||
{$arr_data[row].time_in|date_format:$kga.date_format.1|escape:'html'}
|
||||
{ /if }
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*in -----------------------------------------------------------*}
|
||||
{ if $columns.from }
|
||||
<td>
|
||||
{ if $custom_timeformat }
|
||||
{$arr_data[row].time_in|date_format:$custom_timeformat|escape:'html'}
|
||||
{ else }
|
||||
{$arr_data[row].time_in|date_format:"%H:%M"|escape:'html'}
|
||||
{ /if }
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*out ----------------------------------------------------------*}
|
||||
{ if $columns.to }
|
||||
<td>
|
||||
|
||||
{if $arr_data[row].time_out}
|
||||
{ if $custom_timeformat }
|
||||
{$arr_data[row].time_out|date_format:$custom_timeformat|escape:'html'}
|
||||
{ else }
|
||||
{$arr_data[row].time_out|date_format:"%H:%M"|escape:'html'}
|
||||
{ /if }
|
||||
{else}
|
||||
––:––
|
||||
{/if}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*task time ----------------------------------------------------*}
|
||||
{ if $columns.time }
|
||||
<td>
|
||||
|
||||
{if $arr_data[row].zef_time}
|
||||
|
||||
{$arr_data[row].zef_duration}
|
||||
|
||||
{else}
|
||||
–:––
|
||||
{/if}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*decimal time --------------------------------------------------*}
|
||||
{ if $columns.dec_time }
|
||||
<td>
|
||||
|
||||
{if $arr_data[row].dec_zef_time}
|
||||
{$arr_data[row].dec_zef_time|replace:'.':$kga.conf.decimalSeparator|escape:'html'}
|
||||
|
||||
{else}
|
||||
–:––
|
||||
{/if}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*rate ---------------------------------------------------------*}
|
||||
{ if $columns.rate }
|
||||
<td>
|
||||
|
||||
{$arr_data[row].zef_rate|replace:'.':$kga.conf.decimalSeparator|escape:'html'}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*task wage ----------------------------------------------------*}
|
||||
{ if $columns.wage }
|
||||
<td>
|
||||
|
||||
{if $arr_data[row].wage}
|
||||
|
||||
{$arr_data[row].wage|replace:'.':$kga.conf.decimalSeparator|escape:'html'}
|
||||
|
||||
{else}
|
||||
–
|
||||
{/if}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*client name --------------------------------------------------*}
|
||||
{ if $columns.knd }
|
||||
<td>
|
||||
{$arr_data[row].knd_name|escape:'html'}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*division name -------------------------------------------------*}
|
||||
{ if $columns.division }
|
||||
<td>
|
||||
{$arr_data[row].division|escape:'html'}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*project name -------------------------------------------------*}
|
||||
{ if $columns.pct }
|
||||
<td>
|
||||
{$arr_data[row].pct_name|escape:'html'}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
|
||||
{*event name and comment bubble --------------------------------*}
|
||||
{ if $columns.action }
|
||||
<td>
|
||||
{$arr_data[row].evt_name|escape:'html'}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*comment -----------------------------------------------------*}
|
||||
{ if $columns.comment }
|
||||
<td>
|
||||
{$arr_data[row].comment|escape:'html'|nl2br}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*location ----------------------------------------------------*}
|
||||
{ if $columns.location }
|
||||
<td>
|
||||
{$arr_data[row].location|escape:'html'}
|
||||
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*tracking number ---------------------------------------------*}
|
||||
{ if $columns.trackingnr }
|
||||
<td>
|
||||
{$arr_data[row].trackingnr|escape:'html'}
|
||||
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*user --------------------------------------------------------*}
|
||||
{ if $columns.user }
|
||||
<td>
|
||||
{$arr_data[row].username|escape:'html'}
|
||||
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
{*cleared -----------------------------------------------------*}
|
||||
{ if $columns.cleared }
|
||||
<td>
|
||||
{if $arr_data[row].cleared}{$kga.lang.cleared}{else}{/if}
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
|
||||
</tr>
|
||||
|
||||
{/section}
|
||||
|
||||
{if $timeSum > 0 || $wageSum > 0}
|
||||
<tr>
|
||||
<td colspan="{$columns|@count}">
|
||||
{$kga.lang.xp_ext.finalamount}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
{ if $columns.date } <td></td> {/if}
|
||||
{ if $columns.from } <td></td> {/if}
|
||||
{ if $columns.to }<td></td> {/if}
|
||||
{ if $columns.time } <td></td> {/if}
|
||||
{ if $columns.dec_time } <td>
|
||||
{$timeSum|escape:'html'}
|
||||
</td> {/if}
|
||||
{ if $columns.rate } <td></td> {/if}
|
||||
{ if $columns.wage } <td>
|
||||
{$wageSum|escape:'html'}
|
||||
</td>{/if}
|
||||
{ if $columns.knd } <td></td> {/if}
|
||||
{ if $columns.division } <td></td> {/if}
|
||||
{ if $columns.pct } <td></td> {/if}
|
||||
{ if $columns.action } <td></td> {/if}
|
||||
{ if $columns.comment } <td></td> {/if}
|
||||
{ if $columns.location } <td></td> {/if}
|
||||
{ if $columns.trackingnr } <td></td> {/if}
|
||||
{ if $columns.user } <td></td> {/if}
|
||||
{ if $columns.cleared } <td></td> {/if}
|
||||
</tr>
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
59
extensions/ki_export/templates/main.tpl
Normal file
59
extensions/ki_export/templates/main.tpl
Normal file
@@ -0,0 +1,59 @@
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
xp_ext_onload();
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
<div id="xp_head">
|
||||
<div class="right">
|
||||
<a href="#" onClick="$('#xptable td.cleared>a').click(); return false;">invert</a>
|
||||
</div>
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col class="date" />
|
||||
<col class="from" />
|
||||
<col class="to" />
|
||||
<col class="time" />
|
||||
<col class="dec_time" />
|
||||
<col class="rate" />
|
||||
<col class="wage" />
|
||||
<col class="knd" />
|
||||
<col class="division" />
|
||||
<col class="pct" />
|
||||
<col class="evt" />
|
||||
<col class="comment" />
|
||||
<col class="location" />
|
||||
<col class="trackingnr" />
|
||||
<col class="user" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="date {if $disabled_columns.date}disabled{/if}"><a onClick="xp_toggle_column('date');">{$kga.lang.datum}</a></td>
|
||||
<td class="from {if $disabled_columns.from}disabled{/if}"><a onClick="xp_toggle_column('from');">{$kga.lang.in}</a></td>
|
||||
<td class="to {if $disabled_columns.to}disabled{/if}"><a onClick="xp_toggle_column('to');">{$kga.lang.out}</a></td>
|
||||
<td class="time {if $disabled_columns.time}disabled{/if}"><a onClick="xp_toggle_column('time');">{$kga.lang.time}</a></td>
|
||||
<td class="dec_time {if $disabled_columns.dec_time}disabled{/if}"><a onClick="xp_toggle_column('dec_time');">{$kga.lang.timelabel}</a></td>
|
||||
<td class="rate"><a class="rate {if $disabled_columns.rate}disabled{/if}" onClick="xp_toggle_column('rate');">{$kga.lang.rate_short}</a></td>
|
||||
<td class="wage"><a class="wage {if $disabled_columns.wage}disabled{/if}" onClick="xp_toggle_column('wage');">{$kga.lang.total}</a></td>
|
||||
<td class="knd {if $disabled_columns.knd}disabled{/if}"><a onClick="xp_toggle_column('knd');">{$kga.lang.knd}</a></td>
|
||||
<td class="division {if $disabled_columns.division}disabled{/if}"><a onClick="xp_toggle_column('division');">Division</a></td>
|
||||
<td class="pct {if $disabled_columns.pct}disabled{/if}"><a onClick="xp_toggle_column('pct');">{$kga.lang.pct}</a></td>
|
||||
<td class="evt {if $disabled_columns.evt}disabled{/if}"><a onClick="xp_toggle_column('evt');">{$kga.lang.evt}</a></td>
|
||||
|
||||
<td class="moreinfo" colspan="3">
|
||||
<a class="comment {if $disabled_columns.comment}disabled{/if}" onClick="xp_toggle_column('comment');">{$kga.lang.comment}</a>,
|
||||
<a class="location {if $disabled_columns.location}disabled{/if}" onClick="xp_toggle_column('location');">{$kga.lang.zlocation}</a>,
|
||||
<a class="trackingnr {if $disabled_columns.trackingnr}disabled{/if}" onClick="xp_toggle_column('trackingnr');">{$kga.lang.trackingnr}</a>
|
||||
</td>
|
||||
|
||||
<td class="user {if $disabled_columns.user}disabled{/if}"><a onClick="xp_toggle_column('user');">{$kga.lang.username}</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="xp">{$table_display} </div>
|
||||
76
extensions/ki_export/templates/panel.tpl
Normal file
76
extensions/ki_export/templates/panel.tpl
Normal file
@@ -0,0 +1,76 @@
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
xp_ext_onload();
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
<div id="xp_panel">
|
||||
<div class="w">
|
||||
<div class="c">
|
||||
<div class="w">
|
||||
<div class="c">
|
||||
|
||||
<div id="xp_ext_tab_filter">
|
||||
<select id="xp_ext_tab_filter_cleared" name="cleared" onChange="xp_ext_reload()">
|
||||
<option value="-1" {if !$kga.conf.hideClearedEntries}selected="selected"{/if}>{$kga.lang.xp_ext.cleared_all}</option>
|
||||
<option value="1">{$kga.lang.xp_ext.cleared_cleared}</option>
|
||||
<option value="0" {if $kga.conf.hideClearedEntries}selected="selected"{/if}>{$kga.lang.xp_ext.cleared_open}</option>
|
||||
</select>
|
||||
<select id="xp_ext_tab_filter_refundable" name="refundable" onChange="xp_ext_reload()">
|
||||
<option value="-1" selected="selected">{$kga.lang.xp_ext.refundable_all}</option>
|
||||
<option value="0">{$kga.lang.xp_ext.refundable_refundable}</option>
|
||||
<option value="1">{$kga.lang.xp_ext.refundable_not_refundable}</option>
|
||||
</select>
|
||||
<select id="xp_ext_tab_filter_type" name="type" onChange="xp_ext_reload()">
|
||||
<option value="-1" selected="selected">{$kga.lang.xp_ext.times_and_expenses}</option>
|
||||
<option value="0">{$kga.lang.xp_ext.times}</option>
|
||||
<option value="1">{$kga.lang.xp_ext.expenses}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div id="xp_ext_tab_timeformat">
|
||||
<span>{$kga.lang.xp_ext.timeformat}:<a href="#" class="helpfloater">{$kga.lang.xp_ext.export_timeformat_help}</a></span>
|
||||
<input type="text" name="time_format" value="{$timeformat|escape:'html'}" id="xp_ext_timeformat" onChange="xp_ext_reload()">
|
||||
<span>{$kga.lang.xp_ext.dateformat}:<a href="#" class="helpfloater">{$kga.lang.xp_ext.export_timeformat_help}</a></span>
|
||||
<input type="text" name="date_format" value="{$dateformat|escape:'html'}" id="xp_ext_dateformat" onChange="xp_ext_reload()">
|
||||
</div>
|
||||
|
||||
<div id="xp_ext_tab_location">
|
||||
<span>{$kga.lang.xp_ext.stdrd_location}</span>
|
||||
<input type="text" name="std_loc" value="" id="xp_ext_default_location" onChange="xp_ext_reload()">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="l"> </div><div class="r"> </div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="l">
|
||||
<div class="w">
|
||||
<div class="c">
|
||||
<a id="xp_ext_select_filter" href="#" class="select_btn">{$kga.lang.xp_ext.filter}</a>
|
||||
<a id="xp_ext_select_location" href="#" class="select_btn">{$kga.lang.xp_ext.location}</a>
|
||||
<a id="xp_ext_select_timeformat" href="#" class="select_btn">{$kga.lang.xp_ext.timeformat}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="l"> </div>
|
||||
</div>
|
||||
<div class="r">
|
||||
<div class="w">
|
||||
<div class="c">
|
||||
<a id="xp_ext_export_pdf" href="#" class="output_btn">{$kga.lang.xp_ext.exportPDF}</a>
|
||||
<a id="xp_ext_export_xls" href="#" class="output_btn">{$kga.lang.xp_ext.exportXLS}</a>
|
||||
<a id="xp_ext_export_csv" href="#" class="output_btn">{$kga.lang.xp_ext.exportCSV}</a>
|
||||
<a id="xp_ext_print" href="#" class="output_btn">{$kga.lang.xp_ext.print}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="l"> </div><div class="r"> </div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
398
extensions/ki_export/templates/table.tpl
Normal file
398
extensions/ki_export/templates/table.tpl
Normal file
@@ -0,0 +1,398 @@
|
||||
{cycle values="odd,even" reset=true print=false}
|
||||
{if $arr_data}
|
||||
<div id="xptable">
|
||||
|
||||
<table>
|
||||
|
||||
<colgroup>
|
||||
<col class="date" />
|
||||
<col class="from" />
|
||||
<col class="to" />
|
||||
<col class="time" />
|
||||
<col class="dec_time" />
|
||||
<col class="rate" />
|
||||
<col class="wage" />
|
||||
<col class="client" />
|
||||
<col class="division" />
|
||||
<col class="project" />
|
||||
<col class="action" />
|
||||
<col class="comment" />
|
||||
<col class="location" />
|
||||
<col class="trackingnr" />
|
||||
<col class="user" />
|
||||
<col class="cleared" />
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
|
||||
{assign var="day_buffer" value="0"}
|
||||
{assign var="time_in_buffer" value=0}
|
||||
|
||||
{section name=row loop=$arr_data}
|
||||
|
||||
<tr id="xp{$arr_data[row].type}{$arr_data[row].id}" class="{cycle values="odd,even"} {if !$arr_data[row].time_out}active{/if}
|
||||
{if $arr_data[row].type=="exp"}expense{/if}">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{*datum --------------------------------------------------------*}
|
||||
|
||||
<td class="date
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.date}disabled{/if}
|
||||
">
|
||||
{$arr_data[row].time_in|date_format:$dateformat|escape:'html'}
|
||||
</td>
|
||||
|
||||
{*in -----------------------------------------------------------*}
|
||||
|
||||
<td class="from
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.from}disabled{/if}
|
||||
">
|
||||
{$arr_data[row].time_in|date_format:$timeformat|escape:'html'}
|
||||
</td>
|
||||
|
||||
{*out ----------------------------------------------------------*}
|
||||
|
||||
<td class="to
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.to}disabled{/if}
|
||||
">
|
||||
|
||||
{if $arr_data[row].time_out}
|
||||
{$arr_data[row].time_out|date_format:$timeformat|escape:'html'}
|
||||
{else}
|
||||
––:––
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
{*task time ----------------------------------------------------*}
|
||||
|
||||
<td class="time
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.time}disabled{/if}
|
||||
">
|
||||
|
||||
{if $arr_data[row].zef_time}
|
||||
|
||||
{$arr_data[row].zef_duration}
|
||||
|
||||
{else}
|
||||
–:––
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
{*decimal time --------------------------------------------------*}
|
||||
|
||||
<td class="dec_time
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.dec_time}disabled{/if}
|
||||
">
|
||||
|
||||
{if $arr_data[row].dec_zef_time}
|
||||
|
||||
{$arr_data[row].dec_zef_time|replace:'.':$kga.conf.decimalSeparator|escape:'html'}
|
||||
|
||||
{else}
|
||||
–:––
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
{*rate ---------------------------------------------------------*}
|
||||
|
||||
<td class="rate
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.rate}disabled{/if}
|
||||
">
|
||||
|
||||
{$arr_data[row].zef_rate|replace:'.':$kga.conf.decimalSeparator|escape:'html'}
|
||||
</td>
|
||||
|
||||
{*task wage ----------------------------------------------------*}
|
||||
|
||||
<td class="wage
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.wage}disabled{/if}
|
||||
">
|
||||
|
||||
{if $arr_data[row].wage}
|
||||
|
||||
{$arr_data[row].wage|replace:'.':$kga.conf.decimalSeparator|escape:'html'}
|
||||
|
||||
{else}
|
||||
–
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
{*client name --------------------------------------------------*}
|
||||
|
||||
<td class="knd
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.knd}disabled{/if}
|
||||
">
|
||||
{$arr_data[row].knd_name|escape:'html'}
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
{*division -----------------------------------------------------*}
|
||||
|
||||
<td class="division
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.division}disabled{/if}
|
||||
">
|
||||
{$arr_data[row].division|escape:'html'|nl2br}
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
{*project name -------------------------------------------------*}
|
||||
|
||||
<td class="pct
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.pct}disabled{/if}
|
||||
">
|
||||
|
||||
<a href ="#" class="preselect_lnk"
|
||||
onClick="buzzer_preselect('pct',{$arr_data[row].pct_ID},'{$arr_data[row].pct_name|replace:"'":"\\'"|escape:'html'}',{$arr_data[row].pct_kndID},'{$arr_data[row].knd_name|replace:"'":"\\'"|escape:'html'}');
|
||||
return false;">
|
||||
{$arr_data[row].pct_name|escape:'html'}
|
||||
{if $kga.conf.pct_comment_flag == 1}
|
||||
{if $arr_data[row].pct_comment}
|
||||
<span class="lighter">({$arr_data[row].pct_comment|escape:'html'})</span>
|
||||
{/if}
|
||||
{/if}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
|
||||
{*event name and comment bubble --------------------------------*}
|
||||
|
||||
<td class="evt
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.evt}disabled{/if}
|
||||
">
|
||||
|
||||
<a href ="#" class="preselect_lnk"
|
||||
onClick="buzzer_preselect('evt',{$arr_data[row].zef_evtID},'{$arr_data[row].evt_name|replace:"'":"\\'"|escape:'html'}',0,0);
|
||||
return false;">
|
||||
{$arr_data[row].evt_name|escape:'html'}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
{*comment -----------------------------------------------------*}
|
||||
|
||||
<td class="comment
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.comment}disabled{/if}
|
||||
">
|
||||
{$arr_data[row].comment|escape:'html'|nl2br}
|
||||
|
||||
</td>
|
||||
|
||||
{*location ----------------------------------------------------*}
|
||||
|
||||
<td class="location
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.location}disabled{/if}
|
||||
">
|
||||
{$arr_data[row].location|escape:'html'}
|
||||
|
||||
</td>
|
||||
|
||||
{*tracking number ---------------------------------------------*}
|
||||
|
||||
<td class="trackingnr
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.trackingnr}disabled{/if}
|
||||
">
|
||||
{$arr_data[row].trackingnr|escape:'html'}
|
||||
|
||||
</td>
|
||||
|
||||
{*user --------------------------------------------------------*}
|
||||
|
||||
<td class="user
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.user}disabled{/if}
|
||||
">
|
||||
{$arr_data[row].username|escape:'html'}
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
<td class="cleared
|
||||
{if $arr_data[row].time_in|date_format:"%d" != $day_buffer}
|
||||
{if $kga.show_daySeperatorLines}break_day{/if}
|
||||
{else}
|
||||
{if $arr_data[row].time_out != $time_in_buffer}
|
||||
{if $kga.show_gabBreaks}break_gap{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{if $disabled_columns.cleared}disabled{/if}
|
||||
">
|
||||
<a class ="{if $arr_data[row].cleared}is_cleared{else}isnt_cleared{/if}" href ="#" onClick="xp_toggle_cleared('{$arr_data[row].type}{$arr_data[row].id}'); return false;"></a>
|
||||
</td>
|
||||
|
||||
|
||||
</tr>
|
||||
|
||||
{assign var="day_buffer" value=$arr_data[row].time_in|date_format:"%d"}
|
||||
{assign var="time_in_buffer" value=$arr_data[row].time_in}
|
||||
|
||||
{/section}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{else}
|
||||
<div style='padding:5px;color:#f00'>
|
||||
<strong>{$kga.lang.noEntries}</strong>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<script type="text/javascript">
|
||||
ts_usr_ann = null;
|
||||
ts_knd_ann = null;
|
||||
ts_pct_ann = null;
|
||||
ts_evt_ann = null;
|
||||
ts_total = '{$total}';
|
||||
|
||||
{ if $usr_ann }
|
||||
ts_usr_ann = new Array();
|
||||
{foreach key=id item=value from=$usr_ann}
|
||||
ts_usr_ann[{$id}] = '{$value}';
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
{ if $knd_ann }
|
||||
ts_knd_ann = new Array();
|
||||
{foreach key=id item=value from=$knd_ann}
|
||||
ts_knd_ann[{$id}] = '{$value}';
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
{ if $pct_ann }
|
||||
ts_pct_ann = new Array();
|
||||
{foreach key=id item=value from=$pct_ann}
|
||||
ts_pct_ann[{$id}] = '{$value}';
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
{ if $evt_ann }
|
||||
ts_evt_ann = new Array();
|
||||
{foreach key=id item=value from=$evt_ann}
|
||||
ts_evt_ann[{$id}] = '{$value}';
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
{literal}
|
||||
lists_update_annotations(parseInt($('#gui div.ki_export').attr('id').substring(7)),ts_usr_ann,ts_knd_ann,ts_pct_ann,ts_evt_ann);
|
||||
$('#display_total').html(ts_total);
|
||||
{/literal}
|
||||
|
||||
</script>
|
||||
Reference in New Issue
Block a user