worknova.manus/profile-tier.php
LAPTOP-V9RRD1TL\Michelle's Computer f8f8fcaf96 first commit
2025-07-21 21:38:17 +08:00

389 lines
17 KiB
PHP

<?php
include 'connect/cms-config.php' ;
include 'requires/function.php' ;
include 'requires/session.php' ;
// include the class
include 'requires/class_resize.php' ;
// keep parameter in value
$page = escapeString($_GET['page']) ;
$page_mode = escapeString($_GET['page_mode']) ;
$type = escapeString($_GET['type']) ;
$search = escapeString($_GET['search']) ;
// active menu bar
$active_main_menu = 'setting' ;
$active_sub_menu = 'setting-app' ;
$active_menu = 'setting-profile-tier' ;
// mode type | all list | new | edit
switch($page_mode){
// edit
case 'new' :
case 'edit' :
// check query exsits
$submit_type = 'new' ;
$mysqli_page = $mysqli->query("SELECT * FROM profile_tier
WHERE tier_id = '".$page."' LIMIT 1");
if ($mysqli_page->num_rows > 0){
// keep query value in array
$row_page = $mysqli_page->fetch_array(MYSQLI_ASSOC) ;
$submit_type = 'edit' ;
}
// update database
if ( isset($type) && ( $type == 'new' || $type == 'edit' ) && $_POST['hide'] == 1 ){
if ( $page == '' ){
$mysqli->query("INSERT INTO profile_tier ( created_at ) VALUES ( '".TODAYDATE."' )") ;
$page = $mysqli->insert_id ;
}
// resize image
// set image in variable
$image = $_FILES["image"]["name"] ;
$image_query = '' ;
$remove_photo = $_POST['remove_photo'] ;
if ($remove_photo == 1){
$image = '' ;
$image_query = "file = ''," ;
}
if ( $image != '' ){
$get_image = pathinfo($image) ;
$create_image = reCreateImage('ProfileTier', $page, $page, '', $image, $_FILES["image"]["type"], $_FILES['image']['tmp_name']) ;
// Image uploads when exists
if ($create_image['result'] && is_array($create_image['crop']) && count($create_image['result']) > 0){
$resizeObj = new resize($create_image['original']) ; // Initialise load image
foreach($create_image['crop'] as $value){
// Resize image (options: exact, portrait, landscape, auto, crop)
$resizeObj -> resizeImage($value['width'], $value['height'], $value['type']) ;
$resizeObj -> saveImage($value['source'], 70) ; // Save image
}
$get_image = pathinfo($create_image['image']) ;
$image_query = "file = '".$create_image['image']."'," ;
}
}
// update database
$mysqli->query("UPDATE profile_tier SET
".$image_query."
level = '".escapeString($_POST['level'])."',
is_task = '".escapeString($_POST['is_task'])."',
is_task_assigned = '".escapeString($_POST['is_task_assigned'])."',
is_task_incentive = '".escapeString($_POST['is_task_incentive'])."',
is_task_incentive2 = '".escapeString($_POST['is_task_incentive2'])."',
is_task_extra = '".escapeString($_POST['is_task_extra'])."',
is_adjustment = '".escapeString($_POST['is_adjustment'])."',
sortable = '".escapeString($_POST['sortable'])."',
updated_at = '".TODAYDATE."'
WHERE tier_id = '".$page."'") ;
foreach ( $LANGS as $klang => $vlang ){
$title = escapeString( $_POST['title_'.$klang] ) ;
$sub = escapeString( $_POST['sub_'.$klang] ) ;
$content = escapeString( $_POST['content_'.$klang] ) ;
checkLangUpdate( 'profile_tier_translation', 'tier_id', $page, $klang, [
'title' => [ 'type' => 'input', 'value' => $title ],
'sub' => [ 'type' => 'input', 'value' => $sub ],
'content' => [ 'type' => 'input', 'value' => $content ]
] ) ;
}
// refresh page
header("Location:profile-tier.php?page_mode=edit&page=".$page."&success=1") ;
$_SESSION['system_result'] = 'success-updated' ;
exit ;
}
// start header here
include 'requires/page_header.php';
include 'requires/page_top.php';
?>
<div class="warper container-fluid">
<div class="page-header"><h1>Tier <small><?= $lang[$page_mode] ?></small></h1></div>
<?php
if ( $_SESSION['system_result'] != '' ){
switch($_SESSION['system_result']){
case 'success-updated' :
echo '<div class="result_success">'.$lang['Thank you details has been updated'].'</div>' ;
break ;
}
unset($_SESSION['system_result']) ;
}
?>
<div class="panel panel-default">
<div class="panel-heading"></div>
<div class="panel-body">
<form method="post" class="form-horizontal" id="quotationForm" enctype="multipart/form-data" action="profile-tier.php?page_mode=edit&page=<?= $page ?>&type=edit" novalidate="novalidate">
<div class="form-group">
<div class="col-sm-2 control-label"><?= $lang['level'] ?></div>
<div class="col-sm-9">
<input type="text" name="level" class="form-control ui-search-input" value="<?= dataFilter($row_page['level']) ?>" placeholder="<?= $lang['Level'] ?>" >
</div>
</div>
<?php
echo showTabs( 'profile_tier_translation', 'tier_id', $page, [
'title' => [
'type' => 'input',
'title' => $lang['title']
],
'sub' => [
'type' => 'input',
'title' => $lang['Designation']
],
'content' => [
'type' => 'textarea',
'title' => $lang['Content']
]
]) ;
?>
<div class="form-group">
<div class="col-sm-2 control-label">Sortable</div>
<div class="col-sm-9">
<input type="text" name="sortable" class="form-control ui-search-input" value="<?= dataFilter($row_page['sortable']) ?>" placeholder="Sortable" >
</div>
</div>
<hr />
<div class="form-group">
<div class="col-sm-2 control-label">Allow To Create Task</div>
<div class="col-sm-9">
<select name="is_task" class="form-control ui-search-input" >
<option value="no" <?= ( $row_page['is_task'] == 'no' ? 'selected' : '') ?> >No</option>
<option value="yes" <?= ( $row_page['is_task'] == 'yes' ? 'selected' : '') ?> >Yes</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-2 control-label">Allow To Assigned Task</div>
<div class="col-sm-9">
<select name="is_task_assigned" class="form-control ui-search-input" >
<option value="no" <?= ( $row_page['is_task_assigned'] == 'no' ? 'selected' : '') ?> >No</option>
<option value="yes" <?= ( $row_page['is_task_assigned'] == 'yes' ? 'selected' : '') ?> >Yes</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-2 control-label">Allow To Give Task Incentive ( Main to Assigned )</div>
<div class="col-sm-9">
<select name="is_task_incentive" class="form-control ui-search-input" >
<option value="no" <?= ( $row_page['is_task_incentive'] == 'no' ? 'selected' : '') ?> >No</option>
<option value="yes" <?= ( $row_page['is_task_incentive'] == 'yes' ? 'selected' : '') ?> >Yes</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-2 control-label">Allow To Give Task Incentive ( Assigned to Executed )</div>
<div class="col-sm-9">
<select name="is_task_incentive2" class="form-control ui-search-input" >
<option value="no" <?= ( $row_page['is_task_incentive2'] == 'no' ? 'selected' : '') ?> >No</option>
<option value="yes" <?= ( $row_page['is_task_incentive2'] == 'yes' ? 'selected' : '') ?> >Yes</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-2 control-label">Allow To Give Task Extra</div>
<div class="col-sm-9">
<select name="is_task_extra" class="form-control ui-search-input" >
<option value="no" <?= ( $row_page['is_task_extra'] == 'no' ? 'selected' : '') ?> >No</option>
<option value="yes" <?= ( $row_page['is_task_extra'] == 'yes' ? 'selected' : '') ?> >Yes</option>
</select>
</div>
</div>
<hr />
<div class="form-group">
<div class="col-sm-2 control-label">Allow To Create Adjustment</div>
<div class="col-sm-9">
<select name="is_adjustment" class="form-control ui-search-input" >
<option value="no" <?= ( $row_page['is_adjustment'] == 'no' ? 'selected' : '') ?> >No</option>
<option value="yes" <?= ( $row_page['is_adjustment'] == 'yes' ? 'selected' : '') ?> >Yes</option>
<option value="fixed" <?= ( $row_page['is_adjustment'] == 'fixed' ? 'selected' : '') ?> >Fixed Only</option>
</select>
</div>
</div>
<?php if ( $page_mode == 'new' || ( $page_mode == 'edit' && permissionCheck($row_user, 'profile-tier-edit') ) ) { ?>
<div class="form-group">
<div class="col-sm-2 control-label"></div>
<div class="col-sm-9">
<button type="submit" class="btn btn-purple" style="float:right"><?= $lang['submit'] ?></button>
<input type="hidden" name="hide" value="1">
<input type="hidden" name="page_status" value="<?= $submit_type ?>">
</div>
</div>
<?php } ?>
</form>
</div>
</div>
</div>
<?php
break ;
// all list
case 'all' :
default :
// check permission
if ( !permissionCheck($row_user, 'profile-tier-view') ){
header('Location: index.php') ;
exit ;
}
$search_title = escapeString($_GET['search_title']) ;
$search_date = ( $_GET['search_date']!= '' ? date('Y-m-d', strtotime($_GET['search_date'])) : '' ) ;
// query type
$search_query = '' ;
// search query
if( $search_title != ''){
$search_query .= " AND b.title LIKE '%".$search_title."%'" ;
}
if ( $search_date != '' ){
$search_query .= " AND a.created_at like '%".$search_date."%' " ;
}
// form submit
if ( $_POST['hide'] == '1' && $_POST['hide_status'] == 'action' ){
switch($_POST['page_action']){
case 'trash':
$mysqli_query = "UPDATE profile_tier SET deleted_at = '".TODAYDATE."' WHERE tier_id = " ;
$trash_page = trashPage('tier', $mysqli, $mysqli_query, $_POST['multiple_trash']) ;
break;
}
}
// pagination
if (isset($page) && !empty($page)) { $product_page = $page ; } else { $product_page = 1 ; } // next and prev page (5 thing need to change)
$start_from = ($product_page - 1) * LIMIT ; //end next and prev page
// set search url
$search_url = 'search='.$search.'&search_title='.$search_title.'&search_date='.$search_date.'&page_mode='.$page_mode ;
// page query
$mysqli_query = "SELECT a.tier_id, a.level, a.sortable, a.created_at, b.title FROM profile_tier a
LEFT JOIN profile_tier_translation b ON ( a.tier_id = b.tier_id )
WHERE deleted_at IS NULL AND b.lang = 'en' " . $search_query ;
$mysqli_page = $mysqli->query($mysqli_query." ORDER BY a.sortable LIMIT $start_from, " . LIMIT) ;
// load pagination
$page_pagination = nextPrevious($product_page, LIMIT, $search_url, $mysqli_query) ;
// start header here
include 'requires/page_header.php' ;
include 'requires/page_top.php' ;
?>
<!-- Header Ends -->
<div class="warper container-fluid">
<div class='container' style="background-color: white; border-radius: 10px;">
<div class="page-header" style="margin: 30px 0px 0px 0px;padding: 0px;">
<div class="row">
<div class="pull-left col">
<h1>Tier <small><?= $lang['list'] ?></small></h1>
</div>
<div class="pull-right col">
<a class="btn" style="color:white;background-color: #5e5bd0;">add new</a>
</div>
</div>
</div>
<div class="panel panel-default" id="basic-table-title">
<div class="panel-heading"></div>
<div class="panel-body">
<form method="get" class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label"><?= $lang['title'] ?></label>
<div class="col-sm-9">
<input type="text" name="search_title" value="<?= $search_title ?>" class="form-control" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"><?= $lang['date'] ?></label>
<div class="col-sm-9">
<input class="form-control" name="search_date" type="date" value="<?= $search_date ?>" placeholder="Date Resigned">
</div>
</div>
<div class="form-group">
<div class="col-sm-11">
<input type="hidden" name="page_mode" value="<?= $page_mode ?>" />
<input type="hidden" name="search" value="<?= $search ?>" />
<button type="submit" class="btn" style="color:white;background-color: #5e5bd0;float:right; margin-top: 5px;width: 100px;"><?= $lang['submit'] ?></button>
</div>
</div>
</form>
</div>
</div>
<form method="post">
<div class="panel panel-default">
<div class="panel-heading"></div>
<div class="panel-body">
<table cellpadding="0" cellspacing="0" border="0" class="listing-table responsive table table-striped table-bordered" id="basic-datatable">
<thead>
<tr>
<th><?= $lang['Action'] ?></th>
<th><?= $lang['level'] ?></th>
<th><?= $lang['title'] ?></th>
<th><?= $lang['date'] ?></th>
<th>Sortable</th>
</tr>
</thead>
<tbody>
<?php
if ($mysqli_page->num_rows > 0){
while ($row_page = $mysqli_page->fetch_array(MYSQLI_ASSOC)){
// default variable
$id = $row_page['tier_id'] ;
$title = dataFilter($row_page['title']) ;
echo '
<tr class="odd gradeX">
<td class="align_center">
<a title="'.$lang['Edit'].'" href="profile-tier.php?page_mode=edit&page='.$id.'"><i class="fa fa-edit"></i></a>
</td>
<td>'.dataFilter($row_page['level']).'</td>
<td>'.$title.'</td>
<td>'.resetDateFormat($row_page['created_at']).'</td>
<td>'.dataFilter($row_page['sortable']).'</td>
</tr>';
}
}else{
echo '
<tr class="odd gradeX">
<td class="border_none">'.$lang['no_data'].' </td>
<td class="border_none"></td>
<td class="border_none"></td>
<td class="border_none"></td>
<td class="border_none"></td>
</tr>' ;
}
?>
</tbody>
</table>
<?= $page_pagination['page_pagination'] ?>
</div>
</div>
</form>
</div>
</div>
<?php
break ;
}
// footer
include 'requires/page_footer.php' ;
?>