123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <?php
- /* AJAX
- * Selecciona los atributos de una mateia
- * Recibe:
- * mat - ID de la materia
- */
- require_once("../../include/constantes.php");
- require_once("../../include/nocache.php");
- require_once("../../include/bd_pdo.php");
- require_once("../../classes/ValidaSesion.php");
- function getRGBA_color($hex, $nivel){
- list($r, $g, $b) = sscanf($hex, "#%02x%02x%02x");
- $style = "rgba($r,$g, $b,";
- $a = 1.0;
- switch($nivel){
- case 0: $a = 0.15; break;
- //case 1: $a = 0.32; break;
- //case 2: $a = 0.48; break;
- case 3: $a = 0.50; break;
- //case 4: $a = 0.80; break;
- }
- $style .= "$a)";
- return $style;
- }
- //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
- $objSesion = new ValidaSesion($pdo, array(45, 25), APSA);
- if(!$objSesion->tieneAcceso()){
- $return["error"] = "Error! No tienes permisos para realizar esta acción.";
- }else if(!isset($_POST["mat"]) || !isset($_POST["plan"])){
- $return["error"] = "Error! No se recibió la información de la materia.";
- }else{
- $plan = filter_input(INPUT_POST, "plan", FILTER_SANITIZE_NUMBER_INT);//limpia texto
- $mat = filter_input(INPUT_POST, "mat", FILTER_SANITIZE_NUMBER_INT);//limpia texto
-
- $error = false;
- try{
- $pdo->beginTransaction();
- $stmt = $pdo->prepare('Select * from fd_materia_atributoegreso(NULL, :mat)');
- $stmt->bindParam(":mat", $mat);
- if(!$stmt->execute()){
- $return["error"] = "Ocurrió un error al actualizar los atributos de egreso.";
- $error = true;
- }
- if(!$error && isset($_POST["atributos"]) && count($_POST["atributos"])>0){
- $stmt = $pdo->prepare('Select * from fi_materia_atributoegreso(:plan, :id, :mat, :nivel, :orden)');
- $stmt->bindParam(":plan", $plan);
- $stmt->bindParam(":mat", $mat);
- $i=1;
- foreach($_POST["atributos"] as $atributo){
- if($atributo["id"]!= 0){
- $stmt->bindParam(":id", $atributo["id"]);
- $stmt->bindParam(":nivel", $atributo["nivel"]);
- $stmt->bindParam(":orden", $i);
- $i++;
- if(!$stmt->execute()){
- $return["error"] = "Ocurrió un error al insertar los atributos de egreso.";
- $error = true;
- }
- }
- }
- }
- if(!$error){
- $stmt = $pdo->prepare('Select * from fs_materia_atributoegreso(NULL, :mat)');
- $stmt->bindParam(":mat", $mat);
- if(!$stmt->execute()){
- $return["error"] .= "Ocurrió un error al leer los atributos de egreso.";
- }else{
- $rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $stmt = null;
- $atributoArr = array();
-
- foreach($rs as $row){
- $atributoArr[] = array("id"=>$row["AtributoEgreso_id"] , "desc"=>substr($row["AtributoEgreso_desc"], 0, 50)."...",
- "nivel"=>$row["AtributoNivel_id"], "nivel_desc"=>$row["AtributoNivel_desc"],
- "color"=>getRGBA_color($row["AtributoEgresoGeneral_color"], $row["AtributoNivel_id"]));
- }
-
- $return["atributosArr"] = $atributoArr;
- }
- }
-
- if($error){
- $pdo->rollBack();
- }else{
- $pdo->commit();
- }
- }catch(PDOException $e) {
- $pdo->rollBack();
- $return["error"] = "Ocurrió un error al actualizar los atributos de egreso.";
- //print_r($e);
- }
- }
- $return["json"] = json_encode($return);
- echo json_encode($return);
- ?>
|