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")); ?>