cnsTrfActions.php 9.8 KB
Newer Older
Hamza Arfaoui's avatar
Hamza Arfaoui committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
<?php
// TRANSFERT
require_once("../../inc/confNetisse.php");
require_once("../functions.php");

// error_reporting(E_ALL);
// ini_set('display_errors', 'On');

// Jamais affiché 1
// Toujous affiché 0
// Selon la connexion -1

$ACTION = trim($_REQUEST['action']);

switch($ACTION) {
	case 'transfertAgence':
		$MAT = trim($_REQUEST['mat']);
		$CID = trim(intval($_REQUEST['cid']));
		$CN = trim($_REQUEST['cn']);
		$AID = trim(intval($_REQUEST['aid']));
		$AN = trim($_REQUEST['an']);
		$FN = trim(secure(intval($_REQUEST['fn'])));
		$PID = trim(secure(intval($_REQUEST['pr'])));
		$q = 'SELECT id_agence, nom_agence FROM ca_agences WHERE supp=:supp AND id_agence != :id_agence AND id_agence != (SELECT id_agence FROM ca_conseillers WHERE id_conseiller = :id_conseiller) ORDER BY nom_agence ASC';
		$v = array(':supp' => 0, ':id_agence' =>$AID, ':id_conseiller' => $CID);
		//echo "<li>$q</li>";
		$stmt = excuteQuery($q, $v);
		$r = $stmt['stmt'];
		$JSON = "<table align='center'><tr><td>Conseiller : ".$CN." (".$MAT.")</td></tr><tr><td>Agence actuelle : ".$AN."</td></tr><tr><td colspan='2'><div id='transfert-container'><br/><br/>Liste des agences possibles :<br/><select name='newaid' id='newaid' onchange='getTransfertEntities(this)'>";
		$first = false;
		while($o=$r->fetchObject()) {
			if(!$first) $first = $o->id_agence;
			$JSON .= '<option value="'.$o->id_agence.'">'.$o->nom_agence.'</option>';
		}
		$JSON .= "</select>";
		$JSON .= getAgenceEntities($first, false);
		$JSON .= "</div></td></tr><tr><td colspan='2'><br/><input type='button' value='Valider' id='move-trf-btn' onclick='transfertGo(\"".$MAT."\",".$AID.", ".$CID.", \"".$CN."\", document.getElementById(\"newaid\").value, \"".$FN."\", \"".$PID."\")'/></td></tr></table><br/><br/>";
		echo json_encode(array('html' => $JSON));
		break;

	case 'transfert':
		$MAT = trim(secure($_REQUEST['mat']));
		$AID = trim(secure(intval($_REQUEST['aid'])));
		$EID = trim(secure(intval($_REQUEST['eid'])));
		$CID = trim(secure(intval($_REQUEST['cid'])));
		$CN = trim(secure($_REQUEST['cn']));
		$NEWAID = trim(secure(intval($_REQUEST['newaid'])));
		$FN = trim(secure(intval($_REQUEST['fn'])));
		$PID = trim(secure(intval($_REQUEST['pr'])));
		$status = $GLOBALS["PILE_CONF"]["DEFAULT_AGENT_STATUS"] ? $GLOBALS["PILE_CONF"]["DEFAULT_AGENT_STATUS"] : 0;
		$OID = '(SELECT id_orientation FROM ca_orientations WHERE id_agence = :id_agence2 AND id_entite=:id_entite2 AND orientation = 2 ORDER BY date_creation ASC LIMIT 1)';
		$q = 'REPLACE INTO ca_conseiller_agence (id_agence,id_conseiller,id_entite, id_orientation,status, temporaire,date_creation, id_fonction, id_profile) VALUES (:id_agence1,:id_conseiller,:id_entite1,'.$OID.','.$status.',0,now(),'.$FN.','.$PID.')';
		$v = array(':id_agence1' => $NEWAID, ':id_conseiller' => $CID, ':id_entite1' => $EID, ':id_agence2' => $NEWAID, ':id_entite2' => $EID);
		$r = excuteQuery($q, $v);
		$q = 'UPDATE ca_conseillers SET id_agence=:id_agence1, groupe = :groupe, fonction = :fonction, orientation=(SELECT id_orientation FROM ca_orientations WHERE id_agence = :id_agence2 AND id_entite=:id_entite AND orientation = :orientation ORDER BY date_creation ASC LIMIT 1)	WHERE id_conseiller=:id_conseiller';
		$v = array(':id_agence1' => $NEWAID, ':groupe' => $EID, ':fonction' => $FN, ':id_agence2' => $NEWAID, ':id_entite' => $EID,
		':orientation'=>2, ':id_conseiller' => $CID);
		$r = excuteQuery($q, $v);
		$q = 'DELETE FROM ca_conseiller_agence WHERE id_agence = :id_agence AND id_conseiller=:id_conseiller';
		$v = array(':id_agence' => $AID, ':id_conseiller' => $CID);
		$r = excuteQuery($q, $v);
		if($PID != 6){
			$q = 'DELETE FROM ca_conseiller_profils WHERE id_conseiller=:id_conseiller AND id_profil = 6';
			$v = array(':id_conseiller' => $CID);
			$r = excuteQuery($q, $v);
		}
		echo json_encode(array('mat' => $MAT, 'nom' => $CN, 'html' => "reload"));
		break;


	case 'ajoutAgence':
		$MAT = trim(secure($_REQUEST['mat']));
		$CID = trim(secure(intval($_REQUEST['cid'])));
		$CN = trim(secure($_REQUEST['cn']));
		$FN = trim(secure(intval($_REQUEST['fn'])));
		$PID = trim(secure(intval($_REQUEST['pr'])));
		$AID = trim(secure(intval($_REQUEST['aid'])));
		$AN = trim(secure($_REQUEST['an']));

		$pileAgency = trim(secure($_REQUEST['pa'])); // Pile agency
		if($pileAgency){
			$agcFilter = $GLOBALS["PILE_CONF"]["TRANSFERT_ALL_AGENCIES_FROM_PILE"] ? '' : ' AND id_agence = :id_agence';
			if($GLOBALS["PILE_CONF"]["WHITHOUT_AGENCY_FROM_PILE"]){
				$agcFilter = ' AND id_agence != :id_agence';
			}
			$q = 'SELECT id_agence, nom_agence FROM ca_agences WHERE supp=:supp'.$agcFilter.' AND id_agence NOT IN (SELECT id_agence FROM ca_conseiller_agence WHERE id_conseiller = :id_conseiller) ORDER BY nom_agence ASC';
			$v = array(':supp' => 0);
			if(!$GLOBALS["PILE_CONF"]["TRANSFERT_ALL_AGENCIES_FROM_PILE"]){
				$v[':id_agence'] = $AID;
			}
			$v[':id_conseiller'] = $CID;
		}
		else{
			$q = 'SELECT id_agence, nom_agence FROM ca_agences WHERE supp=:supp AND id_agence != :id_agence AND id_agence NOT IN (SELECT id_agence FROM ca_conseiller_agence WHERE id_conseiller = :id_conseiller)  ORDER BY nom_agence ASC';
			$v = array(':supp' => 0, ':id_agence' => $AID, ':id_conseiller' => $CID);
		}
		// echo "<li>$q</li>";
		$stmt = excuteQuery($q, $v);
		$r = $stmt['stmt'];
		$JSON = "<table align='center'><tr><td>Conseiller : ".$CN." (".$MAT.")</td></tr><tr><td>Agence actuelle : ".$AN."</td></tr><tr><td colspan='2'><div id='transfert-container'><br/><br/>Liste des agences possibles :<br/><select  class='add-trf-agencies' name='newaid' id='newaid' onchange='getTransfertEntities(this)'>";
		$first = false;
		while($o=$r->fetchObject()) {
			if(!$first) $first = $o->id_agence;
			$JSON .= '<option value="'.$o->id_agence.'">'.$o->nom_agence.'</option>';
		}
		$JSON .= "</select>";
		$JSON .= getAgenceEntities($first, false);
		$JSON .= "</div></td></tr><tr><td colspan='2'><br/><input type='button' value='Valider' id='add-trf-btn' onclick='ajoutGo(\"".$MAT."\", ".$CID.", \"".$CN."\", document.getElementById(\"newaid\").value,\"".$FN."\", \"".$PID."\")'/></td></tr></table><br/><br/>";
		echo json_encode(array('html' => $JSON));
		break;

	case "ajout":
		$MAT = trim(secure($_REQUEST['mat']));
		$CID = trim(secure(intval($_REQUEST['cid'])));
		$CN = trim(secure($_REQUEST['cn']));
		$NEWAID = trim(secure($_REQUEST['newaid']));
		$EID = trim(secure(intval($_REQUEST['eid'])));
		$FID = trim(secure(intval($_REQUEST['fn'])));
		$PID = trim(secure(intval($_REQUEST['pr'])));
		$OID = "(SELECT id_orientation FROM ca_orientations WHERE id_agence = :id_agence2 AND id_entite=:id_entite2 AND orientation = 2 AND supp = 0 ORDER BY date_creation ASC LIMIT 1)";
		$status = $GLOBALS["PILE_CONF"]["DEFAULT_AGENT_STATUS"] ? $GLOBALS["PILE_CONF"]["DEFAULT_AGENT_STATUS"] : 0;
		$q = 'REPLACE INTO ca_conseiller_agence (id_agence,id_conseiller,id_entite,id_orientation, id_fonction, id_profile,status, date_creation) VALUES (:id_agence1,:id_conseiller,:id_entite1,'.$OID.', :id_fonction, :id_profile,'.$status.', now())';
		$v = array(':id_agence1' => $NEWAID, ':id_conseiller' => $CID, ':id_entite1' => $EID, ':id_agence2' => $NEWAID, ':id_entite2' => $EID, ':id_fonction'=>$FID, ':id_profile' => $PID);
		$r = excuteQuery($q, $v);
		echo json_encode(array('mat' => $MAT, 'nom' => $CN, 'html' => "reload"));
		break;

	case 'suppConfirmation':
		$MAT = trim(secure($_REQUEST['mat']));
		$CID = trim(secure(intval($_REQUEST['cid'])));
		$CN = trim(secure($_REQUEST['cn']));
		$AID = trim(secure(intval($_REQUEST['aid'])));
		$AN = trim(secure($_REQUEST['an']));

		$q = "SELECT IF(TIMESTAMPDIFF(SECOND,ca.last_active,now())<=15,1,0) AS online FROM ca_conseiller_agence ca WHERE ca.id_agence = :id_agence AND ca.id_conseiller= :id_conseiller";
		$v = array(':id_agence' => $AID, ':id_conseiller' => $CID);
		$stmt = excuteQuery($q, $v);
		$r = $stmt['stmt'];
		$online = false;
		if($r){
			$o = $r->fetchObject();
			if($o->online == 1)
			{
				$online = true;
			}
		}
		if($online){
			echo json_encode(array('online' => true));	
		}
		else{
			$JSON = "<table align='center'><tr><td>Conseiller : ".$CN." (".$MAT.")</td></tr><tr><td>Agence actuelle : ".$AN."</td></tr><tr><td colspan='2'><br/><br/>Confirmez la suppression de ce rattachement :<br/><br/><input type='button' value='Supprimer' id='delete-trf-btn' onclick='suppressionGo(\"".$MAT."\", ".$AID.", ".$CID.", \"".$CN."\")'/></td></tr></table><br/><br/>";
			echo json_encode(array('html' => $JSON));	
		}
		break;

	case 'suppConfirmee':
		$MAT = trim(secure($_REQUEST['mat']));
		$AID = trim(secure(intval($_REQUEST['aid'])));
		$CID = trim(secure(intval($_REQUEST['cid'])));
		$CN = trim(secure($_REQUEST['cn']));
		$q = "DELETE FROM ca_conseiller_agence WHERE id_agence=:id_agence AND id_conseiller=:id_conseiller";
		$v = array(':id_agence' => $AID, ':id_conseiller' => $CID);
		$r = excuteQuery($q, $v);
		echo json_encode(array('mat' => $MAT, 'nom' => $CN, 'html' => "reload"));
		break;

	case 'entitesAgence':
		$json = getAgenceEntities(trim(secure($_REQUEST['aid'])));
		echo $json;
		break;
}

function getAgenceEntities($AID, $ajax=true){
	if($AID){
		$q = "SELECT id_entite, libelle FROM ca_entites WHERE supp=:supp AND id_agence=:id_agence ORDER BY libelle ASC";
		$v = array(':supp' => 0, ':id_agence' => intval($AID));
		$stmt = excuteQuery($q, $v);
		$r = $stmt['stmt'];
		$nb = $r ? $r->rowCount() : 0;
		$display = ($nb==1 || !$GLOBALS['BO_CONF']["ENTITIES"])  ? "style='display:none;'" : "";
		if ($nb > 0)
		{
			$DATA = "<div ".$display." id='entite-transfert-container'>Choisir une entité : <br /><select name='entite' id='entite-transfert'>";
			while($o = $r->fetchObject())
			{
				$DATA .= "<option value='".$o->id_entite."'>".$o->libelle."</option>";
			}
			$DATA .= "</select></div>";
			return $ajax ? json_encode(array('content' => $DATA, 'nb' => $nb, 'status' => true)) : $DATA;
		}
		else{
			return $ajax ? json_encode(array('content' => 'ERROR', 'nb' => -1, 'status' => false)) : "";
		}
	}
}
?>