first commit
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 361 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,662 @@
|
||||
<?php
|
||||
include 'connect/cms-config.php' ;
|
||||
include 'requires/function.php' ;
|
||||
include 'requires/session.php' ;
|
||||
|
||||
// check permission
|
||||
if ( !permissionCheck($row_user, 'attendance-list-view') ){
|
||||
header('Location: index.php') ;
|
||||
exit ;
|
||||
}
|
||||
|
||||
// keep parameter in value
|
||||
$edit = escapeString($_GET['edit']) ;
|
||||
$page = escapeString($_GET['page']) ;
|
||||
$page_mode = escapeString($_GET['page_mode']) ;
|
||||
$type = escapeString($_GET['type']) ;
|
||||
|
||||
|
||||
// get all branch
|
||||
$branch = [] ;
|
||||
$get_branch = $mysqli->query("SELECT * FROM branch
|
||||
WHERE deleted_at IS NULL".$user_branch_permission_sql) ;
|
||||
if ( $get_branch->num_rows > 0 ){
|
||||
while ( $row_branch = $get_branch->fetch_assoc() ){
|
||||
$branch[$row_branch['branch_id']] = $row_branch['branch_name'] ;
|
||||
}
|
||||
}
|
||||
include 'HR/hr-attendance-format-2-update.php' ;
|
||||
include 'HR/hr-attendance-format-2-data.php' ;
|
||||
|
||||
$boolean_role = false ;
|
||||
$boolean_edit = false ;
|
||||
if ( permissionCheck($row_user,"attendance-list-edit") ){
|
||||
$boolean_role = true ;
|
||||
if ( $edit == 'yes' ){
|
||||
$boolean_edit = true ;
|
||||
}
|
||||
}
|
||||
|
||||
// active page
|
||||
$active_main_menu = 'hr' ;
|
||||
$active_sub_menu = 'hr-attendance' ;
|
||||
$active_menu = 'hr-attendance-list' ;
|
||||
|
||||
// start header here
|
||||
include 'requires/page_header.php' ;
|
||||
include 'requires/page_top.php' ;
|
||||
|
||||
// reset sort by type
|
||||
$sort_by_type = ( $sort_by_type == 'DESC' ? 'ASC' : 'DESC' ) ;
|
||||
|
||||
// get all attendance list
|
||||
$array_list = [] ;
|
||||
$get_attendaces = $mysqli->query("SELECT list_id, list_work_day, list_ot_day, list_late, list_early_out, list_time_off, list_type_remark, staff_id, list_date, list_attendance_remark FROM staff_attendance_list
|
||||
WHERE deleted_at IS NULL AND list_date LIKE '".$date_time."%'") ;
|
||||
if ( $get_attendaces->num_rows > 0 ){
|
||||
while ( $row_list = $get_attendaces->fetch_assoc() ){
|
||||
$array_list[$row_list['staff_id']][$row_list['list_date']] = $row_list ;
|
||||
}
|
||||
}
|
||||
|
||||
// get all requires
|
||||
$tier_list = [] ;
|
||||
$mysqli_tier = $mysqli->query("SELECT a.tier_id, b.title FROM profile_tier a
|
||||
LEFT JOIN profile_tier_translation b ON ( a.tier_id = b.tier_id )
|
||||
WHERE a.deleted_at IS NULL AND b.lang = 'en' ORDER BY a.sortable ASC") ;
|
||||
if ( $mysqli_tier->num_rows > 0 ){
|
||||
while ( $row_tier = $mysqli_tier->fetch_assoc() ){
|
||||
$tier_list[] = $row_tier ;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<style>
|
||||
.check_in_out_warning{
|
||||
background:#f7a6a6;
|
||||
}
|
||||
.select_datepicker{
|
||||
text-align: center;
|
||||
}
|
||||
.datepicker_box{
|
||||
display: inline-block;
|
||||
}
|
||||
.datepicker_submit{
|
||||
border: 0;
|
||||
padding: 7px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- Header Ends -->
|
||||
<div class="warper container-fluid">
|
||||
<div class="page-header">
|
||||
<h1><?= $lang['attendance']?> <small><?= $lang['list']?></small></h1>
|
||||
<div class="clearfix">
|
||||
<div style="float: right;">
|
||||
<?php if ( permissionCheck($row_user, 'attendance-attendance-reprocessing') ){ ?>
|
||||
[ <a href="hr-attendance.php?page_mode=reprocessing" target="_blank"><?= $lang['Reprocessing'] ?></a> ]
|
||||
<br />
|
||||
<?php } ?>
|
||||
[ <a href="<?= ( PATHEXPORT != 'PATHEXPORT' ? PATHEXPORT : '' ) ?>hr-attendance-format-2.php?<?= $search_url ?>&export=yes" target="_blank"><?= $lang['export_as']?> Excel</a> ]
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ( $boolean_role ){
|
||||
if ( $edit == 'yes' ){
|
||||
echo '<a href="?'.$search_url.'&edit=" class="btn btn-purple" style="margin-bottom:10px;">'.$lang['Normal Mode'].'</a>' ;
|
||||
}else{
|
||||
echo '<a href="?'.$search_url.'&edit=yes" class="btn btn-purple" style="margin-bottom:10px;">'.$lang['Edit Mode'].'</a>' ;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
if ($_SESSION['system_result'] != ''){
|
||||
echo $_SESSION['system_result'] ;
|
||||
unset($_SESSION['system_result']) ;
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="panel panel-default" id="basic-table-title">
|
||||
<div class="panel-heading"></div>
|
||||
<div class="panel-body">
|
||||
<form method="get" class="form-horizontal" style="max-width:600px;">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><?= $lang['Name']?></label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" name="search_name" value="<?= $search_name ?>" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><?= $lang['ID No']?></label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" name="search_idno" value="<?= $search_idno ?>" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><?= $lang['Mobile'] ?></label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" name="search_mobile" value="<?= $search_mobile ?>" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><?= $lang['email'] ?></label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" name="search_mail" value="<?= $search_mail ?>" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" style="display: none;">
|
||||
<label class="col-sm-2 control-label"><?= $lang['Tier'] ?></label>
|
||||
<div class="col-sm-9">
|
||||
<select name="search_tier" class="form-control">
|
||||
<option value=""><?= $lang['All'] ?></option>
|
||||
<?php foreach( $tier_list as $k => $v ){ ?>
|
||||
<option value="<?= $v['tier_id'] ?>" <?= ( $search_tier == $v['tier_id'] ? 'selected' : '' ) ?> ><?= $v['title'] ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" style="display: none;">
|
||||
<label class="col-sm-2 control-label"><?= $lang['Department']?></label>
|
||||
<div class="col-sm-9">
|
||||
<select name="search_department[]" class="chosen-select select2-basic-single form-control" multiple >
|
||||
<?php
|
||||
// department check list
|
||||
$department = [] ;
|
||||
$get_department = $mysqli->query("SELECT a.department_id, b.department_desc FROM setting_department a
|
||||
LEFT JOIN setting_department_translation b ON ( a.department_id = b.department_id )
|
||||
WHERE a.deleted_at IS NULL AND b.lang = 'en'") ;
|
||||
if ( $get_department->num_rows > 0 ){
|
||||
while ( $row_department = $get_department->fetch_assoc() ){
|
||||
|
||||
$department[$row_department['department_id']] = $row_department['department_desc'] ;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ( $department as $kk => $vv ){
|
||||
$selected = '';
|
||||
|
||||
if(arrayCheck($_GET['search_department'])){
|
||||
if(in_array("$kk", $_GET['search_department'], TRUE)){
|
||||
$selected = 'selected';
|
||||
}
|
||||
}
|
||||
echo '<option value="'.$kk.'" '.$selected.'>'.$vv.'</option>' ;
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" style="display: none;">
|
||||
<label class="col-sm-2 control-label"><?= $lang['L_F']?></label>
|
||||
<div class="col-sm-9">
|
||||
<select name="search_country" class="form-control">
|
||||
<option value=""><?= $lang['All']?></option>
|
||||
<option value="local" <?= $search_country == 'local' ? 'selected' : '' ?> ><?= $lang['Local']?></option>
|
||||
<option value="foreigner" <?= $search_country == 'foreigner' ? 'selected' : '' ?> ><?= $lang['Foreigner']?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" style="display: none;">
|
||||
<label class="col-sm-2 control-label"><?= $lang['branch']?></label>
|
||||
<div class="col-sm-9">
|
||||
<select name="search_branch" class="form-control">
|
||||
<option value=""><?= $lang['All']?></option>
|
||||
<?php
|
||||
foreach ( $branch as $kk => $vv ){
|
||||
echo '<option value="'.$kk.'" '.( $search_branch == $kk ? 'selected' : '' ).' >'.$vv.'</option>' ;
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><?= $lang['Day From'] ?></label>
|
||||
<div class="col-sm-9">
|
||||
<select class="form-control" name="search_day_from">
|
||||
<option value="">Select</option>
|
||||
<?php
|
||||
for ($i=1; $i < date("t", strtotime($date_time)) ; $i++) {
|
||||
echo ' <option value="'.$i.'" '.($search_day_from == $i ? "selected" : '').'>'.$i.'</option>';
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><?= $lang['Day To'] ?></label>
|
||||
<div class="col-sm-9">
|
||||
<select class="form-control" name="search_day_to">
|
||||
<option value="">Select</option>
|
||||
<?php
|
||||
for ($i=1; $i < date("t", strtotime($date_time)) ; $i++) {
|
||||
echo ' <option value="'.$i.'" '.($search_day_to == $i ? "selected" : '').'>'.$i.'</option>';
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="form-group">
|
||||
<label class="col-sm-2 control-label"><?= $lang['Date Resigned'] ?></label>
|
||||
<div class="col-sm-9">
|
||||
<input class="form-control" name="search_resigned" type="date" value="<?= ($search_resigned!= '' ? $search_resigned : date('Y-m-d',time()) ) ?>" placeholder="Date Resigned">
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><?= $lang['Resign List'] ?></label>
|
||||
<div class="col-sm-9">
|
||||
<input name="search_resigned" type="checkbox" value="1" <?= ($search_resigned!= '' ? "checked" : "") ?> placeholder="Resign List">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">View Type</label>
|
||||
<div class="col-sm-9">
|
||||
<select name="export" class="form-control">
|
||||
<option value="">Search</option>
|
||||
<option value="yes">View as Excel </option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-11">
|
||||
<input type="hidden" name="page_mode" value="<?= $page_mode ?>" />
|
||||
<input type="hidden" name="edit" value="<?= $edit ?>" />
|
||||
<input type="hidden" name="date_time" value="<?= $date_time ?>" />
|
||||
<input type="hidden" name="sort_by" value="<?= $sort_by ?>" />
|
||||
<input type="hidden" name="sort_by_type" value="<?= $sort_by_type ?>" />
|
||||
<button type="submit" class="btn btn-purple" style="float:right"><?= $lang['submit']?></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default" id="basic-table-title">
|
||||
<div class="panel-heading"></div>
|
||||
<div class="panel-body">
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-sm-12">
|
||||
|
||||
<div class="box-tools col-sm-12 col-md-12 col-lg-12" style="text-align: center; margin: 20px;">
|
||||
<a href="?<?= $search_url ?>&page=1&date_time=<?= date('Y-m', strtotime($date_time.' -1 month')) ?>" class="width_auto"><?= $lang['Prev Month']?></a>
|
||||
|
||||
<div class="datepicker_box">
|
||||
<span style="margin-left:10px; margin-right:10px;">
|
||||
<input type="text" readonly name="date_time" class="select_datepicker" value="<?= $date_time ?>">
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ( $date_time >= date('Y-m', strtotime(TODAYDAY)) ){}else{
|
||||
?>
|
||||
<a href="?<?= $search_url ?>&page=1&date_time=<?= date('Y-m', strtotime($date_time.' +1 month')) ?>" class="width_auto"><?= $lang['Next Month']?></a>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-sm-12">
|
||||
|
||||
<table class="ui-table table table-striped jambo_table bulk_action table-bordered stripe row-border order-column" id="basic-datatable-column">
|
||||
<thead>
|
||||
<tr class="headings">
|
||||
<th class="column-title text-center" width="8%">
|
||||
<div class="custom_dropdown_title">
|
||||
<div class="dataTable_width_image"><?= $lang['Image']?></div>
|
||||
</div>
|
||||
</th>
|
||||
<th class="column-title text-center" width="8%">
|
||||
<div class="custom_dropdown_title">
|
||||
<div class="dataTable_width_id">
|
||||
<a href="?<?= $search_url ?>&sort_by=staff_idno&sort_by_type=<?= ($sort_by == 'staff_idno' ? $sort_by_type : 'ASC') ?>">
|
||||
ID<?= ( $sort_by == 'staff_idno' ? '<i class="fa fa-sort-alpha-'.( $sort_by_type == 'DESC' ? 'asc' : 'desc' ).'"></i>' : '' ) ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</th>
|
||||
<th class="custom_dropdown_th" >
|
||||
<div class="custom_dropdown_title">
|
||||
<a href="?<?= $search_url ?>&sort_by=staff_name&sort_by_type=<?= ($sort_by == 'staff_name' ? $sort_by_type : 'ASC') ?>">
|
||||
<?= $lang['Name']?><?= ( $sort_by == 'staff_name' ? '<i class="fa fa-sort-alpha-'.( $sort_by_type == 'DESC' ? 'desc' : 'asc' ).'"></i>' : '' ) ?>
|
||||
</a>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
<div class="custom_dropdown_title">
|
||||
<a href="?<?= $search_url ?>&sort_by=department_desc&sort_by_type=<?= ($sort_by == 'department_desc' ? $sort_by_type : 'ASC') ?>">
|
||||
<?= $lang['Department']?><?= ( $sort_by == 'department_desc' ? '<i class="fa fa-sort-alpha-'.( $sort_by_type == 'DESC' ? 'desc' : 'asc' ).'"></i>' : '' ) ?>
|
||||
</a>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
<div class="custom_dropdown_title">
|
||||
<a href="?<?= $search_url ?>&sort_by=job_position_id&sort_by_type=<?= ($sort_by == 'job_position_id' ? $sort_by_type : 'ASC') ?>">
|
||||
<?= $lang['Designation']?><?= ( $sort_by == 'job_position_id' ? '<i class="fa fa-sort-alpha-'.( $sort_by_type == 'DESC' ? 'desc' : 'asc' ).'"></i>' : '' ) ?>
|
||||
</a>
|
||||
</div>
|
||||
</th>
|
||||
|
||||
<?php
|
||||
for ( $a = $start_day ; $a <= $day_of_month ; $a++ ){
|
||||
echo '<th class="column-title text-center"><div class="dataTable_width" style="margin: auto;">'.$a.'</div></th>' ;
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php
|
||||
if ( count($attendances) > 0 ){
|
||||
foreach ( $attendances as $k_staff => $v_staff ){
|
||||
|
||||
$date_group = $v_staff['group'] ;
|
||||
$staff_id = $v_staff['staff_id'] ;
|
||||
$staff_idno = ucwords($v_staff['staff_idno']) ;
|
||||
$staff_tier = $v_staff['staff_tier'] ;
|
||||
$departments = explode( ',', $v_staff['staff_department'] ) ;
|
||||
|
||||
$check_permission = false ;
|
||||
if ( $get_user_tier['check'] ){
|
||||
if ( in_array( $staff_tier, $get_user_tier['tiers'] ) ){
|
||||
$check_permission = true ;
|
||||
}
|
||||
}else{
|
||||
$check_permission = true ;
|
||||
}
|
||||
|
||||
echo '
|
||||
<tr staff_id="'.$v_staff['staff_id'].'">
|
||||
<td class="text-center">
|
||||
<div class="dataTable_width_image"><image src="'.$v_staff['staff_image'].'" /></div>
|
||||
</td>
|
||||
<td class="text-center" title="'.$v_staff['staff_idno'].'">
|
||||
<div class="dataTable_width_id">'.$staff_idno.' </div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<div class="dataTable_width_name"><a href="hr-attendance.php?page_mode=reprocessing-list&date_time='.$date_time.'&staff_id='.$v_staff['staff_id'].'" target="_blank">'.ucwords($v_staff['staff_name']).'</div>
|
||||
</td>
|
||||
<td>'.implode( '<br />', $departments ).'</td>
|
||||
<td class="text-center">'.ucwords($v_staff['staff_positionname']).'</td>' ;
|
||||
for ( $a = $start_day ; $a <= $day_of_month ; $a++ ){
|
||||
|
||||
$new_day = $date_time.'-'.str_pad($a, 2, '0', STR_PAD_LEFT) ;
|
||||
$list_date = $new_day ;
|
||||
$row_report = $array_list[$v_staff['staff_id']][$list_date] ;
|
||||
$report_day = 0 ;
|
||||
$report_min = '00:00:00' ;
|
||||
$report_ot = 0 ;
|
||||
$report_wt = '' ;
|
||||
$report_remark = '' ;
|
||||
$report_health = ( $array_health[$staff_id][$list_date] != '' ? $array_health[$staff_id][$list_date] : '' ) ;
|
||||
if ( $row_report != undefined && arrayCheck($row_report) ){
|
||||
$report_day = ( $row_report['list_work_day'] != '00:00:00' ? $row_report['list_work_day'] : 0 ) ;
|
||||
$report_ot = ( $row_report['list_ot_day'] != '00:00:00' ? $row_report['list_ot_day'] : 0 ) ;
|
||||
$list_late = ( $row_report['list_late'] != '00:00:00' ? $row_report['list_late'] : 0 ) ;
|
||||
$list_early_out = ( $row_report['list_early_out'] != '00:00:00' ? $row_report['list_early_out'] : 0 ) ;
|
||||
|
||||
if ( $row_report['list_late'] != '00:00:00' ){
|
||||
$report_min = commonAddTime($row_report['list_late'], '00:00:01') ;
|
||||
}
|
||||
if ( $row_report['list_early_out'] != '00:00:00' ){
|
||||
$report_min = commonAddTime($row_report['list_early_out'], $report_min) ;
|
||||
}
|
||||
if ( $row_report['list_time_off'] != '00:00:00' && $row_report['list_time_off'] != '' ){
|
||||
$report_min = commonAddTime($row_report['list_time_off'], $report_min) ;
|
||||
}
|
||||
|
||||
// $report_min = ( $row_report['list_late'] != '00:00:00' ? $row_report['list_late'] : '00:00' ) ;
|
||||
$report_wt = ( $row_report['list_type_remark'] != '' ? $row_report['list_type_remark'] : '' ) ;
|
||||
$report_remark = ( $row_report['list_attendance_remark'] != '' ? $row_report['list_attendance_remark'] : '' ) ;
|
||||
}
|
||||
$report_min = substr($report_min, 0, -3) ;
|
||||
|
||||
$array_group = [] ;
|
||||
if ( !empty($date_group[$new_day]) ){
|
||||
$get_group = $date_group[$new_day] ;
|
||||
foreach ( $get_group as $k_group => $v_group ){
|
||||
|
||||
$coordinates = '' ;
|
||||
if ( $v_group['latitude'] != '' && $v_group['longitude'] != '' ){
|
||||
$coordinates = '<a target="_blank" href="https://maps.google.com/?q='.$v_group['latitude'].','.$v_group['longitude'].'" style="margin-left:5px;"><i class="fa fa-location-arrow"></i></a>' ;
|
||||
}
|
||||
|
||||
$array_group[] = ( $v_group['created_at'] != $v_group['updated_at'] ? '<span>*</span>' : '' ) . '<span '.( $v_group['abnormal'] == 'yes' ? 'class="red"' : '' ).' title="'.ucwords($v_group['record_from']).( $v_group['code'] != '' ? ' : ' . $v_group['code'] : '' ).'" >'.date('H:i:s', strtotime($v_group['created_at'])).'</span>' . $coordinates ;
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
<td class="text-center">
|
||||
<div class="dataTable_width2">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="dataTable_width_time">' ;
|
||||
if ( $boolean_edit && $new_day <= TODAYDAY ){
|
||||
if ( $check_permission ){
|
||||
echo '<a data-toggle="tooltip" title="Edit" data-staffid="'.$staff_id.'" data-check_group="'.$new_day.'" class="allinfodata attendance_format2_edit"><i class="fa fa-edit"></i></a><br />' ;
|
||||
}
|
||||
}
|
||||
echo implode('<br />', $array_group) ;
|
||||
if(arrayCheck($array_group)){
|
||||
|
||||
}else{
|
||||
echo '--:--:--:--';
|
||||
}
|
||||
echo '
|
||||
</div>
|
||||
</td>';
|
||||
if (EXCELDETAIL == "YES"){
|
||||
echo '
|
||||
<td style="border-left: 1px solid #ddd; vertical-align: top;">
|
||||
';
|
||||
|
||||
if ( $boolean_edit && $new_day <= TODAYDAY ){
|
||||
$list_id = $row_report['list_id'] ;
|
||||
echo '
|
||||
<form method="post" class="dataTable_form_edit">
|
||||
<div class="dataTable_form_edit_title">Work Day : </div>
|
||||
<input type="text" name="list_work_day" class="list_work_day" value="'.$report_day.'" /><br />
|
||||
<div class="dataTable_form_edit_title">OT Day : </div>
|
||||
<input type="text" name="list_ot_day" class="list_ot_day" value="'.$report_ot.'" /><br />
|
||||
|
||||
<div class="dataTable_form_edit_title">Min : </div>
|
||||
<input type="text" name="list_min" class="list_min" value="'.$report_min.'" /><br />
|
||||
<div class="dataTable_form_edit_title">Working Type : </div>
|
||||
<select name="list_wt" class="list_wt">
|
||||
<option value="">-- CHOOSE --</option>
|
||||
<option value="WD" '.($report_wt == 'WD' ? 'selected' : '').'>WORK DAY</option>
|
||||
<option value="AL" '.($report_wt == 'AL' ? 'selected' : '').'>ANNUAL LEAVE</option>
|
||||
<option value="UL" '.($report_wt == 'UL' ? 'selected' : '').'>UNPAID LEAVE</option>
|
||||
<option value="MC" '.($report_wt == 'MC' ? 'selected' : '').'>SICK LEAVE</option>
|
||||
<option value="AS" '.($report_wt == 'AS' ? 'selected' : '').'>ABSENT</option>
|
||||
<option value="HL" '.($report_wt == 'HL' ? 'selected' : '').'>HOLIDAY LIST</option>
|
||||
<option value="OD" '.($report_wt == 'OD' ? 'selected' : '').'>OFF DAY</option>
|
||||
<option value="CL" '.($report_wt == 'CL' ? 'selected' : '').'>COMPANY LEAVE</option>
|
||||
<option value="SP" '.($report_wt == 'SP' ? 'selected' : '').'>SUSPEND LEAVE</option>
|
||||
</select><br />
|
||||
<div class="dataTable_form_edit_title">Remark : </div>
|
||||
<input type="text" class="list_remark" value="'.$report_remark.'" /><br />
|
||||
|
||||
<input type="hidden" name="list_id" class="list_id" value="'.$list_id.'" />
|
||||
'.( $list_id != '' ? '<button type="submit"><i class="fa fa-pencil"></i></button>' : '' ).'
|
||||
</form>
|
||||
|
||||
'.( arrayCheck($array_group) ? '
|
||||
<form method="post" class="dataTable_form_edit_health">
|
||||
<div class="dataTable_form_edit_title">Health : </div>
|
||||
<input type="text" class="list_health" class="list_health" value="'.$report_health.'" />
|
||||
|
||||
<input type="hidden" name="list_staff_id" class="list_staff_id" value="'.$staff_id.'" />
|
||||
<input type="hidden" name="list_date" class="list_date" value="'.$list_date.'" />
|
||||
<button type="submit"><i class="fa fa-pencil"></i></button>
|
||||
</form>' : '' ) ;
|
||||
}else{
|
||||
echo '
|
||||
<div>
|
||||
|
||||
W : '.$report_day.'<br />
|
||||
O : '.( $report_ot != 0 ? $report_ot : '-' ).'<br />
|
||||
Min : '.( $report_min != '00:00' ? numberFormat(convertMinutes($report_min)) : '-' ).'<br />'.'
|
||||
WT : ';
|
||||
switch ($report_wt) {
|
||||
case 'WD': echo 'WORK DAY'; break;
|
||||
case 'AL': echo 'ANNUAL LEAVE'; break;
|
||||
case 'UL': echo 'UNPAID LEAVE'; break;
|
||||
case 'MC': echo 'SICK LEAVE'; break;
|
||||
case 'AS': echo 'ABSENT'; break;
|
||||
case 'HL': echo 'HOLIDAY LIST'; break;
|
||||
case 'OD': echo 'OFF DAY'; break;
|
||||
case 'CL': echo 'COMPANY LEAVE'; break;
|
||||
case 'SP': echo 'SUSPEND LEAVE'; break;
|
||||
}
|
||||
echo '<br/>
|
||||
RK : '.( $report_remark != '' ? $report_remark : '-' ).'<br />
|
||||
HL : '.$report_health.'
|
||||
</div>' ;
|
||||
}
|
||||
|
||||
|
||||
echo '
|
||||
</td>';
|
||||
}
|
||||
echo '
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>' ;
|
||||
}
|
||||
echo '
|
||||
</tr>' ;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<?= $page_pagination['page_pagination'] ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$('.allinfodata').live('click', function(){
|
||||
|
||||
$('.modaldata').val('');
|
||||
$('.modal2title').empty();
|
||||
$('.modal2title').append('Update');
|
||||
var staffid = $(this).data('staffid');
|
||||
var check_group = $(this).data('check_group');
|
||||
$('#modal_staff_id').val(staffid);
|
||||
$('#modal_check_group').val(check_group);
|
||||
|
||||
// if ( confirm('Confirm update attendance?') ) {
|
||||
|
||||
$.ajax({
|
||||
url : 'hr-attendance.php?page_mode=admend-format-2&staff_id='+staffid+'&check_group='+check_group,
|
||||
type: 'get',
|
||||
dataType: 'json',
|
||||
success:function(data) {
|
||||
|
||||
if ( data['result'] == 'success' ){
|
||||
|
||||
var content = '' ;
|
||||
|
||||
// loop all date time
|
||||
$.each( data['data'], function(k, v) {
|
||||
|
||||
content += '<div class="form-group clearfix">' ;
|
||||
content += '<label class="control-label col-md-2 col-sm-2 col-xs-12">Time ( '+(k+1)+' )</label>' ;
|
||||
content += '<div class="col-md-10 col-sm-10 col-xs-12">' ;
|
||||
content += '<div class="form-group">' ;
|
||||
content += '<div class="col-md-4 col-sm-4 col-xs-4">' ;
|
||||
content += '<input type="hidden" class="form-control modaldata" name="attendance_id_'+k+'" value="'+v['id']+'" placeholder="<?= $lang['attendance'] ?> ID">' ;
|
||||
content += '<input type="hidden" class="form-control modaldata" name="attendance_date_'+k+'" value="'+v['date']+'" placeholder="<?= $lang['date'] ?>">' ;
|
||||
content += '<input type="time" class="form-control modaldata" name="attendance_time_'+k+'" value="'+v['time']+'" placeholder="<?= $lang['Time'] ?>">' ;
|
||||
content += '</div>' ;
|
||||
content += '<div class="col-md-8 col-sm-8 col-xs-8">' ;
|
||||
content += '<input type="text" class="form-control modaldata" style="padding: 8px; font-size: 13px;" name="attendance_remark_'+k+'" value="'+v['remark']+'" placeholder="<?= $lang['remark'] ?>">' ;
|
||||
content += '</div>' ;
|
||||
content += '</div>' ;
|
||||
content += '</div>' ;
|
||||
content += '</div>' ;
|
||||
|
||||
}) ;
|
||||
|
||||
// show_all_datetime
|
||||
$(".show_all_datetime").html( content ) ;
|
||||
|
||||
}else{
|
||||
alert("Failed to get attendance") ;
|
||||
location.reload() ;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
$('#modal-2').modal('show');
|
||||
|
||||
// }
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<div class="modal modal-default fade" id="modal-2">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h4 class="modal-title modal2title"></h4>
|
||||
</div>
|
||||
|
||||
<form method="post" action="?<?= $search_url ?>">
|
||||
|
||||
<input type="hidden" name="modal_staff_id" id="modal_staff_id" class="modaldata" />
|
||||
<input type="hidden" name="modal_check_group" id="modal_check_group" class="modaldata" />
|
||||
<div class="modal-body">
|
||||
<div class="show_all_datetime clearfix"></div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<div class="form-group clearfix">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="form-group">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" class="btn btn-purple addbtn2"><i class="fa fa-check-circle"></i> <?= $lang['Save']?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// footer
|
||||
include 'requires/page_footer.php' ;
|
||||
?>
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 329 KiB |
|
After Width: | Height: | Size: 472 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,327 @@
|
||||
Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org
|
||||
Copyright: © 1999-2017 ImageMagick Studio LLC
|
||||
License: http://www.imagemagick.org/script/license.php
|
||||
Features: Cipher DPC Modules OpenMP
|
||||
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff wmf x xml zlib
|
||||
Usage: convert [options ...] file [ [options ...] file ...] [options ...] file
|
||||
|
||||
Image Settings:
|
||||
-adjoin join images into a single multi-image file
|
||||
-affine matrix affine transform matrix
|
||||
-alpha option activate, deactivate, reset, or set the alpha channel
|
||||
-antialias remove pixel-aliasing
|
||||
-authenticate password
|
||||
decipher image with this password
|
||||
-attenuate value lessen (or intensify) when adding noise to an image
|
||||
-background color background color
|
||||
-bias value add bias when convolving an image
|
||||
-black-point-compensation
|
||||
use black point compensation
|
||||
-blue-primary point chromaticity blue primary point
|
||||
-bordercolor color border color
|
||||
-caption string assign a caption to an image
|
||||
-channel type apply option to select image channels
|
||||
-clip-mask filename associate a clip mask with the image
|
||||
-colors value preferred number of colors in the image
|
||||
-colorspace type alternate image colorspace
|
||||
-comment string annotate image with comment
|
||||
-compose operator set image composite operator
|
||||
-compress type type of pixel compression when writing the image
|
||||
-define format:option
|
||||
define one or more image format options
|
||||
-delay value display the next image after pausing
|
||||
-density geometry horizontal and vertical density of the image
|
||||
-depth value image depth
|
||||
-direction type render text right-to-left or left-to-right
|
||||
-display server get image or font from this X server
|
||||
-dispose method layer disposal method
|
||||
-dither method apply error diffusion to image
|
||||
-encoding type text encoding type
|
||||
-endian type endianness (MSB or LSB) of the image
|
||||
-family name render text with this font family
|
||||
-fill color color to use when filling a graphic primitive
|
||||
-filter type use this filter when resizing an image
|
||||
-font name render text with this font
|
||||
-format "string" output formatted image characteristics
|
||||
-fuzz distance colors within this distance are considered equal
|
||||
-gravity type horizontal and vertical text placement
|
||||
-green-primary point chromaticity green primary point
|
||||
-intensity method method to generate intensity value from pixel
|
||||
-intent type type of rendering intent when managing the image color
|
||||
-interlace type type of image interlacing scheme
|
||||
-interline-spacing value
|
||||
set the space between two text lines
|
||||
-interpolate method pixel color interpolation method
|
||||
-interword-spacing value
|
||||
set the space between two words
|
||||
-kerning value set the space between two letters
|
||||
-label string assign a label to an image
|
||||
-limit type value pixel cache resource limit
|
||||
-loop iterations add Netscape loop extension to your GIF animation
|
||||
-mask filename associate a mask with the image
|
||||
-matte store matte channel if the image has one
|
||||
-mattecolor color frame color
|
||||
-moments report image moments
|
||||
-monitor monitor progress
|
||||
-orient type image orientation
|
||||
-page geometry size and location of an image canvas (setting)
|
||||
-ping efficiently determine image attributes
|
||||
-pointsize value font point size
|
||||
-precision value maximum number of significant digits to print
|
||||
-preview type image preview type
|
||||
-quality value JPEG/MIFF/PNG compression level
|
||||
-quiet suppress all warning messages
|
||||
-red-primary point chromaticity red primary point
|
||||
-regard-warnings pay attention to warning messages
|
||||
-remap filename transform image colors to match this set of colors
|
||||
-respect-parentheses settings remain in effect until parenthesis boundary
|
||||
-sampling-factor geometry
|
||||
horizontal and vertical sampling factor
|
||||
-scene value image scene number
|
||||
-seed value seed a new sequence of pseudo-random numbers
|
||||
-size geometry width and height of image
|
||||
-stretch type render text with this font stretch
|
||||
-stroke color graphic primitive stroke color
|
||||
-strokewidth value graphic primitive stroke width
|
||||
-style type render text with this font style
|
||||
-support factor resize support: > 1.0 is blurry, < 1.0 is sharp
|
||||
-synchronize synchronize image to storage device
|
||||
-taint declare the image as modified
|
||||
-texture filename name of texture to tile onto the image background
|
||||
-tile-offset geometry
|
||||
tile offset
|
||||
-treedepth value color tree depth
|
||||
-transparent-color color
|
||||
transparent color
|
||||
-undercolor color annotation bounding box color
|
||||
-units type the units of image resolution
|
||||
-verbose print detailed information about the image
|
||||
-view FlashPix viewing transforms
|
||||
-virtual-pixel method
|
||||
virtual pixel access method
|
||||
-weight type render text with this font weight
|
||||
-white-point point chromaticity white point
|
||||
|
||||
Image Operators:
|
||||
-adaptive-blur geometry
|
||||
adaptively blur pixels; decrease effect near edges
|
||||
-adaptive-resize geometry
|
||||
adaptively resize image using 'mesh' interpolation
|
||||
-adaptive-sharpen geometry
|
||||
adaptively sharpen pixels; increase effect near edges
|
||||
-alpha option on, activate, off, deactivate, set, opaque, copy
|
||||
transparent, extract, background, or shape
|
||||
-annotate geometry text
|
||||
annotate the image with text
|
||||
-auto-gamma automagically adjust gamma level of image
|
||||
-auto-level automagically adjust color levels of image
|
||||
-auto-orient automagically orient (rotate) image
|
||||
-bench iterations measure performance
|
||||
-black-threshold value
|
||||
force all pixels below the threshold into black
|
||||
-blue-shift factor simulate a scene at nighttime in the moonlight
|
||||
-blur geometry reduce image noise and reduce detail levels
|
||||
-border geometry surround image with a border of color
|
||||
-bordercolor color border color
|
||||
-brightness-contrast geometry
|
||||
improve brightness / contrast of the image
|
||||
-canny geometry detect edges in the image
|
||||
-cdl filename color correct with a color decision list
|
||||
-charcoal radius simulate a charcoal drawing
|
||||
-chop geometry remove pixels from the image interior
|
||||
-clamp keep pixel values in range (0-QuantumRange)
|
||||
-clip clip along the first path from the 8BIM profile
|
||||
-clip-path id clip along a named path from the 8BIM profile
|
||||
-colorize value colorize the image with the fill color
|
||||
-color-matrix matrix apply color correction to the image
|
||||
-connected-components connectivity
|
||||
connected-components uniquely labeled
|
||||
-contrast enhance or reduce the image contrast
|
||||
-contrast-stretch geometry
|
||||
improve contrast by `stretching' the intensity range
|
||||
-convolve coefficients
|
||||
apply a convolution kernel to the image
|
||||
-cycle amount cycle the image colormap
|
||||
-decipher filename convert cipher pixels to plain pixels
|
||||
-deskew threshold straighten an image
|
||||
-despeckle reduce the speckles within an image
|
||||
-distort method args
|
||||
distort images according to given method ad args
|
||||
-draw string annotate the image with a graphic primitive
|
||||
-edge radius apply a filter to detect edges in the image
|
||||
-encipher filename convert plain pixels to cipher pixels
|
||||
-emboss radius emboss an image
|
||||
-enhance apply a digital filter to enhance a noisy image
|
||||
-equalize perform histogram equalization to an image
|
||||
-evaluate operator value
|
||||
evaluate an arithmetic, relational, or logical expression
|
||||
-extent geometry set the image size
|
||||
-extract geometry extract area from image
|
||||
-features distance analyze image features (e.g. contrast, correlation)
|
||||
-fft implements the discrete Fourier transform (DFT)
|
||||
-flip flip image vertically
|
||||
-floodfill geometry color
|
||||
floodfill the image with color
|
||||
-flop flop image horizontally
|
||||
-frame geometry surround image with an ornamental border
|
||||
-function name parameters
|
||||
apply function over image values
|
||||
-gamma value level of gamma correction
|
||||
-gaussian-blur geometry
|
||||
reduce image noise and reduce detail levels
|
||||
-geometry geometry preferred size or location of the image
|
||||
-grayscale method convert image to grayscale
|
||||
-hough-lines geometry
|
||||
identify lines in the image
|
||||
-identify identify the format and characteristics of the image
|
||||
-ift implements the inverse discrete Fourier transform (DFT)
|
||||
-implode amount implode image pixels about the center
|
||||
-interpolative-resize geometry
|
||||
resize image using 'point sampled' interpolation
|
||||
-kuwahara geometry edge preserving noise reduction filter
|
||||
-lat geometry local adaptive thresholding
|
||||
-level value adjust the level of image contrast
|
||||
-level-colors color,color
|
||||
level image with the given colors
|
||||
-linear-stretch geometry
|
||||
improve contrast by `stretching with saturation'
|
||||
-liquid-rescale geometry
|
||||
rescale image with seam-carving
|
||||
-local-contrast geometry
|
||||
enhance local contrast
|
||||
-magnify double the size of the image with pixel art scaling
|
||||
-mean-shift geometry delineate arbitrarily shaped clusters in the image
|
||||
-median geometry apply a median filter to the image
|
||||
-mode geometry make each pixel the 'predominant color' of the
|
||||
neighborhood
|
||||
-modulate value vary the brightness, saturation, and hue
|
||||
-monochrome transform image to black and white
|
||||
-morphology method kernel
|
||||
apply a morphology method to the image
|
||||
-motion-blur geometry
|
||||
simulate motion blur
|
||||
-negate replace every pixel with its complementary color
|
||||
-noise geometry add or reduce noise in an image
|
||||
-normalize transform image to span the full range of colors
|
||||
-opaque color change this color to the fill color
|
||||
-ordered-dither NxN
|
||||
add a noise pattern to the image with specific
|
||||
amplitudes
|
||||
-paint radius simulate an oil painting
|
||||
-perceptible epsilon
|
||||
pixel value less than |epsilon| become epsilon or
|
||||
-epsilon
|
||||
-polaroid angle simulate a Polaroid picture
|
||||
-posterize levels reduce the image to a limited number of color levels
|
||||
-profile filename add, delete, or apply an image profile
|
||||
-quantize colorspace reduce colors in this colorspace
|
||||
-radial-blur angle radial blur the image (deprecated use -rotational-blur
|
||||
-raise value lighten/darken image edges to create a 3-D effect
|
||||
-random-threshold low,high
|
||||
random threshold the image
|
||||
-region geometry apply options to a portion of the image
|
||||
-render render vector graphics
|
||||
-repage geometry size and location of an image canvas
|
||||
-resample geometry change the resolution of an image
|
||||
-resize geometry resize the image
|
||||
-roll geometry roll an image vertically or horizontally
|
||||
-rotate degrees apply Paeth rotation to the image
|
||||
-rotational-blur angle
|
||||
rotational blur the image
|
||||
-sample geometry scale image with pixel sampling
|
||||
-scale geometry scale the image
|
||||
-segment values segment an image
|
||||
-selective-blur geometry
|
||||
selectively blur pixels within a contrast threshold
|
||||
-sepia-tone threshold
|
||||
simulate a sepia-toned photo
|
||||
-set property value set an image property
|
||||
-shade degrees shade the image using a distant light source
|
||||
-shadow geometry simulate an image shadow
|
||||
-sharpen geometry sharpen the image
|
||||
-shave geometry shave pixels from the image edges
|
||||
-shear geometry slide one edge of the image along the X or Y axis
|
||||
-sigmoidal-contrast geometry
|
||||
increase the contrast without saturating highlights or
|
||||
shadows
|
||||
-sketch geometry simulate a pencil sketch
|
||||
-solarize threshold negate all pixels above the threshold level
|
||||
-sparse-color method args
|
||||
fill in a image based on a few color points
|
||||
-splice geometry splice the background color into the image
|
||||
-spread radius displace image pixels by a random amount
|
||||
-statistic type geometry
|
||||
replace each pixel with corresponding statistic from the
|
||||
neighborhood
|
||||
-strip strip image of all profiles and comments
|
||||
-swirl degrees swirl image pixels about the center
|
||||
-threshold value threshold the image
|
||||
-thumbnail geometry create a thumbnail of the image
|
||||
-tile filename tile image when filling a graphic primitive
|
||||
-tint value tint the image with the fill color
|
||||
-transform affine transform image
|
||||
-transparent color make this color transparent within the image
|
||||
-transpose flip image vertically and rotate 90 degrees
|
||||
-transverse flop image horizontally and rotate 270 degrees
|
||||
-trim trim image edges
|
||||
-type type image type
|
||||
-unique-colors discard all but one of any pixel color
|
||||
-unsharp geometry sharpen the image
|
||||
-vignette geometry soften the edges of the image in vignette style
|
||||
-wave geometry alter an image along a sine wave
|
||||
-wavelet-denoise threshold
|
||||
removes noise from the image using a wavelet transform
|
||||
-white-threshold value
|
||||
force all pixels above the threshold into white
|
||||
|
||||
Image Sequence Operators:
|
||||
-append append an image sequence
|
||||
-clut apply a color lookup table to the image
|
||||
-coalesce merge a sequence of images
|
||||
-combine combine a sequence of images
|
||||
-compare mathematically and visually annotate the difference between an image and its reconstruction
|
||||
-complex operator perform complex mathematics on an image sequence
|
||||
-composite composite image
|
||||
-copy geometry offset
|
||||
copy pixels from one area of an image to another
|
||||
-crop geometry cut out a rectangular region of the image
|
||||
-deconstruct break down an image sequence into constituent parts
|
||||
-evaluate-sequence operator
|
||||
evaluate an arithmetic, relational, or logical expression
|
||||
-flatten flatten a sequence of images
|
||||
-fx expression apply mathematical expression to an image channel(s)
|
||||
-hald-clut apply a Hald color lookup table to the image
|
||||
-layers method optimize, merge, or compare image layers
|
||||
-morph value morph an image sequence
|
||||
-mosaic create a mosaic from an image sequence
|
||||
-poly terms build a polynomial from the image sequence and the corresponding
|
||||
terms (coefficients and degree pairs).
|
||||
-print string interpret string and print to console
|
||||
-process arguments process the image with a custom image filter
|
||||
-separate separate an image channel into a grayscale image
|
||||
-smush geometry smush an image sequence together
|
||||
-write filename write images to this file
|
||||
|
||||
Image Stack Operators:
|
||||
-clone indexes clone an image
|
||||
-delete indexes delete the image from the image sequence
|
||||
-duplicate count,indexes
|
||||
duplicate an image one or more times
|
||||
-insert index insert last image into the image sequence
|
||||
-reverse reverse image sequence
|
||||
-swap indexes swap two images in the image sequence
|
||||
|
||||
Miscellaneous Options:
|
||||
-debug events display copious debugging information
|
||||
-distribute-cache port
|
||||
distributed pixel cache spanning one or more servers
|
||||
-help print program options
|
||||
-list type print a list of supported option arguments
|
||||
-log format format of debugging information
|
||||
-version print version information
|
||||
|
||||
By default, the image format of `file' is determined by its magic
|
||||
number. To specify a particular image format, precede the filename
|
||||
with an image format name and a colon (i.e. ps:image) or specify the
|
||||
image type as the filename suffix (i.e. image.ps). Specify 'file' as
|
||||
'-' for standard input or output.
|
||||
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 67 KiB |