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:
File diff suppressed because one or more lines are too long
@@ -0,0 +1,158 @@
|
||||
<?php /* Smarty version 2.6.20, created on 2017-09-13 18:52:36
|
||||
compiled from edituser.tpl */ ?>
|
||||
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
|
||||
smarty_core_load_plugins(array('plugins' => array(array('modifier', 'escape', 'edituser.tpl', 44, false),array('modifier', 'number_format', 'edituser.tpl', 92, false),array('function', 'html_options', 'edituser.tpl', 109, false),)), $this); ?>
|
||||
<?php echo '
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
var options = {
|
||||
beforeSubmit: function() {
|
||||
|
||||
if ($(\'#password\').val() != \'\' && !validatePassword($(\'#password\').val(),$(\'#retypePassword\').val()))
|
||||
return false;
|
||||
|
||||
floaterClose();
|
||||
},
|
||||
success: function() {
|
||||
hook_chgUsr();
|
||||
ap_ext_refreshSubtab(\'grp\');
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
$(\'#ap_ext_form_editusr\').ajaxForm(options);
|
||||
|
||||
});
|
||||
</script>
|
||||
'; ?>
|
||||
|
||||
|
||||
<div id="floater_innerwrap">
|
||||
|
||||
<div id="floater_handle">
|
||||
<span id="floater_title"><?php echo $this->_tpl_vars['kga']['lang']['editusr']; ?>
|
||||
</span>
|
||||
<div class="right">
|
||||
<a href="#" class="close" onClick="floaterClose();"><?php echo $this->_tpl_vars['kga']['lang']['close']; ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="floater_content">
|
||||
|
||||
<form id="ap_ext_form_editusr" action="../extensions/ki_adminpanel/processor.php" method="post">
|
||||
<fieldset>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<label for="usr_name"><?php echo $this->_tpl_vars['kga']['lang']['username']; ?>
|
||||
:</label>
|
||||
<input class="formfield" type="text" name="usr_name" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['usr_details']['usr_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" maxlength=20 size=20 />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="usr_sts"><?php echo $this->_tpl_vars['kga']['lang']['status']; ?>
|
||||
:</label>
|
||||
|
||||
<?php if ($this->_tpl_vars['usr_details']['usr_sts'] == 1): ?>
|
||||
<select name="usr_sts">
|
||||
<option value="0" <?php if ($this->_tpl_vars['usr_details']['usr_sts'] == 0): ?>selected<?php endif; ?>><?php echo $this->_tpl_vars['kga']['lang']['adminusr']; ?>
|
||||
(!)</option>
|
||||
<option value="1" <?php if ($this->_tpl_vars['usr_details']['usr_sts'] == 1): ?>selected<?php endif; ?>><?php echo $this->_tpl_vars['kga']['lang']['groupleader']; ?>
|
||||
</option>
|
||||
<option value="2" <?php if ($this->_tpl_vars['usr_details']['usr_sts'] == 2): ?>selected<?php endif; ?>><?php echo $this->_tpl_vars['kga']['lang']['regusr']; ?>
|
||||
</option>
|
||||
</select>
|
||||
<?php else: ?>
|
||||
|
||||
|
||||
<?php if ($this->_tpl_vars['curr_user'] == $this->_tpl_vars['usr_details']['usr_name'] && $this->_tpl_vars['usr_details']['usr_sts'] == 0): ?>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['admWarn']; ?>
|
||||
|
||||
<?php else: ?>
|
||||
<select name="usr_sts">
|
||||
<option value="0" <?php if ($this->_tpl_vars['usr_details']['usr_sts'] == 0): ?>selected<?php endif; ?>><?php echo $this->_tpl_vars['kga']['lang']['adminusr']; ?>
|
||||
(!)</option>
|
||||
<option value="2" <?php if ($this->_tpl_vars['usr_details']['usr_sts'] == 2): ?>selected<?php endif; ?>><?php echo $this->_tpl_vars['kga']['lang']['regusr']; ?>
|
||||
</option>
|
||||
</select>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php endif; ?>
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<label for="usr_pw"><?php echo $this->_tpl_vars['kga']['lang']['newPassword']; ?>
|
||||
:</label>
|
||||
<input class="formfield" type="password" name="usr_pw" size="9" id="password" /> <?php echo $this->_tpl_vars['kga']['lang']['minLength']; ?>
|
||||
|
||||
<?php if ($this->_tpl_vars['usr_details']['usr_pw'] == 'no'): ?>
|
||||
|
||||
<br/>
|
||||
<img src="../skins/<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
/grfx/caution_mini.png" alt="Caution" valign=middle />
|
||||
<strong style="color:red"><?php echo $this->_tpl_vars['kga']['lang']['nopassword']; ?>
|
||||
</strong>
|
||||
<?php endif; ?>
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<label for="usr_pw"><?php echo $this->_tpl_vars['kga']['lang']['retypePassword']; ?>
|
||||
:</label>
|
||||
<input class="formfield" type="password" name="retypePassword" id="retypePassword" size="9" />
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<label for="usr_rate"><?php echo $this->_tpl_vars['kga']['lang']['rate']; ?>
|
||||
:</label>
|
||||
<input class="formfield" type="text" name="usr_rate" value="<?php echo ((is_array($_tmp=((is_array($_tmp=$this->_tpl_vars['usr_details']['usr_rate'])) ? $this->_run_mod_handler('number_format', true, $_tmp, 2, $this->_tpl_vars['kga']['conf']['decimalSeparator'], "") : number_format($_tmp, 2, $this->_tpl_vars['kga']['conf']['decimalSeparator'], "")))) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" />
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<label for="usr_mail"><?php echo $this->_tpl_vars['kga']['lang']['mail']; ?>
|
||||
:</label>
|
||||
<input class="formfield" type="text" name="usr_mail" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['usr_details']['usr_mail'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="usr_alias"><?php echo $this->_tpl_vars['kga']['lang']['alias']; ?>
|
||||
:</label>
|
||||
<input class="formfield" type="text" name="usr_alias" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['usr_details']['usr_alias'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="usr_grp"><?php echo $this->_tpl_vars['kga']['lang']['group']; ?>
|
||||
:</label>
|
||||
<select class="formfield" name="usr_grp">
|
||||
<?php echo smarty_function_html_options(array('values' => $this->_tpl_vars['arr_grp_ID'],'output' => $this->_tpl_vars['arr_grp_name'],'selected' => $this->_tpl_vars['usr_details']['usr_grp']), $this);?>
|
||||
|
||||
</select>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<input name="id" type="hidden" value="<?php echo $this->_tpl_vars['usr_details']['usr_ID']; ?>
|
||||
" />
|
||||
<input name="axAction" type="hidden" value="sendEditUsr" />
|
||||
|
||||
<div id="formbuttons">
|
||||
<input class='btn_norm' type='button' value='<?php echo $this->_tpl_vars['kga']['lang']['cancel']; ?>
|
||||
' onClick='floaterClose(); return false;' />
|
||||
<input class='btn_ok' type='submit' value='<?php echo $this->_tpl_vars['kga']['lang']['submit']; ?>
|
||||
' />
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
113
extensions/ki_adminpanel/compile/%%32^32B^32BF34C2%%knd.tpl.php
Normal file
113
extensions/ki_adminpanel/compile/%%32^32B^32BF34C2%%knd.tpl.php
Normal file
@@ -0,0 +1,113 @@
|
||||
<?php /* Smarty version 2.6.20, created on 2015-01-18 19:25:45
|
||||
compiled from knd.tpl */ ?>
|
||||
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
|
||||
smarty_core_load_plugins(array('plugins' => array(array('modifier', 'escape', 'knd.tpl', 1, false),array('function', 'cycle', 'knd.tpl', 4, false),)), $this); ?>
|
||||
<a href="#" onClick="floaterShow('floaters.php','add_edit_knd',0,0,450,200); $(this).blur(); return false;"><img src="../skins/<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
/grfx/add.png" width="22" height="16" alt="<?php echo $this->_tpl_vars['kga']['lang']['new_knd']; ?>
|
||||
"></a> <?php echo $this->_tpl_vars['kga']['lang']['new_knd']; ?>
|
||||
|
||||
<br/><br/>
|
||||
|
||||
<?php echo smarty_function_cycle(array('values' => "odd,even",'reset' => true,'print' => false), $this);?>
|
||||
|
||||
<table>
|
||||
|
||||
<thead>
|
||||
<tr class='headerrow'>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['options']; ?>
|
||||
</th>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['knds']; ?>
|
||||
</th>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['contactPerson']; ?>
|
||||
</th>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['groups']; ?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tbody>
|
||||
|
||||
<?php unset($this->_sections['row']);
|
||||
$this->_sections['row']['name'] = 'row';
|
||||
$this->_sections['row']['loop'] = is_array($_loop=$this->_tpl_vars['arr_knd']) ? count($_loop) : max(0, (int)$_loop); unset($_loop);
|
||||
$this->_sections['row']['show'] = true;
|
||||
$this->_sections['row']['max'] = $this->_sections['row']['loop'];
|
||||
$this->_sections['row']['step'] = 1;
|
||||
$this->_sections['row']['start'] = $this->_sections['row']['step'] > 0 ? 0 : $this->_sections['row']['loop']-1;
|
||||
if ($this->_sections['row']['show']) {
|
||||
$this->_sections['row']['total'] = $this->_sections['row']['loop'];
|
||||
if ($this->_sections['row']['total'] == 0)
|
||||
$this->_sections['row']['show'] = false;
|
||||
} else
|
||||
$this->_sections['row']['total'] = 0;
|
||||
if ($this->_sections['row']['show']):
|
||||
|
||||
for ($this->_sections['row']['index'] = $this->_sections['row']['start'], $this->_sections['row']['iteration'] = 1;
|
||||
$this->_sections['row']['iteration'] <= $this->_sections['row']['total'];
|
||||
$this->_sections['row']['index'] += $this->_sections['row']['step'], $this->_sections['row']['iteration']++):
|
||||
$this->_sections['row']['rownum'] = $this->_sections['row']['iteration'];
|
||||
$this->_sections['row']['index_prev'] = $this->_sections['row']['index'] - $this->_sections['row']['step'];
|
||||
$this->_sections['row']['index_next'] = $this->_sections['row']['index'] + $this->_sections['row']['step'];
|
||||
$this->_sections['row']['first'] = ($this->_sections['row']['iteration'] == 1);
|
||||
$this->_sections['row']['last'] = ($this->_sections['row']['iteration'] == $this->_sections['row']['total']);
|
||||
?>
|
||||
<?php if ($this->_tpl_vars['arr_knd'][$this->_sections['row']['index']]['knd_visible'] || $this->_tpl_vars['arr_knd'][$this->_sections['row']['index']]['zeit'] != "0:00"): ?>
|
||||
|
||||
<tr class="<?php echo smarty_function_cycle(array('values' => "odd,even"), $this);?>
|
||||
">
|
||||
|
||||
<td class="option">
|
||||
<a href ="#" onClick="editSubject('knd',<?php echo $this->_tpl_vars['arr_knd'][$this->_sections['row']['index']]['knd_ID']; ?>
|
||||
); $(this).blur(); return false;">
|
||||
<img src='../skins/<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
/grfx/edit2.gif' width='13' height='13' alt='<?php echo $this->_tpl_vars['kga']['lang']['edit']; ?>
|
||||
' title='<?php echo $this->_tpl_vars['kga']['lang']['edit']; ?>
|
||||
' border='0' />
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="#" id="delete_knd<?php echo $this->_tpl_vars['arr_knd'][$this->_sections['row']['index']]['knd_ID']; ?>
|
||||
" onClick="ap_ext_deleteCustomer(<?php echo $this->_tpl_vars['arr_knd'][$this->_sections['row']['index']]['knd_ID']; ?>
|
||||
)">
|
||||
<img src="../skins/<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
/grfx/button_trashcan.png" title="<?php echo $this->_tpl_vars['kga']['lang']['delknd']; ?>
|
||||
" width="13" height="13" alt="<?php echo $this->_tpl_vars['kga']['lang']['delknd']; ?>
|
||||
" border="0">
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td class="clients">
|
||||
<?php if ($this->_tpl_vars['arr_knd'][$this->_sections['row']['index']]['knd_visible'] != 1): ?><span style="color:#bbb"><?php endif; ?>
|
||||
<?php echo ((is_array($_tmp=$this->_tpl_vars['arr_knd'][$this->_sections['row']['index']]['knd_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
|
||||
<?php if ($this->_tpl_vars['arr_knd'][$this->_sections['row']['index']]['knd_visible'] != 1): ?></span><?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<?php echo ((is_array($_tmp=$this->_tpl_vars['arr_knd'][$this->_sections['row']['index']]['knd_contact'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<?php echo ((is_array($_tmp=$this->_tpl_vars['arr_knd'][$this->_sections['row']['index']]['groups'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<?php endfor; endif; ?>
|
||||
|
||||
<?php if ($this->_tpl_vars['arr_knd'] == '0'): ?>
|
||||
<tr>
|
||||
<td colspan='3'>
|
||||
<strong style="color:red"><?php echo $this->_tpl_vars['kga']['lang']['noItems']; ?>
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php /* Smarty version 2.6.20, created on 2015-01-18 19:25:45
|
||||
compiled from database.tpl */ ?>
|
||||
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
|
||||
smarty_core_load_plugins(array('plugins' => array(array('modifier', 'escape', 'database.tpl', 1, false),)), $this); ?>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['DBname']; ?>
|
||||
: <?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['server_database'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<a href="../db_restore.php">Database Backup Utility</a>
|
||||
124
extensions/ki_adminpanel/compile/%%72^72D^72DAF6E8%%main.tpl.php
Normal file
124
extensions/ki_adminpanel/compile/%%72^72D^72DAF6E8%%main.tpl.php
Normal file
@@ -0,0 +1,124 @@
|
||||
<?php /* Smarty version 2.6.20, created on 2017-09-08 09:07:00
|
||||
compiled from main.tpl */ ?>
|
||||
<?php echo '
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
ap_ext_onload();
|
||||
});
|
||||
</script>
|
||||
'; ?>
|
||||
|
||||
|
||||
<div id="ap_ext_panel">
|
||||
|
||||
|
||||
<div id="ap_ext_sub5">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(5)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['knds']; ?>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s5" class="ap_ext_subtab ap_ext_subject">
|
||||
<?php echo $this->_tpl_vars['knd_display']; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="ap_ext_sub6">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(6)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['pcts']; ?>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s6" class="ap_ext_subtab ap_ext_subject">
|
||||
<?php echo $this->_tpl_vars['pct_display']; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="ap_ext_sub7">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(7)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['evts']; ?>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s7" class="ap_ext_subtab ap_ext_subject">
|
||||
<?php echo $this->_tpl_vars['evt_display']; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if ($this->_tpl_vars['kga']['usr']['usr_sts'] == 0): ?>
|
||||
<div id="ap_ext_sub1">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(1)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['users']; ?>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s1" class="ap_ext_subtab ap_ext_4cols">
|
||||
<?php echo $this->_tpl_vars['admin']['users']; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div id="ap_ext_sub2">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(2)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['groups']; ?>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s2" class="ap_ext_subtab ap_ext_4cols">
|
||||
<?php echo $this->_tpl_vars['admin']['groups']; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if ($this->_tpl_vars['kga']['usr']['usr_sts'] == 0): ?>
|
||||
<div id="ap_ext_sub3">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(3)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['advanced']; ?>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s3" class="ap_ext_subtab ap_ext_4cols">
|
||||
<?php echo $this->_tpl_vars['admin']['advanced']; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($this->_tpl_vars['kga']['usr']['usr_sts'] == 0): ?>
|
||||
<div id="ap_ext_sub4">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(4)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['database']; ?>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s4" class="ap_ext_subtab ap_ext_4cols">
|
||||
<?php echo $this->_tpl_vars['admin']['database']; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
<?php /* Smarty version 2.6.20, created on 2015-01-18 19:25:45
|
||||
compiled from groups.tpl */ ?>
|
||||
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
|
||||
smarty_core_load_plugins(array('plugins' => array(array('function', 'cycle', 'groups.tpl', 19, false),array('modifier', 'escape', 'groups.tpl', 23, false),)), $this); ?>
|
||||
<form>
|
||||
<input type=text id="newgroup" class="formfield"></input>
|
||||
<input class='btn_ok' type=submit value="<?php echo $this->_tpl_vars['kga']['lang']['addgroup']; ?>
|
||||
" onclick="ap_ext_newGroup(); return false;">
|
||||
</form>
|
||||
<br />
|
||||
<table>
|
||||
<thead>
|
||||
<tr class='headerrow'>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['group']; ?>
|
||||
</th>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['options']; ?>
|
||||
</th>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['members']; ?>
|
||||
</th>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['groupleader']; ?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
|
||||
<?php unset($this->_sections['grouparray']);
|
||||
$this->_sections['grouparray']['name'] = 'grouparray';
|
||||
$this->_sections['grouparray']['loop'] = is_array($_loop=$this->_tpl_vars['arr_grp']) ? count($_loop) : max(0, (int)$_loop); unset($_loop);
|
||||
$this->_sections['grouparray']['show'] = true;
|
||||
$this->_sections['grouparray']['max'] = $this->_sections['grouparray']['loop'];
|
||||
$this->_sections['grouparray']['step'] = 1;
|
||||
$this->_sections['grouparray']['start'] = $this->_sections['grouparray']['step'] > 0 ? 0 : $this->_sections['grouparray']['loop']-1;
|
||||
if ($this->_sections['grouparray']['show']) {
|
||||
$this->_sections['grouparray']['total'] = $this->_sections['grouparray']['loop'];
|
||||
if ($this->_sections['grouparray']['total'] == 0)
|
||||
$this->_sections['grouparray']['show'] = false;
|
||||
} else
|
||||
$this->_sections['grouparray']['total'] = 0;
|
||||
if ($this->_sections['grouparray']['show']):
|
||||
|
||||
for ($this->_sections['grouparray']['index'] = $this->_sections['grouparray']['start'], $this->_sections['grouparray']['iteration'] = 1;
|
||||
$this->_sections['grouparray']['iteration'] <= $this->_sections['grouparray']['total'];
|
||||
$this->_sections['grouparray']['index'] += $this->_sections['grouparray']['step'], $this->_sections['grouparray']['iteration']++):
|
||||
$this->_sections['grouparray']['rownum'] = $this->_sections['grouparray']['iteration'];
|
||||
$this->_sections['grouparray']['index_prev'] = $this->_sections['grouparray']['index'] - $this->_sections['grouparray']['step'];
|
||||
$this->_sections['grouparray']['index_next'] = $this->_sections['grouparray']['index'] + $this->_sections['grouparray']['step'];
|
||||
$this->_sections['grouparray']['first'] = ($this->_sections['grouparray']['iteration'] == 1);
|
||||
$this->_sections['grouparray']['last'] = ($this->_sections['grouparray']['iteration'] == $this->_sections['grouparray']['total']);
|
||||
?>
|
||||
<tr class='<?php echo smarty_function_cycle(array('values' => "even,odd"), $this);?>
|
||||
'>
|
||||
|
||||
<td>
|
||||
<?php if ($this->_tpl_vars['arr_grp'][$this->_sections['grouparray']['index']]['grp_ID'] == 1): ?>
|
||||
<span style="color:red"><?php echo ((is_array($_tmp=$this->_tpl_vars['arr_grp'][$this->_sections['grouparray']['index']]['grp_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
</span>
|
||||
<?php else: ?>
|
||||
<?php echo ((is_array($_tmp=$this->_tpl_vars['arr_grp'][$this->_sections['grouparray']['index']]['grp_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
<td><?php echo '<a href="#" onClick="ap_ext_editGroup(\''; ?><?php echo $this->_tpl_vars['arr_grp'][$this->_sections['grouparray']['index']]['grp_ID']; ?><?php echo '\'); $(this).blur(); return false;"><img src="../skins/'; ?><?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?><?php echo '/grfx/edit2.gif" title="'; ?><?php echo $this->_tpl_vars['kga']['lang']['editgrp']; ?><?php echo '" width="13" height="13" alt="'; ?><?php echo $this->_tpl_vars['kga']['lang']['editgrp']; ?><?php echo '" border="0"></a> '; ?><?php echo ''; ?><?php if ($this->_tpl_vars['arr_grp'][$this->_sections['grouparray']['index']]['count_users'] == 0): ?><?php echo '<a href="#" onClick="ap_ext_deleteGroup('; ?><?php echo $this->_tpl_vars['arr_grp'][$this->_sections['grouparray']['index']]['grp_ID']; ?><?php echo ')"><img src="../skins/'; ?><?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?><?php echo '/grfx/button_trashcan.png" title="'; ?><?php echo $this->_tpl_vars['kga']['lang']['delgrp']; ?><?php echo '" width="13" height="13" alt="'; ?><?php echo $this->_tpl_vars['kga']['lang']['delgrp']; ?><?php echo '" border="0"></a>'; ?><?php else: ?><?php echo '<img src="../skins/'; ?><?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?><?php echo '/grfx/button_trashcan_.png" title="'; ?><?php echo $this->_tpl_vars['kga']['lang']['delgrp']; ?><?php echo '" width="13" height="13" alt="'; ?><?php echo $this->_tpl_vars['kga']['lang']['delgrp']; ?><?php echo '" border="0">'; ?><?php endif; ?><?php echo ''; ?>
|
||||
</td>
|
||||
|
||||
<td><?php echo $this->_tpl_vars['arr_grp'][$this->_sections['grouparray']['index']]['count_users']; ?>
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
<td>
|
||||
<?php $_from = $this->_tpl_vars['arr_grp'][$this->_sections['grouparray']['index']]['leader_name']; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array'); }if (count($_from)):
|
||||
foreach ($_from as $this->_tpl_vars['leader']):
|
||||
?>
|
||||
<?php echo ((is_array($_tmp=$this->_tpl_vars['leader'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
|
||||
<?php endforeach; endif; unset($_from); ?>
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
</tr>
|
||||
<?php endfor; endif; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
112
extensions/ki_adminpanel/compile/%%8B^8B1^8B1878AA%%pct.tpl.php
Normal file
112
extensions/ki_adminpanel/compile/%%8B^8B1^8B1878AA%%pct.tpl.php
Normal file
@@ -0,0 +1,112 @@
|
||||
<?php /* Smarty version 2.6.20, created on 2015-01-18 19:25:45
|
||||
compiled from pct.tpl */ ?>
|
||||
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
|
||||
smarty_core_load_plugins(array('plugins' => array(array('modifier', 'escape', 'pct.tpl', 1, false),array('modifier', 'truncate', 'pct.tpl', 37, false),array('function', 'cycle', 'pct.tpl', 4, false),)), $this); ?>
|
||||
<a href="#" onClick="floaterShow('floaters.php','add_edit_pct',0,0,450,200); $(this).blur(); return false;"><img src="../skins/<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
/grfx/add.png" width="22" height="16" alt="<?php echo $this->_tpl_vars['kga']['lang']['new_pct']; ?>
|
||||
"></a> <?php echo $this->_tpl_vars['kga']['lang']['new_pct']; ?>
|
||||
|
||||
<br/><br/>
|
||||
|
||||
<?php echo smarty_function_cycle(array('values' => "odd,even",'reset' => true,'print' => false), $this);?>
|
||||
|
||||
<table>
|
||||
|
||||
<thead>
|
||||
<tr class='headerrow'>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['options']; ?>
|
||||
</th>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['pcts']; ?>
|
||||
</th>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['groups']; ?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tbody>
|
||||
|
||||
<?php unset($this->_sections['row']);
|
||||
$this->_sections['row']['name'] = 'row';
|
||||
$this->_sections['row']['loop'] = is_array($_loop=$this->_tpl_vars['arr_pct']) ? count($_loop) : max(0, (int)$_loop); unset($_loop);
|
||||
$this->_sections['row']['show'] = true;
|
||||
$this->_sections['row']['max'] = $this->_sections['row']['loop'];
|
||||
$this->_sections['row']['step'] = 1;
|
||||
$this->_sections['row']['start'] = $this->_sections['row']['step'] > 0 ? 0 : $this->_sections['row']['loop']-1;
|
||||
if ($this->_sections['row']['show']) {
|
||||
$this->_sections['row']['total'] = $this->_sections['row']['loop'];
|
||||
if ($this->_sections['row']['total'] == 0)
|
||||
$this->_sections['row']['show'] = false;
|
||||
} else
|
||||
$this->_sections['row']['total'] = 0;
|
||||
if ($this->_sections['row']['show']):
|
||||
|
||||
for ($this->_sections['row']['index'] = $this->_sections['row']['start'], $this->_sections['row']['iteration'] = 1;
|
||||
$this->_sections['row']['iteration'] <= $this->_sections['row']['total'];
|
||||
$this->_sections['row']['index'] += $this->_sections['row']['step'], $this->_sections['row']['iteration']++):
|
||||
$this->_sections['row']['rownum'] = $this->_sections['row']['iteration'];
|
||||
$this->_sections['row']['index_prev'] = $this->_sections['row']['index'] - $this->_sections['row']['step'];
|
||||
$this->_sections['row']['index_next'] = $this->_sections['row']['index'] + $this->_sections['row']['step'];
|
||||
$this->_sections['row']['first'] = ($this->_sections['row']['iteration'] == 1);
|
||||
$this->_sections['row']['last'] = ($this->_sections['row']['iteration'] == $this->_sections['row']['total']);
|
||||
?>
|
||||
<?php if ($this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_visible'] || $this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['zeit'] != "0:00"): ?>
|
||||
<tr class="<?php echo smarty_function_cycle(array('values' => "odd,even"), $this);?>
|
||||
">
|
||||
|
||||
<td class="option">
|
||||
<a href ="#" onClick="editSubject('pct',<?php echo $this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_ID']; ?>
|
||||
); $(this).blur(); return false;">
|
||||
<img src='../skins/<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
/grfx/edit2.gif' width='13' height='13' alt='<?php echo $this->_tpl_vars['kga']['lang']['edit']; ?>
|
||||
' title='<?php echo $this->_tpl_vars['kga']['lang']['edit']; ?>
|
||||
' border='0' />
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="#" id="delete_pct<?php echo $this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_ID']; ?>
|
||||
" onClick="ap_ext_deleteProject(<?php echo $this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_ID']; ?>
|
||||
)">
|
||||
<img src="../skins/<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
/grfx/button_trashcan.png" title="<?php echo $this->_tpl_vars['kga']['lang']['delpct']; ?>
|
||||
" width="13" height="13" alt="<?php echo $this->_tpl_vars['kga']['lang']['delpct']; ?>
|
||||
" border="0">
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td class="projects">
|
||||
<?php if ($this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_visible'] != 1): ?><span style="color:#bbb"><?php endif; ?>
|
||||
<?php if ($this->_tpl_vars['kga']['conf']['flip_pct_display']): ?>
|
||||
<span class="lighter"><?php echo ((is_array($_tmp=((is_array($_tmp=$this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['knd_name'])) ? $this->_run_mod_handler('truncate', true, $_tmp, 30, "...") : smarty_modifier_truncate($_tmp, 30, "...")))) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
:</span> <?php echo ((is_array($_tmp=$this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
|
||||
<?php else: ?>
|
||||
<?php echo ((is_array($_tmp=$this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
<span class="lighter">(<?php echo ((is_array($_tmp=((is_array($_tmp=$this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['knd_name'])) ? $this->_run_mod_handler('truncate', true, $_tmp, 30, "...") : smarty_modifier_truncate($_tmp, 30, "...")))) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
)</span>
|
||||
<?php endif; ?>
|
||||
<?php if ($this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_visible'] != 1): ?></span><?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<?php echo ((is_array($_tmp=$this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['groups'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<?php endfor; endif; ?>
|
||||
|
||||
<?php if ($this->_tpl_vars['arr_pct'] == '0'): ?>
|
||||
<tr>
|
||||
<td colspan='3'>
|
||||
<strong style="color:red"><?php echo $this->_tpl_vars['kga']['lang']['noItems']; ?>
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php /* Smarty version 2.6.20, created on 2015-01-19 23:33:08
|
||||
compiled from editgroup.tpl */ ?>
|
||||
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
|
||||
smarty_core_load_plugins(array('plugins' => array(array('modifier', 'escape', 'editgroup.tpl', 28, false),array('function', 'html_options', 'editgroup.tpl', 34, false),)), $this); ?>
|
||||
<?php echo '
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$(\'#ap_ext_form_editgrp\').ajaxForm(function() {
|
||||
floaterClose();
|
||||
ap_ext_refreshSubtab(\'grp\');
|
||||
ap_ext_refreshSubtab(\'usr\');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
'; ?>
|
||||
|
||||
|
||||
<div id="floater_innerwrap">
|
||||
|
||||
<div id="floater_handle">
|
||||
<span id="floater_title"><?php echo $this->_tpl_vars['kga']['lang']['editgrp']; ?>
|
||||
</span>
|
||||
<div class="right">
|
||||
<a href="#" class="close" onClick="floaterClose();"><?php echo $this->_tpl_vars['kga']['lang']['close']; ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="floater_content">
|
||||
<form id="ap_ext_form_editgrp" action="../extensions/ki_adminpanel/processor.php" method="post">
|
||||
<fieldset>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="grp_name"><?php echo $this->_tpl_vars['kga']['lang']['groupname']; ?>
|
||||
:</label>
|
||||
<input class="formfield" type="text" name="grp_name" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['grp_details']['grp_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" size=35 />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="grp_leader" ><?php echo $this->_tpl_vars['kga']['lang']['groupleader']; ?>
|
||||
:</label>
|
||||
<select class="formfield" name="grp_leader[]" multiple size='5' style="width:255px">
|
||||
<?php echo smarty_function_html_options(array('values' => $this->_tpl_vars['arr_usr_ID'],'output' => $this->_tpl_vars['arr_usr_name'],'selected' => $this->_tpl_vars['grp_selection']), $this);?>
|
||||
|
||||
</select>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<input name="id" type="hidden" value="<?php echo $this->_tpl_vars['grp_details']['grp_ID']; ?>
|
||||
" />
|
||||
<input name="axAction" type="hidden" value="sendEditGrp" />
|
||||
<div id="formbuttons">
|
||||
<input class='btn_norm' type='button' value='<?php echo $this->_tpl_vars['kga']['lang']['cancel']; ?>
|
||||
' onClick='floaterClose(); return false;' />
|
||||
<input class='btn_ok' type='submit' value='<?php echo $this->_tpl_vars['kga']['lang']['submit']; ?>
|
||||
' />
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,181 @@
|
||||
<?php /* Smarty version 2.6.20, created on 2015-01-18 19:25:45
|
||||
compiled from advanced.tpl */ ?>
|
||||
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
|
||||
smarty_core_load_plugins(array('plugins' => array(array('modifier', 'escape', 'advanced.tpl', 28, false),array('function', 'html_options', 'advanced.tpl', 43, false),)), $this); ?>
|
||||
<?php echo '
|
||||
<script type="text/javascript">
|
||||
function cb(data) {
|
||||
if (data=="ok") {
|
||||
window.location.reload();
|
||||
return;
|
||||
}
|
||||
$("#ap_ext_form_editadv_submit").blur();
|
||||
$("#ap_ext_output").width($(".ap_ext_panel_header").width()-22);
|
||||
$("#ap_ext_output").fadeIn(fading_enabled?500:0,function(){
|
||||
$("#ap_ext_output").fadeOut(fading_enabled?4000:0);
|
||||
});
|
||||
}
|
||||
$(document).ready(function() {
|
||||
$(\'#ap_ext_form_editadv\').ajaxForm({target:\'#ap_ext_output\',success:cb});
|
||||
});
|
||||
</script>
|
||||
'; ?>
|
||||
|
||||
|
||||
<div class="content">
|
||||
|
||||
<div id="ap_ext_output"></div>
|
||||
|
||||
<form id="ap_ext_form_editadv" action="../extensions/ki_adminpanel/processor.php" method="post">
|
||||
|
||||
<fieldset class="ap_ext_advanced">
|
||||
<div>
|
||||
<input type="text" name="adminmail" size="20" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['adminmail'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['adminmail']; ?>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" name="logintries" size="2" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['loginTries'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['logintries']; ?>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" name="loginbantime" size="4" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['loginBanTime'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['bantime']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="ap_ext_checkupdate">
|
||||
<a href="javascript:ap_ext_checkupdate();"><?php echo $this->_tpl_vars['kga']['lang']['checkupdate']; ?>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['lang']; ?>
|
||||
: <select name="language" class="formfield">
|
||||
<?php echo smarty_function_html_options(array('values' => $this->_tpl_vars['languages'],'output' => $this->_tpl_vars['languages'],'selected' => $this->_tpl_vars['kga']['conf']['language']), $this);?>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_sensible_data" <?php if ($this->_tpl_vars['kga']['show_sensible_data']): ?>checked="checked"<?php endif; ?> value="1" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['show_sensible_data']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_update_warn" <?php if ($this->_tpl_vars['kga']['show_update_warn']): ?>checked="checked"<?php endif; ?> value="1" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['show_update_warn']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="check_at_startup" <?php if ($this->_tpl_vars['kga']['check_at_startup']): ?>checked="checked"<?php endif; ?> value="1" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['check_at_startup']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_daySeperatorLines" <?php if ($this->_tpl_vars['kga']['show_daySeperatorLines']): ?>checked="checked"<?php endif; ?> value="1" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['show_daySeperatorLines']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_gabBreaks" <?php if ($this->_tpl_vars['kga']['show_gabBreaks']): ?>checked="checked"<?php endif; ?> value="1" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['show_gabBreaks']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_RecordAgain" <?php if ($this->_tpl_vars['kga']['show_RecordAgain']): ?>checked="checked"<?php endif; ?> value="1" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['show_RecordAgain']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_TrackingNr" <?php if ($this->_tpl_vars['kga']['show_TrackingNr']): ?>checked="checked"<?php endif; ?> value="1" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['show_TrackingNr']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="text" name="currency_name" size="8" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['currency_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['currency_name']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="text" name="currency_sign" size="2" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['currency_sign'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['currency_sign']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="currency_first" <?php if ($this->_tpl_vars['kga']['conf']['currency_first']): ?>checked="checked"<?php endif; ?> value="1" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['currency_first']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="text" name="date_format_2" size="8" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['date_format']['2'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['display_date_format']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="text" name="date_format_0" size="8" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['date_format']['0'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['display_currentDate_format']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="text" name="date_format_1" size="8" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['date_format']['1'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['table_date_format']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="durationWithSeconds" <?php if ($this->_tpl_vars['kga']['conf']['durationWithSeconds']): ?>checked="checked"<?php endif; ?> value="1" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['durationWithSeconds']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['round_time']; ?>
|
||||
<select name="roundPrecision" class="formfield">
|
||||
<option value="0" <?php if ($this->_tpl_vars['kga']['conf']['roundPrecision'] == 0): ?>selected="selected"<?php endif; ?>>-</option>
|
||||
<option value="1" <?php if ($this->_tpl_vars['kga']['conf']['roundPrecision'] == 1): ?>selected="selected"<?php endif; ?>>1</option>
|
||||
<option value="5" <?php if ($this->_tpl_vars['kga']['conf']['roundPrecision'] == 5): ?>selected="selected"<?php endif; ?>>5</option>
|
||||
<option value="10" <?php if ($this->_tpl_vars['kga']['conf']['roundPrecision'] == 10): ?>selected="selected"<?php endif; ?>>10</option>
|
||||
<option value="15" <?php if ($this->_tpl_vars['kga']['conf']['roundPrecision'] == 15): ?>selected="selected"<?php endif; ?>>15</option>
|
||||
<option value="15" <?php if ($this->_tpl_vars['kga']['conf']['roundPrecision'] == 20): ?>selected="selected"<?php endif; ?>>20</option>
|
||||
<option value="30" <?php if ($this->_tpl_vars['kga']['conf']['roundPrecision'] == 30): ?>selected="selected"<?php endif; ?>>30</option>
|
||||
</select> <?php echo $this->_tpl_vars['kga']['lang']['round_time_minute']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['decimal_separator']; ?>
|
||||
: <input type="text" name="decimalSeparator" size="1" value="<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['decimalSeparator'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
" class="formfield">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<select name="defaultTimezone">
|
||||
<?php echo smarty_function_html_options(array('values' => $this->_tpl_vars['timezones'],'output' => $this->_tpl_vars['timezones'],'selected' => $this->_tpl_vars['kga']['conf']['defaultTimezone']), $this);?>
|
||||
|
||||
</select> <?php echo $this->_tpl_vars['kga']['lang']['defaultTimezone']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="exactSums" <?php if ($this->_tpl_vars['kga']['conf']['exactSums']): ?>checked="checked"<?php endif; ?> value="1" class="formfield"> <?php echo $this->_tpl_vars['kga']['lang']['exactSums']; ?>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<input name="axAction" type="hidden" value="sendEditAdvanced" />
|
||||
|
||||
<div id="formbuttons">
|
||||
<input id="ap_ext_form_editadv_submit" class='btn_ok' type='submit' value='<?php echo $this->_tpl_vars['kga']['lang']['save']; ?>
|
||||
' />
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
150
extensions/ki_adminpanel/compile/%%ED^EDE^EDE558EB%%evt.tpl.php
Normal file
150
extensions/ki_adminpanel/compile/%%ED^EDE^EDE558EB%%evt.tpl.php
Normal file
@@ -0,0 +1,150 @@
|
||||
<?php /* Smarty version 2.6.20, created on 2015-01-18 19:25:45
|
||||
compiled from evt.tpl */ ?>
|
||||
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
|
||||
smarty_core_load_plugins(array('plugins' => array(array('modifier', 'escape', 'evt.tpl', 2, false),array('modifier', 'truncate', 'evt.tpl', 10, false),array('function', 'cycle', 'evt.tpl', 15, false),)), $this); ?>
|
||||
|
||||
<a href="#" onClick="floaterShow('floaters.php','add_edit_evt',0,0,450,200); $(this).blur(); return false;"><img src="../skins/<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
/grfx/add.png" width="22" height="16" alt="<?php echo $this->_tpl_vars['kga']['lang']['new_evt']; ?>
|
||||
"></a> <?php echo $this->_tpl_vars['kga']['lang']['new_evt']; ?>
|
||||
|
||||
|
||||
<?php echo $this->_tpl_vars['kga']['lang']['view_filter']; ?>
|
||||
:
|
||||
<select size="1" id="evt_pct_filter" onchange="ap_ext_refreshSubtab('evt');">
|
||||
<option value="-2" <?php if ($this->_tpl_vars['selected_evt_filter'] == -2): ?>selected="selected"<?php endif; ?>><?php echo $this->_tpl_vars['kga']['lang']['unassigned']; ?>
|
||||
</option>
|
||||
<option value="-1" <?php if ($this->_tpl_vars['selected_evt_filter'] == -1): ?>selected="selected"<?php endif; ?>><?php echo $this->_tpl_vars['kga']['lang']['all_events']; ?>
|
||||
</option>
|
||||
<?php unset($this->_sections['row']);
|
||||
$this->_sections['row']['name'] = 'row';
|
||||
$this->_sections['row']['loop'] = is_array($_loop=$this->_tpl_vars['arr_pct']) ? count($_loop) : max(0, (int)$_loop); unset($_loop);
|
||||
$this->_sections['row']['show'] = true;
|
||||
$this->_sections['row']['max'] = $this->_sections['row']['loop'];
|
||||
$this->_sections['row']['step'] = 1;
|
||||
$this->_sections['row']['start'] = $this->_sections['row']['step'] > 0 ? 0 : $this->_sections['row']['loop']-1;
|
||||
if ($this->_sections['row']['show']) {
|
||||
$this->_sections['row']['total'] = $this->_sections['row']['loop'];
|
||||
if ($this->_sections['row']['total'] == 0)
|
||||
$this->_sections['row']['show'] = false;
|
||||
} else
|
||||
$this->_sections['row']['total'] = 0;
|
||||
if ($this->_sections['row']['show']):
|
||||
|
||||
for ($this->_sections['row']['index'] = $this->_sections['row']['start'], $this->_sections['row']['iteration'] = 1;
|
||||
$this->_sections['row']['iteration'] <= $this->_sections['row']['total'];
|
||||
$this->_sections['row']['index'] += $this->_sections['row']['step'], $this->_sections['row']['iteration']++):
|
||||
$this->_sections['row']['rownum'] = $this->_sections['row']['iteration'];
|
||||
$this->_sections['row']['index_prev'] = $this->_sections['row']['index'] - $this->_sections['row']['step'];
|
||||
$this->_sections['row']['index_next'] = $this->_sections['row']['index'] + $this->_sections['row']['step'];
|
||||
$this->_sections['row']['first'] = ($this->_sections['row']['iteration'] == 1);
|
||||
$this->_sections['row']['last'] = ($this->_sections['row']['iteration'] == $this->_sections['row']['total']);
|
||||
?>
|
||||
<option value="<?php echo $this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_ID']; ?>
|
||||
"
|
||||
<?php if ($this->_tpl_vars['selected_evt_filter'] == $this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_ID']): ?>selected="selected"<?php endif; ?>><?php echo ((is_array($_tmp=$this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['pct_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
(<?php echo ((is_array($_tmp=((is_array($_tmp=$this->_tpl_vars['arr_pct'][$this->_sections['row']['index']]['knd_name'])) ? $this->_run_mod_handler('truncate', true, $_tmp, 30, "...") : smarty_modifier_truncate($_tmp, 30, "...")))) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
)</option>
|
||||
<?php endfor; endif; ?>
|
||||
</select>
|
||||
<br/><br/>
|
||||
|
||||
<?php echo smarty_function_cycle(array('values' => "odd,even",'reset' => true,'print' => false), $this);?>
|
||||
|
||||
<table>
|
||||
|
||||
<thead>
|
||||
<tr class='headerrow'>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['options']; ?>
|
||||
</th>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['evts']; ?>
|
||||
</th>
|
||||
<th><?php echo $this->_tpl_vars['kga']['lang']['groups']; ?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tbody>
|
||||
|
||||
<?php unset($this->_sections['row']);
|
||||
$this->_sections['row']['name'] = 'row';
|
||||
$this->_sections['row']['loop'] = is_array($_loop=$this->_tpl_vars['arr_evt']) ? count($_loop) : max(0, (int)$_loop); unset($_loop);
|
||||
$this->_sections['row']['show'] = true;
|
||||
$this->_sections['row']['max'] = $this->_sections['row']['loop'];
|
||||
$this->_sections['row']['step'] = 1;
|
||||
$this->_sections['row']['start'] = $this->_sections['row']['step'] > 0 ? 0 : $this->_sections['row']['loop']-1;
|
||||
if ($this->_sections['row']['show']) {
|
||||
$this->_sections['row']['total'] = $this->_sections['row']['loop'];
|
||||
if ($this->_sections['row']['total'] == 0)
|
||||
$this->_sections['row']['show'] = false;
|
||||
} else
|
||||
$this->_sections['row']['total'] = 0;
|
||||
if ($this->_sections['row']['show']):
|
||||
|
||||
for ($this->_sections['row']['index'] = $this->_sections['row']['start'], $this->_sections['row']['iteration'] = 1;
|
||||
$this->_sections['row']['iteration'] <= $this->_sections['row']['total'];
|
||||
$this->_sections['row']['index'] += $this->_sections['row']['step'], $this->_sections['row']['iteration']++):
|
||||
$this->_sections['row']['rownum'] = $this->_sections['row']['iteration'];
|
||||
$this->_sections['row']['index_prev'] = $this->_sections['row']['index'] - $this->_sections['row']['step'];
|
||||
$this->_sections['row']['index_next'] = $this->_sections['row']['index'] + $this->_sections['row']['step'];
|
||||
$this->_sections['row']['first'] = ($this->_sections['row']['iteration'] == 1);
|
||||
$this->_sections['row']['last'] = ($this->_sections['row']['iteration'] == $this->_sections['row']['total']);
|
||||
?>
|
||||
<?php if ($this->_tpl_vars['arr_evt'][$this->_sections['row']['index']]['evt_visible'] || $this->_tpl_vars['arr_evt'][$this->_sections['row']['index']]['zeit'] != "0:00"): ?>
|
||||
|
||||
<tr class="<?php echo smarty_function_cycle(array('values' => "odd,even"), $this);?>
|
||||
">
|
||||
|
||||
<td class="option">
|
||||
<a href ="#" onClick="editSubject('evt',<?php echo $this->_tpl_vars['arr_evt'][$this->_sections['row']['index']]['evt_ID']; ?>
|
||||
); $(this).blur(); return false;">
|
||||
<img src='../skins/<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
/grfx/edit2.gif' width='13' height='13' alt='<?php echo $this->_tpl_vars['kga']['lang']['edit']; ?>
|
||||
' title='<?php echo $this->_tpl_vars['kga']['lang']['edit']; ?>
|
||||
' border='0' />
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="#" id="delete_evt<?php echo $this->_tpl_vars['arr_evt'][$this->_sections['row']['index']]['evt_ID']; ?>
|
||||
" onClick="ap_ext_deleteEvent(<?php echo $this->_tpl_vars['arr_evt'][$this->_sections['row']['index']]['evt_ID']; ?>
|
||||
)">
|
||||
<img src="../skins/<?php echo ((is_array($_tmp=$this->_tpl_vars['kga']['conf']['skin'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
/grfx/button_trashcan.png" title="<?php echo $this->_tpl_vars['kga']['lang']['delevt']; ?>
|
||||
" width="13" height="13" alt="<?php echo $this->_tpl_vars['kga']['lang']['delevt']; ?>
|
||||
" border="0">
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td class="events">
|
||||
<?php if ($this->_tpl_vars['arr_evt'][$this->_sections['row']['index']]['evt_visible'] != 1): ?><span style="color:#bbb"><?php endif; ?>
|
||||
<?php echo ((is_array($_tmp=$this->_tpl_vars['arr_evt'][$this->_sections['row']['index']]['evt_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
|
||||
<?php if ($this->_tpl_vars['arr_evt'][$this->_sections['row']['index']]['evt_visible'] != 1): ?></span><?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<?php echo ((is_array($_tmp=$this->_tpl_vars['arr_evt'][$this->_sections['row']['index']]['groups'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<?php endif; ?>
|
||||
<?php endfor; endif; ?>
|
||||
|
||||
|
||||
|
||||
|
||||
<?php if ($this->_tpl_vars['arr_evt'] == '0'): ?>
|
||||
<tr>
|
||||
<td colspan='3'>
|
||||
<strong style="color:red"><?php echo $this->_tpl_vars['kga']['lang']['noItems']; ?>
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
18
extensions/ki_adminpanel/config.ini
Normal file
18
extensions/ki_adminpanel/config.ini
Normal file
@@ -0,0 +1,18 @@
|
||||
EXTENSION_NAME = "Admin Panel"
|
||||
EXTENSION_KEY = "ap_ext"
|
||||
EXTENSION_DIR = "ki_adminpanel"
|
||||
EXTENSION_INIT_FILE = "ki_adminpanel/init.php"
|
||||
ADMIN_ALLOWED = "1"
|
||||
GROUP_LEADER_ALLOWED = "1"
|
||||
USER_ALLOWED = "0"
|
||||
CUSTOMER_ALLOWED = "0"
|
||||
|
||||
TAB_CHANGE_TRIGGER = "ap_ext_triggerchange();"
|
||||
CHANGE_KND_TRIGGER = "ap_ext_triggerCHK();"
|
||||
CHANGE_PCT_TRIGGER = "ap_ext_triggerCHP();"
|
||||
CHANGE_EVT_TRIGGER = "ap_ext_triggerCHE();"
|
||||
CHANGE_USR_TRIGGER = "ap_ext_triggerUSR();"
|
||||
|
||||
CSS_INCLUDE_FILES = "../extensions/ki_adminpanel/css/styles.css"
|
||||
JS_INCLUDE_FILES[] = "../extensions/ki_adminpanel/js/ap_func.js"
|
||||
JS_INCLUDE_FILES[] = "../extensions/ki_adminpanel/js/ap_init.js"
|
||||
29
extensions/ki_adminpanel/css/advanced.css
Normal file
29
extensions/ki_adminpanel/css/advanced.css
Normal file
@@ -0,0 +1,29 @@
|
||||
fieldset.ap_ext_advanced {
|
||||
border:none;
|
||||
}
|
||||
|
||||
fieldset.ap_ext_advanced div {
|
||||
border-bottom:1px dotted #666;
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
fieldset.ap_ext_advanced div#formbuttons {
|
||||
border-bottom:none;
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
#ap_ext_output {
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
height:27px;
|
||||
width:100%;
|
||||
border: 1px solid black;
|
||||
border-bottom: 2px solid black;
|
||||
background:green;
|
||||
display:none;
|
||||
padding:10px;
|
||||
text-align:center;
|
||||
color:white;
|
||||
font-weight:bold;
|
||||
}
|
||||
57
extensions/ki_adminpanel/css/setup.css.php
Normal file
57
extensions/ki_adminpanel/css/setup.css.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
header('Content-type: text/css');
|
||||
$table_header = "../../../skins/standard/grfx/g3_table_header.png";
|
||||
?>
|
||||
|
||||
#ap_ext_panel {
|
||||
top:120px;
|
||||
z-index:2;
|
||||
}
|
||||
|
||||
#ap_ext_panel,
|
||||
#ap_ext_knd,
|
||||
#ap_ext_pct,
|
||||
#ap_ext_evt
|
||||
{
|
||||
border:1px solid black;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background-color:#eee;
|
||||
position:absolute;
|
||||
overflow:auto;
|
||||
left:10px;
|
||||
}
|
||||
|
||||
#ap_ext_knd,
|
||||
#ap_ext_evt,
|
||||
#ap_ext_pct
|
||||
{
|
||||
width:200px;
|
||||
background-color:#FFF;
|
||||
font-size: 12px;
|
||||
height:175px;
|
||||
border-top:none;
|
||||
z-index:1;
|
||||
}
|
||||
|
||||
#ap_ext_knd_head,
|
||||
#ap_ext_pct_head,
|
||||
#ap_ext_evt_head
|
||||
{
|
||||
border:1px solid black;
|
||||
border-bottom:none;
|
||||
background-image: url('<?php echo $table_header; ?>');
|
||||
position:absolute;
|
||||
height:25px;
|
||||
text-align:left;
|
||||
color:#FFF;
|
||||
left:10px;
|
||||
font-size:11px;
|
||||
font-weight:bold;
|
||||
padding:3px 0 0 5px;
|
||||
}
|
||||
|
||||
ap_ext_panel {
|
||||
padding:0;
|
||||
}
|
||||
|
||||
4
extensions/ki_adminpanel/css/styles.css
Normal file
4
extensions/ki_adminpanel/css/styles.css
Normal file
@@ -0,0 +1,4 @@
|
||||
@import "setup.css.php";
|
||||
@import "subtabs.css.php";
|
||||
@import "tables.css";
|
||||
@import "advanced.css";
|
||||
44
extensions/ki_adminpanel/css/subtabs.css.php
Normal file
44
extensions/ki_adminpanel/css/subtabs.css.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
header('Content-type: text/css');
|
||||
$table_header = "../../../skins/standard/grfx/g3_table_header.png";
|
||||
$table_header_lighter = "../../../skins/standard/grfx/g3_table_header_lighter.png";
|
||||
?>
|
||||
|
||||
.ap_ext_panel_header {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.ap_ext_panel_header a {
|
||||
background-image: url('<?php echo $table_header_lighter; ?>');
|
||||
height: 19px;
|
||||
text-align: left;
|
||||
color: #333333;
|
||||
font-size: 11px;
|
||||
display: block;
|
||||
padding: 3px;
|
||||
height: 19px;
|
||||
}
|
||||
div.active .ap_ext_panel_header a {
|
||||
background-image: url('<?php echo $table_header; ?>');
|
||||
color: #ffffff !important;
|
||||
font-weight: bold;
|
||||
}
|
||||
div.active .ap_ext_panel_header a:hover {
|
||||
background-image: url('<?php echo $table_header; ?>');
|
||||
color: #ffffff;
|
||||
}
|
||||
div.active span.ap_ext_accordeon_triangle {
|
||||
background: url("../grfx/accordion_active.png") no-repeat;
|
||||
background-position: 0px 8px;
|
||||
}
|
||||
.ap_ext_subtab {
|
||||
border-bottom: 1px solid black;
|
||||
overflow: auto;
|
||||
padding: 10px;
|
||||
}
|
||||
span.ap_ext_accordeon_triangle {
|
||||
padding: 5px;
|
||||
background: url("../grfx/accordion.png") no-repeat;
|
||||
background-position: 0px 8px;
|
||||
}
|
||||
.ap_ext_advanced_row { margin-bottom: 3px; }
|
||||
23
extensions/ki_adminpanel/css/tables.css
Normal file
23
extensions/ki_adminpanel/css/tables.css
Normal file
@@ -0,0 +1,23 @@
|
||||
#ap_ext_panel table {
|
||||
font-size: 11px;
|
||||
color: #363636;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
border: 1px solid #cccccc;
|
||||
}
|
||||
#ap_ext_panel table th {
|
||||
height: 25px;
|
||||
background-color: #92968e;
|
||||
color: #ffffff;
|
||||
text-align: left;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#ap_ext_panel table td { padding-left: 5px; }
|
||||
#ap_ext_panel table tr {
|
||||
height: 20px;
|
||||
background-color: #eeeeee;
|
||||
border-bottom: 1px solid #b8b8b8;
|
||||
}
|
||||
#ap_ext_panel table tr.even { background-color: #ffffff; }
|
||||
#ap_ext_panel div.ap_ext_subject td.option { width: 30px; }
|
||||
#ap_ext_panel div.ap_ext_4cols td { width: 25%; }
|
||||
78
extensions/ki_adminpanel/floaters.php
Normal file
78
extensions/ki_adminpanel/floaters.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
/**
|
||||
* This file is part of
|
||||
* Kimai - Open Source Time Tracking // http://www.kimai.org
|
||||
* (c) 2006-2009 Kimai-Development-Team
|
||||
*
|
||||
* Kimai is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; Version 3, 29 June 2007
|
||||
*
|
||||
* Kimai is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Kimai; If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// insert KSPI
|
||||
$isCoreProcessor = 0;
|
||||
$dir_templates = "templates/floaters/";
|
||||
require("../../includes/kspi.php");
|
||||
|
||||
switch ($axAction) {
|
||||
|
||||
case "editUsr":
|
||||
// =============================
|
||||
// = Builds edit-user dialogue =
|
||||
// =============================
|
||||
|
||||
$usr_details = get_usr($id);
|
||||
$arr = get_arr_grp();
|
||||
|
||||
$i=0;
|
||||
foreach ($arr as $row) {
|
||||
$arr_grp_name[$i] = $row['grp_name'];
|
||||
$arr_grp_ID[$i] = $row['grp_ID'];
|
||||
$i++;
|
||||
}
|
||||
|
||||
$tpl->assign('arr_grp_ID', $arr_grp_ID);
|
||||
$tpl->assign('arr_grp_name', $arr_grp_name);
|
||||
|
||||
$tpl->assign('usr_details', $usr_details);
|
||||
$tpl->display("edituser.tpl");
|
||||
|
||||
break;
|
||||
|
||||
case "editGrp":
|
||||
// =============================
|
||||
// = Builds edit-group dialogue =
|
||||
// =============================
|
||||
|
||||
$grp_details = grp_get_data($_REQUEST['id']);
|
||||
$arr = get_arr_usr();
|
||||
|
||||
$i=0;
|
||||
foreach ($arr as $row) {
|
||||
$arr_usr_name[$i] = $row['usr_name'];
|
||||
$arr_usr_ID[$i] = $row['usr_ID'];
|
||||
$i++;
|
||||
}
|
||||
|
||||
$grp_selection=grp_get_ldrs($_REQUEST['id']);
|
||||
$tpl->assign('grp_selection', $grp_selection);
|
||||
|
||||
$tpl->assign('arr_usr_ID', $arr_usr_ID);
|
||||
$tpl->assign('arr_usr_name', $arr_usr_name);
|
||||
|
||||
$tpl->assign('grp_details', $grp_details);
|
||||
$tpl->display("editgroup.tpl");
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
BIN
extensions/ki_adminpanel/grfx/accordion.png
Normal file
BIN
extensions/ki_adminpanel/grfx/accordion.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 226 B |
BIN
extensions/ki_adminpanel/grfx/accordion_active.png
Normal file
BIN
extensions/ki_adminpanel/grfx/accordion_active.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 251 B |
144
extensions/ki_adminpanel/init.php
Normal file
144
extensions/ki_adminpanel/init.php
Normal file
@@ -0,0 +1,144 @@
|
||||
<?php
|
||||
/**
|
||||
* This file is part of
|
||||
* Kimai - Open Source Time Tracking // http://www.kimai.org
|
||||
* (c) 2006-2009 Kimai-Development-Team
|
||||
*
|
||||
* Kimai is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; Version 3, 29 June 2007
|
||||
*
|
||||
* Kimai is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Kimai; If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// Include Basics
|
||||
include('../../includes/basics.php');
|
||||
|
||||
$usr = checkUser();
|
||||
// ============================================
|
||||
// = initialize currently displayed timespace =
|
||||
// ============================================
|
||||
$timespace = get_timespace();
|
||||
$in = $timespace[0];
|
||||
$out = $timespace[1];
|
||||
|
||||
// set smarty config
|
||||
require_once('../../libraries/smarty/Smarty.class.php');
|
||||
$tpl = new Smarty();
|
||||
$tpl->template_dir = 'templates/';
|
||||
$tpl->compile_dir = 'compile/';
|
||||
|
||||
$tpl->assign('kga', $kga);
|
||||
|
||||
// ==========================
|
||||
// = display customer table =
|
||||
// ==========================
|
||||
if ($kga['usr']['usr_sts']==0)
|
||||
$arr_knd = get_arr_knd("all");
|
||||
else
|
||||
$arr_knd = get_arr_knd($kga['usr']['usr_grp']);
|
||||
|
||||
foreach ($arr_knd as $row=>$knd_data) {
|
||||
$grp_names = array();
|
||||
foreach (knd_get_grps($knd_data['knd_ID']) as $grp_id) {
|
||||
$data = grp_get_data($grp_id);
|
||||
$grp_names[] = $data['grp_name'];
|
||||
}
|
||||
$arr_knd[$row]['groups'] = implode(", ",$grp_names);
|
||||
}
|
||||
|
||||
if (count($arr_knd)>0) {
|
||||
$tpl->assign('arr_knd', $arr_knd);
|
||||
} else {
|
||||
$tpl->assign('arr_knd', '0');
|
||||
}
|
||||
$tpl->assign('knd_display', $tpl->fetch("knd.tpl"));
|
||||
|
||||
// =========================
|
||||
// = display project table =
|
||||
// =========================
|
||||
if ($kga['usr']['usr_sts']==0)
|
||||
$arr_pct = get_arr_pct("all");
|
||||
else
|
||||
$arr_pct = get_arr_pct($kga['usr']['usr_grp']);
|
||||
|
||||
foreach ($arr_pct as $row=>$pct_data) {
|
||||
$grp_names = array();
|
||||
foreach (pct_get_grps($pct_data['pct_ID']) as $grp_id) {
|
||||
$data = grp_get_data($grp_id);
|
||||
$grp_names[] = $data['grp_name'];
|
||||
}
|
||||
$arr_pct[$row]['groups'] = implode(", ",$grp_names);
|
||||
}
|
||||
|
||||
if (count($arr_pct)>0) {
|
||||
$tpl->assign('arr_pct', $arr_pct);
|
||||
} else {
|
||||
$tpl->assign('arr_pct', '0');
|
||||
}
|
||||
$tpl->assign('pct_display', $tpl->fetch("pct.tpl"));
|
||||
|
||||
// ========================
|
||||
// = display events table =
|
||||
// ========================
|
||||
if ($kga['usr']['usr_sts']==0)
|
||||
$arr_evt = get_arr_evt_by_pct("all",-2);
|
||||
else
|
||||
$arr_evt = get_arr_evt_by_pct($kga['usr']['usr_grp'],-2);
|
||||
|
||||
foreach ($arr_evt as $row=>$evt_data) {
|
||||
$grp_names = array();
|
||||
foreach (evt_get_grps($evt_data['evt_ID']) as $grp_id) {
|
||||
$data = grp_get_data($grp_id);
|
||||
$grp_names[] = $data['grp_name'];
|
||||
}
|
||||
$arr_evt[$row]['groups'] = implode(", ",$grp_names);
|
||||
}
|
||||
|
||||
if (count($arr_evt)>0) {
|
||||
$tpl->assign('arr_evt', $arr_evt);
|
||||
} else {
|
||||
$tpl->assign('arr_evt', '0');
|
||||
}
|
||||
|
||||
$tpl->assign('evt_display', $tpl->fetch("evt.tpl"));
|
||||
$tpl->assign('selected_evt_filter',-2);
|
||||
|
||||
$tpl->assign('curr_user', $kga['usr']['usr_name']);
|
||||
|
||||
if ($kga['usr']['usr_sts']==0)
|
||||
$tpl->assign('arr_grp', get_arr_grp(get_cookie('ap_ext_show_deleted_groups',0)));
|
||||
else
|
||||
$tpl->assign('arr_grp', get_arr_grp_by_leader($kga['usr']['usr_ID'],
|
||||
get_cookie('ap_ext_show_deleted_groups',0)));
|
||||
|
||||
if ($kga['usr']['usr_sts']==0)
|
||||
$tpl->assign('arr_usr', get_arr_usr(get_cookie('ap_ext_show_deleted_users',0)));
|
||||
else
|
||||
$tpl->assign('arr_usr',get_arr_watchable_users($kga['usr']['usr_ID']));
|
||||
$tpl->assign('showDeletedGroups', get_cookie('ap_ext_show_deleted_groups',0));
|
||||
$tpl->assign('showDeletedUsers', get_cookie('ap_ext_show_deleted_users',0));
|
||||
$tpl->assign('languages', langs());
|
||||
|
||||
$tpl->assign('timezones', timezoneList());
|
||||
|
||||
$admin['users'] = $tpl->fetch("users.tpl");
|
||||
$admin['groups'] = $tpl->fetch("groups.tpl");
|
||||
$admin['advanced'] = $tpl->fetch("advanced.tpl");
|
||||
|
||||
if ($kga['show_sensible_data']) {
|
||||
$admin['database'] = $tpl->fetch("database.tpl");
|
||||
} else {
|
||||
$admin['database'] = "You don't have permission to see this information ...";
|
||||
}
|
||||
|
||||
$tpl->assign('admin', $admin);
|
||||
|
||||
$tpl->display('main.tpl');
|
||||
?>
|
||||
381
extensions/ki_adminpanel/js/ap_func.js
Normal file
381
extensions/ki_adminpanel/js/ap_func.js
Normal file
@@ -0,0 +1,381 @@
|
||||
/**
|
||||
* This file is part of
|
||||
* Kimai - Open Source Time Tracking // http://www.kimai.org
|
||||
* (c) 2006-2009 Kimai-Development-Team
|
||||
*
|
||||
* Kimai is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; Version 3, 29 June 2007
|
||||
*
|
||||
* Kimai is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Kimai; If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// ===========
|
||||
// ADMIN PANEL
|
||||
// ===========
|
||||
|
||||
function ap_ext_onload() {
|
||||
ap_ext_resize();
|
||||
subactivelink = "#ap_ext_sub1";
|
||||
$("#loader").hide();
|
||||
}
|
||||
|
||||
function ap_ext_resize() {
|
||||
|
||||
scroller_width = 14;
|
||||
if (navigator.platform.substr(0,3)=='Mac') {
|
||||
scroller_width = 16;
|
||||
}
|
||||
|
||||
pagew = pageWidth();
|
||||
drittel = (pagew-10)/3 - 7 ;
|
||||
|
||||
panel_w = pagew-24;
|
||||
panel_h = pageHeight()-10-headerHeight();
|
||||
|
||||
$(".ap_ext_subtab").css("display", "none");
|
||||
|
||||
$("#ap_ext_panel").css("width", panel_w);
|
||||
$(".ap_ext_panel_header").css("width", panel_w);
|
||||
$("#ap_ext_panel").css("height", panel_h);
|
||||
|
||||
$(".ap_ext_subtab").css("height", panel_h - (7*25)-20-1);
|
||||
|
||||
ap_ext_subtab_autoexpand();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show one of the subtabs. All others are collapsed, so only their header
|
||||
* is visible.
|
||||
*/
|
||||
function ap_ext_subtab_expand(id) {
|
||||
$("#ap_ext_sub1").removeClass("active");
|
||||
$("#ap_ext_sub2").removeClass("active");
|
||||
$("#ap_ext_sub3").removeClass("active");
|
||||
$("#ap_ext_sub4").removeClass("active");
|
||||
$("#ap_ext_sub5").removeClass("active");
|
||||
$("#ap_ext_sub6").removeClass("active");
|
||||
$("#ap_ext_sub7").removeClass("active");
|
||||
$(".ap_ext_subtab").css("display", "none");
|
||||
|
||||
sub_id="#ap_ext_sub" +id;
|
||||
$(sub_id).addClass("active");
|
||||
|
||||
subtab="#ap_ext_s"+id;
|
||||
$(subtab).css("display", "block");
|
||||
|
||||
$.cookie('ap_ext_activePanel_'+usr_ID, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the last subtab, the user has seen. This information is stored in a
|
||||
* cookie. If we're unable to read it show the first subtab.
|
||||
*/
|
||||
function ap_ext_subtab_autoexpand() {
|
||||
ap_ext_activePanel = $.cookie('ap_ext_activePanel_'+usr_ID);
|
||||
if (ap_ext_activePanel) {
|
||||
ap_ext_subtab_expand(ap_ext_activePanel);
|
||||
} else {
|
||||
ap_ext_subtab_expand(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ------------------------------------------------------
|
||||
|
||||
|
||||
function ap_ext_triggerchange() {
|
||||
if ($('.ap_ext').css('display') == "block") {
|
||||
ap_ext_refreshSubtab('knd');
|
||||
ap_ext_refreshSubtab('pct');
|
||||
ap_ext_refreshSubtab('evt');
|
||||
} else {
|
||||
tss_hook_flag++;
|
||||
}
|
||||
if (ap_chk_hook_flag) {
|
||||
ap_ext_triggerCHK();
|
||||
}
|
||||
if (ap_chp_hook_flag) {
|
||||
ap_ext_triggerCHP();
|
||||
}
|
||||
if (ap_che_hook_flag) {
|
||||
ap_ext_triggerCHE();
|
||||
}
|
||||
if (ap_usr_hook_flag) {
|
||||
ap_ext_triggerUSR();
|
||||
}
|
||||
|
||||
ap_tss_hook_flag = 0;
|
||||
ap_rec_hook_flag = 0;
|
||||
ap_stp_hook_flag = 0;
|
||||
ap_chk_hook_flag = 0;
|
||||
ap_chp_hook_flag = 0;
|
||||
ap_che_hook_flag = 0;
|
||||
ap_usr_hook_flag = 0;
|
||||
}
|
||||
|
||||
function ap_ext_triggerCHK() {
|
||||
if ($('.ap_ext').css('display') == "block") {
|
||||
ap_ext_refreshSubtab('knd');
|
||||
ap_ext_refreshSubtab('pct');
|
||||
} else {
|
||||
ap_chk_hook_flag++;
|
||||
}
|
||||
}
|
||||
|
||||
function ap_ext_triggerCHP() {
|
||||
if ($('.ap_ext').css('display') == "block") {
|
||||
ap_ext_refreshSubtab('pct');
|
||||
} else {
|
||||
ap_chp_hook_flag++;
|
||||
}
|
||||
}
|
||||
|
||||
function ap_ext_triggerCHE() {
|
||||
if ($('.ap_ext').css('display') == "block") {
|
||||
ap_ext_refreshSubtab('evt');
|
||||
} else {
|
||||
ap_che_hook_flag++;
|
||||
}
|
||||
}
|
||||
|
||||
function ap_ext_triggerUSR() {
|
||||
if ($('.ap_ext').css('display') == "block") {
|
||||
ap_ext_refreshSubtab('usr');
|
||||
} else {
|
||||
ap_usr_hook_flag++;
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// graps the value of the newUser input field
|
||||
// and ajaxes it to the createUsr function of the processor
|
||||
//
|
||||
function ap_ext_newUser() {
|
||||
newuser = $("#newuser").val();
|
||||
if (newuser == "") {
|
||||
alert(lang_checkUsername);
|
||||
return false;
|
||||
}
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "createUsr", axValue: newuser, id: 0 },
|
||||
function(data) {
|
||||
ap_ext_refreshSubtab('usr');
|
||||
ap_ext_editUser(data);
|
||||
});
|
||||
}
|
||||
|
||||
function ap_ext_showDeletedUsers() {
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "toggleDeletedUsers", axValue: 1, id: 0 },
|
||||
function(data) {
|
||||
ap_ext_refreshSubtab('usr');
|
||||
});
|
||||
}
|
||||
|
||||
function ap_ext_hideDeletedUsers() {
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "toggleDeletedUsers", axValue: 0, id: 0 },
|
||||
function(data) {
|
||||
ap_ext_refreshSubtab('usr');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// graps the value of the newGroup input field
|
||||
// and ajaxes it to the createGrp function of the processor
|
||||
//
|
||||
function ap_ext_newGroup() {
|
||||
newgroup = $("#newgroup").val();
|
||||
if (newgroup == "") {
|
||||
alert(lang_checkGroupname);
|
||||
return false;
|
||||
}
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "createGrp", axValue: newgroup, id: 0 },
|
||||
function(data) {
|
||||
ap_ext_refreshSubtab('grp');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// by clicking on the edit button of a user the edit dialogue pops up
|
||||
//
|
||||
function ap_ext_editUser(id) {
|
||||
floaterShow(ap_ext_path + "floaters.php","editUsr",0,id,400,230);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// by clicking on the edit button of a group the edit dialogue pops up
|
||||
//
|
||||
function ap_ext_editGroup(id) {
|
||||
floaterShow(ap_ext_path + "floaters.php","editGrp",0,id,450,100);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// refreshes either user/group/advanced/DB subtab
|
||||
//
|
||||
function ap_ext_refreshSubtab(tab) {
|
||||
options = { axAction: "refreshSubtab", axValue: tab, id: 0 };
|
||||
if (tab == 'evt') {
|
||||
options.evt_filter = $('#evt_pct_filter').val();
|
||||
}
|
||||
$.post(ap_ext_path + "processor.php", options,
|
||||
function(data) {
|
||||
switch(tab) {
|
||||
case "usr": target = "#ap_ext_s1"; break
|
||||
case "grp": target = "#ap_ext_s2"; break
|
||||
case "adv": target = "#ap_ext_s3"; break
|
||||
case "db": target = "#ap_ext_s4"; break
|
||||
case "knd": target = "#ap_ext_s5"; break
|
||||
case "pct": target = "#ap_ext_s6"; break
|
||||
case "evt": target = "#ap_ext_s7"; break
|
||||
}
|
||||
$(target).html(data);
|
||||
});
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// delete user
|
||||
//
|
||||
function ap_ext_deleteUser(id) {
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "deleteUsr", axValue: 0, id: id },
|
||||
function(data) {
|
||||
if (confirm(data)) {
|
||||
$.post(ap_ext_path + "processor.php", {axAction: "deleteUsr", axValue: 1, id: id },
|
||||
function() {
|
||||
ap_ext_refreshSubtab('usr');
|
||||
ap_ext_refreshSubtab('grp');
|
||||
hook_chgUsr(); }
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// delete group
|
||||
//
|
||||
function ap_ext_deleteGroup(id) {
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "deleteGrp", axValue: 0, id: id },
|
||||
function(data) {
|
||||
if (confirm(data)) {
|
||||
$.post(ap_ext_path + "processor.php", {axAction: "deleteGrp", axValue: 1, id: id },
|
||||
function() { ap_ext_refreshSubtab('grp'); }
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// delete project
|
||||
//
|
||||
function ap_ext_deleteProject(id) {
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "deletePct", axValue: 0, id: id },
|
||||
function(data) {
|
||||
if (confirm(data)) {
|
||||
if (recstate!=1 && selected_pct == id) {
|
||||
$('#buzzer').addClass('disabled');
|
||||
selected_pct = false;
|
||||
$("#sel_pct").html('');
|
||||
}
|
||||
$.post(ap_ext_path + "processor.php", {axAction: "deletePct", axValue: 1, id: id },
|
||||
function() { ap_ext_refreshSubtab('pct');
|
||||
hook_chgPct(); }
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// delete customer
|
||||
//
|
||||
function ap_ext_deleteCustomer(id) {
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "deleteKnd", axValue: 0, id: id },
|
||||
function(data) {
|
||||
if (confirm(data)) {
|
||||
if (recstate!=1 && selected_knd == id) {
|
||||
$('#buzzer').addClass('disabled');
|
||||
selected_knd = false;
|
||||
$("#sel_knd").html('');
|
||||
}
|
||||
$.post(ap_ext_path + "processor.php", {axAction: "deleteKnd", axValue: 1, id: id },
|
||||
function() { ap_ext_refreshSubtab('knd');
|
||||
hook_chgKnd(); }
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// delete event
|
||||
//
|
||||
function ap_ext_deleteEvent(id) {
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "deleteEvt", axValue: 0, id: id },
|
||||
function(data) {
|
||||
if (confirm(data)) {
|
||||
if (recstate!=1 && selected_evt == id) {
|
||||
$('#buzzer').addClass('disabled');
|
||||
selected_evt = false;
|
||||
$("#sel_evt").html('');
|
||||
}
|
||||
|
||||
$.post(ap_ext_path + "processor.php", {axAction: "deleteEvt", axValue: 1, id: id },
|
||||
function() { ap_ext_refreshSubtab('evt');
|
||||
hook_chgEvt(); }
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// activates user for login
|
||||
//
|
||||
function ap_ext_unbanUser(id) {
|
||||
$("#ban"+id).blur();
|
||||
$("#ban"+id).html("<img border='0' width='16' height='16' src='../skins/"+skin+"/grfx/loading13.gif'/>");
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "unbanUsr", axValue: 0, id: id },
|
||||
function(data) {
|
||||
$("#ban"+id).html(data);
|
||||
$("#ban"+id).attr({ "ONCLICK": "ap_ext_banUser('"+id+"'); return false;" });
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// toggle ban and unban of users in admin panel
|
||||
//
|
||||
function ap_ext_banUser(id) {
|
||||
$("#ban"+id).blur();
|
||||
$("#ban"+id).html("<img border='0' width='16' height='16' src='../skins/"+skin+"/grfx/loading13.gif'/>");
|
||||
$.post(ap_ext_path + "processor.php", { axAction: "banUsr", axValue: 0, id: id },
|
||||
function(data) {
|
||||
$("#ban"+id).html(data);
|
||||
$("#ban"+id).attr({ "ONCLICK": "ap_ext_unbanUser('"+id+"'); return false;" });
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function ap_ext_checkupdate() {
|
||||
$.post("checkupdate.php",
|
||||
function(data) {
|
||||
$('#ap_ext_checkupdate').html(data);
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
40
extensions/ki_adminpanel/js/ap_init.js
Normal file
40
extensions/ki_adminpanel/js/ap_init.js
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* This file is part of
|
||||
* Kimai - Open Source Time Tracking // http://www.kimai.org
|
||||
* (c) 2006-2009 Kimai-Development-Team
|
||||
*
|
||||
* Kimai is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; Version 3, 29 June 2007
|
||||
*
|
||||
* Kimai is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Kimai; If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
// set path of extension
|
||||
var ap_ext_path = "../extensions/ki_adminpanel/";
|
||||
|
||||
var ap_tss_hook_flag = 0;
|
||||
var ap_rec_hook_flag = 0;
|
||||
var ap_stp_hook_flag = 0;
|
||||
var ap_chk_hook_flag = 0;
|
||||
var ap_chp_hook_flag = 0;
|
||||
var ap_che_hook_flag = 0;
|
||||
var ap_usr_hook_flag = 0;
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
var ap_ext_resizeTimer = null;
|
||||
|
||||
$(window).bind('resize', function() {
|
||||
if (ap_ext_resizeTimer) clearTimeout(ap_ext_resizeTimer);
|
||||
ap_ext_resizeTimer = setTimeout(ap_ext_resize, 500);
|
||||
});
|
||||
|
||||
});
|
||||
319
extensions/ki_adminpanel/processor.php
Normal file
319
extensions/ki_adminpanel/processor.php
Normal file
@@ -0,0 +1,319 @@
|
||||
<?php
|
||||
/**
|
||||
* This file is part of
|
||||
* Kimai - Open Source Time Tracking // http://www.kimai.org
|
||||
* (c) 2006-2009 Kimai-Development-Team
|
||||
*
|
||||
* Kimai is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; Version 3, 29 June 2007
|
||||
*
|
||||
* Kimai is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Kimai; If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// ================
|
||||
// = AP PROCESSOR =
|
||||
// ================
|
||||
|
||||
// insert KSPI
|
||||
$isCoreProcessor = 0;
|
||||
$dir_templates = "templates/";
|
||||
require("../../includes/kspi.php");
|
||||
|
||||
switch ($axAction) {
|
||||
|
||||
case "createUsr":
|
||||
// create new user account
|
||||
$usr_data['usr_name'] = trim($axValue);
|
||||
$usr_data['usr_grp'] = $kga['usr']['usr_grp'];
|
||||
$usr_data['usr_sts'] = 2;
|
||||
$usr_data['usr_active'] = 0;
|
||||
echo usr_create($usr_data);
|
||||
break;
|
||||
|
||||
case "createGrp":
|
||||
// create new group
|
||||
$grp_data['grp_name'] = trim($axValue);
|
||||
$new_grp_id = grp_create($grp_data);
|
||||
if ($new_grp_id != false) {
|
||||
assign_grp2ldrs($new_grp_id, array($kga['usr']['usr_ID']));
|
||||
}
|
||||
break;
|
||||
|
||||
case "refreshSubtab":
|
||||
// builds either user/group/advanced/DB subtab
|
||||
$tpl->assign('curr_user', $kga['usr']['usr_name']);
|
||||
|
||||
if ($kga['usr']['usr_sts']==0)
|
||||
$tpl->assign('arr_grp', get_arr_grp(get_cookie('ap_ext_show_deleted_groups',0)));
|
||||
else
|
||||
$tpl->assign('arr_grp', get_arr_grp_by_leader($kga['usr']['usr_ID'],
|
||||
get_cookie('ap_ext_show_deleted_groups',0)));
|
||||
|
||||
if ($kga['usr']['usr_sts']==0)
|
||||
$tpl->assign('arr_usr', get_arr_usr(get_cookie('ap_ext_show_deleted_users',0)));
|
||||
else
|
||||
$tpl->assign('arr_usr',get_arr_watchable_users($kga['usr']['usr_ID']));
|
||||
$tpl->assign('showDeletedGroups', get_cookie('ap_ext_show_deleted_groups',0));
|
||||
$tpl->assign('showDeletedUsers', get_cookie('ap_ext_show_deleted_users',0));
|
||||
switch ($axValue) {
|
||||
case "usr": $tpl->display("users.tpl"); break;
|
||||
case "grp": $tpl->display("groups.tpl"); break;
|
||||
case "adv": $tpl->display("advanced.tpl"); break;
|
||||
case "db": $tpl->display("database.tpl"); break;
|
||||
|
||||
case "knd":
|
||||
if ($kga['usr']['usr_sts']==0)
|
||||
$arr_knd = get_arr_knd("all");
|
||||
else
|
||||
$arr_knd = get_arr_knd($kga['usr']['usr_grp']);
|
||||
|
||||
foreach ($arr_knd as $row=>$knd_data) {
|
||||
$grp_names = array();
|
||||
foreach (knd_get_grps($knd_data['knd_ID']) as $grp_id) {
|
||||
$data = grp_get_data($grp_id);
|
||||
$grp_names[] = $data['grp_name'];
|
||||
}
|
||||
$arr_knd[$row]['groups'] = implode(", ",$grp_names);
|
||||
}
|
||||
|
||||
if (count($arr_knd)>0) {
|
||||
$tpl->assign('arr_knd', $arr_knd);
|
||||
} else {
|
||||
$tpl->assign('arr_knd', '0');
|
||||
}
|
||||
$tpl->display("knd.tpl");
|
||||
break;
|
||||
|
||||
case "pct":
|
||||
if ($kga['usr']['usr_sts']==0)
|
||||
$arr_pct = get_arr_pct("all");
|
||||
else
|
||||
$arr_pct = get_arr_pct($kga['usr']['usr_grp']);
|
||||
|
||||
|
||||
foreach ($arr_pct as $row=>$pct_data) {
|
||||
$grp_names = array();
|
||||
foreach (pct_get_grps($pct_data['pct_ID']) as $grp_id) {
|
||||
$data = grp_get_data($grp_id);
|
||||
$grp_names[] = $data['grp_name'];
|
||||
}
|
||||
$arr_pct[$row]['groups'] = implode(", ",$grp_names);
|
||||
}
|
||||
if (count($arr_pct)>0) {
|
||||
$tpl->assign('arr_pct', $arr_pct);
|
||||
} else {
|
||||
$tpl->assign('arr_pct', '0');
|
||||
}
|
||||
$tpl->display("pct.tpl");
|
||||
break;
|
||||
|
||||
case "evt":
|
||||
if ($kga['usr']['usr_sts']==0)
|
||||
$group = "all";
|
||||
else
|
||||
$group = $kga['usr']['usr_grp'];
|
||||
if (!isset($_REQUEST['evt_filter']))
|
||||
$arr_evt = get_arr_evt($group);
|
||||
else
|
||||
switch ($_REQUEST['evt_filter']) {
|
||||
case -1:
|
||||
$arr_evt = get_arr_evt($group);
|
||||
break;
|
||||
case -2:
|
||||
// -2 is to get unassigned events. As -2 is never
|
||||
// an id of a project this will give us all unassigned
|
||||
// events.
|
||||
default:
|
||||
$arr_evt =
|
||||
get_arr_evt_by_pct($group,$_REQUEST['evt_filter']);
|
||||
}
|
||||
|
||||
foreach ($arr_evt as $row=>$evt_data) {
|
||||
$grp_names = array();
|
||||
foreach (evt_get_grps($evt_data['evt_ID']) as $grp_id) {
|
||||
$data = grp_get_data($grp_id);
|
||||
$grp_names[] = $data['grp_name'];
|
||||
}
|
||||
$arr_evt[$row]['groups'] = implode(", ",$grp_names);
|
||||
}
|
||||
|
||||
if (count($arr_evt)>0) {
|
||||
$tpl->assign('arr_evt', $arr_evt);
|
||||
} else {
|
||||
$tpl->assign('arr_evt', '0');
|
||||
}
|
||||
|
||||
|
||||
$arr_pct = get_arr_pct($group);
|
||||
$tpl->assign('arr_pct', $arr_pct);
|
||||
|
||||
$tpl->assign('selected_evt_filter',$_REQUEST['evt_filter']);
|
||||
|
||||
$tpl->display("evt.tpl");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "deleteUsr":
|
||||
// set the trashflag of a user
|
||||
switch ($axValue) {
|
||||
case 0:
|
||||
// Fire JavaScript confirm when a user is about to be deleted
|
||||
echo $kga['lang']['sure'];
|
||||
break;
|
||||
case 1:
|
||||
// If the confirmation is returned the user gets the trash-flag.
|
||||
// TODO: Users with trashflag can be deleted by 'empty trashcan' or so ...
|
||||
usr_delete($id);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "deleteGrp":
|
||||
// set the trashflag of a group
|
||||
switch ($axValue) {
|
||||
case 0:
|
||||
// Fire JavaScript confirm when a group is about to be deleted
|
||||
echo $kga['lang']['sure'];
|
||||
break;
|
||||
case 1:
|
||||
// If the confirmation is returned the group gets the trash-flag.
|
||||
// TODO: Users with trashflag can be deleted by 'empty trashcan' or so ...
|
||||
grp_delete($id);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "deletePct":
|
||||
// set the trashflag of a project
|
||||
switch ($axValue) {
|
||||
case 0:
|
||||
// Fire JavaScript confirm when a project is about to be deleted
|
||||
echo $kga['lang']['sure'];
|
||||
break;
|
||||
case 1:
|
||||
// If the confirmation is returned the project gets the trash-flag.
|
||||
pct_delete($id);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "deleteKnd":
|
||||
// set the trashflag of a customer
|
||||
switch ($axValue) {
|
||||
case 0:
|
||||
// Fire JavaScript confirm when a customer is about to be deleted
|
||||
echo $kga['lang']['sure'];
|
||||
break;
|
||||
case 1:
|
||||
// If the confirmation is returned the customer gets the trash-flag.
|
||||
knd_delete($id);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "deleteEvt":
|
||||
// set the trashflag of an event
|
||||
switch ($axValue) {
|
||||
case 0:
|
||||
// Fire JavaScript confirm when an event is about to be deleted
|
||||
echo $kga['lang']['sure'];
|
||||
break;
|
||||
case 1:
|
||||
// If the confirmation is returned the event gets the trash-flag.
|
||||
evt_delete($id);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "banUsr":
|
||||
// Ban a user from login
|
||||
$sts['usr_active'] = 0;
|
||||
usr_edit($id, $sts);
|
||||
echo sprintf("<img border='0' title='%s' alt='%s' src='../skins/%s/grfx/lock.png' width='16' height='16' />",
|
||||
$kga['lang']['bannedusr'], $kga['lang']['bannedusr'], $kga['conf']['skin']);
|
||||
break;
|
||||
|
||||
case "unbanUsr":
|
||||
// Unban a user from login
|
||||
$sts['usr_active'] = 1;
|
||||
usr_edit($id, $sts);
|
||||
echo sprintf("<img border='0' title='%s' alt='%s' src='../skins/%s/grfx/jipp.gif' width='16' height='16' />",
|
||||
$kga['lang']['activeusr'], $kga['lang']['activeusr'], $kga['conf']['skin']);
|
||||
break;
|
||||
|
||||
case "sendEditUsr":
|
||||
// process editUsr form
|
||||
$usr_data['usr_name'] = trim($_REQUEST['usr_name']);
|
||||
$usr_data['usr_grp'] = $_REQUEST['usr_grp'];
|
||||
$usr_data['usr_sts'] = $_REQUEST['usr_sts'];
|
||||
$usr_data['usr_mail'] = $_REQUEST['usr_mail'];
|
||||
$usr_data['usr_alias'] = $_REQUEST['usr_alias'];
|
||||
$usr_data['usr_rate'] = $_REQUEST['usr_rate'];
|
||||
|
||||
// if password field is empty => password unchanged (not overwritten with "")
|
||||
if ($_REQUEST['usr_pw'] != "") {
|
||||
$usr_data['pw'] = md5($kga['password_salt'].$_REQUEST['usr_pw'].$kga['password_salt']);
|
||||
}
|
||||
usr_edit($id, $usr_data);
|
||||
break;
|
||||
|
||||
case "sendEditGrp":
|
||||
// process editGrp form
|
||||
$grp_data['grp_name'] = trim($_REQUEST['grp_name']);
|
||||
grp_edit($id, $grp_data);
|
||||
|
||||
$ldrs = $_REQUEST['grp_leader'];
|
||||
assign_grp2ldrs($id, $ldrs);
|
||||
|
||||
break;
|
||||
|
||||
case "sendEditAdvanced":
|
||||
// process AdvancedOptions form
|
||||
|
||||
$var_data['adminmail'] = $_REQUEST['adminmail'];
|
||||
$var_data['loginTries'] = $_REQUEST['logintries'];
|
||||
$var_data['loginBanTime'] = $_REQUEST['loginbantime'];
|
||||
$var_data['show_sensible_data'] = isset($_REQUEST['show_sensible_data']);
|
||||
$var_data['show_update_warn'] = isset($_REQUEST['show_update_warn']);
|
||||
$var_data['check_at_startup'] = isset($_REQUEST['check_at_startup']);
|
||||
$var_data['show_daySeperatorLines'] = isset($_REQUEST['show_daySeperatorLines']);
|
||||
$var_data['show_gabBreaks'] = isset($_REQUEST['show_gabBreaks']);
|
||||
$var_data['show_RecordAgain'] = isset($_REQUEST['show_RecordAgain']);
|
||||
$var_data['show_TrackingNr'] = isset($_REQUEST['show_TrackingNr']);
|
||||
$var_data['currency_name'] = $_REQUEST['currency_name'];
|
||||
$var_data['currency_sign'] = $_REQUEST['currency_sign'];
|
||||
$var_data['currency_first'] = isset($_REQUEST['currency_first']);
|
||||
$var_data['date_format_0'] = $_REQUEST['date_format_0'];
|
||||
$var_data['date_format_1'] = $_REQUEST['date_format_1'];
|
||||
$var_data['date_format_2'] = $_REQUEST['date_format_2'];
|
||||
$var_data['language'] = $_REQUEST['language'];
|
||||
$var_data['roundPrecision'] = $_REQUEST['roundPrecision'];
|
||||
$var_data['decimalSeparator'] = $_REQUEST['decimalSeparator'];
|
||||
$var_data['durationWithSeconds'] = isset($_REQUEST['durationWithSeconds']);
|
||||
$var_data['defaultTimezone'] = $_REQUEST['defaultTimezone'];
|
||||
$var_data['exactSums'] = isset($_REQUEST['exactSums']);
|
||||
|
||||
$success = var_edit($var_data);
|
||||
|
||||
// do whatever you like
|
||||
// and return one of these:
|
||||
|
||||
echo $success?"ok":$kga['lang']['error'];
|
||||
break;
|
||||
|
||||
|
||||
case "toggleDeletedUsers":
|
||||
setcookie("ap_ext_show_deleted_users",$axValue);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
140
extensions/ki_adminpanel/templates/advanced.tpl
Normal file
140
extensions/ki_adminpanel/templates/advanced.tpl
Normal file
@@ -0,0 +1,140 @@
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
function cb(data) {
|
||||
if (data=="ok") {
|
||||
window.location.reload();
|
||||
return;
|
||||
}
|
||||
$("#ap_ext_form_editadv_submit").blur();
|
||||
$("#ap_ext_output").width($(".ap_ext_panel_header").width()-22);
|
||||
$("#ap_ext_output").fadeIn(fading_enabled?500:0,function(){
|
||||
$("#ap_ext_output").fadeOut(fading_enabled?4000:0);
|
||||
});
|
||||
}
|
||||
$(document).ready(function() {
|
||||
$('#ap_ext_form_editadv').ajaxForm({target:'#ap_ext_output',success:cb});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<div class="content">
|
||||
|
||||
<div id="ap_ext_output"></div>
|
||||
|
||||
<form id="ap_ext_form_editadv" action="../extensions/ki_adminpanel/processor.php" method="post">
|
||||
|
||||
<fieldset class="ap_ext_advanced">
|
||||
<div>
|
||||
<input type="text" name="adminmail" size="20" value="{$kga.conf.adminmail|escape:'html'}" class="formfield"> {$kga.lang.adminmail}
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" name="logintries" size="2" value="{$kga.conf.loginTries|escape:'html'}" class="formfield"> {$kga.lang.logintries}
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" name="loginbantime" size="4" value="{$kga.conf.loginBanTime|escape:'html'}" class="formfield"> {$kga.lang.bantime}
|
||||
</div>
|
||||
|
||||
<div id="ap_ext_checkupdate">
|
||||
<a href="javascript:ap_ext_checkupdate();">{$kga.lang.checkupdate}</a>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{$kga.lang.lang}: <select name="language" class="formfield">
|
||||
{html_options values=$languages output=$languages selected=$kga.conf.language}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_sensible_data" {if $kga.show_sensible_data}checked="checked"{/if} value="1" class="formfield"> {$kga.lang.show_sensible_data}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_update_warn" {if $kga.show_update_warn}checked="checked"{/if} value="1" class="formfield"> {$kga.lang.show_update_warn}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="check_at_startup" {if $kga.check_at_startup}checked="checked"{/if} value="1" class="formfield"> {$kga.lang.check_at_startup}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_daySeperatorLines" {if $kga.show_daySeperatorLines}checked="checked"{/if} value="1" class="formfield"> {$kga.lang.show_daySeperatorLines}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_gabBreaks" {if $kga.show_gabBreaks}checked="checked"{/if} value="1" class="formfield"> {$kga.lang.show_gabBreaks}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_RecordAgain" {if $kga.show_RecordAgain}checked="checked"{/if} value="1" class="formfield"> {$kga.lang.show_RecordAgain}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="show_TrackingNr" {if $kga.show_TrackingNr}checked="checked"{/if} value="1" class="formfield"> {$kga.lang.show_TrackingNr}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="text" name="currency_name" size="8" value="{$kga.currency_name|escape:'html'}" class="formfield"> {$kga.lang.currency_name}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="text" name="currency_sign" size="2" value="{$kga.currency_sign|escape:'html'}" class="formfield"> {$kga.lang.currency_sign}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="currency_first" {if $kga.conf.currency_first}checked="checked"{/if} value="1" class="formfield"> {$kga.lang.currency_first}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="text" name="date_format_2" size="8" value="{$kga.date_format.2|escape:'html'}" class="formfield"> {$kga.lang.display_date_format}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="text" name="date_format_0" size="8" value="{$kga.date_format.0|escape:'html'}" class="formfield"> {$kga.lang.display_currentDate_format}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="text" name="date_format_1" size="8" value="{$kga.date_format.1|escape:'html'}" class="formfield"> {$kga.lang.table_date_format}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="durationWithSeconds" {if $kga.conf.durationWithSeconds}checked="checked"{/if} value="1" class="formfield"> {$kga.lang.durationWithSeconds}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{$kga.lang.round_time} <select name="roundPrecision" class="formfield">
|
||||
<option value="0" {if $kga.conf.roundPrecision==0}selected="selected"{/if}>-</option>
|
||||
<option value="1" {if $kga.conf.roundPrecision==1}selected="selected"{/if}>1</option>
|
||||
<option value="5" {if $kga.conf.roundPrecision==5}selected="selected"{/if}>5</option>
|
||||
<option value="10" {if $kga.conf.roundPrecision==10}selected="selected"{/if}>10</option>
|
||||
<option value="15" {if $kga.conf.roundPrecision==15}selected="selected"{/if}>15</option>
|
||||
<option value="15" {if $kga.conf.roundPrecision==20}selected="selected"{/if}>20</option>
|
||||
<option value="30" {if $kga.conf.roundPrecision==30}selected="selected"{/if}>30</option>
|
||||
</select> {$kga.lang.round_time_minute}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{$kga.lang.decimal_separator}: <input type="text" name="decimalSeparator" size="1" value="{$kga.conf.decimalSeparator|escape:'html'}" class="formfield">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<select name="defaultTimezone">
|
||||
{html_options values=$timezones output=$timezones selected=$kga.conf.defaultTimezone}
|
||||
</select> {$kga.lang.defaultTimezone}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" name="exactSums" {if $kga.conf.exactSums}checked="checked"{/if} value="1" class="formfield"> {$kga.lang.exactSums}
|
||||
</div>
|
||||
|
||||
|
||||
<input name="axAction" type="hidden" value="sendEditAdvanced" />
|
||||
|
||||
<div id="formbuttons">
|
||||
<input id="ap_ext_form_editadv_submit" class='btn_ok' type='submit' value='{$kga.lang.save}' />
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
21
extensions/ki_adminpanel/templates/database.tpl
Normal file
21
extensions/ki_adminpanel/templates/database.tpl
Normal file
@@ -0,0 +1,21 @@
|
||||
{$kga.lang.DBname}: {$kga.server_database|escape:'html'}
|
||||
<br />
|
||||
<br />
|
||||
<a href="../db_restore.php">Database Backup Utility</a>
|
||||
|
||||
{*
|
||||
<br /><br />
|
||||
|
||||
{$kga.lang.lastdbbackup}:
|
||||
|
||||
{if $kga.conf.lastdbbackup}
|
||||
{$kga.conf.lastdbbackup|date_format}
|
||||
{else}
|
||||
none
|
||||
{/if}
|
||||
|
||||
<br />
|
||||
|
||||
<input class='btn_ok' type='submit' value='{$kga.lang.runbackup}' onClick='backupAll(); return false;' />
|
||||
|
||||
*}
|
||||
74
extensions/ki_adminpanel/templates/evt.tpl
Normal file
74
extensions/ki_adminpanel/templates/evt.tpl
Normal file
@@ -0,0 +1,74 @@
|
||||
|
||||
<a href="#" onClick="floaterShow('floaters.php','add_edit_evt',0,0,450,200); $(this).blur(); return false;"><img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/add.png" width="22" height="16" alt="{$kga.lang.new_evt}"></a> {$kga.lang.new_evt}
|
||||
|
||||
{$kga.lang.view_filter}:
|
||||
<select size="1" id="evt_pct_filter" onchange="ap_ext_refreshSubtab('evt');">
|
||||
<option value="-2" {if $selected_evt_filter==-2}selected="selected"{/if}>{$kga.lang.unassigned}</option>
|
||||
<option value="-1" {if $selected_evt_filter==-1}selected="selected"{/if}>{$kga.lang.all_events}</option>
|
||||
{section name=row loop=$arr_pct}
|
||||
<option value="{$arr_pct[row].pct_ID}"
|
||||
{if $selected_evt_filter==$arr_pct[row].pct_ID}selected="selected"{/if}>{$arr_pct[row].pct_name|escape:'html'} ({$arr_pct[row].knd_name|truncate:30:"..."|escape:'html'})</option>
|
||||
{/section}
|
||||
</select>
|
||||
<br/><br/>
|
||||
|
||||
{cycle values="odd,even" reset=true print=false}
|
||||
<table>
|
||||
|
||||
<thead>
|
||||
<tr class='headerrow'>
|
||||
<th>{$kga.lang.options}</th>
|
||||
<th>{$kga.lang.evts}</th>
|
||||
<th>{$kga.lang.groups}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tbody>
|
||||
|
||||
{section name=row loop=$arr_evt}
|
||||
{if $arr_evt[row].evt_visible || $arr_evt[row].zeit != "0:00"}
|
||||
|
||||
<tr class="{cycle values="odd,even"}">
|
||||
|
||||
<td class="option">
|
||||
<a href ="#" onClick="editSubject('evt',{$arr_evt[row].evt_ID}); $(this).blur(); return false;">
|
||||
<img src='../skins/{$kga.conf.skin|escape:'html'}/grfx/edit2.gif' width='13' height='13' alt='{$kga.lang.edit}' title='{$kga.lang.edit}' border='0' />
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="#" id="delete_evt{$arr_evt[row].evt_ID}" onClick="ap_ext_deleteEvent({$arr_evt[row].evt_ID})">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_trashcan.png" title="{$kga.lang.delevt}" width="13" height="13" alt="{$kga.lang.delevt}" border="0">
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td class="events">
|
||||
{if $arr_evt[row].evt_visible != 1}<span style="color:#bbb">{/if}
|
||||
{$arr_evt[row].evt_name|escape:'html'}
|
||||
{if $arr_evt[row].evt_visible != 1}</span>{/if}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{$arr_evt[row].groups|escape:'html'}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
{/if}
|
||||
{/section}
|
||||
|
||||
|
||||
|
||||
|
||||
{if $arr_evt == '0'}
|
||||
<tr>
|
||||
<td colspan='3'>
|
||||
<strong style="color:red">{$kga.lang.noItems}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
48
extensions/ki_adminpanel/templates/floaters/editgroup.tpl
Normal file
48
extensions/ki_adminpanel/templates/floaters/editgroup.tpl
Normal file
@@ -0,0 +1,48 @@
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#ap_ext_form_editgrp').ajaxForm(function() {
|
||||
floaterClose();
|
||||
ap_ext_refreshSubtab('grp');
|
||||
ap_ext_refreshSubtab('usr');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<div id="floater_innerwrap">
|
||||
|
||||
<div id="floater_handle">
|
||||
<span id="floater_title">{$kga.lang.editgrp}</span>
|
||||
<div class="right">
|
||||
<a href="#" class="close" onClick="floaterClose();">{$kga.lang.close}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="floater_content">
|
||||
<form id="ap_ext_form_editgrp" action="../extensions/ki_adminpanel/processor.php" method="post">
|
||||
<fieldset>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="grp_name">{$kga.lang.groupname}:</label>
|
||||
<input class="formfield" type="text" name="grp_name" value="{$grp_details.grp_name|escape:'html'}" size=35 />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="grp_leader" >{$kga.lang.groupleader}:</label>
|
||||
<select class="formfield" name="grp_leader[]" multiple size='5' style="width:255px">
|
||||
{html_options values=$arr_usr_ID output=$arr_usr_name selected=$grp_selection}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<input name="id" type="hidden" value="{$grp_details.grp_ID}" />
|
||||
<input name="axAction" type="hidden" value="sendEditGrp" />
|
||||
<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}' />
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
126
extensions/ki_adminpanel/templates/floaters/edituser.tpl
Normal file
126
extensions/ki_adminpanel/templates/floaters/edituser.tpl
Normal file
@@ -0,0 +1,126 @@
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
var options = {
|
||||
beforeSubmit: function() {
|
||||
|
||||
if ($('#password').val() != '' && !validatePassword($('#password').val(),$('#retypePassword').val()))
|
||||
return false;
|
||||
|
||||
floaterClose();
|
||||
},
|
||||
success: function() {
|
||||
hook_chgUsr();
|
||||
ap_ext_refreshSubtab('grp');
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
$('#ap_ext_form_editusr').ajaxForm(options);
|
||||
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<div id="floater_innerwrap">
|
||||
|
||||
<div id="floater_handle">
|
||||
<span id="floater_title">{$kga.lang.editusr}</span>
|
||||
<div class="right">
|
||||
<a href="#" class="close" onClick="floaterClose();">{$kga.lang.close}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="floater_content">
|
||||
|
||||
<form id="ap_ext_form_editusr" action="../extensions/ki_adminpanel/processor.php" method="post">
|
||||
<fieldset>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<label for="usr_name">{$kga.lang.username}:</label>
|
||||
<input class="formfield" type="text" name="usr_name" value="{$usr_details.usr_name|escape:'html'}" maxlength=20 size=20 />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="usr_sts">{$kga.lang.status}:</label>
|
||||
|
||||
{if $usr_details.usr_sts == 1}
|
||||
<select name="usr_sts">
|
||||
<option value="0" {if $usr_details.usr_sts == 0}selected{/if}>{$kga.lang.adminusr} (!)</option>
|
||||
<option value="1" {if $usr_details.usr_sts == 1}selected{/if}>{$kga.lang.groupleader}</option>
|
||||
<option value="2" {if $usr_details.usr_sts == 2}selected{/if}>{$kga.lang.regusr}</option>
|
||||
</select>
|
||||
{else}
|
||||
|
||||
|
||||
{if $curr_user == $usr_details.usr_name && $usr_details.usr_sts == 0}
|
||||
{$kga.lang.admWarn}
|
||||
{else}
|
||||
<select name="usr_sts">
|
||||
<option value="0" {if $usr_details.usr_sts == 0}selected{/if}>{$kga.lang.adminusr} (!)</option>
|
||||
<option value="2" {if $usr_details.usr_sts == 2}selected{/if}>{$kga.lang.regusr}</option>
|
||||
</select>
|
||||
{/if}
|
||||
|
||||
{/if}
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<label for="usr_pw">{$kga.lang.newPassword}:</label>
|
||||
<input class="formfield" type="password" name="usr_pw" size="9" id="password" /> {$kga.lang.minLength}
|
||||
{if $usr_details.usr_pw == "no"}
|
||||
|
||||
<br/>
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/caution_mini.png" alt="Caution" valign=middle />
|
||||
<strong style="color:red">{$kga.lang.nopassword}</strong>
|
||||
{/if}
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<label for="usr_pw">{$kga.lang.retypePassword}:</label>
|
||||
<input class="formfield" type="password" name="retypePassword" id="retypePassword" size="9" />
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<label for="usr_rate">{$kga.lang.rate}:</label>
|
||||
<input class="formfield" type="text" name="usr_rate" value="{$usr_details.usr_rate|number_format:2:$kga.conf.decimalSeparator:""|escape:'html'}" />
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<label for="usr_mail">{$kga.lang.mail}:</label>
|
||||
<input class="formfield" type="text" name="usr_mail" value="{$usr_details.usr_mail|escape:'html'}" />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="usr_alias">{$kga.lang.alias}:</label>
|
||||
<input class="formfield" type="text" name="usr_alias" value="{$usr_details.usr_alias|escape:'html'}" />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="usr_grp">{$kga.lang.group}:</label>
|
||||
<select class="formfield" name="usr_grp">
|
||||
{html_options values=$arr_grp_ID output=$arr_grp_name selected=$usr_details.usr_grp}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<input name="id" type="hidden" value="{$usr_details.usr_ID}" />
|
||||
<input name="axAction" type="hidden" value="sendEditUsr" />
|
||||
|
||||
<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}' />
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
86
extensions/ki_adminpanel/templates/groups.tpl
Normal file
86
extensions/ki_adminpanel/templates/groups.tpl
Normal file
@@ -0,0 +1,86 @@
|
||||
<form>
|
||||
<input type=text id="newgroup" class="formfield"></input>
|
||||
<input class='btn_ok' type=submit value="{$kga.lang.addgroup}" onclick="ap_ext_newGroup(); return false;">
|
||||
</form>
|
||||
<br />
|
||||
<table>
|
||||
<thead>
|
||||
<tr class='headerrow'>
|
||||
<th>{$kga.lang.group}</th>
|
||||
<th>{$kga.lang.options}</th>
|
||||
<th>{$kga.lang.members}</th>
|
||||
<th>{$kga.lang.groupleader}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
|
||||
{section name=grouparray loop=$arr_grp}
|
||||
<tr class='{cycle values="even,odd"}'>
|
||||
|
||||
<td>
|
||||
{if $arr_grp[grouparray].grp_ID == 1}
|
||||
<span style="color:red">{$arr_grp[grouparray].grp_name|escape:'html'}</span>
|
||||
{else}
|
||||
{$arr_grp[grouparray].grp_name|escape:'html'}
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
<td>{strip}
|
||||
<a href="#" onClick="ap_ext_editGroup('{$arr_grp[grouparray].grp_ID}'); $(this).blur(); return false;">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/edit2.gif" title="{$kga.lang.editgrp}" width="13" height="13" alt="{$kga.lang.editgrp}" border="0">
|
||||
</a>
|
||||
|
||||
|
||||
{*
|
||||
<a href="#" onClick="switchGrp('{$arr_grp[grouparray].grp_ID}'); return false;">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/auge.png" title="{$kga.lang.switchgrp}" width="16" height="13" alt="{$kga.lang.switchgrp}" border="0">
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="#" onClick="backupGrp({$arr_grp[grouparray].grp_ID}); return false;">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_backup.gif" title="{$kga.lang.backupgrp}" width="12" height="13" border="0" alt="{$kga.lang.backupgrp}">
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="mailto:{$arr_grp[grouparray].grp_mail|escape:'html'}">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_mail_.gif" title="{$kga.lang.mailgrp}" width="12" height="13" alt="{$kga.lang.mailgrp}" border="0">
|
||||
</a>
|
||||
|
||||
|
||||
*}
|
||||
|
||||
{if $arr_grp[grouparray].count_users == 0}
|
||||
<a href="#" onClick="ap_ext_deleteGroup({$arr_grp[grouparray].grp_ID})">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_trashcan.png" title="{$kga.lang.delgrp}" width="13" height="13" alt="{$kga.lang.delgrp}" border="0">
|
||||
</a>
|
||||
{else}
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_trashcan_.png" title="{$kga.lang.delgrp}" width="13" height="13" alt="{$kga.lang.delgrp}" border="0">
|
||||
{/if}
|
||||
|
||||
{/strip}</td>
|
||||
|
||||
<td>{$arr_grp[grouparray].count_users}</td>
|
||||
|
||||
|
||||
{*Display name(s) of the group-leader(s)*}
|
||||
|
||||
|
||||
<td>
|
||||
{foreach item=leader from=$arr_grp[grouparray].leader_name}
|
||||
{$leader|escape:'html'}
|
||||
{/foreach}
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
</tr>
|
||||
{/section}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
64
extensions/ki_adminpanel/templates/knd.tpl
Normal file
64
extensions/ki_adminpanel/templates/knd.tpl
Normal file
@@ -0,0 +1,64 @@
|
||||
<a href="#" onClick="floaterShow('floaters.php','add_edit_knd',0,0,450,200); $(this).blur(); return false;"><img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/add.png" width="22" height="16" alt="{$kga.lang.new_knd}"></a> {$kga.lang.new_knd}
|
||||
<br/><br/>
|
||||
|
||||
{cycle values="odd,even" reset=true print=false}
|
||||
<table>
|
||||
|
||||
<thead>
|
||||
<tr class='headerrow'>
|
||||
<th>{$kga.lang.options}</th>
|
||||
<th>{$kga.lang.knds}</th>
|
||||
<th>{$kga.lang.contactPerson}</th>
|
||||
<th>{$kga.lang.groups}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tbody>
|
||||
|
||||
{section name=row loop=$arr_knd}
|
||||
{if $arr_knd[row].knd_visible || $arr_knd[row].zeit != "0:00"}
|
||||
|
||||
<tr class="{cycle values="odd,even"}">
|
||||
|
||||
<td class="option">
|
||||
<a href ="#" onClick="editSubject('knd',{$arr_knd[row].knd_ID}); $(this).blur(); return false;">
|
||||
<img src='../skins/{$kga.conf.skin|escape:'html'}/grfx/edit2.gif' width='13' height='13' alt='{$kga.lang.edit}' title='{$kga.lang.edit}' border='0' />
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="#" id="delete_knd{$arr_knd[row].knd_ID}" onClick="ap_ext_deleteCustomer({$arr_knd[row].knd_ID})">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_trashcan.png" title="{$kga.lang.delknd}" width="13" height="13" alt="{$kga.lang.delknd}" border="0">
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td class="clients">
|
||||
{if $arr_knd[row].knd_visible != 1}<span style="color:#bbb">{/if}
|
||||
{$arr_knd[row].knd_name|escape:'html'}
|
||||
{if $arr_knd[row].knd_visible != 1}</span>{/if}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{$arr_knd[row].knd_contact|escape:'html'}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{$arr_knd[row].groups|escape:'html'}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{/if}
|
||||
{/section}
|
||||
|
||||
{if $arr_knd == '0'}
|
||||
<tr>
|
||||
<td colspan='3'>
|
||||
<strong style="color:red">{$kga.lang.noItems}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
115
extensions/ki_adminpanel/templates/main.tpl
Normal file
115
extensions/ki_adminpanel/templates/main.tpl
Normal file
@@ -0,0 +1,115 @@
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
ap_ext_onload();
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<div id="ap_ext_panel">
|
||||
|
||||
{* edit customers *}
|
||||
|
||||
<div id="ap_ext_sub5">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(5)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
{$kga.lang.knds}
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s5" class="ap_ext_subtab ap_ext_subject">
|
||||
{$knd_display}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{* edit projects *}
|
||||
|
||||
<div id="ap_ext_sub6">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(6)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
{$kga.lang.pcts}
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s6" class="ap_ext_subtab ap_ext_subject">
|
||||
{$pct_display}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{* edit events *}
|
||||
|
||||
<div id="ap_ext_sub7">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(7)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
{$kga.lang.evts}
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s7" class="ap_ext_subtab ap_ext_subject">
|
||||
{$evt_display}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{* edit users *}
|
||||
{ if $kga.usr.usr_sts == 0 }
|
||||
<div id="ap_ext_sub1">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(1)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
{$kga.lang.users}
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s1" class="ap_ext_subtab ap_ext_4cols">
|
||||
{$admin.users}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{* edit groups *}
|
||||
|
||||
<div id="ap_ext_sub2">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(2)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
{$kga.lang.groups}
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s2" class="ap_ext_subtab ap_ext_4cols">
|
||||
{$admin.groups}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{* advanced *}
|
||||
{ if $kga.usr.usr_sts == 0 }
|
||||
<div id="ap_ext_sub3">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(3)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
{$kga.lang.advanced}
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s3" class="ap_ext_subtab ap_ext_4cols">
|
||||
{$admin.advanced}
|
||||
</div>
|
||||
</div>
|
||||
{ /if}
|
||||
|
||||
{* DB *}
|
||||
{ if $kga.usr.usr_sts == 0 }
|
||||
<div id="ap_ext_sub4">
|
||||
<div class="ap_ext_panel_header">
|
||||
<a onClick="ap_ext_subtab_expand(4)">
|
||||
<span class="ap_ext_accordeon_triangle"></span>
|
||||
{$kga.lang.database}
|
||||
</a>
|
||||
</div>
|
||||
<div id="ap_ext_s4" class="ap_ext_subtab ap_ext_4cols">
|
||||
{$admin.database}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{ /if}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
62
extensions/ki_adminpanel/templates/pct.tpl
Normal file
62
extensions/ki_adminpanel/templates/pct.tpl
Normal file
@@ -0,0 +1,62 @@
|
||||
<a href="#" onClick="floaterShow('floaters.php','add_edit_pct',0,0,450,200); $(this).blur(); return false;"><img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/add.png" width="22" height="16" alt="{$kga.lang.new_pct}"></a> {$kga.lang.new_pct}
|
||||
<br/><br/>
|
||||
|
||||
{cycle values="odd,even" reset=true print=false}
|
||||
<table>
|
||||
|
||||
<thead>
|
||||
<tr class='headerrow'>
|
||||
<th>{$kga.lang.options}</th>
|
||||
<th>{$kga.lang.pcts}</th>
|
||||
<th>{$kga.lang.groups}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tbody>
|
||||
|
||||
{section name=row loop=$arr_pct}
|
||||
{if $arr_pct[row].pct_visible || $arr_pct[row].zeit != "0:00"}
|
||||
<tr class="{cycle values="odd,even"}">
|
||||
|
||||
<td class="option">
|
||||
<a href ="#" onClick="editSubject('pct',{$arr_pct[row].pct_ID}); $(this).blur(); return false;">
|
||||
<img src='../skins/{$kga.conf.skin|escape:'html'}/grfx/edit2.gif' width='13' height='13' alt='{$kga.lang.edit}' title='{$kga.lang.edit}' border='0' />
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="#" id="delete_pct{$arr_pct[row].pct_ID}" onClick="ap_ext_deleteProject({$arr_pct[row].pct_ID})">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_trashcan.png" title="{$kga.lang.delpct}" width="13" height="13" alt="{$kga.lang.delpct}" border="0">
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td class="projects">
|
||||
{if $arr_pct[row].pct_visible != 1}<span style="color:#bbb">{/if}
|
||||
{if $kga.conf.flip_pct_display}
|
||||
<span class="lighter">{$arr_pct[row].knd_name|truncate:30:"..."|escape:'html'}:</span> {$arr_pct[row].pct_name|escape:'html'}
|
||||
{else}
|
||||
{$arr_pct[row].pct_name|escape:'html'} <span class="lighter">({$arr_pct[row].knd_name|truncate:30:"..."|escape:'html'})</span>
|
||||
{/if}
|
||||
{if $arr_pct[row].pct_visible != 1}</span>{/if}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{$arr_pct[row].groups|escape:'html'}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{/if}
|
||||
{/section}
|
||||
|
||||
{if $arr_pct == '0'}
|
||||
<tr>
|
||||
<td colspan='3'>
|
||||
<strong style="color:red">{$kga.lang.noItems}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
180
extensions/ki_adminpanel/templates/users.tpl
Normal file
180
extensions/ki_adminpanel/templates/users.tpl
Normal file
@@ -0,0 +1,180 @@
|
||||
{*########## field for add new user ##########*}
|
||||
<form>
|
||||
<input type=text id="newuser" class="formfield"></input>
|
||||
<input class='btn_ok' type="submit" value="{$kga.lang.adduser}" onclick="ap_ext_newUser(); return false;">
|
||||
{if $showDeletedUsers}
|
||||
<input class='btn_ok' type="button" value="{$kga.lang.hidedeletedusers}" onclick="ap_ext_hideDeletedUsers(); return false;">
|
||||
{else}
|
||||
<input class='btn_ok' type="button" value="{$kga.lang.showdeletedusers}" onclick="ap_ext_showDeletedUsers(); return false;">
|
||||
{/if}
|
||||
</form>
|
||||
{*########## field for add new user ##########*}
|
||||
|
||||
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$kga.lang.username}</th>
|
||||
<th>{$kga.lang.options}</th>
|
||||
<th>{$kga.lang.status}</th>
|
||||
<th>{$kga.lang.group}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tbody>
|
||||
{section name=userarray loop=$arr_usr}{strip}
|
||||
<tr class='{cycle values="even,odd"}'>
|
||||
|
||||
|
||||
|
||||
{*########## USER NAME ##########*}
|
||||
<td>
|
||||
{if $curr_user == $arr_usr[userarray].usr_name}
|
||||
<strong style="color:#00E600">{$arr_usr[userarray].usr_name|escape:'html'}</strong>
|
||||
{else}
|
||||
{if $arr_usr[userarray].usr_trash}<span style="color:#999">{/if}
|
||||
{$arr_usr[userarray].usr_name|escape:'html'}
|
||||
{if $arr_usr[userarray].usr_trash}</span>{/if}
|
||||
{/if}
|
||||
</td>
|
||||
{*########## /USER NAME ##########*}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{*########## Option cells ##########*}
|
||||
<td>
|
||||
|
||||
<a href="#" onClick="ap_ext_editUser('{$arr_usr[userarray].usr_ID}'); $(this).blur(); return false;">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/edit2.gif" title="{$kga.lang.editusr}" width="13" height="13" alt="{$kga.lang.editusr}" border="0">
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
{*
|
||||
{if $curr_user != $arr_usr[userarray].usr_name}
|
||||
<a href="#" onClick="switchUsr('{$arr_usr[userarray].usr_ID}'); return false;">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/auge.png" title="{$kga.lang.switchusr}" width="16" height="13" alt="{$kga.lang.switchusr}" border="0">
|
||||
</a>
|
||||
{else}
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/auge_.gif" title="{$kga.lang.switchusr}" width="16" height="13" alt="{$kga.lang.switchusr}" border="0">
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
<a href="#" onClick="backupUsr({$arr_usr[userarray].usr_ID}); return false;">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_backup.gif" title="{$kga.lang.backupusr}" width="12" height="13" border=0 alt="{$kga.lang.backupusr}">
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
*}
|
||||
|
||||
{if $arr_usr[userarray].usr_mail}
|
||||
<a href="mailto:{$arr_usr[userarray].usr_mail|escape:'html'}">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_mail.gif" title="{$kga.lang.mailusr}" width="12" height="13" alt="{$kga.lang.mailusr}" border="0">
|
||||
</a>
|
||||
{else}
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_mail_.gif" title="{$kga.lang.mailusr}" width="12" height="13" alt="{$kga.lang.mailusr}" border="0">
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
{if $curr_user != $arr_usr[userarray].usr_name}
|
||||
<a href="#" id="delete_usr{$arr_usr[userarray].usr_ID}" onClick="ap_ext_deleteUser({$arr_usr[userarray].usr_ID})">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_trashcan.png" title="{$kga.lang.delusr}" width="13" height="13" alt="{$kga.lang.delusr}" border="0">
|
||||
</a>
|
||||
{else}
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/button_trashcan_.png" title="{$kga.lang.delusr}" width="13" height="13" alt="{$kga.lang.delusr}" border="0">
|
||||
{/if}
|
||||
|
||||
</td>
|
||||
{*########## /Option cells ##########*}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{*########## Status cells ##########*}
|
||||
<td>
|
||||
{if $arr_usr[userarray].usr_sts == 0}
|
||||
<img src='../skins/{$kga.conf.skin|escape:'html'}/grfx/crown.png' alt='{$kga.lang.adminusr}' title='{$kga.lang.adminusr}' border="0">
|
||||
{/if}
|
||||
|
||||
{if $arr_usr[userarray].usr_sts == 1}
|
||||
<img src='../skins/{$kga.conf.skin|escape:'html'}/grfx/leader.gif' alt='{$kga.lang.groupleader}' title='{$kga.lang.groupleader}' border="0">
|
||||
{/if}
|
||||
|
||||
{if $arr_usr[userarray].usr_sts == 2}
|
||||
<img src='../skins/{$kga.conf.skin|escape:'html'}/grfx/user.gif' alt='{$kga.lang.regusr}' title='{$kga.lang.regusr}' border="0">
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
{if $arr_usr[userarray].usr_active == 1}
|
||||
{if $curr_user != $arr_usr[userarray].usr_name}
|
||||
<a href="#" id="ban{$arr_usr[userarray].usr_ID}" onClick="ap_ext_banUser('{$arr_usr[userarray].usr_ID}'); return false;">
|
||||
<img src='../skins/{$kga.conf.skin|escape:'html'}/grfx/jipp.gif' alt='{$kga.lang.activeusr}' title='{$kga.lang.activeusr}' border="0" width="16" height="16" />
|
||||
</a>
|
||||
{else}
|
||||
<img src='../skins/{$kga.conf.skin|escape:'html'}/grfx/jipp_.gif' alt='{$kga.lang.activeusr}' title='{$kga.lang.activeusr}' border="0" width="16" height="16" />
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
{if $arr_usr[userarray].usr_active == 0}
|
||||
<a href="#" id="ban{$arr_usr[userarray].usr_ID}" onClick="ap_ext_unbanUser('{$arr_usr[userarray].usr_ID}'); return false;">
|
||||
<img src='../skins/{$kga.conf.skin|escape:'html'}/grfx/lock.png' alt='{$kga.lang.bannedusr}' title='{$kga.lang.bannedusr}' border="0" width="16" height="16" />
|
||||
</a>
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
{if $arr_usr[userarray].usr_pw == "no"}
|
||||
<a href="#" onClick="ap_ext_editUser('{$arr_usr[userarray].usr_ID}'); $(this).blur(); return false;">
|
||||
<img src="../skins/{$kga.conf.skin|escape:'html'}/grfx/caution_mini.png" width="16" height="16" title='{$kga.lang.nopassword}' border="0">
|
||||
</a>
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
{if $arr_usr[userarray].usr_trash}
|
||||
<strong style="color:red">X</strong>
|
||||
{/if}
|
||||
|
||||
|
||||
</td>
|
||||
{*########## /Status cells ##########*}
|
||||
|
||||
|
||||
|
||||
|
||||
{*########## Group cells ##########*}
|
||||
<td>
|
||||
{if $arr_usr[userarray].usr_grp == 1}
|
||||
<span style="color:red">{$arr_usr[userarray].grp_name|escape:'html'}</span>
|
||||
{else}
|
||||
{$arr_usr[userarray].grp_name|escape:'html'}
|
||||
{/if}
|
||||
</td>
|
||||
{*########## Group cells ##########*}
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
{/strip}{/section}
|
||||
|
||||
</table>
|
||||
|
||||
<p><strong>{$kga.lang.hint}</strong> {$kga.lang.usr_caution1} '{$curr_user|escape:'html'}' {$kga.lang.usr_caution2}</p>
|
||||
Reference in New Issue
Block a user