<?php
class Providers extends Controller {
function Providers()
{
parent::Controller();
}
function index()
{
$this->load->view('providers');
}
function add()
{
$this->load->view('add');
}
function addnew()
{
if($_REQUEST['act']=='add')
{
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<li>', '</li>');
$this->form_validation->set_rules('name', 'Name', 'trim|required');
$this->form_validation->set_rules('address', 'Address', 'required');
$this->form_validation->set_rules('city', 'City', 'trim|required');
$this->form_validation->set_rules('state', 'State', 'required');
$this->form_validation->set_rules('zip', 'Zip Code', 'trim');
$this->form_validation->set_rules('facility', 'Facility', 'required');
$this->form_validation->set_rules('minage', 'Min Age', '');
$this->form_validation->set_rules('maxage', 'Max Age', '');
$this->form_validation->set_rules('licensed', 'Licensed', '');
$this->form_validation->set_rules('licensedcap', 'licensedcap', 'integer|exact_length[3]');
$this->form_validation->set_rules('website', 'Website', 'prep_url');
$this->form_validation->set_rules('phone', 'Phone', 'exact_length[12]');
$this->form_validation->set_rules('weeklyrate', 'Weekly Rate', '');
$this->form_validation->set_rules('monthlyrate', 'Monthly Rate', '');
if($this->form_validation->run()==FALSE)
{
$sarr['qiws']='no';
}
else
{
$sarr['qiws']='yes';
'name'=>set_value('name'),
'address'=>set_value('address'),
'state'=>set_value('state'),
'city'=>set_value('city'),
'facility'=>set_value('facility'),
'weeklyrate'=>set_value('weeklyrate'),
'monthlyrate'=>set_value('monthlyrate'),
'minage'=>set_value('minage'),
'maxage'=>set_value('maxage'),
'licensed'=>set_value('licensed'),
'licensedcap'=>set_value('licensedcap'),
'website'=>set_value('website'),
'licensed'=>set_value('licensed'),
'website'=>set_value('website'),
'zip'=>set_value('zip'),
'phone'=>set_value('phone'),
'ip'=>$this->input->ip_address(),
);
//var_dump($_POST);exit();
//$this->db->_compile_select();
$this->db->insert('providers',$data);
//exit($this->db->last_query());
$sarr['id']=$this->db->insert_id();
}
}
$this->load->view('addnew',$sarr);
}
function rate($id)
{
$provider=$this->f->getprovider($id);
if($provider==0)
{
redirect('providers');
}
if($_REQUEST['act']== 'rate')
{
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<li>', '</li>');
$this->form_validation->set_rules('staff', 'Staff', 'required|integer');
$this->form_validation->set_rules('facilities', 'Facilities', 'required|integer');
$this->form_validation->set_rules('activities', 'Activities', 'required|integer');
$this->form_validation->set_rules('personal_attention', 'Personal Attention', 'required|integer');
$this->form_validation->set_rules('monetary_value', 'Monetary Value', 'required|integer');
$this->form_validation->set_rules('location', 'Location', 'required|integer');
$this->form_validation->set_rules('review', 'Review', 'trim|max_length[1000]');
if($this->form_validation->run()==FALSE)
{
$sarr['qiws']='no';
}
else
{
$sarr['qiws']='yes';
$total=(set_value('staff')+set_value('facilities')+set_value('activities')+set_value('personal_attention')+set_value('monetary_value')+set_value('location'))/6;
'providerid'=>$id,
'staff'=>set_value('staff'),
'facilities'=>set_value('facilities'),
'activities'=>set_value('activities'),
'personal_attention'=>set_value('personal_attention'),
'monetary_value'=>set_value('monetary_value'),
'location'=>set_value('location'),
'total'=>$total,
'review'=>set_value('review'),
'ipaddress'=>$this->input->ip_address(),
'userid'=>$this->session->userdata('userid'),
);
$this->db->insert('rates',$data);
$sql="UPDATE providers, (SELECT avg(`total`) as point, count(`id`) as norating FROM rates WHERE providerid = '$id') as A SET providers.point = A.point, providers.norating = A.norating WHERE id = '$id'";
$this->db->query($sql);
redirect('providers/view/'.$id);
}
}
$this->load->view('rate',$provider+$sarr);
}
function view($id)
{
$provider=$this->f->getprovider($id);
if($provider==0)
{
redirect('providers');
}
$query=$this->db->get_where('rates',array('providerid'=>$id));
if($query->num_rows()>0)
{
$sarr['ratesArr']=$query->result_array();
}
else
{
redirect('providers/rate/'.$id);
}
$this->load->view('view',$provider+$sarr);
}
function viewlist($type,$state)
{
$this->db->start_cache();
if($type=='state'&&strlen($state)==2)
{
$this->db->where('state',$state);
$suburl = '/state/'.$state.'/';
}
$this->db->stop_cache();
$this->load->library('pagination');
$config['base_url'] = site_url().'providers/viewlist/'.$suburl.'?submit=page';
$config['total_rows'] = $this->db->count_all_results('providers');
$config['per_page'] = '20';
$this->pagination->initialize($config);
$query = $this->db->get('providers', 20, $_GET['per_page']);
$queryArr=$query->result_array();
$sarr=array('state'=>$state,'queryArr'=>$queryArr);
$this->db->flush_cache();
$this->load->view('list',$sarr);
}
function search()
{
$currentUrl = 'http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
if($_REQUEST['act']=='search')
{
$this->db->start_cache();
$this->db->where(array('status'=>1));
{
$this->db->like(array('name'=>$name));
}
{
$this->db->like(array('address'=>$address));
}
{
$this->db->where(array('state'=>$state));
}
{
$this->db->like(array('city'=>$city));
}
{
{
$sqlx="(";
$i=0;
foreach($facility as $val)
{
$i++;
if($i!=1)
{
$sqlx.=' OR ';
}
$sqlx.="facility = '$val'";
}
$sqlx.=")";
$this->db->where($sqlx);
}
}
{
$this->db->where(array('minage'=>$minage));
}
{
$this->db->where(array('maxage'=>$maxage));
}
{
$this->db->where(array('weeklyrate'=>$weeklyrate));
}
{
$this->db->where(array('monthlyrate'=>$monthlyrate));
}
{
{
$sqlx="(";
$i=0;
foreach($licensed as $val)
{
$i++;
if($i!=1)
{
$sqlx.=' OR ';
}
$sqlx.="licensed = '$val'";
}
$sqlx.=")";
$this->db->where($sqlx);
}
}
{
$this->db->like(array('website'=>$website));
}
{
$this->load->library('zipcode');
{
$zips = $this->zipcode->get_zips_in_range(substr($zip,0,5), $distance, _ZIPS_SORT_BY_DISTANCE_ASC
, true);
//var_dump($zips);
if($zips != false)
{
$sqlx="(";
foreach($zips as $field=>$value)
{
if($sqlx!='(')
{
$sqlx.= " OR ";
}
$sqlx.="zip LIKE '%$field%'";
}
$sqlx.=")";
//echo $sqlx;
$this->db->where($sqlx);
}
else
{
$this->db->like(array('zip'=>$zip));
}
}
else
{
$this->db->like(array('zip'=>$zip));
}
}
$this->db->stop_cache();
$query = $this->db->get('providers', 20, $_GET['per_page']);
$queryArr=$query->result_array();
$sarr=array('queryArr'=>$queryArr);
$this->load->library('pagination');
$config['base_url'] = $currentUrl;
$config['total_rows'] = $this->db->count_all_results('providers');
$config['per_page'] = '20';
$this->pagination->initialize($config);
$this->db->flush_cache();
$this->load->view('listsearch',$sarr);
}
else
{
$this->load->view('search');
}
}
function report($type,$id)
{
if($type=='p')
{
$query=$this->db->get_where('providers',array('id'=>$id));
if($query->num_rows()==0)
{
redirect('providers');
}
$data=$query->result_array();
if($_REQUEST['act']=='report')
{
if(!empty($_POST['msg']))
{
$this->db->insert('reports',array('type'=>'p','pfid'=>$id,'msg'=>$_POST['msg'],'ip'=>$this->input->ip_address()));
$data[0]['qiws']=1;
}
else
{
$data[0]['qiws']=0;
}
}
$this->load->view('correct_provider',$data[0]);
}
elseif($type=='f')
{
$query=$this->db->get_where('rates',array('id'=>$id));
if($query->num_rows()==0)
{
redirect('rates');
}
$data=$query->result_array();
if($_REQUEST['act']=='report')
{
if(!empty($_POST['msg']))
{
$this->db->insert('reports',array('type'=>'f','pfid'=>$id,'msg'=>$_POST['msg'],'ip'=>$this->input->ip_address()));
$data[0]['qiws']=1;
}
else
{
$data[0]['qiws']=0;
}
}
$this->load->view('correct_ratings',$data[0]);
}
else
{
redirect('providers');
}
}
function respond($type,$id)
{
if($this->session->userdata('logged_in')!=true)
{
redirect('login');
}
if($type=='f')
{
$query=$this->db->get_where('rates',array('id'=>$id));
if($query->num_rows()==0)
{
redirect('rates');
}
$data=$query->result_array();
if($_REQUEST['act']=='respond')
{
if(!empty($_POST['message']))
{
$this->db->insert('feedbacks',array(
'rateid'=>$id,
'message'=>$_POST['message'],
'ip'=>$this->input->ip_address(),
'userid'=>$this->session->userdata('userid'),
));
$this->db->where('id', $id);
$this->db->update('rates', array('respond'=>1));
$data[0]['qiws']=1;
}
else
{
$data[0]['qiws']=0;
}
}
$this->load->view('respond',$data[0]);
}
else
{
redirect('providers');
}
}
}
?>