<?php

/**
* CopyRight Information
*
* @FileName 	success.config.php
* @Package 		BackLogics Package
* @Author 		Ing. Miguel Zamora Serrano <mzamoras@backlogics.com>
* @CopyRights	BackLogics Technologies 2007 <http://www.backlogics.com>
* @DateCreated	May 1th 2007
* @DateModified May 1th 2007
*
* @Licenced		Internet Sourcing México S.A. de C.V <http://www.e-sourcing.com.mx>
*
*/
	/**
	*	This line validates you are loged in so you can't have direct acces to the file.
	*/
	if (!defined(_SYSTEM_NAME._SYSTEM_VERSION)) die(_lang("error","notLoged"));


	session_name(_SYSTEM_NAME._SYSTEM_VERSION);
	ob_start();
	$_defaultHome = "";
	$_sessionUsernameFld   = "user_id";
	$_sessionUsrStatusFld  = "user_status";
	$_sessionUserActivStat = "Active";
	$_sessionForcedInfoFld = "user_pendingReq_id";

	//Main User Info as Session Values
	if (!isset($_SESSION["user_email"])) {

		$sql  = "SELECT
				  `cat_titles`.title_name,
				  `cat_titles`.title_abs,
				  CONCAT(`system_contacts`.contact_firstName,' ',if (`system_contacts`.contact_lastName IS NULL,'',`system_contacts`.contact_lastName),' ', if (`system_contacts`.contact_2lastName IS NULL,'',`system_contacts`.contact_2lastName)) contact_full_name ,
				  `system_contacts`.contact_id,
				  `system_contacts`.contact_firstName,
				  `system_contacts`.contact_lastName,
				  `system_contacts`.contact_2lastname,
				  `system_contacts`.contact_workDepartment,
				  `system_contacts`.contact_workPosition,
				  `system_users`.user_id,
				  `system_users`.user_email,
				  `system_users`.user_status,
				  `system_users`.user_expirationDate,
				  `system_users`.user_kind,
				  `system_users`.user_session_id,
		          `system_users`.user_reload,
				  `system_users`.user_language,
				  `core_companies`.company_name,
				  `core_companies`.company_id,
				  `core_companies`.company_type,
				  `cat_titles`.title_abs,
				  `core_employees`.employee_id,
				  `core_employees`.employee_position,
				  `system_orgstructure`.orgStructure_name,
				  `system_orgstructure`.orgStructure_id,
				  `system_orgstructure`.orgStructure_lft,
				  `system_orgstructure`.orgStructure_rgt,
				  if(`system_orgstructure`.orgStructure_default = 0, '', orgStructure_default) orgStructure_default
				FROM
				  `system_users`
				  INNER JOIN `system_contacts` ON (`system_users`.user_contact_id = `system_contacts`.contact_id)
				  LEFT JOIN `cat_titles` ON (`system_contacts`.contact_title_id = `cat_titles`.title_id)
				  INNER JOIN `core_companies` ON (`system_contacts`.contact_company_id = `core_companies`.company_id)
				  LEFT OUTER JOIN `core_employees` ON (`system_contacts`.contact_id = `core_employees`.employee_contact_id)
				  LEFT OUTER JOIN `system_orgstructure` ON (`core_employees`.employee_orgStructure_id = `system_orgstructure`.orgStructure_id)
				  LEFT OUTER JOIN `system_user_requeriment` ON (`system_users`.user_id = `system_user_requeriment`.ur_user_id)
				WHERE(`system_users`.user_email= '".(isset($_SESSION['real_username'])? $_SESSION['real_username']  : $authObj->getUsername())."')";


		$userData = $GLOBALS['zettaClass']->makeQuery($sql,"row");
		if($userData['user_language'] != ""){
			$_SESSION['lang'] = $userData['user_language'];
		}
		if(isset($userData) && $userData!=""){
			foreach ($userData as $key=>$value){
				$_SESSION[$key]=$userData[$key];
			}
		}else{
			$noPermissions = true;
		}
		unset($_SESSION['login']);
		if(!$noPermissions){

		if($_SESSION['user_id'] == "1"){
			$_SESSION['orgStructure_id'] = "1";
		}
		if($_SESSION['orgStructure_default'] == "0"){
			unset($_SESSION['orgStructure_default']);	
		}
			$_SESSION['reload'] = $userData['user_reload'];

		$userCountGpsSQL = "SELECT count(*) groupss FROM system_users_groups JOIN system_groups ON ug_group_id=group_id WHERE  ug_user_id=".$_SESSION['user_id'];
		$userCountGroups = $GLOBALS['zettaClass']->makeQuery($userCountGpsSQL,"row");
		if(isset($userCountGroups['groupss']) && $userCountGroups['groupss']!='' && $userCountGroups['groupss']>0){
			$userGpsSQL = "SELECT * FROM system_users_groups JOIN system_groups ON ug_group_id=group_id WHERE  ug_user_id=".$_SESSION['user_id'];
			$userGroups = $GLOBALS['zettaClass']->makeQuery($userGpsSQL,"result");
			while ($row = $userGroups->fetchRow()) {
				$_SESSION['user_groups'][$row['ug_group_id']]=$row['group_name'];
			}
			}else{
			$noPermissions=true;
		}

		$_SESSION['username']=email2usr($userData['user_email']);
		defineRequirements();

		//Log Section
		$logAccess = new blLog("AUTHENTICATION");
		$logAccess->addVar($_POST['username']);
		$logAccess->addVar($_POST['password'],true);
		$logAccess->addUserID();
		$logAccess->addConnectionData();
		$logAccess->write();
		}
	}

	$cookieLog2 = new cookieClass("navRPP",3600*24*30);

	//para mostrarse en el lenguaje seleccionado en su user
	//if($userData['user_language'] !='' && ($userData['user_language'] === 'ESP' || $userData['user_language'] === 'ENG' || $userData['user_language'] ==='FRA') ){
	if($userData['user_language'] !='' && ($userData['user_language'] === 'ESP' || $userData['user_language'] === 'ENG' || $userData['user_language'] ==='FRA') && $_COOKIE['esourcingLang'] == ''){
		$_SESSION['lang'] = $userData['user_language'];
	}elseif(isset($_COOKIE['esourcingLang']) && $_COOKIE['esourcingLang'] != $_SESSION['lang']){
		$_COOKIE['esourcingLang'] = 	$_SESSION['lang'];
		//no deberia actualizar el idioma del participante
		//print_r($_COOKIE);die();
		//$_SESSION['lang'] = $_COOKIE['esourcingLang'];
		/*if($userData['user_language'] != '' && $userData['user_language'] != $_COOKIE['esourcingLang']){
			$user = new backLogics();
			$user->defineBasicData("user","system_users","user_id");
			$user->defineFieldsToProcess("language");
			$user->manualCreateData("language",$_SESSION['lang']);
			$user->manualCreateData("id",$userData["user_id"]);
			$user->makeUpdate();
			// echo $user->getID(). "se actualizó??? .... ".$userData["user_id"]."".$_SESSION["lang"]."\n";
		}*/
	}

	if($_SESSION['user_expirationDate'] != ""){
		$userExpired		= false;
		$today 			= date("Y,m,d");
		$expirationDate 	= explode("-",$_SESSION['user_expirationDate']);
		$theDate		= explode(",",$today);
		$expirationYear		= $expirationDate[0];
		$expirationMonth	= $expirationDate[1];
		$expirationDay		= $expirationDate[2];
		$theYear 		= $theDate[0];
		$theMonth 		= $theDate[1];
		$theDay 		= $theDate[2];

		if($expirationYear < $theYear || $_SESSION['user_status'] == "Expired"){
			$userExpired = true;
		}else{
			if($expirationYear == $theYear){
				if($expirationMonth < $theMonth){
					$userExpired = true;
				}else{
					if($expirationMonth == $theMonth){
						if($expirationDay < $theDay){ //$expirationDay <= $theDay
							$userExpired = true;
						}
					}
				}
			}
		}
	}

	if($_SESSION['user_status']=='systemExpired'){
		$userSystemExpired = "isTrue";
	}

	
	if($_SESSION['user_status']=='Cancelled' || $_SESSION['user_status']=='Suspended'){
		$userCancelled= "isTrue";
	}
	if ( isset( $_SERVER ) ) {
		$user_agent = $_SERVER['HTTP_USER_AGENT'];
	} else {
		global $HTTP_SERVER_VARS;
		if ( isset( $HTTP_SERVER_VARS ) ) {
			$user_agent = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
		} else {
			global $HTTP_USER_AGENT;
			$user_agent = $HTTP_USER_AGENT;
		}
	}
	if ($noPermissions || (($_SESSION[$_sessionUsrStatusFld] != $_sessionUserActivStat) && $_SESSION[$_sessionUsrStatusFld] != "Limited" && $_SESSION[$_sessionUsrStatusFld] != "Testing") || $userExpired || $userSystemExpired){
	//if ($noPermissions || (($_SESSION[$_sessionUsrStatusFld] != $_sessionUserActivStat) && $_SESSION[$_sessionUsrStatusFld] != "Testing") || $userExpired || $userSystemExpired){
		$authObj->logout();
		session_destroy();
		if(isset($_COOKIE[_SYSTEM_NAME._SYSTEM_VERSION])) setcookie(_SYSTEM_NAME._SYSTEM_VERSION, "", time()-3600);

		
		if(isset($noPermissions)){
			$failedLog=	_lang("login","noPermissions","system");
		}
		else{
			if(isset($userExpired)){
				$failedLog=	_lang("login","userExpired","system");
			}
			else{
				if(isset($userSystemExpired)){
					$failedLog=	_lang("login","systemExpired","system");
				}
				else{
					if(isset($userCancelled)){
						$failedLog=	_lang("login","notActive","system");
					}
					
				}
			}
		}
		
		$_contentToLoad =_PATH_HTMLS."login.content.tpl";
		$_showHeader 	= false;
		$_showMenu 		= false;
		$_imLogged 		= false;
		include_once(_PATH_HTMLS.'base.content.tpl');
		$smarty = new blSmarty();
		$smarty->assign("login",true);
		$smarty->assign("footer",true);
		$smarty->assign("failedLog",$failedLog);
		$smarty->assign("version",_SYSTEM_NAME);
		$smarty->assign("systemRL",_SYSTEM_RECOVERYLINK);
		$smarty->assign("systemMail",_SYSTEM_HELPMAIL);
		$smarty->assign("_SYSTEM_TYPE",_SYSTEM_TYPE);		
		$smarty->assign("_SYSTEM_CITIZEN",_SYSTEM_CITIZEN);
		$smarty->assign('versionfile', "?"._VERSIONFILE);	
		$smarty->assign('OSV',getOS());
		if(defined("_newGUI")){
			$smarty->assign('newGUI',true);
		}else{
			$smarty->assign('newGUI',false);
		}
		$smarty->display('baseContent.tpl');
		
		/*
		printHTML('<SCRIPT>');
		printHTML("document.getElementById('loginStatus').innerHTML='".$failedLog."'");
		printHTML('</SCRIPT>');
		*/
		
	}else{
		if($_SESSION[$_sessionForcedInfoFld]!=""){	
			$sqlForced   = "SELECT * FROM system_cat_forced WHERE forced_id=".$_SESSION[$_sessionForcedInfoFld];
			$forcedRow   = $GLOBALS['zettaClass']->makeQuery($sqlForced,"row");
			$defaultHome = $forcedRow['url'];
		}

		if(isset($_REQUEST['specificFile'])){
			include_once($_REQUEST['specificFile']);
		}
		else{
			$xajax = new xajax("index.php");
			$xajax->setCharEncoding('utf-8');
			$xajax->configure('javascript URI', 'includes/ajax/');    
			/*Configuration tester*/
			$xajax->configure('scriptLoadTimeout', 60000);
			$xajax->configure('responseQueueSize' , 60000);
 			//$xajax->configure('deferScriptGeneration', true);
			/*Agregados de la paginda modificado por ave*/                                                

			//$xajax->decodeUTF8InputOn();
			$xajax->setFlag('decodeUTF8Input',true);
			if(isset($_REQUEST['debug'])){
				$xajax->setFlag('debug',true);
			}

			$xajax->register(XAJAX_FUNCTION, 'ajaxCallerManager', array(
			'onRequest' => "showLoader"
			));
			$xajax->register(XAJAX_FUNCTION, 'validateForm', array(
				'onRequest' => "active_all_module_show"
			));
			$xajax->register(XAJAX_FUNCTION, 'successSavings', array(
				'onRequest' => "active_all_module_show",
			'onSuccess' => "hideLoader"
			));
			$xajax->register(XAJAX_FUNCTION, 'uploadFiles',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkEmail',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkSocial',array('onRequest' => "active_all_module_ses"));			
			$xajax->register(XAJAX_FUNCTION, 'checkRFC',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkSolpe',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkGobCode',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkSadmCode',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkGobProduct',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkSadmProduct',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkPrefix',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkPassword',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'newPassword',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'updateRecords',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'showVideoPage',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'saveActiveSesion',array('onRequest' => "active_all_module_ses"));//mantener sesión activa

			/*Agregados de la paginda modificado por ave*/
			$xajax->register(XAJAX_FUNCTION, 'ajaxupdatenew',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'ajaxvalidatePass',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'validateField',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'validateFields',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'validateCatnew',array('onRequest' => "active_all_module_ses"));

			$xajax->register(XAJAX_FUNCTION, 'validateCatUp',array('onRequest' => "active_all_module_ses"));		
			$xajax->register(XAJAX_FUNCTION, 'exelupdate',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'exelupdateEstimations',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'ereasedoc',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'ajax_error_show',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'ajax_dowloadContent_external',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'ajaxCallerVideo',array('onRequest' => "active_all_module_ses"));			
			$xajax->register(XAJAX_FUNCTION, 'ajaxCallerScreenVideo',array('onRequest' => "active_all_module_ses"));

			$xajax->register(XAJAX_FUNCTION, 'checkWBS',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkEmailRFC',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'checkFields',array('onRequest' => "active_all_module_ses"));
			$xajax->register(XAJAX_FUNCTION, 'excelEditCat',array('onRequest' => "active_all_module_ses"));


			$xajax->processRequest();
			if(isset($_REQUEST['xjxfun'])){
				die();
			}
			//include_once(_PATH_HTMLS.'base.content.php');

			$smarty = new blSmarty();
			//$smarty->setTemplateDir( './styles/default/structure/' );
			//$smarty->setPluginsDir ( './styles/default/structure/smartyPlugins/' );
			//$smarty->setCompileDir ( './temporaryFiles' . '/templates_c/' );
			//$smarty->setConfigDir  ( './temporaryFiles' . '/configs/' );
			//$smarty->setCacheDir   ( './temporaryFiles' . '/cache/' );

			$smarty->assign('name', 'george smith');
			$smarty->assign('address', '45th & Harris');
			$smarty->assign('xajax_js', $xajax->getJavascript("./includes/ajax/"));
			$smarty->assign('mainCss',defined("_SYSTEM_TYPE") ? "globalGov" : "global");
			$smarty->assign('showFooter',!isset($_contentToLoad) ? 1 : 0);

			//ADD HELP MENU
			$smarty->assign('menuHelp', getMenuHelp());			
			//ADD HELP MENU

			//if($_showMenu && !isset($_SESSION['user_groups']['50'])){
				$smarty->assign('menu', getMenu($_showMenu));
			//}
			if(!isset($_SESSION['user_groups']['50']) ){
				$smarty->assign('citizen','0');
			}else{
				$smarty->assign('citizen','1');
			}
			$smarty->assign('footer',getFooter());
			$smarty->assign('content', $_contentToLoad);
			$smarty->assign("_TIME_EXPIRATION_ALERT",((_IDLE_TIME - _IDLE_TIME_ALERT)/60)); //Tiempo(minutos) que restará para expirar sesión, al mostrar msj
			$smarty->assign('language', $_SESSION['lang']);
			$smarty->assign('versionfile', "?"._VERSIONFILE);	
			$smarty->assign('userTester',_user_tester);	
			$smarty->assign('OSV',getOS());
			if(defined("_newGUI")){
				$smarty->assign('newGUI',true);
			}else{
				$smarty->assign('newGUI',false);
			}
			$smarty->assign('contact_full_name',$_SESSION['contact_full_name']);

			if(defined("_newGUI")){
				$file_photo = "SELECT core_files.* FROM system_users
				LEFT JOIN system_contacts ON contact_id = user_contact_id
				LEFT JOIN core_files ON contact_ImgUser = file_id
				WHERE user_id = ".$_SESSION['user_id'];
				$file_photo   = $GLOBALS['zettaClass']->makeQuery($file_photo,"row");
				$file_photo['file_data'] = base64_decode($file_photo['file_data']);

				if($file_photo['file_data'] != ""){
					$filedir = explode("|RF|",$file_photo['file_data']);
					$smarty->assign("filedir",$filedir[0]);
				}else{
					$smarty->assign("filedir","./styles/default/images/users/users.jpeg");
				}	
			}
			$smarty->display('baseContent.tpl');
		}
	}

?>
