tieneAcceso()){ $objSesion->terminaSesion(); } $puestosNum = 0; function getPuesto($pdo_obj, $edita, $id_padre){ global $puestosNum; $puestosNum++; $xtpl = new XTemplate('./tpl/puesto.tpl.html'); if($id_padre == ''){ $stmt = $pdo_obj->prepare('select * from fs_puestosubordinados(NULL)'); }else{ $stmt = $pdo_obj->prepare('select * from fs_puestosubordinados(:id)'); $stmt->bindParam(":id", $id_padre); } if(!$stmt->execute()){ return "Ocurrió un error al cargar los puestos"; } $puesto_rs = $stmt->fetchAll(); $stmt->closeCursor(); if(count($puesto_rs) > 0){ foreach($puesto_rs as $puesto){ $xtpl->assign("PUESTO_ID", $puesto["Puesto_id"]); $xtpl->assign("PUESTO_DESC", $puesto["Puesto_desc"]); $nombre = "< Vacante >"; if($puesto["Usuario_id"] != "" && is_int($puesto["Usuario_id"]) ){ $nombre = $puesto["Usuario_apellidos"]." ".$puesto["Usuario_nombre"]; } $xtpl->assign("USUARIO_NOMBRE", $nombre); $body = trim(getPuesto($pdo_obj, $edita, $puesto["Puesto_id"])); $xtpl->assign("BODY", $body); if($body != ""){ $xtpl->parse("main.puesto.collapse"); $xtpl->parse("main.puesto.subordinado"); $xtpl->parse("main.puesto.arrow"); } if($id_padre != '') $xtpl->parse("main.puesto.linea"); if($edita){ $xtpl->parse("main.puesto.permisos"); $xtpl->parse("main.puesto.editable"); } $xtpl->parse("main.puesto"); } } $xtpl->parse("main"); return $xtpl->text("main"); } ?>