<?php 
// Include main file
include_once('../libs/main.php');
// Check admin Login
include_once('checkLogin.php');
// Logical section of page
$featureObj =  new  feature();

$adminlogObj = new admin_log();
$modulepagesObj = new module_pages();

$filename=basename($_SERVER['SCRIPT_FILENAME']);
if($filename == 'featurelist.php')
{
    $module_id = $adminlogObj->getModuleId($filename);
    $page_id = $adminlogObj->getPageId($filename);
    $allpages = $modulepagesObj->fromId($page_id);
    $pagename = $allpages->page;

}

if(isset($_REQUEST['act']) && $_REQUEST['act']=='change_status' && isset($_REQUEST['feature_id'])){
    if(isset($_REQUEST['status'])){

            $featureDetail = $featureObj->fromId($_REQUEST['feature_id']);
            if($featureDetail->feature_status == '1')
            {
                $old_status = 'Active';
            }else{
                $old_status = 'Inactive';
            }

            if($_REQUEST['status'] == '1')
            {
                $new_status = 'Active';
            }else{
                $new_status = 'Inactive';
            }

            $featureObj->changeStatus($_REQUEST['feature_id']);
            $featureDetails = " <b>Feature status</b>: "." ".$old_status." <b>To</b> ".$new_status." ";
            $admin_log = $adminlogObj->addAdminLog($_SESSION['admin_id'],$module_id,$page_id,$pagename,$featureDetails);
            echo RECORD_STATUS;
    }
        return true;
}

