load->database(); } public function getSum($field, $table) { $this->db->select_sum($field); $query = $this->db->get($table); return $query->result(); } public function activity_log($data){ $this->db->insert('audit_log', $data); // die; } public function get_menu($user_id){ $this->db->select('a.name'); $this->db->from('groups a'); $this->db->join('users_groups b', 'b.group_id = a.id', 'left'); $this->db->where('b.user_id', $user_id); $data = $this->db->get()->row(); $group =$data->name; //print_r($group);die; if($group=='Caregiver') { $accessMatrix = $this->__caregiverAccessMatrix($group,$user_id); } else if($group=='Physician') { //echo "phy"; $accessMatrix = $this->__physicianAccessMatrix($group,$user_id); //echo '
'; print_r($accessMatrix); echo '
';die; // die; } else { $accessMatrix = $this->__codinatorAccessMatrix($group,$user_id); } return $accessMatrix; } private function __codinatorAccessMatrix($group,$user_id) { $accessableMenu = array(); $mainCounter = 0; $this->db->order_by('menu_order', 'asc'); $mainmenu = $this->db->get_where('permissions', array('parent_id' => 0,'status'=>'1'))->result(); foreach ($mainmenu as $menu) { $accessableChildren = array(); $childrenCount = 0; $this->db->order_by('menu_order', 'asc'); $children = $this->db->get_where('permissions', array('parent_id' => $menu->id,'status'=>'1'))->result(); foreach($children as $child) { $accessableChildren[$childrenCount]['ID'] = $child->id; $accessableChildren[$childrenCount]['TEXT'] = $child->name; $accessableChildren[$childrenCount]['URL'] = $child->url; $this->db->order_by('menu_order', 'asc'); $child2=$this->db->get_where('permissions', array('parent_id' => $child->id,'status'=>'1'))->result(); $accessableChildren2 = array(); $childrenCount2 = 0; foreach($child2 as $c2){ $accessableChildren2[$childrenCount2]['ID'] = $c2->id; $accessableChildren2[$childrenCount2]['TEXT'] = $c2->name; $accessableChildren2[$childrenCount2]['URL'] = $c2->url; $childrenCount2++; } $accessableChildren[$childrenCount]['CHILDREN'] = $accessableChildren2; $childrenCount++; } $accessableMenu['MAIN'][$mainCounter]['ID'] = $menu->id; $accessableMenu['MAIN'][$mainCounter]['TEXT'] = $menu->name; $accessableMenu['MAIN'][$mainCounter]['URL'] = $menu->url; $accessableMenu['MAIN'][$mainCounter]['Menu_Icon'] = $menu->menu_icon; $accessableMenu['MAIN'][$mainCounter]['CHILDREN'] = $accessableChildren; $mainCounter++; } $accessMenu = array(); foreach($accessableMenu['MAIN'] as $mainId=>$main) { //echo '

'.$main['URL'].'

'; $pass = true; // echo '
Pass1='.($pass===true?'Y':'N').''; $pass = (count($main['CHILDREN'])>0)?$this->ion_auth->coordinator_permission($main['URL']):true; $pass = $this->ion_auth->coordinator_permission($main['URL']); //echo '
this->ion_auth->coordinator_permission='.$this->ion_auth->coordinator_permission($main['URL']).''; //echo '
Pass2='.($pass===true?'Y':'N').''; $pass = ($group ==='admin')?true:$pass; //echo '
Pass3='.($pass===true?'Y':'N').''; if($pass===true) { foreach($main['CHILDREN'] as $childId=>$child) { //echo '

  

'.$child['URL'].'

'; $pass = true; // echo '
  Pass1='.($pass===true?'Y':'N').''; //$pass = (count($child['CHILDREN'])>0)?$this->ion_auth->coordinator_permission($child['URL']):true; $pass = $this->ion_auth->coordinator_permission($child['URL']); // echo '
this->ion_auth->coordinator_permission='.$this->ion_auth->coordinator_permission($child['URL']).''; // echo '
  Pass2='.($pass===true?'Y':'N').''; $pass = ($group ==='admin')?true:$pass; //echo '
  Pass3='.($pass===true?'Y':'N').''; if($pass) { foreach($child['CHILDREN'] as $grandChildId=>$grandChild) { // echo '

    
'.$child['URL'].'
'; $pass = true; //echo '
    Pass1='.($pass===true?'Y':'N').''; $pass = $this->ion_auth->coordinator_permission($grandChild['URL']); //echo '
    Pass2='.($pass===true?'Y':'N').''; $pass = ($group ==='admin')?true:$pass; //echo '
    Pass3='.($pass===true?'Y':'N').''; if($pass) { //echo '
    TEXT='.$grandChildId['TEXT'].''; $accessMenu['MAIN'][$mainId]['CHILDREN'][$childId]['CHILDREN'][$grandChildId]['NAME'] = $grandChild['TEXT']; $accessMenu['MAIN'][$mainId]['CHILDREN'][$childId]['CHILDREN'][$grandChildId]['URL'] = $grandChild['URL']; } } // if($group ==='admin' || ( count($child['CHILDREN'])>0 && isset($accessMenu['MAIN'][$mainId]['CHILDREN'][$childId]['CHILDREN'])) ) // { //echo '
  TEXT='.$child['TEXT'].''; $accessMenu['MAIN'][$mainId]['CHILDREN'][$childId]['NAME'] = $child['TEXT']; $accessMenu['MAIN'][$mainId]['CHILDREN'][$childId]['URL'] = $child['URL']; //} } } // if($group ==='admin' || (count($main['CHILDREN'])>0 && isset($accessMenu['MAIN'][$mainId]['CHILDREN']))) // { // echo '
TEXT='.$main['TEXT'].''; $accessMenu['MAIN'][$mainId]['NAME'] = $main['TEXT']; $accessMenu['MAIN'][$mainId]['URL'] = $main['URL']; $accessMenu['MAIN'][$mainId]['Menu_Icon'] = $main['Menu_Icon']; //} } } // echo '
';
        // print_r($accessMenu);        
        return $accessMenu;
    }

    private function __caregiverAccessMatrix($group,$user_id)
    {
        //echo $user_id;
        $this->db->where('ion_user_id', $user_id);
        $caregiver_dtl = $this->db->get('caregiver')->row();
        $caregiver_menu = $this->db->order_by("menu_order", "asc")->get_where('caregiver_menu',array('parent_id' => '0','status'=>'1'))->result();
        //echo '
'; print_r($caregiver_menu); echo '
';die; $accessMenu=array(); $i=0; foreach($caregiver_menu as $menu){ $caregiver_child_menu = $this->db->order_by("menu_order", "asc")->get_where('caregiver_menu',array('parent_id' => $menu->id,'status'=>'1'))->result(); $Children = array(); $childrenCount = 0; foreach($caregiver_child_menu as $child){ if($caregiver_dtl->verification_status=='unverified' && $child->menu_for=='unverified'){ $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['NAME'] = $child->name; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['URL'] = $child->url; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['Menu_Icon'] = $child->menu_icon; $childrenCount++; }else if($caregiver_dtl->verification_status=='verified' && $child->menu_for=='verified'){ $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['NAME'] = $child->name; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['URL'] = $child->url; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['Menu_Icon'] = $child->menu_icon; $childrenCount++; }else if($child->menu_for=='all'){ $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['NAME'] = $child->name; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['URL'] = $child->url; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['Menu_Icon'] = $child->menu_icon; $childrenCount++; } } if($caregiver_dtl->verification_status=='unverified' && $menu->menu_for=='unverified'&& $caregiver_dtl->submited_for_verification == 'no'){ $accessMenu['MAIN'][$i]['NAME'] = $menu->name; $accessMenu['MAIN'][$i]['URL'] = $menu->url; $accessMenu['MAIN'][$i]['Menu_Icon'] = $menu->menu_icon; $i++; }else if($caregiver_dtl->verification_status=='verified' && $menu->menu_for=='verified'){ $accessMenu['MAIN'][$i]['NAME'] = $menu->name; $accessMenu['MAIN'][$i]['URL'] = $menu->url; $accessMenu['MAIN'][$i]['Menu_Icon'] = $menu->menu_icon; $i++; }else if($menu->menu_for=='all'){ $accessMenu['MAIN'][$i]['NAME'] = $menu->name; $accessMenu['MAIN'][$i]['URL'] = $menu->url; $accessMenu['MAIN'][$i]['Menu_Icon'] = $menu->menu_icon; $i++; } } return $accessMenu; } private function __physicianAccessMatrix($group,$user_id) { //echo $user_id;die; $this->db->where('ion_user_id', $user_id); $physician_dtl = $this->db->get('physician')->row(); $physician_menu = $this->db->order_by("menu_order", "asc")->get_where('physician_menu',array('parent_id' => '0'))->result(); //echo '
'; print_r($physician_menu); echo '
';die; $accessMenu=array(); $i=0; foreach($physician_menu as $menu){ $physician_child_menu = $this->db->order_by("menu_order", "asc")->get_where('physician_menu',array('parent_id' => $menu->id))->result(); //echo '
'; print_r($physician_dtl); echo '
';die; $Children = array(); $childrenCount = 0; foreach($physician_child_menu as $child){ if($physician_dtl->verification_status=='unverified' && $child->menu_for=='unverified'){ $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['NAME'] = $child->name; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['URL'] = $child->url; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['Menu_Icon'] = $child->menu_icon; $childrenCount++; }else if($physician_dtl->verification_status=='verified' && $child->menu_for=='verified'){ $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['NAME'] = $child->name; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['URL'] = $child->url; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['Menu_Icon'] = $child->menu_icon; $childrenCount++; }else if($child->menu_for=='all'){ $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['NAME'] = $child->name; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['URL'] = $child->url; $accessMenu['MAIN'][$i]['CHILDREN'][$childrenCount]['Menu_Icon'] = $child->menu_icon; $childrenCount++; } } if($physician_dtl->verification_status=='unverified' && $menu->menu_for=='unverified'){ $accessMenu['MAIN'][$i]['NAME'] = $menu->name; $accessMenu['MAIN'][$i]['URL'] = $menu->url; $accessMenu['MAIN'][$i]['Menu_Icon'] = $menu->menu_icon; $i++; }else if($physician_dtl->verification_status=='verified' && $menu->menu_for=='verified'){ $accessMenu['MAIN'][$i]['NAME'] = $menu->name; $accessMenu['MAIN'][$i]['URL'] = $menu->url; $accessMenu['MAIN'][$i]['Menu_Icon'] = $menu->menu_icon; $i++; }else if($menu->menu_for=='all'){ $accessMenu['MAIN'][$i]['NAME'] = $menu->name; $accessMenu['MAIN'][$i]['URL'] = $menu->url; $accessMenu['MAIN'][$i]['Menu_Icon'] = $menu->menu_icon; $i++; } } //echo '
'; print_r($accessMenu); echo '
';die; return $accessMenu; } public function getCargiverInfo($id){ $this->db->where('id', $id); $query = $this->db->get('caregiver')->row(); $query->full_name=$query->fname.' '.$query->lname; //return json_encode($query); $this->db->where('id', $query->qualification_type); $this->db->where('status', '1'); $qualification = $this->db->get('master_cg_skills')->row(); $query->qualification_name=$qualification->name; return $query; } function getSchedule($patientId='',$caregiverId='',$start='',$end=''){ $this->db->where('status','1'); if($patientId!='') $this->db->where('patient_id',$patientId); if($caregiverId!='') $this->db->where('caregiver_id',$caregiverId); if($start!='' && $end!='') $this->db->where("start >= '".$start."' AND end <= '".$end."'"); $query = $this->db->get('caregiver_schedule')->result(); $i=0; foreach($query as $q){ //$id = $q->id; $sed[$i]['id']=$q->id; $sed[$i]['patientId']=$q->patient_id; $sed[$i]['caregiverId']=$q->caregiver_id; $sed[$i]['start']=$q->start; $sed[$i]['end']=$q->end; $sed[$i]['title']=$q->title; $sed[$i]['color']='#e83e8c'; $i++; } $availability=$this->db->get_where('caregiver_availability',array('caregiver_id'=>$caregiverId,'status'=>1))->result(); foreach($availability as $avl){ $sed[$i]['id']=$avl->id; //$sed[$i]['patientId']=$q->patient_id; $sed[$i]['caregiverId']=$avl->caregiver_id; $sed[$i]['start']=$avl->start; $sed[$i]['end']=$avl->end; //$sed[$i]['title']=$q->title; $sed[$i]['rendering']='background'; $sed[$i]['color']='#a2f0ba'; $i++; } $ret = array(); foreach($sed as $q){ $ret[] = $q; } return $ret; } }