123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- <?php
- //no index
- header("X-Robots-Tag: noindex, nofollow", true);
- ini_set('display_errors', 1);
- error_reporting(E_ALL);
- //no caché
- header('Expires: Sun, 01 Jan 2014 00:00:00 GMT');
- header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
- header('Cache-Control: no-store, no-cache, must-revalidate');
- header('Cache-Control: post-check=0, pre-check=0', false);
- header('Pragma: no-cache');
- date_default_timezone_set('America/Mexico_City');
- require_once("../include/nusoap/nusoap.php");
- require_once("../include/bd_pdo.php");
- //--funcion interna
- function quitaNumeros($words){
- $words = strtoupper($words);
- return preg_replace('/\d/', '', $words );
- }
- function quitaLetras($words){
- $words = strtoupper($words);
- return preg_replace("/[^0-9]/", "", $words);
- }
- function getIniciales($materia){
- $ret = '';
- $materia = str_ireplace( array("Á","É","Í","Ó","Ú","Ñ","Ä","Ë","Ï","Ö","Ü","Â","Ê","Î","Ô","Û","Ã"), array("A","E","I","O","U","N","A","E","I","O","U","A","E","I","O","U","A"), utf8_encode($materia));
- foreach (explode(' ', $materia) as $word){
- if(ctype_alpha($word[0]))
- $ret .= $word[0];
- }
- return strtoupper($ret);
- }
- //-----
- function getareashortname($shortname = ""){
- global $pdo;//global para que la vea la función
- $tmp = explode('-', $shortname);
- /*$grupo = quitaLetras(str_replace(' ', '', $tmp[0]));
- $carrera = quitaNumeros(str_replace(' ', '', $tmp[0]));*/
-
- /*$stmt = $pdo->prepare('Select * from fs_areamateria(:gpo, :pref)');
- $stmt->bindParam(":gpo", $grupo);
- $stmt->bindParam(":pref", $carrera);*/
-
- $stmt = $pdo->prepare('Select * from fs_areashortname(:short)');
- $stmt->bindParam(":short", $tmp[0]);
-
- if($stmt->execute()){
- $materias_rs = $stmt->fetchAll();
- $stmt->closeCursor();
-
- foreach($materias_rs as $materia){
- if(getIniciales($materia["Materia_desc"]) == strtoupper($tmp[1])){
- return $materia["Area_id"];
- }
- }
- }
- return "0";
- }
- function getatributos($id){
- global $pdo;//global para que la vea la función
- //$tmp = explode('-', $shortname);
- //$id = $tmp[3];
-
- $stmt = $pdo->prepare('Select * from fs_materia(:id, NULL, NULL, NULL, NULL, 0, NULL)');
- $stmt->bindParam(":id", $id);
- if($stmt->execute()){
- $materia_rs = $stmt->fetch();
- }
- $stmt->closeCursor();
- //---
- $stmt = $pdo->prepare('Select * from fs_materia_atributoegreso(NULL, :id)');
- $stmt->bindParam(":id", $id);
-
- if($stmt->execute()){
- $atributos_rs = $stmt->fetchAll();
- }
- $stmt->closeCursor();
- $stmt = $pdo->prepare('Select * from fs_materia_ods(NULL, :id)');
- $stmt->bindParam(":id", $id);
- if($stmt->execute()){
- $ODS_rs = $stmt->fetchAll();
- }
- $stmt->closeCursor();
- //----
- $atributosArray = array();
- foreach($atributos_rs as $atr){
- $atributosArray[] = array("num"=> $atr["AtributoEgreso_id"], "desc"=>$atr["AtributoEgreso_desc"], "contribuye"=>$atr["Materia_AtributoEgreso_contribuye"]);
- }
- $odsArray = array();
- foreach($ODS_rs as $atr){
- $odsArray[] = array("num"=> $atr["ODs_num"], "desc"=>$atr["ODs_desc"], "contribuye"=>0);
- }
- //array("materia"=>"xsd:string", "carrera"=>"xsd:string", "plan"=>"xsd:string", "atributos" => "tns:AtributosList", "ods" =>"tns:AtributosList"),//regresa
- return array(
- "materia"=>$materia_rs["Materia_desc"],
- "carrera"=>$materia_rs["Carrera_desc"],
- "plan"=>$materia_rs["PlanEstudio_desc"],
- "atributos" => $atributosArray,
- "ods" => $odsArray);
- }
- /*function getods($shortname = ""){
- global $pdo;//global para que la vea la función
- $tmp = explode('-', $shortname);
-
- $stmt = $pdo->prepare('Select * from fs_materia_atributoegreso(NULL, :id)');
- $stmt->bindParam(":id", $tmp[3]);
-
- if($stmt->execute()){
- $rs = $stmt->fetchAll();
- $stmt->closeCursor();
-
- $odsArray = array();
- foreach($rs as $atr){
- $odsArray[] = array("num"=> $atr["ODs_num"], "desc"=>$atr["ODs_desc"], "contribuye"=>0);
- }
- }
- return $odsArray;
- }*/
- //define("PAG", "http://atenea.lci.ulsa.mx/webservice/materiainfo_service");
- define("PAG", "http://200.13.89.48/webservice/materiainfo_service");
- $server = new soap_server();
- $server->configureWSDL("materiainfo_service", PAG);
-
- //Create a complex types
- $server->wsdl->addComplexType('AtributoComplex', 'complexType', 'struct', 'all','',
- array( 'num' => array('name' => 'num','type' => 'xsd:integer'),
- 'desc' => array('name' => 'desc','type' => 'xsd:string'),
- 'contribuye' => array('name' => 'contribuye','type' => 'xsd:integer')
- )
- );
- $server->wsdl->addComplexType('AtributosList', 'complexType', 'array', '', 'SOAP-ENC:Array', array(),
- array(
- array('ref' => 'SOAP-ENC:arrayType',
- 'wsdl:arrayType' => 'tns:AtributoComplex[]')
- ),
- 'tns:AtributoComplex'
- );
- // Parametros de salida
- $server->register("getareashortname",
- array("shortname" => "xsd:string"),//recibe
- array("area" => "xsd:string"),//regresa
- PAG,
- PAG."#getareashortname",
- "rpc",
- "encoded",
- "Obtiene el área de una materia a partir de su shortname formato (200CIB-IALP-2020A-175)");
-
- $server->register("getatributos",
- array("id" => "xsd:integer"),//recibe
- array("materia"=>"xsd:string", "carrera"=>"xsd:string", "plan"=>"xsd:string", "atributos" => "tns:AtributosList", "ods" =>"tns:AtributosList"),//regresa
- PAG,
- PAG."#getatributos",
- "rpc",
- "encoded",
- "Obtiene los atributos de egreso a partir de su shortname formato (200CIB-IALP-2020A-175)");
- /*$server->register("getods",
- array("shortname" => "xsd:string"),//recibe
- array("ods" => "tns:AtributosList"),//regresa
- PAG,
- PAG."#getods",
- "rpc",
- "encoded",
- "Obtiene los ODS a partir de su shortname formato (200CIB-IALP-2020A-175)");*/
- @$server->service(file_get_contents("php://input"));
- ?>
|