if(isset($_REQUEST['act']) && $_REQUEST['act']=="order" && $_REQUEST['feature_order']!="" && $_REQUEST['position']!=""){
    $select =array('feature_order as neworder','feature_id as newid');
    $id=$_REQUEST['feature_id'];
    $order=$_REQUEST['feature_order'];
    $where=array('feature_speciality_id='=>$_REQUEST['speciality_id']);
    
    if ($_REQUEST['position']=="Up"){
        $orderby =array('feature_order','desc');
        $where['feature_order<']=$_REQUEST['feature_order'];
    }else{
        $orderby =array('feature_order','asc');
        $where['feature_order>']=$_REQUEST['feature_order'];
    }
    
    $data =array('fields'=>$select,'where'=>$where,'orderBy'=>$orderby,'id'=>$id,'order'=>$order);
    $featureObj->changeOrder($data);
    header('Location:featurelist.php?feature_speciality_id='.$_REQUEST['speciality_id']);
    exit;
}
if(isset($_REQUEST['act']) && $_REQUEST['act']=='delete' && isset($_REQUEST['feature_id'])){
    $featureObj->deleteFromId($_REQUEST['feature_id']);
    $successMsg = base64_encode(RECORD_DELETE);
}
if(isset($_REQUEST['action']) && $_REQUEST['action']!=''){
    if($_REQUEST['action']=="activate_all"){
        $data=array("feature_status" => '1');

        $chk_data = $_POST['check'];
        foreach($chk_data as $akey => $val_actchk)
        {
            $old_data = $featureObj->fromId($val_actchk);
            if($old_data->feature_status == '1')
            {
                $old_status = 'Active';
            }else{
                $old_status = 'Inactive';
            }

            if($old_data->feature_status != '1')
            {
                $new_status = 'Active';
                $featuredata = " <b>Status</b>: "." ".$old_status." <b>To</b> ".$new_status." ";
                $admin_log = $adminlogObj->addAdminLog($_SESSION['admin_id'],$module_id,$page_id,$pagename,$featuredata);
            }
        }

        $rs = $featureObj->updateManyRecords($data, $_POST['check']);
        $successMsg = base64_encode(RECORD_ALL_ACTIVE);
    }else if($_REQUEST['action']=="inactivate_all"){
        $data=array("feature_status" => '0');

        $chk_data = $_POST['check'];
        foreach($chk_data as $akey => $val_actchk)
        {
            $old_data = $featureObj->fromId($val_actchk);
            if($old_data->feature_status == '1')
            {
                $old_status = 'Active';
            }else{
                $old_status = 'Inactive';
            }

            if($old_data->feature_status != '0')
            {
                $new_status = 'Inactive';
                $featuredata = " <b>Status</b>: "." ".$old_status." <b>To</b> ".$new_status." ";
                $admin_log = $adminlogObj->addAdminLog($_SESSION['admin_id'],$module_id,$page_id,$pagename,$featuredata);
            }
        }

        $rs = $featureObj->updateManyRecords($data, $_POST['check']);
        $successMsg = base64_encode(RECORD_ALL_INACTIVE);
    }else if($_REQUEST['action']=="delete_all"){

        $chk_del = implode(",",$_POST['check']);
        
        $featuredata = " <b>Delete Id</b>: "." ".$chk_del;
        $admin_log = $adminlogObj->addAdminLog($_SESSION['admin_id'],$module_id,$page_id,$pagename,$featuredata);
        
        $rs = $featureObj->deleteManyRecords($_POST['check']);
        $successMsg = base64_encode(RECORD_ALL_DELETE);
    }
}
if (isset($_REQUEST['act']) && $_REQUEST['act']=='load'){
    $records = $_REQUEST['length'];
    $start=0;
    if(isset($_GET['start']) && $_GET['start']!='0'){
        $page = $_GET['start'];
    }
    $start=($page-1)*$limit;
    $limit = array('start'=>$_GET['start'],'record'=>$records);
    
    $where = " 1=1 ";
    
    if(isset($_REQUEST['feature_speciality_id']) && $_REQUEST['feature_speciality_id']!=""){
         $speciality_id = $_REQUEST['feature_speciality_id'];
         $where .= " and feature_speciality_id='".$speciality_id."' "; 
    }

    if(isset($_REQUEST['feature_speciality_name']) && $_REQUEST['feature_speciality_name']!=""){
         
         $where .= " and feature_name='".$_REQUEST['feature_speciality_name']."' "; 
    }

    if(isset($_REQUEST['feature_speciality_status']) && $_REQUEST['feature_speciality_status']!=""){
         
         $where .= " and feature_status='".$_REQUEST['feature_speciality_status']."' "; 
    }
    
    if (isset($_REQUEST['search']['value']) && $_REQUEST['search']['value']!=""){
        $where .= " AND (feature_name LIKE '%".$_REQUEST['search']['value']."%' )";
    }    
        
    $orderFields = array('feature_id','feature_name');
    
    // Array of order by 
    $orderby=array();
    if (isset($_REQUEST['order']['0']['column']) && $_REQUEST['order']['0']['column']!=""){
        $orderby = array(" ".$orderFields[$_REQUEST['order']['0']['column']]." ".$_REQUEST['order']['0']['dir']);
    }else{
        $orderby = array(" feature_order asc ");
    }

    $data    = array('where' => $where,'orderBy'=>$orderby,'limit' => $limit);

    $featureDetails = $featureObj->getAllRecords($data);
    $recordsTotal   =   $featureObj->getAllCount($data);

        
    if ($featureDetails && count($featureDetails)>0){
        foreach ($featureDetails as $key => $feature){

            if($feature->feature_status =='1'){
              $status = '<a href="javascript:void(0)" onclick="change_status('.$feature->feature_id.',0)" title="Inactivate"><span class="badge badge-success">Active</span></a>';
            }else{
              $status = '<a href="javascript:void(0)" onclick="change_status('.$feature->feature_id.',1)" title="Activate"><span class="badge badge-danger">Inactive</span></a>';
            }
            if($key!=0){
            $order = '<a title="move up" href="featurelist.php?act=order&feature_id='.$feature->feature_id.'&speciality_id='.$feature->feature_speciality_id.'&feature_order='.$feature->feature_order.'&position=Up"><i class="nav-icon i-Arrow-Up-3"></i></a>';
            }
            if(count($featureDetails)!=($key+1)){
                $order .= '&nbsp;&nbsp;<a title="move down" href="featurelist.php?act=order&feature_id='.$feature->feature_id.'&speciality_id='.$feature->feature_speciality_id.'&feature_order='.$feature->feature_order.'&position=down"><i class="nav-icon i-Arrow-Down-3"></i></a>';
            }
            

            // $action = '<a href="featureadd.php?act=edit&feature_id='.$feature->feature_id.'" class="btn btn-success white-btn"><i class="nav-icon i-Pen-2 "></i></a>
            //      <a id="delete-confirm" onclick="delete_entry('.$feature->feature_id.');" class="btn btn-danger white-btn"><i class="nav-icon i-Close-Window "></i></a>';
            $action = '<a href="featureadd.php?act=edit&feature_id='.$feature->feature_id.'" class="btn btn-success white-btn"><i class="nav-icon i-Pen-2 "></i></a>';

             $response[] = array('<input type="checkbox" name="check[]" id="check[]" value="'.$feature->feature_id.'" class="check_class" />', 
                    $order ,
                 $feature->feature_name,
                 $feature->feature_desc,
                 "<div id='td_status_".$feature->feature_id."'>".$status."</div>",
                 $action
                );
        }
        $result=array('recordsFiltered'=>$recordsTotal,'recordsTotal'=>$recordsTotal,'data'=>$response);
    }else{
        $result=array('recordsFiltered'=>0,'recordsTotal'=>0,'data'=>array());
    }
    echo json_encode($result);
    exit;
}
$specialityObj = new speciality();
$allspecialities = $specialityObj->getAllRecords();
// Include Template 
include_once('../libs/routs.php')
?>