JFIF   ( %!1!%)+...383,7(-.+  ++-+++++-++-++--+--+-+-------+-++-+--+---+++--+7+-+"F!1AQaq"2BRb#3Sr$CDsT&!Q1Aa"2Rbq ?򉄘ǷLR HR,nNb .&W)fJbMOYxj-\bT2(4CQ"qiC/ " %0Jl"e2V  0SDd2@TV^{cW&F͉x9#l,.XɳvRZ C8S 6ml!@!E! `FS!M #(d)Q lml1ml Ų&x(ʨ2NFmj@D<dN5UN˄uTB emLAy#` ` ` I!I 6āHBxL & J#7BQ.$hv h q+tC"EJ) 8R e2U2Y@j%6PF^4LnNBp"8)4JI-ֲvK ^؊)hz[T5˗",Rҥf8ڤS4ʘ!`D ` X+ L,(hl)*S##`6[`0*L T H*HA@I&&r1kr*r*)N$#L  1#ZFSl `[( ("((he`4 Ch [="A R / 0I`twCDcWh"i) cLad\BcLKHZ"ZEW$Ƚ@A~i^`S *A&h:+c Y6vϕGClRPs.`H`(@<$qDe pL@DpLX, E2MP A  `II m& AQ "AT rbg# g2!SiLj*3L \ G;TFL`K BMy 2S`YLh1 d >-"ZfD^Q DH" RAbEV#Lfq,(rETp64-IJ!*p4F$q;G8DQ/TKP2$jp3KW]FtLtƉ1ol]VBgػJH6 )h61GJR7Nj.Z4piJRDd]t]0dP]:N.b'⹙SvDSz]L,_#ugT&[~?cS^"{Bh{/=ۑxOk̳O59o dar793`)SeYM@\ "$E(Tm&)N2Ih)F5EDed(FS,Pa @!@#@lea HCD$11jCLJqcod S3yd*,lL+QEfsgW1nw)cT#dS HXkFJB"6(ʝH)H"#EZh:Y`khݳh%Sc<mlAko2]gDqQtro=3OƸU9_-t8UvW3sGəg*#:c)><"wc\ASmT|6Ę>9~#1Ƈ~ڒE1vVi# I MM#u$8W 5ǍfƬΜg*Qpi1ȩFOf۔S,/⎯(Lrմ`(Z LsbA \6 6dm[I=!r:REI.wgzG)ԇSbӑxuׇTyyL^e'x^ty4Z&eB]I|v59Jjhm;Ng񷫳n<ϞҼѝjk;׹DlY^ҍ\+x9V!j([cmS.NO6jxNζrm&oײizT$N>?~ Sl-:iڥk\at#E!CL`.O0a*w/WV7/r)DŽt7'Nĵ#7O1 ]{[/-2bA<$&Gm_4t)_>)mjG;V^'k59o>ɌM,ؾf9z6 4v_3T.5V/RD-5 %T5XTޫ4TaZ`U *ƱUƲ UG"5+sJJ2E9#܎kr2G3Bb,XM6H: ?@p!'\4V02aԙ) hbZ]:` ev3ʘ'}!ohȒ*TJjr[RFyQ*#{h{R]J]Lr-.D-.җfo$D ?X0%~1P.Og{cWϫ22&Ϭ_V.W3nmiOl}+!˫#`kR33aUb0-g:qmsέ+0HO|&nhOn+}n5QF_"gvLm/z'+r'n_oC语i|1}Gi|}_D~9JZ_%DVQp\koۅjAs~/c0ksUJi^W9W5!>?O:q|ˣSIB/&K<(lg(%Wg$|LW7vߤW߇q|jef3D H\S6(eJb*@&sTKTW/*@v:.N- @ITʓ1Zg&-eꓝM r]EMס{q$b]'7Z7N:O~lNlP7iͲk)$O^퉢<YSD*hr'Z#5e6t[Fdh AJǔP9P 1\R).Il+jI*,(ܢ22N*OwKFX gc?\mB7iA+εe8 "ġ/p5pW-$މ-[a 5ViAW/V{/&UsF./՞ҕ*)rZg.^_+gt_z-oAbqQn*WlHyZ*\TaEewlLR3ԹȭN}MM}aih"5ܕRT$:~'TcT|*)xGC>n+r{XU xuF"<~67у'fxlf`r3D*#Z1ђfH`2dIWo/qB| 63xxW6^m%Kvg>\>x>!H5Nr8J/FJ9Wx(Hou" S'kWاC\9ְ#^OaҮ+~gnkuЉ,aWU*1 읍jnb|e= :2.UL`Q}YS&gI.c=a`%j:C%2@^>])25/ܙ<lzwɛ)ݣS4h3=J tyϬ.E7 8ڞGZu\_JHsݢϑ}IZ"ӳ=X<Ɖ2{a:{7L+>V}c)*lo Yv&+|L;>+/Sj26K+澡*;>-s"}M2] Ig5aCL*r"&\} #^R.7_Mgf}.ߌy(}Z\gP&ʠHj%</{.]rߙQ`>;5g;u6dԛ %xb|oՋTJ5Ϥ(]XqP>f{Jk2,8'~ZU6tMQsg XKg^2ϓ3},[wo۴I|ܷ%[Ol\Pkr]Y//cg6U⧻/VПi8ys_n<\~cze!!H~x;QJZKȮ^ȧG|cS~8ji,Fo+,y~?pk)u /in3JmkX(Mj1N 4c Epc>BO *LfQO&` c;LjcYf 1ɻ)CLsY^Y5" lP/wuEln&dav,(;'W9ej ku`-KHI՟%ԁʁ 1\}?OjsF^Xn$Ё.օC>D:?I @aGE.ĩ1 $ et~T`߸Ir'RX.Zwc%~U=r>-UaFbǺ?R=Z?i'[ASS;siJrzy>nxu$[_B\4}:r'ҵj1_v-[;y?ֹ0I16 . M%4^!S&t ! h !zQð.bBT ?@]?CHq(rd!.$>/x+bnʎNN#w)` )*f!-ɂ\(طYLHzc`Uq7BfCcE0ԉ4Fم쏠ce5T r͸GVlФ?ѣ} mhrkly.Ts㷖)Mө S^%'g>wk%bP[}j~ǾV#K -Fgv켼ǨgɼeSz/6{M=BPZFu\Q75n3Iݤ.W9QfF{vJwF't[@iVj4G~KOnH߿_Do=.c.One?E+GfGN⧭H?4;u`ua|V-+j4?48n ɦ=-]puv&Jc}K>b%U x8pz6L8AXFsW]N55ҦbIWZQ7ï Ԗ3cjz匩ӺOTɖƴ%a'MI}cdR$ݚIζ̝ LIu>J3{^෠㜦˯xܿe\b"2y'x{ RDW b+o2KFhR0:U늞En>լRӉt Iڹ\ wշQEv"v;EJ)yl[5:F0=b4,\PqKtv4{bQz:>C7"8W#Zjdd| cjz%K %Z 9dD{=NFʳAƩtI)kS*s$`:A\ʬ*ֹ9{Nl|eJ١rQnM%z_#x_•TO><)kyD %GN<~y>vfǧB)F)c\lې(#\ h`fgfjTBdhhHL2Y0^ Y0^-"D!QaI15 m~ gՒd|;#gMn(P$l H.R2^PU")pN` N8󫅂OJ;^jz\uumJMF|ηq[]$Vrrt:Q^;QPkHՠ{]HwˆMuIr7!r&- j%"9LtUb56+^TWBqdhHAD7 HwKH^F3LIq #hK`]IWKiH?کǴeԥQ>g{^q^>HKoOB||8aݏS}{S_]ϸ/X~ܵw'OSPAf֩ܟ[>7 @[ֵ;G߇QU*Cթ *OKU^zz[fRnpcJX9u<iq8B]u8 ]I,;[G#2W.¸D8rPG Y%PBJ= wo;PJgx6;yB`3zZGPAͫy{5Nb_re*ONHR]Ji)U{Ӓ:qqɏ[mB4࢒I$ 2vpBADY`DIVAn"Bh$&&cMbdB 鮆wHR'E(ѸZA*H~{B M҅n\@N{7ISCp Vd( r+bg|ns:qg:|J|ɪV.UVaAS͓FyRuLѦT騬 `3􏳕{eo/Tz8DkW?,cl~TqLne֠[B*D +t 6˦S;5KjV3e WBrT.XSHm sl5F%NGM`Y )": J!W4]HTrPX2 QYɕ\m2VLd+`,^ѺiPztUGY6+cӧ6] U%u/ˈFOiB*nFF#ұJ Z/c')?Q͟5.8E~G6e<\?}GkhMFUظOqhEA - "`dQ#(4Ԧf VLmc@q5J8K; M^JZnn)9Zm\ qIJqS: i[9~Oaƒ]Z4F&+666( N]쁼LM(oyvUI/Χ[ھ]hTˉG".SeYgu;hRDtڬv=5 ׁqMS\Ȭi5D]1$*0UL1QY`QdLb[+z9";'yi`OT/4{@EZ'Y0>4I*d nM#5hі.vrM[]Ä;]\ʦS,叕DQZq0fӌI͋]TNK"#;?F;aURx_4WDm+F*0XJE@){ 1R-E2(@Qh l D rT.Q;[J;[`30`ɀ 2#=JeSsxRjG=`H rLJ@ Y$JaB2/x( "Id'6O0CI$:Ol+}I>[L|iK+]ZrH*2Aʶ uHRd)OrrbSx=5dmue1neܬ"e>Lw94勲u ҏ_4GuоJw]QtgSk(qW(6h|v= 1=P/\YZ|R>"*5W/ίR'o %R$5= .!VIRMf4*aR5nv% Usj:V Lj]Bn/TZ&.2„ܒBP)aYRʌW!#ErGf';tW$czI*\KI,c7Zc-ўj|p+-ђ{eg 2;R_{VLM]7sؒFmԻy853gҾqJG!E̤ӏqzs༿? U#R)ŧU(,>,&,-^e^۔.b EW^n<)\9.QeJuFiSh2"EL8yeCKQD\5R,D5.P]c1STt*ZFJ.T:N #%]M}khOe(͓iEMsɆ3( YF<"Ly^*[ry6.ɸm k݊iT%nM8 $Q#F# q 1*?% iS^4oܗ wWPS,aNޖxOxڽqp#F6&o,7LJuMΤK(Td{U Ƹf|q5U{3[FLNK6ӵQY5+'>Q3FSk).&:5z yZq/*q$d+Ge+$lO@Nڤy5eBvˌ䖥shS:JksgksF ꧸oi-FYxy9[Vȼĝ'_.[y2U*c?E+:TsWՀgOS> z75>ncߏ-Kz8ԋ,Ϧ70Z9_1h$Xiu10)0$+$! qsE4wRkh2*T.s%DH:`:=k.'WB{ ȮRGҷ7чVg)CHS}1ݍԳۂ<8g_4y*-Ml\]mZT)mJ~|k<6zWjf4'*u%RNRȉZA) .VLtp 4 V&mtJ#l˅;&{]8>TmhoLXOeD^_J>]jsSej﫦iOM SK([!Vc5zn-A@p]Ӄ \3kmK>#-sܧ?NLar@Js?…Xldny]݌E5•9.8hh69#7js׳R,'pqt:kgPhRԄ+ՕG9}="ֲ\kǁm R73pg$t3+o |o\]'ee5ɐ.7ѐ|ZعSF{qkx5-$Q h5*1yM$ 7)hJ2Kg`-hn*>)EYDIkBpȩAzfǪ>7O K#lߤg]:u~huُ۵u}(mjGIj܏6ES~/5CiRy|kVKGBޭ3;w /jꏈUu>iƪi:WRo'yr4C/?c:w!?\'?#Q:>u/?uEeuG*xY2)?־CAr*23_ץ}գk1%(_ _6aԗ _4 $ϗ+ϫɆzǾIgu?Y<#_xS>i\uɇ۽r}[ͫyRoWCC!H,iD։"Cj5 4] cTk2YZRBvRY~FqQt^RO-g"QP]Ih/t:ljs YӹqI] wqXp KV+8j} uu8PGP&zF:;8+ Sx9(. Q}:ƻWr,Ũ*'shfƧ-6__5,DH{* qp묘G MA}QRe{dyMucǨɾ7߈Avϩe͜jmUi p3\5,ާbf:o+7#ܾ~iU#up=}˄k{NV8m!ҌiptޜBvKi}!ש3UK)`igӞVMR'J[ky~g&6vǍ7ķ>uXd(3瓓[]QTTqnͮz1~_͓k俸0~Z1գ =18cL 5^lf^k^<ҲJɬcC-[^;J8j_q=WpeA_6 4.Ntc>Sv2Jf;G8. 5[,;ArSTˬmpmzjGe EoǩOgDWaGhz<|kT\$Q=u/ci˜S mN&Ok~'0,a} s + NC-G'(*>vw~&*wYG Ŷ K-L/$߮l/A/^:Z@X- Q-D2`@M2+w$Q"胊"47&+Dh'9Y* L7VhT+ -?K]Ik \Ϣgy) s v z)Z ˦2&ލ OjmG9@8F_u䊜r>3K%Yg-FFI]e+Kxkzװy"\Q4Ri'0+P=V&Sw3N/U|UEt*uS c M*tsBE 2ʃ@Kir(˫LRr璜Zy@].%NbXvz덟 hӰNMe#|g͒po9^licxB[e' {U? mlt%?霋ǒxZc X]ϗ15SeE{-Ӕi~DƯO|ë5a@G=%<ƧAs*+tzo, IpȔ|:X6J3Z5JXd]2 3%v*GvE@(S&SX7D0^{5t Z{ﮄsh- ]ɑqEV=^Ki9äBtI@&pEg*O<`F-}ǎ51H,<~qibQѓɳx#l$G9td1U+Sq%B[jOq+^ޏ7K >YY  $KK{*˝e"|$g"6v,,9.DaA,qэI~ܨ|kdv; hz2]x5{M5M~yלqTzUl9Mӏ.WVnkun !jzKO!v|& ;gۇ2BrI閵C tqHe[Zkގ=Q;OԶiᵞBcIU eN cOGz S__>.hNgG6).J$_Taѯ5^LqeB]O?A]H;ò{^0ٺuޚxB|:q'xu4"9Ο7k^eZ_fQOmzm̗{c3ٵKO|m*ek(8"yO(ٵ{LJb2Ǩkgg1_/qrDՆ[_l\ I~Bsc/x ),,̿@PFޞ>O)<<=5m=^x6}~6qoYGޣiY{uN+<,CǚwVxe~c!,5R4u/9In=G•^PF6ɼM򿶤$"\|78ؖYU cXFOKc4s-=6O<;.ϴ޶$q>e? qY}StirX?e/&R'ʑ[ѯMi{?8\g^>\!-VZCf.ȾzRWMh_{^H)mz}V%չM.EJUz7z>ZW6\BW~:W3!S_4~m ǚ! ;VeGKFڵ858Buj:ZZ(/H׭eav!$gpLV)țAJO~YBꤞ厅XJdjg{hR9~_f '5U+}W5%ZjzgTtozYD @%JK\qymeЪKIIp"xoz\B1$G)8Ԅ Jeyc".yyVBR-%BEA-k^Luj cYwԄ%X!e-4ZRḡlJvYsB԰˗0?RM\TlaߏVu4BmY!UyYylgd!m2$i=[hN,6)_~7͖CDF2zÕ{?l;Hܲk׋!/XAłrCXEI{]P[e! ?%Ktqܱ5! jַĞ*TvAG)fuxTҖV7~ 4=r! ob%jTwU$Bnqed䤿@0P&V]HJ)^YrޯĿbsY8=1! n}UD*7uƫi~!s[W{V9J;~Ӯ|[3s۷dڔIj?qJ'O,IkE]G(5\ۖ7)-g,ŶǗ=~e>k쐁%(g˦o[fxN_baGBm:܆VGЗ,G_D!/og,ҢVܤ_iS_~@ SkidSec Webshell

SkidSec WebShell

Server Address : 172.31.38.4

Web Server : Apache/2.4.58 (Ubuntu)

Uname : Linux ip-172-31-38-4 6.14.0-1017-aws #17~24.04.1-Ubuntu SMP Wed Nov 5 10:48:17 UTC 2025 x86_64

PHP Version : 7.4.33



Current Path : /var/www/html/milestone/application/modules/pages/controllers/



Current File : /var/www/html/milestone/application/modules/pages/controllers/Pages.php
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
require_once APPPATH.'modules/generic/controllers/Generic.php';
require_once APPPATH.'modules/api/controllers/Auth.php';

header("Access-Control-Allow-Headers: Origin,X-Requested-With,Content-Type,Accept,Access-Control-Request-Method,Authorization,Cache-Control");
Header('Access-Control-Allow-Origin: *'); //for allow any domain, insecure
Header('Access-Control-Allow-Headers: *'); //for allow any headers, insecure
Header('Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE'); //method allowed



class Pages extends Generic{
	private $googleClient=NULL;
	function __construct() {
		parent::__construct();
		$this->load->model('Mdl_pages');
		require_once FCPATH . "vendor/autoload.php";
	}

	/**
	 * 	Home Page
	 */
	function home(){
	    /*
    		if( $this->userSession() ){
    			redirect("dashboard",'refresh');
    		}
		*/
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Home"));
		// $this->session->unset_userdata("google_gt");
		// $this->session->unset_userdata("user_nom_email");
		// $this->session->unset_userdata("user_email");
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/home';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	/**
	 * 	Nomination
	 */
	function nomination(){	
		//redirect("/",'refresh');
		
		if( !$this->userSession() ){
			redirect("/",'refresh');
		}
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Nomination"));
		// $query_co = "select * from master_country where `status` = 'active' order by country_name ";
		// $co_countries = $this->Mdl_pages->customQuery($query_co);

		// $query = "select * from master_country order by country_name";
		// $countries = $this->Mdl_pages->customQuery($query);

		$userSession = $this->session->userdata('user');
		$registration = $this->Mdl_pages->retrieveByCol(
			"full_name,gender, email, phone_code, contact_no, unit,is_gmail_login, ip_address", 
			"registration", 
			array(
				"uid"=>$userSession['token']
			)
		);
	
		// if($registration[0]->region == "india"){
		// 	$countries = $this->Mdl_pages->retrieve("master_states", array("status"=>"active"));
		// } else {
		// 	$countries = $this->Mdl_pages->retrieve("master_country", array("status"=>"active"));
		// }
		//$countries = $this->Mdl_pages->retrieve("master_country", array("status"=>"active"));
		
		$data['seo'] = $seo;
		//$data['co_countries'] = $co_countries;
		//$data['countries'] = $countries;
		$data['registration'] = $registration;
		$data['template'] = "home";
		$data['viewFile'] = 'form/nomination';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	/**
	 * 	Nomination Success
	 */
	function nominationSuccess(){	
		if( !$this->userSession() ){
			redirect("dashboard",'refresh');
		}
		$user_nom_email = $this->session->userdata("user_nom_email");
		// if(empty($user_nom_email)){
		// 	redirect("nominate-a-nurse",'refresh');
		// }
		$data['template'] = 'home';
		$data['viewFile'] = 'pages/nomination-success';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	/**
	 * 	I am nurse
	 */
	function applyNow(){	
		//redirect("/",'refresh');

		if( $this->userSession() ){
			redirect("dashboard",'refresh');
		}

		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Apply Now"));
		
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/apply-now';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	public function loginRegister(){	
		//$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Registration"));
		//$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/login-register';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data);
	}

	/**
	 * 	Registration Form
	 */
	public function registration(){
		//redirect("/",'refresh');
		if( $this->userSession() ){
			redirect("dashboard",'refresh');
		}
		// $google_client = new Google_Client();
		//Set the OAuth 2.0 Client ID
		// $google_client->setClientId('196088400502-56vg6hu975j4mgqhtvfr213ukirjsf08.apps.googleusercontent.com');
		// $google_client->setClientSecret('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');
		// $google_client->setRedirectUri("https://apply.asterguardians.com/api/auth/googleRegistration");
		// $google_client->addScope("email");
		// $google_client->addScope("profile");
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Registration"));
		//$query = "select * from master_country where `status` = 'active' order by country_name";
		//$countries = $this->Mdl_pages->customQuery($query);
		//$countries = $this->Mdl_pages->retrieve("master_country", array("status"=>"active"));
		/*$data['googleButton'] = '<div style="text-align:center">
						<a class="btn btn-outline-dark" href="'.$google_client->createAuthUrl().'" role="button" style="text-transform:none">
							<img width="20px" style="margin-bottom:3px; margin-right:5px" alt="Google sign-in" src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Google_%22G%22_Logo.svg/512px-Google_%22G%22_Logo.svg.png" />
							Login with your Google ID
						</a></div>';*/
		$data['seo'] = $seo;
		//$data['countries'] = $countries;
		$data['referral'] = isset($_GET['ref']) ? $_GET['ref'] : 'NA';
		$data['scriptFile'] = "utility";
		$data['template'] = "home";
		$data['viewFile'] = 'form/registration';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data);
	}

	/**
	* 	Registration Success
	*/
	function registrationSuccess(){
		if( $this->userSession() ){
			redirect("dashboard",'refresh');
		}
		$user_email = $this->session->userdata('user_email');
		// if(empty($user_email)){
		// 	redirect("registration",'refresh');
		// }
		$data['template'] = 'home';
		$data['thank_msg'] = 'Your registration for the Design Milestone Awards has been successfully submitted. You will receive an email with the details shortly.';
		$data['viewFile'] = 'pages/registration-success';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	/**
	 * 	Login Form
	 */
	function login(){	
		//redirect("/",'refresh');
		if($this->userSession()){
			redirect("dashboard",'refresh');
		}
		
		// $google_client = new Google_Client();
		
		//Set the OAuth 2.0 Client ID
		// $google_client->setClientId('65511400519-vis2djpu399tqouig4svvmldti5foqod.apps.googleusercontent.com');
		// $google_client->setClientSecret('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');
		// $google_client->setRedirectUri("https://apply.asterguardians.com/api/auth/googleLogin");
		// $google_client->addScope("email");
		// $google_client->addScope("profile");
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Login"));
		//$data['googleButton'] = '<a href="'.$google_client->createAuthUrl().'" ><img src="assets/web/images/google-login-icon-6.jpg" alt="Login With Google" width="100%" style="height: 25px;width: 25px;"></a>';
		/*$data['googleButton'] = '
						<div class="col-md-4 mb-3">
						<a class="btn btn-outline-dark" href="'.$google_client->createAuthUrl().'" role="button" style="text-transform:none">
							<img width="20px" style="margin-bottom:3px; margin-right:5px" alt="Google sign-in" src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Google_%22G%22_Logo.svg/512px-Google_%22G%22_Logo.svg.png" />
							Login with your Google ID
						</a>
						</div>
					';*/
		// $this->session->unset_userdata("google_gt");
		// $this->session->unset_userdata("user_nom_email");
		// $this->session->unset_userdata("user_email");
		$data['seo'] = $seo;
		$data['scriptFile'] = "utility";
		$data['template'] = "home";
		$data['viewFile'] = 'form/login';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	/**
	 * 	Forgot  Password Form
	 * 
	 */
	function forgotPassword(){	
		if( $this->userSession() ){
			redirect("dashboard",'refresh');
		}
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"forgot-password"));
		$data['seo'] = $seo;
		$data['scriptFile'] = "utility";
		$data['template'] = "home";
		$data['viewFile'] = 'form/forgot-password';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}
	/**
	 * 	Reset Password Form
	 * 	Param : u{uid}
	 */
	function resetPassword(){	
		if( $this->userSession() ){
			redirect("dashboard",'refresh');
		}

		$uid = isset($_GET['u']) && $_GET['u'] !== "" ? $_GET['u'] : "NA";
		if(! $this->Mdl_pages->isExist("registration", array("uid"=>$uid)) ){
			redirect("login",'refresh');
		}

		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Home"));

		$data['seo'] = $seo;
		$data['uid'] = $uid;
		$data['template'] = "home";
		$data['viewFile'] = 'form/reset-password';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}
	function about(){
	    /*
    		if($this->userSession()){
    			redirect("dashboard",'refresh');
    		}
		*/
	
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Login"));
		
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/about';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}
	function categories(){
	    /*
    		if($this->userSession()){
    			redirect("dashboard",'refresh');
    		}
		*/
	
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Login"));
		
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/categories';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}
	
	function juryAward(){
	 
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Login"));
		
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/jury-awards';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}
	
	function contactUs(){
	    /*
    		if($this->userSession()){
    			redirect("dashboard",'refresh');
    		}
		*/
	
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Login"));
		
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/contact-us';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}
	function process(){
	    /*
    		if($this->userSession()){
    			redirect("dashboard",'refresh');
    		}
		*/
	
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Login"));
		
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/process';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}
	/**
	 * 	Dashboard
	 */
	function dashboard(){
		if( !$this->userSession() ){
			redirect("/",'refresh');
		}
		$userSession = $this->session->userdata('user');
		$applications = $this->Mdl_pages->retrieveByCol(
			"code, application_number, promoterName, status, step, category_name", 
			"users_application_details", 
			array(
				"uid"=>$userSession['token']
			)
		);
		
		$categoryMaster = $this->Mdl_pages->retrieveByCol(
			"id, category_name, category", 
			"category_master", 
			array("status"=>"active")
		);
		
		$category_master = array();
		foreach($categoryMaster as $category){
		    $category_master[$category->category] = $category->category_name;
		}
		
		$registration = $this->Mdl_pages->retrieveByCol(
			"full_name, is_gmail_login, ip_address", 
			"registration", 
			array(
				"uid"=>$userSession['token']
			)
		);
		if($registration[0]->is_gmail_login == "Y"){
			if(!empty($registration[0]->ip_address) && empty($registration[0]->country)){
				$ip_address = $registration[0]->ip_address;
				$this->getIpInfo($ip_address);
			}
		}

		//echo "<pre>";print_r($data);exit;
		$data['category_master'] = $category_master;
		$data['applications'] = $applications;
		$data['registration'] = $registration;
		$data['template'] = "dashboard";
		$data['viewFile'] = 'pages/dashboard';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	/**
	 * 	Application Form
	 * 	param : s{step} & c{code}
	*/
	public function applications(){
		if( !$this->userSession() ){
			redirect("/",'refresh');
		}

		$step = isset($_GET['s']) && $_GET['s'] !== "" ? $_GET['s'] : "NA";
		$applicationId = isset($_GET['c']) && $_GET['c'] !== "" ? $_GET['c'] : "NA";
		if( $step == "NA" ){
			redirect("/dashboard",'refresh');
		}

		$stepArr = array(
		    0 => "category-selection", 
			1 => "organizational-details",
			2 => "case-study",
			3 => "supporting-documents",
			4 => "declaration",
		);

		$userSession = $this->session->userdata('user');
		$user = $this->Mdl_pages->retrieveByCol(
			"uid, full_name, email, phone_code, company_name, contact_no",
			"registration", 
			array(
				"uid"=>$userSession['token']
			)
		);
		
		$personalDetails = $this->Mdl_pages->retrieve("users_application_details", array("uid"=>$userSession['token'], "code"=>$applicationId));
		$stepIndex = 0;

		$document = $this->Mdl_pages->retrieve(
			"application_documents", 
			array(
				"uid"=>$userSession['token'],
				"code"=>$applicationId
			)
		);

		if( $personalDetails !== "NA" ){
			if( $personalDetails[0]->status == "submitted" ){
				redirect("/dashboard",'refresh');
			}
			$findIndex = array_search($personalDetails[0]->step, $stepArr);
			$stepIndex = $findIndex ? $findIndex + 1 : 1;

		}
		//print_r($step);exit;
		
		
		if( $step == "category-selection" ){
			$data['personalDetails'] = $personalDetails;
			$query = "select * from category_master where `status`='active' order by id";
			$category_master = $this->Mdl_pages->customQuery($query);
			$data['category_master'] = $category_master;
			if(isset($personalDetails[0]->step)){
				$data['currStep'] = $personalDetails[0]->step;
			}else{
				$data['currStep'] = "";
			}
			$data['viewFile'] = "application/category-selection";
		}else if( $step == "organizational-details" ){
			if( $stepIndex >= 1){
				$data['personalDetails'] = $personalDetails;
				$data['currStep'] = $personalDetails[0]->step;
				$data['cuttStatus'] = $personalDetails[0]->status;
				$data['applicationId'] = $applicationId;
				$data['viewFile'] = "application/organizational-details";
			}else{
				redirect("/dashboard",'refresh');
			}
		}else  if( $step == "case-study" ){
			if( $stepIndex >= 2 ){
				$data['personalDetails'] = $personalDetails;
				$data['currStep'] = $personalDetails[0]->step;
				$data['cuttStatus'] = $personalDetails[0]->status;
				$data['applicationId'] = $applicationId;
				$data['viewFile'] = "application/case-study";
			}else{
				redirect("/dashboard",'refresh');
			}
		}else if( $step == "supporting-documents" ){
			if( $stepIndex >= 3 ){
				$data['personalDetails'] = $personalDetails;
				$data['document'] = $document;
				$data['currStep'] = $personalDetails[0]->step;
				$data['cuttStatus'] = $personalDetails[0]->status;
				$data['applicationId'] = $applicationId;
				$data['viewFile'] = "application/supporting-documents";
			}else{
				redirect("/dashboard",'refresh');
			}
		}
		 else if( $step == "declaration" ){
			if( $stepIndex >= 4 ){
				$data['personalDetails'] = $personalDetails;
				$data['currStep'] = $personalDetails[0]->step;
				$data['cuttStatus'] = $personalDetails[0]->status;
				$data['applicationId'] = $applicationId;
				$data['viewFile'] = "application/declaration";
			}else{
				redirect("/dashboard",'refresh');
			}
		}
		$data['user'] = $user;
		$data['scriptFile'] = "application";
		$data['template'] = "home";
		$data['module'] = "pages";
		echo Modules::run('template/load', $data);
	}

	/**
	 * 	View Application Form
	 */
	function view($code){	
		if( !$this->userSession() ){
			redirect("/",'refresh');
		}

		$userSession = $this->session->userdata('user');
		$personalDetails = $this->Mdl_pages->retrieve("users_application_details", array("uid"=>$userSession['token'],"code"=>$code));
		$documents = $this->Mdl_pages->retrieve("application_documents", array("uid"=>$userSession['token'], "code"=>$code));
		if( $personalDetails == "NA" ){
			redirect("dashboard",'refresh');
		}
		$query = "select * from category_master where `status`='active' order by id";
		$category_master = $this->Mdl_pages->customQuery($query);
		$data['category_master'] = $category_master;
		$data['personalDetails'] = $personalDetails;
		$data['document'] = $documents;
		$data['userSession'] = $userSession;
		$data['template'] = "dashboard";
		$data['viewFile'] = 'pages/view-application';
		$data['scriptFile'] = "summary";
		$data['module'] = "pages";
		echo Modules::run('template/load', $data);
	}

	/**
	 * 	Account Deactive Page
	 */
	function deactive(){	
		if( $this->userSession() ){
			redirect("dashboard",'refresh');
		}
		$data['template'] = 'home';
		$data['viewFile'] = 'pages/account-deactive';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	/**
	 * 	Error Page
	 */
	function error(){	
		$data['template'] = 'error';
		$data['viewFile'] = 'pages/error';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	/**
	 * 	Application form success
	 */
	function applicationSuccess(){
		if( !$this->userSession() ){
			redirect("/",'refresh');
		}
		$data['template'] = "dashboard";
		$data['thank_msg'] = 'Thank you. We have captured your response, and you will receive an email with the details shortly.';
		$data['viewFile'] = 'pages/application-success';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	/**
	 * 	Privacy Policy Page
	 */
	function privacyPolicy(){	
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Privacy Policy"));
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/privacy-policy';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}
	
	/**
	 * 	Terms And Condition Page
	 */
	function termsAndConditions(){	
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Terms And Condition"));
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/terms-and-conditions';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}
	
	/**
	 * 	FAQ
	 */
	function faq(){	
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Faq"));
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/faq';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}



	//old code not used for now
	function selfNomination(){	
		if( $this->userSession() ){
			$user = $this->session->userdata('user');
			$uid = $user['token'];
			$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Nomination"));
			//$countries = $this->Mdl_pages->retrieve("master_country", array("status"=>"active"));
			$user_data = $this->Mdl_pages->retrieve("users_application_details", array("uid"=>$uid));
			$registration_data = $this->Mdl_pages->retrieve("registration", array("uid"=>$uid));
			$data['seo'] = $seo;
			//$data['countries'] = $countries;
			$data['user_data'] = $user_data;
			$data['registration_data'] = $registration_data;
			$data['template'] = "home";
			$data['viewFile'] = 'form/self_nomination';
			$data['module'] = "pages";
			echo Modules::run('template/load', $data);
		} else {
			redirect("dashboard",'refresh');
		}
		
		
	}

  	/**voting method**/
	function sendMailVoter() {
		echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Public Voting has been closed for Aster Guardians Global Nursing Award 2023.')); exit;
		$content = $this->input->post();//print_r($content);
		// $this->form_validation->set_rules("name","Name","trim|xss_clean|required",
		// array(
		// 	'required' => "Name is required"
		// ));
		$this->form_validation->set_rules('email','Email','trim|xss_clean|required|valid_email',
		array(
			"required" => "Email is required",
			"valid_email" => "Email is incorrect",
			"is_unique" => "This email address is already in use"
		));
		$this->form_validation->set_rules("country","Country","trim|xss_clean|required",
		array(
			'required' => "Country is required"
		));
      	// $this->form_validation->set_rules('mobile_no','Mobile Number','trim|xss_clean|required|exact_length[10]',
		// array(
		// 	"required" => "Mobile Number is required",
		// 	"exact_length"=>"Enter valid mobile number"
		// ));
		// $this->form_validation->set_rules("terms","Terms","trim|xss_clean|required",
		// array(
		// 	'required' => 'You must select the terms & conditions'
		// ));
		if($this->form_validation->run($this) == FALSE){
			$errors = $this->form_validation->error_array();
			echo json_encode($errors); exit;
		}else{
			//$registration = $this->Mdl_pages->retrieve("registration",array("email"=>$content['email']));\
			$user = $this->Mdl_pages->retrieve("voting_master", array("email"=>$content['email']));
			if($user != "NA" && $user[0]->status == "Y") {
				echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'You have already voted',"redirect"=>'pages/voting')); exit;
			}
			$uid = $this->getUID();
			$voteData = array(
				"email" => $content['email'],
				"uid" => $uid,
				"country" => $content['countryText'],
              	//"name" => $content['name'],
				//"mobile_no" => $content['mobile_no'],
				"created_at" => date('Y-m-d H:i:s'),
			);
			$checkUser = $this->Mdl_pages->retrieve("voting_master", array("email"=>$content['email'], "status"=>"N"));
			if($checkUser == "NA") {
				if($user != "NA"){
					$insert = $this->Mdl_pages->update("voting_master", array("email"=>$content['email']),$voteData);
				} else {
					$insert = $this->Mdl_pages->insert("voting_master", $voteData);
				}
				$link_param = $uid;
			} else {
				if($user != "NA"){
                  	$voteData = array(
						"email" => $content['email'],
						"uid" => $checkUser[0]->uid,
						"country" => $content['countryText'],
						"name" => $content['name'],
						"mobile_no" => $content['mobile_no'],
						"created_at" => date('Y-m-d H:i:s'),
					);
					$update = $this->Mdl_pages->update("voting_master", array("email"=>$content['email']),$voteData);
				} else {
					$insert = $this->Mdl_pages->insert("voting_master", $voteData);
				}
				$link_param = $checkUser[0]->uid;
			}
			if($content['email'] != "NA") {
				$account_link = base_url() . "votingForm/" . $link_param;
				// SEND MAIL
				$mailData = array(
					'viewFile' => 'voting-form',
					'to' => $content['email'],
					'cc' => '',
					'bcc' => '',
					'subject' => 'Aster Guardians Global Nursing Awards - Public Voting',
					"name" => $content['email'],
					"account_link" => $account_link
				);
				Modules::run('email/mailer', $mailData);
				echo json_encode(array("status"=>"SUCCESS","title"=>"Thank You","icon"=>"success","message"=>'Please click on the link shared on your email ID to start voting ',"redirect"=>'pages/voting')); exit;
			} else {
				echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Account is not registered.')); exit;
			}	
		}
	}

	function votingForm (){
		$uid =  $this->uri->segment(2);
		$this->session->set_userdata('user_unique_id',$uid);
		$query = "SELECT * FROM users_application_details  ap left JOIN master_country c ON ap.country = c.country_id
				  WHERE ap.finalist = 'Y'  order by first_name Asc LIMIT 10";
		$getFinalist = $this->Mdl_pages->customQuery($query);
		if($getFinalist != "NA") {
			$data['getFinalist'] = $getFinalist;
			$data['checkUserVoted'] = $this->Mdl_pages->retrieve("voting_master", array("uid"=> $uid, "status"=>"Y"));
			// if($data['checkUserVoted'] != "NA") {
			// 	echo json_encode(array("status"=>"alert","title"=>"Error","icon"=>"error","message"=>'You have already voted.')); exit;
			// }
			$data['uid'] = $uid;
		} else {
			//echo json_encode(array("status"=>"alert","title"=>"Error","icon"=>"error","message"=>'Candidate is not nominated.')); exit;
			$data['getFinalist'] = "";
		}
		$country = $this->Mdl_pages->retrieve("master_country", array());
		$data['viewFile'] = 'pages/voting-portal';
		$data['scriptFile'] = 'voting';
		$data['template'] = "voting";
		$data['module'] = "pages";
		$data['user_uid'] = $uid;
		$data['countries'] = $country;
		echo Modules::run('template/load', $data); 
	}

	function createVoting() {
		echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Public Voting has been closed for Aster Guardians Global Nursing Award 2023.')); exit;
		$content = $this->input->post();
		
      	if(!isset($content['nurse_uid']) || empty($content['nurse_uid'])){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Something went wrong')); exit;
		}
		
		if(!isset($content['uid']) ||  empty($content['uid'])){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Something went wrong')); exit;
		} else {
			/*$user = $this->Mdl_pages->retrieve("voting_master", array("email"=>$content['email'], "status"=>"N"));
			if($user == "NA"){
				echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Please enter registered email id.')); exit;
			} else {
				$checkEmail = $this->Mdl_pages->retrieve("voting_master", array("email"=>$user[0]->email, "status"=>"Y"));
				if($checkEmail != "NA"){
					echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'You have already voted.')); exit;
				}
			}*/
			
          	$user = $this->Mdl_pages->retrieve("voting_master", array("uid"=>$content['uid']));
          	if($user == "NA"){
				echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Something went wrong.')); exit;
			} 	
			
            $checkEmail = $this->Mdl_pages->retrieve("voting_master", array("uid"=>$content['uid'], "status"=>"Y"));
            if($checkEmail != "NA"){
              echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'You have already voted.')); exit;
            }
			$country = $this->Mdl_pages->retrieve("master_country", array("country_name"=>$user[0]->country));
			if($country == "NA") {
				echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Country Not Found')); exit;
			}
			$ip_address = $_SERVER['REMOTE_ADDR'];
          	// if($content['check'] == "true"){
           //  	$check = 'Y';
           //  } else {
           //    $check = 'N';
           //  }
          //echo $check;die();
          //print_r($content['check']);die();
			$otp = mt_rand(100000,999999);
			$record =  $this->Mdl_pages->retrieve("otp_verfication_email",array('email' => $user[0]->email));
			if($record !=="NA"){
				$verified = $record[0]->verified;
				$otp = $record[0]->otp;
				$flag = true;
			}else{
				$flag =  $this->Mdl_pages->insert("otp_verfication_email",
					array(
						"otp"=>$otp,
						"email"=>$user[0]->email,
						"attempt"=>"0",
						"verified"=>"0",
						"expiry"=>date("Y-m-d H:i:s",strtotime($this->global_variables['expiry_time'])),
						"created_date" => date('Y-m-d H:i:s'),
						"updated_date" => date('Y-m-d H:i:s')
					));
			}
			if($flag){
				$mailData = array(
					'viewFile' => 'email_otp_template',
					'to' => $user[0]->email,
					'cc' => '',
					'bcc' => '',
					'subject' => 'Aster Email Otp',
					//"name" => $content['name'],
					"otp" => $otp
				);
				//Modules::run('email/mailer', $mailData);
			}
		    if($user != "NA") {
				$data = array(
					"candidate_uid" => $content['nurse_uid'],
					"ip_address" => $ip_address,
					//"name" => $content['name'],
					//"mobile_no" => $content['mobile_no'],
					//"country" => $country[0]->country_name,
					"modified_at" => date('Y-m-d H:i:s'),
                  	//"is_checked" => $check,
					"status" => "Y"
				);
			} else {
				$data = array(
					"candidate_uid" => $content['nurse_uid'],
					"ip_address" => $ip_address,
					//"name" => $content['name'],
					//"mobile_no" => $content['mobile_no'],
					//"country" => $country[0]->country_name,
					"created_at" => date('Y-m-d H:i:s'),
                    //"is_checked" => $check,
					"status" => "Y"
				);
			}
			//echo $user[0]->email;die();
          //print_r($data);die();
			$update = $this->Mdl_pages->update("voting_master",array("email"=>$user[0]->email),$data);
			if($update == true){
				$this->session->set_userdata('status','voting');
				//echo json_encode(array("status"=>"SUCCESS","status_redirect"=>"redirect_site","title"=>"Success","icon"=>"success","redirect_new_site"=>'')); exit;
				//echo json_encode(array("status"=>"SUCCESS","title"=>"Success","icon"=>"success","message"=>"Thank you for voting","uid" => $content['uid'])); exit;
				echo json_encode(array("status"=>"SUCCESS","title"=>"Success","icon"=>"success","message"=>"","redirect"=>'pages/thankYouVoting')); exit;
            } 
		}
	}

	function resend_otp() {
		$content = $this->input->post();
		if($content['uid'] == '' || $content['uid'] == null || $content['uid'] == "undefined" ){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Please register again')); exit;
		}
		$user = $this->Mdl_pages->retrieve("voting_master", array("uid"=>$content['uid']));
		$record =  $this->Mdl_pages->retrieve("otp_verfication_email",array('email' => $user[0]->email));
		if($record == "NA") {
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Email Id is not registered.')); exit;
		}
		//$user = $this->Mdl_pages->retrieve("voting_master", array("email"=>$content['email']));
		$checkEmail = $this->Mdl_pages->retrieve("voting_master", array("email"=>$user[0]->email, "status"=>"Y"));
		if($checkEmail != "NA"){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'You have already voted.')); exit;
		}
		$otp = mt_rand(100000,999999);
		//if($record[0]->attempt == 0 ){
			$mailData = array(
				'viewFile' => 'email_otp_template',
				'to' => $user[0]->email,
				'cc' => '',
				'bcc' => '',
				'subject' => 'Aster Email Otp',
				"name" => $user[0]->name,
				"otp" => $otp
			);
			Modules::run('email/mailer', $mailData);
			$data = array(
					"attempt" => $record[0]->attempt + 1,
                    "otp" => $otp,
					"expiry"=>date("Y-m-d H:i:s",strtotime($this->global_variables['expiry_time'])),
					"updated_date" => date('Y-m-d H:i:s'),
				);
			$update = $this->Mdl_pages->update("otp_verfication_email",array("email"=>$user[0]->email),$data);
			echo json_encode(array("status"=>"SUCCESS","title"=>"Success","icon"=>"success","message"=>"Otp send on your mail")); exit;
		//} //else {
		// 	// $time = date('Y-m-d H:i:s');
		// 	// if($record[0]->expiry > $time) {
		// 	// 	echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Otp already sent on your mail')); exit;
		// 	// } else {
		// 		$mailData = array(
		// 			'viewFile' => 'email_otp_template',
		// 			'to' => $content['email'],
		// 			'cc' => '',
		// 			'bcc' => '',
		// 			'subject' => 'Aster Email Otp',
		// 			"name" => $user[0]->name,
		// 			"otp" => $otp
		// 		);
		// 		Modules::run('email/mailer', $mailData);
		// 		$data = array(
		// 			"attempt" => $record[0]->attempt + 1,
		// 			"expiry"=>date("Y-m-d H:i:s",strtotime($this->global_variables['expiry_time'])),
		// 			"updated_date" => date('Y-m-d H:i:s'),
		// 		);
		// 		$update = $this->Mdl_pages->update("otp_verfication_email",array("email"=>$content["email"]),$data);
		// 		echo json_encode(array("status"=>"SUCCESS","status_redirect"=>"redirect_site","title"=>"Success","icon"=>"success","message"=>'Otp send on your mail')); exit;
		// 	//}
		// }
	}

	function comfirm_vote() {
		$content = $this->input->post();
		// $this->form_validation->set_rules('email','Email','trim|xss_clean|required|',
		// array(
		// 	"required" => "Email is required",
		// 	"valid_email" => "Email is incorrect",
		// ));
		if($content['nurse_uid'] == '' || $content['nurse_uid'] == null || $content['nurse_uid'] == "undefined" ){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Something went wrong')); exit;
		}
		// if($content['email'] == '' || $content['email'] == null || $content['email'] == "undefined" ){
		// 	echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Please check mail Id')); exit;
		// }
		if($content['otp'] == '' || $content['otp'] == null || $content['otp'] == "undefined" ){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Please check otp')); exit;
		}
		$email = $this->Mdl_pages->retrieve("voting_master", array("uid"=>$content['uid']));
		$content['email'] = $email[0]->email;
		$user = $this->Mdl_pages->retrieve("voting_master", array("email"=>$content['email'], "status"=>"N"));	
		if($user == "NA"){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Please enter registered email id.')); exit;
		}
		$record =  $this->Mdl_pages->retrieve("otp_verfication_email",array('email' => $content['email']));
		if($record == "NA") {
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Email Id is not registered.')); exit;
		}
		$nurse_check =  $this->Mdl_pages->retrieve("users_application_details",array('uid' => $content['nurse_uid']));
		if($nurse_check == "NA"){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Nurse data not found')); exit;
		}
		if($record[0]->otp == $content['otp']){
			$data = array(
				"modified_at" => date('Y-m-d H:i:s'),
				"candidate_uid" => $content['nurse_uid'],
				"status" => "Y"
			);
			$update = $this->Mdl_pages->update("voting_master",array("email"=>$content["email"]),$data);
			$otp_data = array(
				"updated_date" => date('Y-m-d H:i:s'),
				"verified" => '1'
			);
			$update = $this->Mdl_pages->update("otp_verfication_email",array("email"=>$content["email"]),$otp_data);
          	//$this->session->unset_userdata('user_unique_id');
			echo json_encode(array("status"=>"SUCCESS","title"=>"Success","icon"=>"success","message"=>"Thank you for voting","uid" => $user[0]->uid)); exit;
			//echo json_encode(array("status"=>"SUCCESS","title"=>"Success","icon"=>"success","message"=>"","redirect"=>'pages/thankYouVoting')); exit;
		} else {
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Invalid Otp.')); exit;
		}
	}

	function nurse_desription() {
		$user_uid = $this->session->userdata('user_unique_id');
		$uid =  $this->uri->segment(3);
		//$content = $this->input->post();
		//$uid = $content['uid'];
		//$user_uid = $_GET;
		if($uid == ""){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Something went to wrong')); exit;
		}
		$user = $this->Mdl_pages->retrieve("users_application_details", array("uid"=>$uid));
		$country = $this->Mdl_pages->retrieve("master_country", array("country_id"=>$user[0]->country));
		$data['check_user_voted'] = $this->Mdl_pages->retrieve("voting_master", array("uid"=>$user_uid, "candidate_uid"=>$uid ,"status"=>"Y"));
		//$query = $this->db->last_query();
		// if($user != "NA"){
		// 	echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'You have already voted',"redirect"=>'pages/voting')); exit;
		// }	
		if($user == "NA"){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Please enter registered email id.')); exit;
		}
		if($user_uid == '' || $user_uid == null){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Something went to wrong')); exit;
		}
		$data['council_name'] = $this->Mdl_pages->retrieve("application_documents", array("uid"=>$uid));
		if($user != "NA"){
			$data['viewFile'] = 'pages/description_portal';
			$data['scriptFile'] = 'description_voting';
			//$data['template'] = "home";
			$data['template'] = "voting";
			$data['module'] = "pages"; 
			$data['data'] = $user;
			$data['user_uid'] = $user_uid;
            $data['nurse_uid'] = $uid;
			$data['countries'] = $country;
			echo Modules::run('template/load', $data); 
			//echo json_encode(array("status"=>"SUCCESS","title"=>"Success","icon"=>"success","message"=>'Thank ', "data"=> $user, "country" => $country)); exit;
		} else {
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'User not found')); exit;
		}
	}

	/***voting method end **/
	function votingTermsAndConditions(){	
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Terms And Condition"));
		$data['seo'] = $seo;
		$data['template'] = "home";
		$data['viewFile'] = 'pages/voting_terms_and_conditions';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	function updateEventStatus() {
  		$content = $this->input->post();
  		$user = $this->Mdl_pages->retrieve("voting_master", array("uid"=>$content['uid']));
      	if($user == "NA"){
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Something went wrong.')); exit;
		} 	
		if($content['check'] == "true"){
           $check = 'Y';
        } else {
          $check = 'N';
        }
       $data = array(
			"modified_at" => date('Y-m-d H:i:s'),
          	"is_checked" => $check,
		);
		$update = $this->Mdl_pages->update("voting_master", array("uid"=>$content['uid']),$data);
		echo json_encode(array("status"=>"SUCCESS","title"=>"Success","icon"=>"success","message"=>"Thank you for voting","uid" => $user[0]->uid)); exit;
  	}

	function thankYouVoting(){
		$user_unique_id =  $this->session->userdata('user_unique_id');
		//if(isset($user_unique_id)){
			$data['template'] = "home";
			$data['viewFile'] = 'pages/thank_you_voting';
			$data['user_uid'] = $this->session->userdata('user_unique_id');
			$data['module'] = "pages";
			echo Modules::run('template/load', $data);
		// } else {
		// 	redirect("https://www.asterguardians.com/",'refresh');
		// }
	}

	function previewApplicationForm($code){
		if( !$this->userSession() ){
			redirect("/",'refresh');
		}
		
		$userSession = $this->session->userdata('user');
		$personalDetails = $this->Mdl_pages->retrieve("users_application_details	", array("uid"=>$userSession['token'],"code"=>$code));
		$documents = $this->Mdl_pages->retrieve("application_documents", array("uid"=>$userSession['token'], "code"=>$code));
		$casestudies = $this->Mdl_pages->retrieve("application_casestudies", array("uid"=>$userSession['token'], "code"=>$code));

		if( $personalDetails == "NA" ){
			redirect("dashboard",'refresh');
		}

		$data['personalDetails'] = $personalDetails;
		$data['documents'] = $documents;
		$data['casestudies'] = $casestudies;
		$data['template'] = "dashboard";
		$data['viewFile'] = 'pages/preview-application';
		$data['scriptFile'] = "summary";
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	function getIpInfo($ip_address){
		$ipdat = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=" . $ip_address));
		//echo "<pre>";print_r($ipdat);exit;
		$data = [];
		$country_name  = $ipdat->geoplugin_countryName;
		$data['country_code']  = $ipdat->geoplugin_countryCode;
		$data['city']  = $ipdat->geoplugin_city;
		$data['continentName']  = $ipdat->geoplugin_continentName;
		
		if(isset($country_name)){
			$userSession = $this->session->userdata('user');
			$uid = $userSession['token'];
			$country = $this->Mdl_pages->retrieve("master_country", array("country_name" => $country_name));
			//echo "<pre>";print_r($country);exit;
			$country_code = array(
				"country" => $country[0]->country_id,
			);
			if($country != "NA"){
				$insert = $this->Mdl_pages->update("registration", array("uid"=>$uid),$country_code);
			}
		}
		return true;
  	}

	function getCountryOrState(){
		$content = $this->input->post();
		if(!empty($content['region'])){
			$region = $content['region'];
			if($region == "india"){
			$states = $this->Mdl_pages->retrieve("master_states", array("status"=>"active"));
			echo json_encode(array("status"=>"success","data"=>$states)); exit;
			} else { 
			$country = $this->Mdl_pages->retrieve("master_country", array("status"=>"active"));
			echo json_encode(array("status"=>"success","data"=>$country)); exit;
			}
		} else {
			echo json_encode(array("status"=>"ALERT","title"=>"Error","icon"=>"error","message"=>'Oops something went wrong')); exit;
		}
	}

	function nominationCategory(){
		if( !$this->userSession() ){
			redirect("/",'refresh');
		}
		$userSession = $this->session->userdata('user');
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Nomination"));
		$categoryMaster = $this->Mdl_pages->retrieve("category_master", array("status"=>"active"));
		$checkNomineeQuery = "SELECT * FROM nominee_master n where (nominator_email_id = '".$userSession['email']."' ) ";
        $nomineeData = $this->Mdl_pages->customQuery($checkNomineeQuery);
        
		$data['seo'] = $seo; 
		$data['category_master'] = $categoryMaster;
		$data['nominee_count'] = $nomineeData != "NA" ? count($nomineeData) : 0;
		$data['nominee_data'] = $nomineeData;
		$data['template'] = "home";
		$data['scriptFile'] = "nomination";
		$data['viewFile'] = 'pages/nomination-category';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	function saveNominationCategory(){
		$content = $this->input->post();
		$token= $this->session->userdata("nom_token");
		if($content["csrfToken"] == $token){ 
			$this->form_validation->set_rules("category[]","Category","trim|xss_clean|required",
			array(
				"required" => "Please select one category",
			));
			if($this->form_validation->run($this) == FALSE){
				$errors = $this->form_validation->error_array();
				echo json_encode($errors); exit;
			  }else{
				$userSession = $this->session->userdata('user');
				$check_nominee_count_query = "SELECT count(id) as count FROM nominee_master n where (nominator_email_id = '".$userSession['email']."' ) ";
				$nominee_count = $this->Mdl_pages->customQuery($check_nominee_count_query);
				if($nominee_count[0]->count > 6){
      				echo json_encode(array("status"=>"ALERT","title"=>"Oops! an Error occured","icon"=>"error","message"=>"You have already nominated 6 candidate.")); exit;
				}
				$categoryData =  $this->Mdl_pages->retrieve("category_master",array("category_name"=>$content['category'][0]));
				$nominee_category_section = array(
					"category_id" => $categoryData[0]->id,
					"category" => $categoryData[0]->category_name
				);
				$this->session->set_userdata('nominee_category_section',$nominee_category_section);
				$redirect = 'nomination/nominee-details';
            	echo json_encode(array("status"=>"REDIRECT","redirect"=>$redirect)); exit;
			}
		} else {
			$this->session->unset_userdata('nom_token');
      		echo json_encode(array("status"=>"ALERT","title"=>"Oops! an Error occured","icon"=>"error","message"=>"Your session has expired. Please reload & try again.")); exit;
		}
	}

	function nomineeDetails(){
		if( !$this->userSession() ){
			redirect("/",'refresh');
		}
		$userSession = $this->session->userdata('user');
		$seo = $this->Mdl_pages->retrieve("seo", array("page"=>"Nomination"));
        $data['countries'] = $this->Mdl_pages->retrieve("master_country", array("status"=>"active"));
		$data['seo'] = $seo; 
		$data['template'] = "home";
		$data['scriptFile'] = "nomination";
		$data['viewFile'] = 'pages/nominee-details';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data); 
	}

	function saveNomineeDetails(){
		$content = $this->input->post();
		$token= $this->session->userdata("nom_token");
		$registrationData =  $this->Mdl_pages->retrieve("registration",array("email"=>$content['email']));
		if($registrationData != "NA"){
			echo json_encode(array("status"=>"ALERT","title"=>"Oops! an Error occured","icon"=>"error","message"=>"Mail id already in use.")); exit;
		}
		if($content["csrfToken"] == $token){ 
			$this->form_validation->set_rules("fullName","Full Name","trim|xss_clean|required|max_length[300]",
			array(
				"required" => "Please fill in the mandatory details",
				"max_length" => "Exceeds max limit of 300 characters"
			));
			$this->form_validation->set_rules("gender","Gender","trim|xss_clean|required",
			array(
				"required" => "Please fill in the mandatory details",
			));
			$this->form_validation->set_rules("region","Region","trim|xss_clean|required",
			array(
				"required" => "Please fill in the mandatory details",
			));
			$this->form_validation->set_rules("phoneCodeOne","Phone Code One","trim|xss_clean|required|numeric",
			array(
				"required" => "Please fill in the mandatory details",
				"numeric" => "Please fill in the mandatory details"
			));
// 			$this->form_validation->set_rules("country","Country","trim|xss_clean|required",
// 			array(
// 				"required" => "Please fill in the mandatory details",
// 			));
			$this->form_validation->set_rules("contactOne","Contact One","trim|xss_clean|required",
			array(
				'required' => "Please fill in the mandatory details"
			));
			$this->form_validation->set_rules("email","Email","trim|xss_clean|required|valid_email|is_unique[nominee_master.email]",
			array(
				"required" => "Please fill in the mandatory details",
				"valid_email" => "Please enter correct Email ID",
				"is_unique" => "The Email ID is already in use"
			));
// 			$this->form_validation->set_rules("country","Country","trim|xss_clean|required",
// 			array(
// 				"required" => "Please fill in the mandatory details",
// 			));
// 			$this->form_validation->set_rules("unit","Unit","trim|xss_clean|required",
// 			array(
// 				"required" => "Please fill in the mandatory details",
// 			));
			$this->form_validation->set_rules("awardCategoryQues","Award Category Question","trim|xss_clean|required",
			array(
				"required" => "Please fill in the mandatory details",
			));
			if($this->form_validation->run($this) == FALSE){
				$errors = $this->form_validation->error_array();
				echo json_encode($errors); exit;
			}else{
				$userSession = $this->session->userdata('user');
				$nominee_category_section = $this->session->userdata('nominee_category_section');
				if(empty($nominee_category_section)){
            		echo json_encode(array("status"=>"REDIRECT","redirect"=>"dashboard")); exit;
				}
				$check_nominee_count_query = "SELECT count(id) as count FROM nominee_master n where (category = '".$nominee_category_section['category']."' and nominator_email_id = '".$userSession['email']."') ";
				$nominee_count = $this->Mdl_pages->customQuery($check_nominee_count_query);
				if($nominee_count[0]->count > 0){
      				echo json_encode(array("status"=>"ALERT","title"=>"Oops! an Error occured","icon"=>"error","message"=>"You have already nominated candidate for this category.")); exit;
				}
				// if($content['region'] == "india"){
				// 	$countryId = '101';
				// 	$state = $content['country'];
				// } else {
				// 	$countryId = strip_tags($content['country']);
				// 	$state = '';
				// }
				$nominatorData =  $this->Mdl_pages->retrieve("nominator_master",array("email"=>$userSession['email']));
				if($nominatorData == "NA"){
					$this->session->unset_userdata('nom_token');
					echo json_encode(array("status"=>"ALERT","title"=>"Oops! an Error occured","icon"=>"error","message"=>"Something went wrong.")); exit;
				}
				$nomineeData = array(
					"nominator_id" => $nominatorData[0]->id,
					"nominator_registration_id" => $nominatorData[0]->registration_id,
					"nominator_email_id" => $nominatorData[0]->email,
					"full_name" => strip_tags($content['fullName']),
					"email" => strip_tags($content['email']),
					"gender" => strip_tags($content['gender']),
					"phone_code_one" => strip_tags($content['phoneCodeOne']),
					"contact_no" => strip_tags($content['contactOne']),
					"region" => strip_tags($content['region']),
				// 	"country" => strip_tags($countryId),
				// 	"state" => strip_tags($state),
				// 	"unit" => strip_tags($content['unit']),
					"category_id" => strip_tags($nominee_category_section['category_id']),
					"category" => strip_tags($nominee_category_section['category']),
					"award_category_question" => strip_tags($content['awardCategoryQues']),
					"ip_address" => $_SERVER['REMOTE_ADDR'],
					"created_at" => date("Y-m-d H:i:s")
				);
				$nomineeId = $this->Mdl_pages->insert("nominee_master", $nomineeData);
				if($nomineeId){
					$mailData = array(
						"viewFile" => "user/nomination",
						"to" => strip_tags($content['email']),
						"cc" => $nominatorData[0]->email,
						"bcc" => "",
						"category" => $nominee_category_section['category'],
						"nominator" => $nominatorData[0]->full_name,
						"subject" => "Congratulations! You have been nominated for Dr. Moopen Excellence Award",
						"name" => $content["fullName"],
					);
					$isSent = Modules::run('email/mailer', $mailData);
					
				}
				$this->session->unset_userdata('nominee_category_section');
				$redirect = 'nomination/success';
            	echo json_encode(array("status"=>"REDIRECT","redirect"=>$redirect)); exit;
			}
		} else {
			$this->session->unset_userdata('nom_token');
      		echo json_encode(array("status"=>"ALERT","title"=>"Oops! an Error occured","icon"=>"error","message"=>"Your session has expired. Please reload & try again.")); exit;
		}
	}

	function nomineeSummary($id){
		$userSession = $this->session->userdata('user');
		$nominatorEmail = $userSession['email'];

		$nomineeDetails = $this->Mdl_pages->retrieve("nominee_master", array("nominator_email_id"=>$nominatorEmail,"id"=>$id));
		$category_master = $this->Mdl_pages->retrieve("category_master", array("status"=>"active"));
		$nomiatorDetails = $this->Mdl_pages->retrieve("nominator_master", array("email"=>$nominatorEmail));
		$nomiatorDetailsQuery = "select nm.full_name,nm.country,nm.email,nm.phone_code_one,nm.contact_one,nm.region,nm.state,nm.unit,r.gender
							from nominator_master as nm 
							LEFT JOIN registration as r on nm.email = r.email
							where nm.email = '$nominatorEmail' ";
		$nomiatorDetails = $this->Mdl_pages->customQuery($nomiatorDetailsQuery);
		if($nomineeDetails == "NA"){
			redirect("/",'dashboard');
		} 
		
		$data['nomineeDetails'] = $nomineeDetails;
		$data['nomiatorDetails'] = $nomiatorDetails;
		$data['category_master'] = $category_master;
		$data['template'] = "dashboard";
		$data['viewFile'] = 'pages/nominee-summary';
		$data['module'] = "pages";
		echo Modules::run('template/load', $data);
	}

}