Esempio n. 1
0
function obtenerComentarios($id_experiencia, $experiencias_distintas, $conexion)
{
    $consulta = "SELECT count(*) as cant_coment " . "FROM rp_producto, rp_comentario  " . "WHERE rc_id_producto = rp_id_producto  " . "AND rp_id_experiencia IN (" . $experiencias_distintas . ") " . "AND rc_id_usuario IN (SELECT ue_id_usuario FROM usuario_experiencia WHERE ue_id_experiencia = " . $id_experiencia . ") ";
    $_resultado = dbEjecutarConsulta($consulta, $conexion);
    $_datos = array();
    if ($_resultado) {
        if (mysql_num_rows($_resultado) > 0) {
            while ($fila = mysql_fetch_array($_resultado, MYSQL_ASSOC)) {
                $_datos[] = $fila;
            }
        }
    }
    return $_datos;
}
function obtenerArrayExpGemelas($id_experiencia, $conexion)
{
    $consulta_datos_experiencia = 'SELECT ed_id_diseno_didactico,ed_semestre,ed_anio,ed_fecha_termino
                                 FROM experiencia_didactica
                                 WHERE ed_id_experiencia=' . $id_experiencia;
    $res_consulta_experiencia = dbEjecutarConsulta($consulta_datos_experiencia, $conexion);
    if ($res_consulta_experiencia) {
        if ($datos_experiencia = mysql_fetch_assoc($res_consulta_experiencia)) {
            $id_diseno_didactico = $datos_experiencia['ed_id_diseno_didactico'];
            $semestre_experiencia = $datos_experiencia['ed_semestre'];
            $anio_experiencia = $datos_experiencia['ed_anio'];
            $fecha_termino_experiencia = $datos_experiencia['ed_fecha_termino'];
        }
    }
    //Se crea la consulta que obtiene el id de las aulas gemelas
    //En el caso que la experiencia ya haya finalizado, se buscan los id de solo experiencias que también hayan finalizado
    if ($fecha_termino_experiencia) {
        $consulta_experiencias = 'SELECT ed_id_experiencia , ed_curso , ed_colegio
                            FROM  experiencia_didactica
                            WHERE ed_id_diseno_didactico=' . $id_diseno_didactico . ' AND ed_semestre="' . $semestre_experiencia . '"
                              AND ed_anio=' . $anio_experiencia . '
                              AND ed_fecha_termino IS NOT NULL';
    } else {
        $consulta_experiencias = 'SELECT ed_id_experiencia , ed_curso , ed_colegio
                            FROM  experiencia_didactica
                            WHERE ed_id_diseno_didactico=' . $id_diseno_didactico . ' AND ed_semestre="' . $semestre_experiencia . '"
                              AND ed_anio=' . $anio_experiencia . '
                              AND ed_fecha_termino IS NULL';
    }
    $res_experiencias = dbEjecutarConsulta($consulta_experiencias, $conexion);
    $lista_experiencias = array();
    if ($res_experiencias) {
        while ($experiencia = mysql_fetch_assoc($res_experiencias)) {
            array_push($lista_experiencias, $experiencia['ed_id_experiencia']);
        }
    }
    array_push($lista_experiencias, 351);
    return $lista_experiencias;
}
Esempio n. 3
0
function dbObtenerMensajesBitacoraExperiencias($array_id_experiencias, $conexion)
{
    $string_lista_experiencias = implode(',', $array_id_experiencias);
    $string_lista_experiencias = '(' . $string_lista_experiencias . ')';
    $consulta_mensajes_nuevos = 'SELECT bthm_mensaje
                                FROM bt_historial_mensajes
                                WHERE bthm_id_experiencia IN ' . $string_lista_experiencias;
    $array_mensajes_experiencias = array();
    $res_consulta_mensajes_nuevos = dbEjecutarConsulta($consulta_mensajes_nuevos, $conexion);
    if ($res_consulta_mensajes_nuevos) {
        while ($mensaje = mysql_fetch_assoc($res_consulta_mensajes_nuevos)) {
            array_push($array_mensajes_experiencias, $mensaje['bthm_mensaje']);
        }
    }
    $consulta_mensajes_respuesta = 'SELECT btrm_mensaje
                                    FROM bt_respuesta_mensajes , bt_historial_mensajes
                                    WHERE btrm_id_mensaje_original = bthm_id_mensaje
                                    AND bthm_id_experiencia IN ' . $string_lista_experiencias;
    $res_consulta_mensajes_rptas = dbEjecutarConsulta($consulta_mensajes_respuesta, $conexion);
    if ($res_consulta_mensajes_rptas) {
        while ($mensaje = mysql_fetch_assoc($res_consulta_mensajes_rptas)) {
            array_push($array_mensajes_experiencias, $mensaje['btrm_mensaje']);
        }
    }
    return $array_mensajes_experiencias;
}
Esempio n. 4
0
function existeActividadFuncion($id_actividad, $conexion)
{
    $consulta = "SELECT ac_id_actividad_con " . "FROM actividad_con " . "WHERE " . "ac_id_actividad_con = " . $id_actividad . " ";
    $_resultado = dbEjecutarConsulta($consulta, $conexion);
    $_datos = array();
    while ($fila = mysql_fetch_array($_resultado, MYSQL_ASSOC)) {
        $_datos[] = $fila;
    }
    return $_datos;
}
function dbAdminPublicarDiseno($id_diseno, $accion, $conexion)
{
    if ($accion == 0) {
        $consulta = "SELECT COUNT(ed_id_diseno_didactico) as count_exp " . "FROM experiencia_didactica " . "WHERE " . "ed_id_diseno_didactico = " . $id_diseno . " ";
        "AND ed_fecha_inicio > NOW() ";
        "AND (ed_fecha_termino = NULL OR ed_fecha_termino = '') ";
        $_resultado = dbEjecutarConsulta($consulta, $conexion);
        $_datos = array();
        if ($_resultado) {
            while ($fila = mysql_fetch_array($_resultado, MYSQL_ASSOC)) {
                $_datos[] = $fila;
            }
            if ($_datos[0]['count_exp'] > 0) {
                return 99;
            }
        }
    }
    //Actualizamos el Diseno
    $consulta = "UPDATE diseno_didactico " . "SET " . "dd_publicado = {$accion} ," . "dd_revision = 0 " . "WHERE " . "dd_id_diseno_didactico = {$id_diseno} ";
    $resultado = dbEjecutarConsulta($consulta, $conexion);
    if ($resultado) {
        return 1;
    } else {
        return -1;
    }
}
Esempio n. 6
0
function dbRECObtenerDatosMsgRecomendar($id_actividad, $id_mensaje, $conexion)
{
    $_resp = null;
    $i = 0;
    $consulta = "SELECT " . "MDM.mdmj_id_usuario, " . "MDM.mdmj_fecha, " . "MDM.mdmj_mensaje, " . "MDM.mdmj_tipo_mensaje, " . "U.u_nombre, " . "U.u_url_imagen, " . "U.u_usuario " . "FROM " . "md_mensajes MDM, usuario U " . "WHERE " . "MDM.mdmj_id_mensaje = " . $id_mensaje . " AND  " . "MDM.mdmj_id_usuario = U.u_id_usuario AND  " . "MDM.mdmj_id_actividad =" . $id_actividad . ";";
    $resultado = dbEjecutarConsulta($consulta, $conexion);
    if ($resultado) {
        if (mysql_num_rows($resultado) > 0) {
            while ($_fila = mysql_fetch_array($resultado, MYSQL_BOTH)) {
                $_resp[$i]["id_usuario"] = $_fila["mdmj_id_usuario"];
                $_resp[$i]["fecha"] = $_fila["mdmj_fecha"];
                $_resp[$i]["mensaje"] = $_fila["mdmj_mensaje"];
                $_resp[$i]["tipo"] = $_fila["mdmj_tipo_mensaje"];
                $_resp[$i]["nombre"] = $_fila["u_nombre"];
                $_resp[$i]["imagen"] = $_fila["u_url_imagen"];
                $_resp[$i]["usuario"] = $_fila["u_usuario"];
                $i++;
            }
        }
    }
    return $_resp;
}
Esempio n. 7
0
function removeHtmlColorTags($id_diseno, $conexion)
{
    $_diseno = obtenerDisenoFuncion($id_diseno, $conexion);
    /*Diseno*/
    $consulta_1 = "UPDATE diseno_didactico " . "SET " . "dd_descripcion ='" . strip_color_tags($_diseno[0]['dd_descripcion']) . "', " . "dd_objetivos_curriculares ='" . strip_color_tags($_diseno[0]['dd_objetivos_curriculares']) . "', " . "dd_objetivos_transversales ='" . strip_color_tags($_diseno[0]['dd_objetivos_transversales']) . "', " . "dd_contenidos ='" . strip_color_tags($_diseno[0]['dd_contenidos']) . "', " . "dd_descripcion_e1 ='" . strip_color_tags($_diseno[0]['dd_descripcion_e1']) . "', " . "dd_descripcion_e2 ='" . strip_color_tags($_diseno[0]['dd_descripcion_e2']) . "', " . "dd_descripcion_e3 ='" . strip_color_tags($_diseno[0]['dd_descripcion_e3']) . "' " . "WHERE " . "dd_id_diseno_didactico = " . $id_diseno . " ";
    $_resultado_1 = dbEjecutarConsulta($consulta_1, $conexion);
    /*Etapas*/
    $etapas = obtenerEtapasFuncion($id_diseno, $conexion);
    for ($i = 0; $i < count($etapas); $i++) {
        $consulta = "UPDATE etapa " . "SET " . "e_descripcion = '" . strip_color_tags($etapas[$i]['e_descripcion']) . "' " . "WHERE " . "e_id_etapa = " . $etapas[$i]['e_id_etapa'] . " ";
        $_resultado = dbEjecutarConsulta($consulta, $conexion);
        /*Actividades*/
        $actividades = null;
        $actividades = obtenerActividadesPorEtapaFuncion($etapas[$i]['e_id_etapa'], $conexion);
        for ($j = 0; $j < count($actividades); $j++) {
            $consulta = "UPDATE actividad " . "SET " . "ac_instrucciones_inicio = '" . strip_color_tags($actividades[$j]['ac_instrucciones_inicio']) . "', " . "ac_instrucciones_desarrollo = '" . strip_color_tags($actividades[$j]['ac_instrucciones_desarrollo']) . "', " . "ac_instrucciones_cierre = '" . strip_color_tags($actividades[$j]['ac_instrucciones_cierre']) . "', " . "ac_descripcion = '" . strip_color_tags($actividades[$j]['ac_descripcion']) . "', " . "ac_aprendizaje_esperado = '" . strip_color_tags($actividades[$j]['ac_aprendizaje_esperado']) . "', " . "ac_evidencia_aprendizaje = '" . strip_color_tags($actividades[$j]['ac_evidencia_aprendizaje']) . "', " . "ac_medios = '" . strip_color_tags($actividades[$j]['ac_medios']) . "', " . "ac_consejos_practicos = '" . strip_color_tags($actividades[$j]['ac_consejos_practicos']) . "', " . "ac_medios_otros = '" . strip_color_tags($actividades[$j]['ac_medios_otros']) . "' " . "WHERE  " . "ac_id_actividad = " . strip_color_tags($actividades[$j]['ac_id_actividad']) . " ";
            $_resultado = dbEjecutarConsulta($consulta, $conexion);
        }
    }
}
Esempio n. 8
0
function dbTimeLineCompartidaMensajesNuevos($conexion, $modo, $id_mensaje, $id_experiencia, $usuario, $id_diseno)
{
    $consulta_parte_1 = "SELECT COUNT(*) AS total " . "FROM bt_historial_mensajes bthm " . "WHERE bthm_compartido = 1 " . "AND bthm.bthm_id_mensaje > '" . $id_mensaje . "'  ";
    $consulta_parte_2 = "";
    if (is_null($id_mensaje)) {
        $id_mensaje = -1;
    }
    if ($modo == 0) {
        $consulta_parte_2 = "AND bthm_id_experiencia IN( " . "   SELECT ed_id_experiencia " . "   FROM experiencia_didactica " . "   WHERE ed_id_diseno_didactico = '" . $id_diseno . "' " . "   AND ed_fecha_termino IS NULL " . " ) ";
    }
    if ($modo == 1) {
        $consulta_parte_2 = "AND bthm_id_experiencia = '" . $id_experiencia . "' ";
    }
    if ($modo == 2) {
        $consulta_parte_2 = "AND bthm_usuario ='" . $usuario . "' " . "AND bthm_id_experiencia IN( " . "   SELECT ed_id_experiencia " . "   FROM experiencia_didactica " . "   WHERE ed_id_diseno_didactico = '" . $id_diseno . "' " . "   AND ed_fecha_termino IS NULL " . " ) ";
    }
    $consulta = $consulta_parte_1 . $consulta_parte_2;
    //    echo $consulta;
    $resultado = dbEjecutarConsulta($consulta, $conexion);
    if ($resultado) {
        if (mysql_num_rows($resultado) > 0) {
            while ($_fila = mysql_fetch_array($resultado, MYSQL_BOTH)) {
                $resp = $_fila["total"];
            }
        }
    }
    return $resp;
}
function obtenerParticipacionUsuarios($id_experiencia, $id_usuario_consultor, $conexion, $ruta_carpeta_imagenes)
{
    $map_idexp_idjson = array();
    $map_idgrupo_idjson = array();
    $map_datagrupos_idjson = array();
    $json_data_grupos = array();
    $json_data_usuarios = array();
    $json_data_interacciones = array();
    $lista_usuarios = array();
    if ($_SESSION["idioma"] == "spanish") {
        $lang_function_dataviz_de = "de";
        $lang_function_dataviz_profesor = "Profesor/a";
        $lang_function_dataviz_profesores = "Profesores";
        $lang_function_dataviz_varias_aulas = "varias aulas";
    } elseif ($_SESSION["idioma"] == "english") {
        $lang_function_dataviz_de = "from";
        $lang_function_dataviz_profesor = "Teacher";
        $lang_function_dataviz_profesores = "Teachers";
        $lang_function_dataviz_varias_aulas = "several classrooms";
    }
    $consulta_datos_experiencia = 'SELECT ed_id_diseno_didactico,ed_semestre,ed_anio,ed_fecha_termino
                                 FROM experiencia_didactica
                                 WHERE ed_id_experiencia=' . $id_experiencia;
    $res_consulta_experiencia = dbEjecutarConsulta($consulta_datos_experiencia, $conexion);
    if ($res_consulta_experiencia) {
        if ($datos_experiencia = mysql_fetch_assoc($res_consulta_experiencia)) {
            $id_diseno_didactico = $datos_experiencia['ed_id_diseno_didactico'];
            $semestre_experiencia = $datos_experiencia['ed_semestre'];
            $anio_experiencia = $datos_experiencia['ed_anio'];
            $fecha_termino_experiencia = $datos_experiencia['ed_fecha_termino'];
        }
    }
    //Se crea la consulta que obtiene el id de las aulas gemelas
    //En el caso que la experiencia ya haya finalizado, se buscan los id de solo experiencias que también hayan finalizado
    if ($fecha_termino_experiencia) {
        $ponderar_tiempo = false;
        $consulta_experiencias = 'SELECT ed_id_experiencia , ed_curso , ed_colegio
                            FROM  experiencia_didactica
                            WHERE ed_id_diseno_didactico=' . $id_diseno_didactico . ' AND ed_semestre="' . $semestre_experiencia . '"
                              AND ed_anio=' . $anio_experiencia . '
                              AND ed_fecha_termino IS NOT NULL';
    } else {
        $ponderar_tiempo = true;
        $consulta_experiencias = 'SELECT ed_id_experiencia , ed_curso , ed_colegio
                            FROM  experiencia_didactica
                            WHERE ed_id_diseno_didactico=' . $id_diseno_didactico . ' AND ed_semestre="' . $semestre_experiencia . '"
                              AND ed_anio=' . $anio_experiencia . '
                              AND ed_fecha_termino IS NULL';
    }
    $res_experiencias = dbEjecutarConsulta($consulta_experiencias, $conexion);
    $lista_experiencias = array();
    if ($res_experiencias) {
        $i = 0;
        while ($experiencia = mysql_fetch_assoc($res_experiencias)) {
            $map_idexp_idjson[$experiencia['ed_id_experiencia']]['id'] = $i;
            $clase = $experiencia['ed_curso'] . ' ' . $lang_function_dataviz_de . ' ' . $experiencia['ed_colegio'];
            $map_idexp_idjson[$experiencia['ed_id_experiencia']]['clase'] = $clase;
            //echo 'id experiencia '.$experiencia['ed_id_experiencia'].' clase '.$i.' nombre: '.$clase.'<br/>';
            $i++;
            array_push($lista_experiencias, $experiencia['ed_id_experiencia']);
        }
    }
    $nro_clases = count($lista_experiencias);
    $string_lista_experiencias = implode(',', $lista_experiencias);
    $string_lista_experiencias = '(' . $string_lista_experiencias . ')';
    //echo $string_lista_experiencias.'</br>';
    $consulta_profesores_multiples_clases = 'SELECT ue_id_usuario , count(ue_id_experiencia) AS nro_clases
                                            FROM usuario_experiencia
                                            WHERE ue_rol_usuario=1
                                            AND  ue_id_experiencia IN ' . $string_lista_experiencias . ' 
                                            GROUP BY ue_id_usuario';
    $res_clases_por_profesor = dbEjecutarConsulta($consulta_profesores_multiples_clases, $conexion);
    $profesores_multiples_clases = false;
    if ($res_clases_por_profesor) {
        while ($clases_por_profesor = mysql_fetch_assoc($res_clases_por_profesor)) {
            if ($clases_por_profesor['nro_clases'] > 1) {
                $profesores_multiples_clases = true;
                //echo 'Profesor id: '.$clases_por_profesor['ue_id_usuario'].' está en mas de una clase </br>';
                break;
            }
        }
    }
    //echo $string_lista_experiencias.'<br/>';
    //echo 'id dd: '.$id_diseno_didactico.' semestre: '.$semestre_experiencia.' anio: '.$anio_experiencia.'<br/>';
    //Mapear los id de los grupos dentro de cada experiencia, al rango 1 a n_i (n_i=numero de grupos por cada clase) --> el id 0 esta reservado para los profesores
    /*$consulta_id_grupos = 'SELECT experiencias.ed_id_experiencia , experiencias.ed_curso , experiencias.ed_colegio , grupos.g_id_grupo , g.g_nombre
      FROM (
          SELECT ed_id_experiencia, ed_curso , ed_colegio
          FROM  experiencia_didactica
          WHERE ed_id_diseno_didactico='.$id_diseno_didactico.
              ' AND ed_semestre="'.$semestre_experiencia.'"
                AND ed_anio='.$anio_experiencia.') AS experiencias
      LEFT JOIN (
          SELECT g_id_experiencia , g_id_grupo
          FROM grupo
          WHERE g_id_experiencia IN '.$string_lista_experiencias.'
      ) AS grupos
      ON grupos.g_id_experiencia=experiencias.ed_id_experiencia
      LEFT JOIN grupo AS g
      ON g.g_id_grupo=grupos.g_id_grupo
      ORDER BY experiencias.ed_id_experiencia';*/
    //Esta consulta sólo dejara a los grupos que tienen al menos un integrante
    /*$consulta_id_grupos = 'SELECT exp_grupo.ed_id_experiencia , exp_grupo.ed_curso , exp_grupo.ed_colegio , exp_grupo.g_id_grupo , exp_grupo.g_nombre, COUNT(exp_grupo.ug_id_usuario) AS nro_miembros_grupo
      FROM (SELECT experiencias.ed_id_experiencia , experiencias.ed_curso , experiencias.ed_colegio , grupos.g_id_grupo , g.g_nombre
           FROM (
               SELECT ed_id_experiencia, ed_curso , ed_colegio
               FROM  experiencia_didactica
               WHERE ed_id_diseno_didactico='.$id_diseno_didactico.
                   ' AND ed_semestre="'.$semestre_experiencia.'"
                     AND ed_anio='.$anio_experiencia.') AS experiencias
           LEFT JOIN (
               SELECT g_id_experiencia , g_id_grupo
               FROM grupo
               WHERE g_id_experiencia IN '.$string_lista_experiencias.'
           ) AS grupos
           ON grupos.g_id_experiencia=experiencias.ed_id_experiencia
           LEFT JOIN grupo AS g
           ON g.g_id_grupo=grupos.g_id_grupo
           LEFT JOIN usuario_grupo AS ug
           ON ug.ug_id_grupo=g.g_id_grupo
           ORDER BY experiencias.ed_id_experiencia) AS exp_grupo
       GROUP BY exp_grupo.g_id_grupo';*/
    $consulta_id_grupos = 'SELECT exp_grupo.ed_id_experiencia , exp_grupo.ed_curso , exp_grupo.ed_colegio , exp_grupo.g_id_grupo , exp_grupo.g_nombre, COUNT(exp_grupo.ug_id_usuario) AS nro_miembros_grupo
                            FROM (SELECT experiencias.ed_id_experiencia , experiencias.ed_curso , experiencias.ed_colegio , grupos.g_id_grupo , g.g_nombre, ug.ug_id_usuario
                                FROM (' . $consulta_experiencias . ') AS experiencias
                                LEFT JOIN (
                                    SELECT g_id_experiencia , g_id_grupo
                                    FROM grupo
                                    WHERE g_id_experiencia IN ' . $string_lista_experiencias . '
                                ) AS grupos
                                ON grupos.g_id_experiencia=experiencias.ed_id_experiencia
                                LEFT JOIN grupo AS g
                                ON g.g_id_grupo=grupos.g_id_grupo
                                LEFT JOIN usuario_grupo AS ug
                                ON ug.ug_id_grupo=g.g_id_grupo) AS exp_grupo
                                GROUP BY exp_grupo.ed_id_experiencia,exp_grupo.g_id_grupo
                                ORDER BY exp_grupo.ed_id_experiencia';
    $res_id_grupos = dbEjecutarConsulta($consulta_id_grupos, $conexion);
    $num_filas_query_idgrupos = mysql_num_rows($res_id_grupos);
    $total_grupos = $num_filas_query_idgrupos;
    $json_arreglo_clases_grupos = array();
    if ($res_id_grupos) {
        if ($num_filas_query_idgrupos > 0) {
            $i = 1;
            $j = 0;
            $ultima_experiencia = -1;
            while ($id_exp_grupo = mysql_fetch_array($res_id_grupos, MYSQL_BOTH)) {
                $id_experiencia = $id_exp_grupo['ed_id_experiencia'];
                $id_grupo = $id_exp_grupo['g_id_grupo'];
                $nombre_grupo = $id_exp_grupo['g_nombre'];
                $nombre_curso = $id_exp_grupo['ed_curso'];
                $nombre_colegio = $id_exp_grupo['ed_colegio'];
                $nro_miembros_grupo = $id_exp_grupo['nro_miembros_grupo'];
                //echo 'id exp: '.$id_experiencia.' id grupo '.$id_grupo.' nro miembros: '.$nro_miembros_grupo.'<br/>';
                if ($id_grupo) {
                    if ($ultima_experiencia > 0 && $id_experiencia != $ultima_experiencia) {
                        $nro_grupos = $i;
                        array_push($json_arreglo_clases_grupos, $nro_grupos);
                        $i = 1;
                    }
                    $map_idgrupo_idjson[$id_experiencia][$id_grupo] = $i;
                    //Código agregado por Jordan Barría el 16-11-14
                    if ($i == 1) {
                        $map_datagrupos_idjson[$map_idexp_idjson[$id_experiencia]['id']][0] = $j;
                        $grupo = new Grupo();
                        $grupo->id_experiencia = $map_idexp_idjson[$id_experiencia]['id'];
                        $grupo->id_grupo = 0;
                        $grupo->id_grupo_kelluwen = 0;
                        $grupo->fila_json = $j;
                        $grupo->nombre = $lang_function_dataviz_profesor;
                        $grupo->nombre_clase = $nombre_curso . ' ' . $lang_function_dataviz_de . ' ' . $nombre_colegio;
                        $grupo->mensajes = 0;
                        $grupo->mensajes_respuesta = 0;
                        $grupo->mensajes_respuesta_recibidos = 0;
                        $grupo->megusta = 0;
                        $grupo->megusta_recibidos = 0;
                        $grupo->children = array();
                        $grupo->historial_participacion = array();
                        array_push($json_data_grupos, $grupo);
                        //echo $map_idexp_idjson[$id_experiencia]['id']." 0 ".$j."</br>";
                        $j++;
                    }
                    if ($nro_miembros_grupo > 0) {
                        $map_datagrupos_idjson[$map_idexp_idjson[$id_experiencia]['id']][$i] = $j;
                        //echo $map_idexp_idjson[$id_experiencia]['id']." ".$i." ".$j."</br>";
                        $grupo = new Grupo();
                        $grupo->id_experiencia = $map_idexp_idjson[$id_experiencia]['id'];
                        $grupo->id_grupo = $i;
                        $grupo->id_grupo_kelluwen = $id_grupo;
                        $grupo->fila_json = $j;
                        $grupo->nombre = $nombre_grupo;
                        $grupo->nombre_clase = $nombre_curso . ' ' . $lang_function_dataviz_de . ' ' . $nombre_colegio;
                        $grupo->mensajes = 0;
                        $grupo->mensajes_respuesta = 0;
                        $grupo->mensajes_respuesta_recibidos = 0;
                        $grupo->megusta = 0;
                        $grupo->megusta_recibidos = 0;
                        $grupo->children = array();
                        $grupo->historial_participacion = array();
                        array_push($json_data_grupos, $grupo);
                        //fin código agregado por Jordan Barría el 16-11-14
                        //echo 'id exp: '.$id_experiencia.' id grupo '.$id_grupo.' le corresponde nro: '.$i.'<br/>';
                        //$ultima_experiencia=$id_experiencia;
                        //echo $id_experiencia.' '.$id_grupo.' : '.$i.'<br/>';
                        $j++;
                        $i++;
                    }
                    $ultima_experiencia = $id_experiencia;
                } else {
                    if ($ultima_experiencia > 0 && $id_experiencia != $ultima_experiencia) {
                        $nro_grupos = $i;
                        array_push($json_arreglo_clases_grupos, $nro_grupos);
                    }
                    $map_datagrupos_idjson[$map_idexp_idjson[$id_experiencia]['id']][0] = $j;
                    $grupo = new Grupo();
                    $grupo->id_experiencia = $map_idexp_idjson[$id_experiencia]['id'];
                    $grupo->id_grupo = 0;
                    $grupo->id_grupo_kelluwen = $id_grupo;
                    $grupo->fila_json = $j;
                    $grupo->nombre = $nombre_grupo;
                    $grupo->nombre_clase = $nombre_curso . ' ' . $lang_function_dataviz_de . ' ' . $nombre_colegio;
                    $grupo->mensajes = 0;
                    $grupo->mensajes_respuesta = 0;
                    $grupo->mensajes_respuesta_recibidos = 0;
                    $grupo->megusta = 0;
                    $grupo->megusta_recibidos = 0;
                    $grupo->children = array();
                    $grupo->historial_participacion = array();
                    array_push($json_data_grupos, $grupo);
                    $j++;
                    array_push($json_arreglo_clases_grupos, 1);
                    $ultima_experiencia = -1;
                    $i = 1;
                }
            }
            if ($ultima_experiencia > 0) {
                $nro_grupos = $i;
                array_push($json_arreglo_clases_grupos, $nro_grupos);
            }
        }
    }
    //echo count($json_arreglo_clases_grupos).'</br>';
    //En caso de que exista al menos una profesor tomando mas de una clase, agregamos una experiencia ficticia, la cual
    //solo sera integrada por profesores de todas las experiencias
    if ($profesores_multiples_clases) {
        //echo "Uno o más profesores están a cargo de más de un aula </br>";
        foreach ($json_arreglo_clases_grupos as &$clase) {
            $clase--;
        }
        array_push($json_arreglo_clases_grupos, 1);
        $nro_clases++;
        //Se agrega el grupo de los profesores clusterizados
        $id_experiencia_prof = sizeof($json_arreglo_clases_grupos) - 1;
        $fila_json_grupo = sizeof($json_data_grupos);
        $grupo = new Grupo();
        $grupo->id_experiencia = $id_experiencia_prof;
        $grupo->id_grupo = 0;
        $grupo->id_grupo_kelluwen = 0;
        $grupo->fila_json = $fila_json_grupo;
        $grupo->nombre = $lang_function_dataviz_profesores;
        $grupo->nombre_clase = " " . $lang_function_dataviz_varias_aulas;
        $grupo->mensajes = 0;
        $grupo->mensajes_respuesta = 0;
        $grupo->mensajes_respuesta_recibidos = 0;
        $grupo->megusta = 0;
        $grupo->megusta_recibidos = 0;
        $grupo->children = array();
        $grupo->historial_participacion = array();
        array_push($json_data_grupos, $grupo);
        $map_datagrupos_idjson[$id_experiencia_prof][0] = $fila_json_grupo;
        //echo $id_experiencia_prof." 0 ".$fila_json_grupo."</br>";
    }
    /*$json_arreglo_clases_grupos=array();
      $fila_json=0;
      foreach($map_idgrupo_idjson as $id_clase => $clase) {
          $nro_grupos=0;
          foreach ($clase as $id_grupo => $grupo){
              $nro_grupos++;
          }
          array_push($json_arreglo_clases_grupos,$nro_grupos);
          $fila_json++;
      }*/
    //Pendiente agregar la condicion de fecha, que la ed_fecha_termino sea NULL (o sea que aún se encuentre en ejecución)
    $consulta_usuarios_exp_msjs = 'SELECT usuario_exp.u_id_usuario , usuario_exp.ue_id_experiencia , usuario_exp.ue_rol_usuario , usuario_exp.u_usuario , usuario_exp.u_nombre , usuario_exp.u_url_imagen,  g_id_grupo , g_nombre , bthm_id_mensaje , usuario_exp.ue_id_experiencia , bthm_fecha , bthm_mensaje
                            FROM (
                            SELECT u_id_usuario , u_usuario , u_nombre , u_url_imagen , ue_id_experiencia , ue_rol_usuario 
                            FROM  usuario , usuario_experiencia
                            WHERE u_id_usuario=ue_id_usuario ' . 'AND ue_id_experiencia IN ' . $string_lista_experiencias . '
                            ) AS usuario_exp
                            LEFT JOIN 
                            (SELECT ug_id_usuario  ,ug_id_grupo FROM usuario_grupo WHERE ug_id_grupo IN (SELECT g_id_grupo FROM grupo WHERE g_id_experiencia IN ' . $string_lista_experiencias . ')) AS grupos_usuarios
                            ON usuario_exp.u_id_usuario=grupos_usuarios.ug_id_usuario
                            LEFT JOIN grupo
                            ON grupo.g_id_grupo=grupos_usuarios.ug_id_grupo
                            LEFT JOIN bt_historial_mensajes
                            ON usuario_exp.u_usuario=bthm_usuario
                            AND bthm_id_experiencia = usuario_exp.ue_id_experiencia 
                            ORDER BY usuario_exp.u_id_usuario';
    /*$consulta_usuarios_exp_msjs='SELECT usuario_exp.u_id_usuario , usuario_exp.ue_id_experiencia , usuario_exp.ue_rol_usuario , usuario_exp.u_usuario , usuario_exp.u_nombre , usuario_exp.u_url_imagen , bthm_id_mensaje , usuario_exp.ue_id_experiencia , bthm_fecha , bthm_mensaje
      FROM (
      SELECT u_id_usuario , u_usuario , u_nombre , u_url_imagen , ue_id_experiencia , ue_rol_usuario 
      FROM  usuario , usuario_experiencia
      WHERE u_id_usuario=ue_id_usuario
      AND ue_rol_usuario != 3
      AND ue_id_experiencia IN '.$string_lista_experiencias.'
      ) AS usuario_exp
      LEFT JOIN bt_historial_mensajes
      ON usuario_exp.u_usuario=bthm_usuario
      AND bthm_id_experiencia = usuario_exp.ue_id_experiencia 
      ORDER BY usuario_exp.u_id_usuario';*/
    $consulta_usuarios_exp_msjrespuesta = 'SELECT usuario_exp.u_id_usuario , usuario_exp.u_usuario , usuario_exp.u_nombre , msjs_rpta.btrm_id_mensaje_respuesta , msjs_rpta.btrm_fecha , msjs_rpta.btrm_mensaje , msjs_rpta.btrm_id_mensaje_original , msjs_rpta.bthm_usuario , msjs_rpta.bthm_nombre , msjs_rpta.bthm_id_experiencia , msjs_rpta.bthm_mensaje
                    FROM (
                            SELECT u_id_usuario , u_usuario , u_nombre
                            FROM usuario , usuario_experiencia
                            WHERE u_id_usuario=ue_id_usuario ' . 'AND ue_id_experiencia IN ' . $string_lista_experiencias . '
                            GROUP BY u_id_usuario
                            ) AS usuario_exp
                    LEFT JOIN (
                            SELECT btrm_usuario , btrm_id_mensaje_respuesta , btrm_fecha , btrm_mensaje , btrm_id_mensaje_original , bthm_usuario , bthm_nombre , bthm_mensaje , bthm_id_experiencia
                            FROM bt_respuesta_mensajes , bt_historial_mensajes
                            WHERE btrm_id_mensaje_original = bthm_id_mensaje
                            AND bthm_id_experiencia IN ' . $string_lista_experiencias . '
                            ) AS msjs_rpta
                    ON usuario_exp.u_usuario=msjs_rpta.btrm_usuario
                    ORDER BY usuario_exp.u_id_usuario';
    $consulta_usuarios_exp_megusta = 'SELECT usuario_exp.u_id_usuario , usuario_exp.u_usuario , usuario_exp.u_nombre , megusta.btmg_fecha , megusta.bthm_id_mensaje , megusta.bthm_mensaje, megusta.bthm_usuario , megusta.bthm_nombre , megusta.bthm_id_experiencia
                    FROM (
                            SELECT u_id_usuario , u_usuario , u_nombre
                            FROM usuario , usuario_experiencia
                            WHERE u_id_usuario=ue_id_usuario ' . 'AND ue_id_experiencia IN ' . $string_lista_experiencias . '
                            GROUP BY u_id_usuario
                            ) AS usuario_exp
                    LEFT JOIN (
                            SELECT btmg_id_usuario , btmg_fecha , bthm_id_mensaje , bthm_usuario , bthm_nombre , bthm_mensaje , bthm_id_experiencia
                            FROM bt_megusta_mensaje , bt_historial_mensajes
                            WHERE btmg_id_mensaje = bthm_id_mensaje
                            AND bthm_id_experiencia IN ' . $string_lista_experiencias . '
                            ) AS megusta
                    ON usuario_exp.u_id_usuario=megusta.btmg_id_usuario
                    ORDER BY usuario_exp.u_id_usuario';
    $res_usuarios_exp_msjs = dbEjecutarConsulta($consulta_usuarios_exp_msjs, $conexion);
    $num_filas_querymsjs = mysql_num_rows($res_usuarios_exp_msjs);
    //$ini_querymsjs=microtime(true);
    if ($res_usuarios_exp_msjs) {
        $ultimo_id_usuario = -1;
        //Se inicializa en 1 la participacion base de cada usuario dado que en la visualizacion se le aplica una escala logaritmica,
        //para lo cual el 1 tiene asociado un valor de 0 (sin participacion)
        $ultimo_participacion_usuario = 1;
        $pond_participacion_msj = 0;
        $msjs = 0;
        $ultima_actividad_usuario = array();
        if ($num_filas_querymsjs > 0) {
            $i = 1;
            while ($usuario_experiencia_msj = mysql_fetch_assoc($res_usuarios_exp_msjs)) {
                //,MYSQL_ASSOC)) {
                //$ini=microtime(true);
                $id_usuario = $usuario_experiencia_msj['u_id_usuario'];
                $usuario = $usuario_experiencia_msj['u_usuario'];
                $nombre = $usuario_experiencia_msj['u_nombre'];
                $rol_usuario = $usuario_experiencia_msj['ue_rol_usuario'];
                $url_imagen = '../img/no_avatar_bigger.jpg';
                if ($usuario_experiencia_msj['u_url_imagen']) {
                    $url_imagen = $ruta_carpeta_imagenes . $usuario_experiencia_msj['u_url_imagen'];
                }
                $id_experiencia = $usuario_experiencia_msj['ue_id_experiencia'];
                $id_grupo = $usuario_experiencia_msj['g_id_grupo'];
                $nombre_grupo = $usuario_experiencia_msj['g_nombre'];
                $id_mensaje = $usuario_experiencia_msj['bthm_id_mensaje'];
                if ($id_mensaje) {
                    $mensaje = $usuario_experiencia_msj['bthm_mensaje'];
                    $string_fecha_mensaje = $usuario_experiencia_msj['bthm_fecha'];
                    $data_ponderacion_msj = ponderarTiempoParticipacion($string_fecha_mensaje, $ponderar_tiempo);
                    $string_fecha_mensaje = date('d-m-Y H:i', strtotime($string_fecha_mensaje));
                    //$pond_participacion_msj=$data_ponderacion_msj[0];
                    $pond_participacion_msj = $data_ponderacion_msj;
                    $comentario_usuario = new RegistroInteraccion();
                    $indice_substr_emisor = strpos($nombre, ' ');
                    $comentario_usuario->emisor = $indice_substr_emisor ? substr($nombre, 0, $indice_substr_emisor) : $nombre;
                    $comentario_usuario->id_emisor = $id_usuario;
                    $comentario_usuario->tipo_interaccion = 2;
                    $comentario_usuario->fecha = $string_fecha_mensaje;
                    /*$comentario_usuario->dias_antiguedad=$data_ponderacion_msj[1];
                      $comentario_usuario->diferencia_tiempo=$data_ponderacion_msj[2];*/
                    $comentario_usuario->id_mensaje = $id_mensaje;
                    $comentario_usuario->mensaje = $mensaje;
                    //$participacion_usuario=$participacion_usuario+$pond_participacion_msj;
                } else {
                    $pond_participacion_msj = 0;
                }
                //Crea y agrega un nuevo objeto Usuario a medida que estos van apareciendo en la lectura de la query de mensajes
                if ($ultimo_id_usuario != -1) {
                    if ($id_usuario != $ultimo_id_usuario) {
                        $id_experiencia_usuario = $map_idexp_idjson[$ultimo_id_experiencia]['id'];
                        $nombre_clase_usuario = $map_idexp_idjson[$ultimo_id_experiencia]['clase'];
                        if ($ultimo_grupo) {
                            $grupo = $map_idgrupo_idjson[$ultimo_id_experiencia][$ultimo_grupo];
                            //echo $ultimo_id_usuario.'->usuario '.$ultimo_id_experiencia.' id experiencia: '.$id_experiencia_usuario.' '.$ultimo_grupo.' id grupo: '.$grupo.'<br/>';
                        } else {
                            if ($ultimo_rol_usuario == 1) {
                                $grupo = 0;
                                if ($profesores_multiples_clases) {
                                    $id_experiencia_usuario = $nro_clases - 1;
                                    $consulta_clases_profesor = 'SELECT ed_curso , ed_colegio
                                                        FROM experiencia_didactica
                                                        WHERE ed_id_profesor=' . $ultimo_id_usuario . '
                                                        AND ed_id_experiencia IN ' . $string_lista_experiencias;
                                    $res_clases_profesor = dbEjecutarConsulta($consulta_clases_profesor, $conexion);
                                    $total_clases = mysql_num_rows($res_clases_profesor);
                                    if ($res_clases_profesor && $total_clases > 1) {
                                        $nombre_clase_usuario = "";
                                        $i = 0;
                                        while ($clases_profesor = mysql_fetch_assoc($res_clases_profesor)) {
                                            $nombre_clase_usuario = $nombre_clase_usuario . $clases_profesor['ed_curso'] . ' ' . $lang_function_dataviz_de . ' ' . $clases_profesor['ed_colegio'];
                                            if ($i < $total_clases - 1) {
                                                $nombre_clase_usuario = $nombre_clase_usuario . ', ';
                                            }
                                            $i++;
                                        }
                                    }
                                }
                                //echo $ultimo_id_usuario.'->usuario '.$ultimo_id_experiencia.' id experiencia: '.$id_experiencia_usuario.' '.$ultimo_grupo.' id grupo: '.$grupo.'<br/>';
                            } else {
                                $grupo = -1;
                            }
                        }
                        $usuario_participacion = new Usuario();
                        $usuario_participacion->id_usuario = $ultimo_id_usuario;
                        $usuario_participacion->nombre = $ultimo_nombre_usuario;
                        $usuario_participacion->url_imagen = $ultimo_url_imagen;
                        $usuario_participacion->id_experiencia = $id_experiencia_usuario;
                        $usuario_participacion->nombre_clase = $nombre_clase_usuario;
                        $usuario_participacion->id_grupo = $grupo;
                        $usuario_participacion->nombre_grupo = $ultimo_nombre_grupo;
                        $usuario_participacion->participacion = $ultimo_participacion_usuario;
                        $usuario_participacion->mensajes = $msjs;
                        $usuario_participacion->historial_participacion = $ultima_actividad_usuario;
                        $usuario_participacion->mensajes_respuesta_recibidos = 0;
                        $usuario_participacion->megusta_recibidos = 0;
                        $json_data_usuarios[$ultimo_id_usuario] = $usuario_participacion;
                        $lista_usuarios[$ultimo_usuario] = $ultimo_id_usuario;
                        $ultimo_participacion_usuario = 1;
                        $ultimo_grupo = null;
                        $ultimo_nombre_grupo = null;
                        $msjs = 0;
                        $ultima_actividad_usuario = array();
                    } else {
                        if ($ultimo_id_experiencia != $id_experiencia && $rol_usuario == 2 && $id_grupo != -1) {
                            $grupo_exp1 = array_key_exists($id_grupo, $map_idgrupo_idjson[$ultimo_id_experiencia]);
                            $grupo_exp2 = array_key_exists($id_grupo, $map_idgrupo_idjson[$id_experiencia]);
                            if ($grupo_exp1 && !$grupo_exp2) {
                                $id_experiencia = $ultimo_id_experiencia;
                            }
                        }
                    }
                }
                //if ($ultimo_usuario==$id_usuario){
                /*$grupo_exp1=array_key_exists($id_grupo, $map_idgrupo_idjson[$ultimo_id_experiencia]);
                  $grupo_exp2=array_key_exists($id_grupo, $map_idgrupo_idjson[$id_experiencia]);
                  if ($grupo_exp1 && !$grupo_exp2){
                      $id_experiencia=$ultimo_id_experiencia;
                  }*/
                //}
                $ultimo_id_usuario = $id_usuario;
                $ultimo_usuario = $usuario;
                $ultimo_nombre_usuario = $nombre;
                $ultimo_url_imagen = $url_imagen;
                $ultimo_id_experiencia = $id_experiencia;
                $ultimo_rol_usuario = $rol_usuario;
                if ($id_grupo) {
                    $ultimo_grupo = $id_grupo;
                    $ultimo_nombre_grupo = $nombre_grupo;
                }
                $ultimo_participacion_usuario = $ultimo_participacion_usuario + $pond_participacion_msj;
                if ($id_mensaje) {
                    array_push($ultima_actividad_usuario, $comentario_usuario);
                    $msjs++;
                }
                $i++;
            }
            //Esta seccion de codigo podria agruparse en una funcion crearUsuario(id,nombre,...)
            $id_experiencia_usuario = $map_idexp_idjson[$ultimo_id_experiencia]['id'];
            $nombre_clase_usuario = $map_idexp_idjson[$ultimo_id_experiencia]['clase'];
            if ($ultimo_grupo) {
                $grupo = $map_idgrupo_idjson[$ultimo_id_experiencia][$ultimo_grupo];
            } else {
                if ($ultimo_rol_usuario == 1) {
                    $grupo = 0;
                    if ($profesores_multiples_clases) {
                        $id_experiencia_usuario = $nro_clases - 1;
                        $consulta_clases_profesor = 'SELECT ed_curso , ed_colegio
                                            FROM experiencia_didactica
                                            WHERE ed_id_profesor=' . $ultimo_id_usuario . '
                                            AND ed_id_experiencia IN ' . $string_lista_experiencias;
                        $res_clases_profesor = dbEjecutarConsulta($consulta_clases_profesor, $conexion);
                        $total_clases = mysql_num_rows($res_clases_profesor);
                        if ($res_clases_profesor && $total_clases > 1) {
                            $nombre_clase_usuario = "";
                            $i = 0;
                            while ($clases_profesor = mysql_fetch_assoc($res_clases_profesor)) {
                                $nombre_clase_usuario = $nombre_clase_usuario . $clases_profesor['ed_curso'] . ' ' . $lang_function_dataviz_de . ' ' . $clases_profesor['ed_colegio'];
                                if ($i < $total_clases - 1) {
                                    $nombre_clase_usuario = $nombre_clase_usuario . ' y ';
                                }
                                $i++;
                            }
                        }
                    }
                    //echo $ultimo_id_usuario.'->usuario '.$ultimo_id_experiencia.' id experiencia: '.$id_experiencia_usuario.' '.$ultimo_grupo.' id grupo: '.$grupo.'<br/>';
                } else {
                    $grupo = -1;
                }
            }
            $usuario_participacion = new Usuario();
            $usuario_participacion->id_usuario = $ultimo_id_usuario;
            $usuario_participacion->nombre = $ultimo_nombre_usuario;
            $usuario_participacion->url_imagen = $ultimo_url_imagen;
            $usuario_participacion->id_experiencia = $id_experiencia_usuario;
            $usuario_participacion->nombre_clase = $nombre_clase_usuario;
            $usuario_participacion->id_grupo = $grupo;
            $usuario_participacion->participacion = $ultimo_participacion_usuario;
            $usuario_participacion->mensajes = $msjs;
            $usuario_participacion->historial_participacion = $ultima_actividad_usuario;
            $usuario_participacion->mensajes_respuesta_recibidos = 0;
            $usuario_participacion->megusta_recibidos = 0;
            $lista_usuarios[$ultimo_usuario] = $ultimo_id_usuario;
            $json_data_usuarios[$ultimo_id_usuario] = $usuario_participacion;
        }
    }
    /*$end_querymsjs=microtime(true);
      $execution_time =$end_querymsjs - $ini_querymsjs;
      echo 'Tiempo ejecucion msjes usuario'.$execution_time.'<br/>';*/
    //Query para obtener cuantos mensajes de respuesta efectuo cada usuario y a qué usuarios
    //$ini_queryrptas=microtime(true);
    $res_usuarios_exp_msjrespuesta = dbEjecutarConsulta($consulta_usuarios_exp_msjrespuesta, $conexion);
    $num_filas_res_queryrespuestas = mysql_num_rows($res_usuarios_exp_msjrespuesta);
    /*$end_queryrptas=microtime(true);
      $dif=$end_queryrptas-$ini_queryrptas;
      echo 'Tiempo query rptas: '.$dif.'<br/>';*/
    //$ini_queryrptas=microtime(true);
    if ($res_usuarios_exp_msjrespuesta) {
        $ultimo_id_usuario = -1;
        $ultimo_participacion_usuario = 0;
        $pond_participacion_usuario = 0;
        $msjs_respuesta = 0;
        if ($num_filas_res_queryrespuestas > 0) {
            $i = 1;
            while ($usuario_experiencia_msjrespuesta = mysql_fetch_array($res_usuarios_exp_msjrespuesta, MYSQL_BOTH)) {
                //$time_start = microtime(true);
                $id_usuario = $usuario_experiencia_msjrespuesta['u_id_usuario'];
                $usuario = $usuario_experiencia_msjrespuesta['u_usuario'];
                $nombre_usuario = $usuario_experiencia_msjrespuesta['u_nombre'];
                $id_experiencia_original = $usuario_experiencia_msjrespuesta['bthm_id_experiencia'];
                $id_msjeoriginal = $usuario_experiencia_msjrespuesta['btrm_id_mensaje_original'];
                if ($id_experiencia_original) {
                    $usuario_msj_original = $usuario_experiencia_msjrespuesta['bthm_usuario'];
                    $nombre_usuario_msj_original = $usuario_experiencia_msjrespuesta['bthm_nombre'];
                    $id_usuario_msj_original = $lista_usuarios[$usuario_msj_original];
                    $mensaje_original = $usuario_experiencia_msjrespuesta['bthm_mensaje'];
                    $id_msjrespuesta = $usuario_experiencia_msjrespuesta['btrm_id_mensaje_respuesta'];
                    $msj_respuesta = $usuario_experiencia_msjrespuesta['btrm_mensaje'];
                    $string_fecha_msjrespuesta = $usuario_experiencia_msjrespuesta['btrm_fecha'];
                    $data_ponderacion_msj = ponderarTiempoParticipacion($string_fecha_msjrespuesta, $ponderar_tiempo);
                    $string_fecha_msjrespuesta = date('d-m-Y H:i', strtotime($string_fecha_msjrespuesta));
                    $pond_participacion_msj = $data_ponderacion_msj;
                    /*$pond_participacion_msj=$data_ponderacion_msj[0];
                      $dias_antiguedad_msj=$data_ponderacion_msj[1];
                      $diferencia_relativa_tiempo_msj=$data_ponderacion_msj[2];*/
                    if ($id_usuario != $id_usuario_msj_original) {
                        //Revisar: incluir las autorespuesta dentro de la ponderacion de participacion?
                        $key_par_usuarios = $id_usuario < $id_usuario_msj_original ? '' . $id_usuario . ',' . $id_usuario_msj_original : '' . $id_usuario_msj_original . ',' . $id_usuario;
                        $interaccion_existente = array_key_exists($key_par_usuarios, $json_data_interacciones);
                        //$json_data_interacciones[$key_par_usuarios];
                        $registroInteraccion = new RegistroInteraccion();
                        $indice_substr_emisor = strpos($nombre_usuario, ' ');
                        $registroInteraccion->emisor = $indice_substr_emisor ? substr($nombre_usuario, 0, $indice_substr_emisor) : $nombre_usuario;
                        $registroInteraccion->id_emisor = $id_usuario;
                        $indice_substr_receptor = strpos($nombre_usuario_msj_original, ' ');
                        $registroInteraccion->receptor = $indice_substr_receptor ? substr($nombre_usuario_msj_original, 0, $indice_substr_receptor) : $nombre_usuario_msj_original;
                        $registroInteraccion->id_receptor = $id_usuario_msj_original;
                        $registroInteraccion->tipo_interaccion = 0;
                        $registroInteraccion->fecha = $string_fecha_msjrespuesta;
                        //$registroInteraccion->dias_antiguedad=$dias_antiguedad_msj;
                        //$registroInteraccion->diferencia_tiempo=$diferencia_relativa_tiempo_msj;
                        $registroInteraccion->id_mensaje = $id_msjrespuesta;
                        $registroInteraccion->mensaje_objetivo = $mensaje_original;
                        $registroInteraccion->mensaje = $msj_respuesta;
                        array_push($json_data_usuarios[$id_usuario]->historial_participacion, $registroInteraccion);
                        //Agrega mensaje de respuesta al registro de actividad individual
                        $json_data_usuarios[$id_usuario_msj_original]->mensajes_respuesta_recibidos++;
                        if (!$interaccion_existente) {
                            $interaccion = new Interaccion();
                            $interaccion->id_usuario1 = $id_usuario;
                            $interaccion->id_usuario2 = $id_usuario_msj_original;
                            $interaccion->total_interacciones = 1;
                            $interaccion->historial_interacciones = array($registroInteraccion);
                            $interaccion->msjs_respuesta_usuario1 = 1;
                            $interaccion->msjs_respuesta_usuario2 = 0;
                            $interaccion->megusta_usuario1 = 0;
                            $interaccion->megusta_usuario2 = 0;
                            $json_data_interacciones[$key_par_usuarios] = $interaccion;
                        } else {
                            $json_data_interacciones[$key_par_usuarios]->total_interacciones++;
                            array_push($json_data_interacciones[$key_par_usuarios]->historial_interacciones, $registroInteraccion);
                            $id_usuario1 = $json_data_interacciones[$key_par_usuarios]->id_usuario1;
                            $id_usuario2 = $json_data_interacciones[$key_par_usuarios]->id_usuario2;
                            if ($id_usuario == $id_usuario1) {
                                $json_data_interacciones[$key_par_usuarios]->msjs_respuesta_usuario1++;
                            } else {
                                $json_data_interacciones[$key_par_usuarios]->msjs_respuesta_usuario2++;
                            }
                        }
                    }
                    //echo 'Usuario '.$id_usuario.' respondio al mensaje escrito por usuario '.$id_usuario_msj_original.'<br/>';
                    //$participacion_usuario=$participacion_usuario+$pond_participacion_msj;
                    //echo $usuario_experiencia_msjrespuesta['btrm_mensaje'].'<br/>';
                } else {
                    $pond_participacion_msj = 0;
                }
                if ($ultimo_id_usuario != -1) {
                    if ($id_usuario != $ultimo_id_usuario) {
                        $participacion_mensajes = $json_data_usuarios[$ultimo_id_usuario]->participacion;
                        $json_data_usuarios[$ultimo_id_usuario]->participacion = $participacion_mensajes + $ultimo_participacion_usuario;
                        $json_data_usuarios[$ultimo_id_usuario]->mensajes_respuesta = $msjs_respuesta;
                        //echo 'Usuario: '.$ultimo_id_usuario.' ';
                        //echo 'Participacion respuesta: '.$ultimo_participacion_usuario.' Msjs respuesta: '.$msjs_respuesta.'<br/>';
                        //echo ' Participacion hasta ahora: '.$json_data_usuarios[$ultimo_id_usuario]->participacion.'</br>';
                        $ultimo_participacion_usuario = 0;
                        $msjs_respuesta = 0;
                    }
                    //else{
                    //$ultimo_participacion_usuario=$ultimo_participacion_usuario+$ultimo_pond_participacion_usuario;
                    //}
                }
                $ultimo_id_usuario = $id_usuario;
                $ultimo_participacion_usuario = $ultimo_participacion_usuario + $pond_participacion_msj;
                if ($id_experiencia_original) {
                    $msjs_respuesta++;
                }
                /*$time_end = microtime(true);
                  $execution_time =$time_end - $time_start;
                  echo 'Tiempo ejecucion q '.$i.' respuestamsj: '.$execution_time.'<br/>';*/
                $i++;
            }
            $participacion_mensajes = $json_data_usuarios[$ultimo_id_usuario]->participacion;
            $json_data_usuarios[$ultimo_id_usuario]->participacion = $participacion_mensajes + $ultimo_participacion_usuario;
            $json_data_usuarios[$ultimo_id_usuario]->mensajes_respuesta = $msjs_respuesta;
            //echo 'Usuario: '.$ultimo_id_usuario.' ';
            //echo 'Participacion respuesta: '.$ultimo_participacion_usuario.' Msjs respuesta: '.$msjs_respuesta.'<br/>';
        }
    }
    $res_usuarios_exp_megusta = dbEjecutarConsulta($consulta_usuarios_exp_megusta, $conexion);
    $num_filas_res_querymegusta = mysql_num_rows($res_usuarios_exp_megusta);
    if ($res_usuarios_exp_megusta) {
        $ultimo_id_usuario = -1;
        $ultimo_participacion_usuario = 0;
        $pond_participacion_usuario = 0;
        $megusta = 0;
        if ($num_filas_res_querymegusta > 0) {
            $i = 1;
            while ($usuario_experiencia_megusta = mysql_fetch_array($res_usuarios_exp_megusta, MYSQL_BOTH)) {
                $id_usuario = $usuario_experiencia_megusta['u_id_usuario'];
                $usuario = $usuario_experiencia_megusta['u_usuario'];
                $nombre_usuario = $usuario_experiencia_megusta['u_nombre'];
                $id_experiencia_original = $usuario_experiencia_megusta['bthm_id_experiencia'];
                $id_msje = $usuario_experiencia_megusta['bthm_id_mensaje'];
                $mensaje_original = $usuario_experiencia_megusta['bthm_mensaje'];
                if ($id_msje) {
                    $usuario_msj_original = $usuario_experiencia_megusta['bthm_usuario'];
                    $string_fecha_megusta = $usuario_experiencia_megusta['btmg_fecha'];
                    $data_ponderacion_mg = ponderarTiempoParticipacion($string_fecha_megusta, $ponderar_tiempo);
                    $string_fecha_megusta = date('d-m-Y H:i', strtotime($string_fecha_megusta));
                    $pond_participacion_mg = 0.2 * $data_ponderacion_mg;
                    /*$pond_participacion_mg=$data_ponderacion_mg[0];
                      $dias_antiguedad_mg=$data_ponderacion_mg[1];
                      $diferencia_relativa_tiempo_mg=$data_ponderacion_mg[2];*/
                    $id_usuario_msj_original = $lista_usuarios[$usuario_msj_original];
                    $nombre_usuario_msj_original = $usuario_experiencia_megusta['bthm_nombre'];
                    //echo 'id usuario msje original '.$id_usuario_msj_original.'<br/>';
                    //$id_usuario_msj_original=$usuario_experiencia_megusta['id_usuario_msje'];
                    if ($id_usuario != $id_usuario_msj_original) {
                        //$time_start = microtime(true);
                        $key_par_usuarios = $id_usuario < $id_usuario_msj_original ? '' . $id_usuario . ',' . $id_usuario_msj_original : '' . $id_usuario_msj_original . ',' . $id_usuario;
                        $interaccion_existente = array_key_exists($key_par_usuarios, $json_data_interacciones);
                        $registroInteraccion = new RegistroInteraccion();
                        $indice_substr_emisor = strpos($nombre_usuario, ' ');
                        $registroInteraccion->emisor = $indice_substr_emisor ? substr($nombre_usuario, 0, $indice_substr_emisor) : $nombre_usuario;
                        $registroInteraccion->id_emisor = $id_usuario;
                        $indice_substr_receptor = strpos($nombre_usuario_msj_original, ' ');
                        $registroInteraccion->receptor = $indice_substr_receptor ? substr($nombre_usuario_msj_original, 0, $indice_substr_receptor) : $nombre_usuario_msj_original;
                        $registroInteraccion->id_receptor = $id_usuario_msj_original;
                        $registroInteraccion->tipo_interaccion = 1;
                        $registroInteraccion->fecha = $string_fecha_megusta;
                        //$registroInteraccion->dias_antiguedad=$dias_antiguedad_mg;
                        //$registroInteraccion->diferencia_tiempo=$diferencia_relativa_tiempo_mg;
                        $registroInteraccion->id_mensaje = $id_msje;
                        $registroInteraccion->mensaje_objetivo = $mensaje_original;
                        array_push($json_data_usuarios[$id_usuario]->historial_participacion, $registroInteraccion);
                        //Agrega me gusta al registro de actividad individual
                        $json_data_usuarios[$id_usuario_msj_original]->megusta_recibidos++;
                        if (!$interaccion_existente) {
                            $interaccion = new Interaccion();
                            //'id_usuario1'=>$id_usuario,'id_usuario2'=>$id_usuario_msj_original,'total_interacciones'=>1);
                            $interaccion->id_usuario1 = $id_usuario;
                            $interaccion->id_usuario2 = $id_usuario_msj_original;
                            $interaccion->total_interacciones = 1;
                            $interaccion->historial_interacciones = array($registroInteraccion);
                            $interaccion->msjs_respuesta_usuario1 = 0;
                            $interaccion->msjs_respuesta_usuario2 = 0;
                            $interaccion->megusta_usuario1 = 1;
                            $interaccion->megusta_usuario2 = 0;
                            $json_data_interacciones[$key_par_usuarios] = $interaccion;
                            //echo $id_usuario.' dio me gusta a '.$id_usuario_msj_original.' id msje: '.$id_msje.'<br/>';
                        } else {
                            $json_data_interacciones[$key_par_usuarios]->total_interacciones++;
                            array_push($json_data_interacciones[$key_par_usuarios]->historial_interacciones, $registroInteraccion);
                            $id_usuario1 = $json_data_interacciones[$key_par_usuarios]->id_usuario1;
                            $id_usuario2 = $json_data_interacciones[$key_par_usuarios]->id_usuario2;
                            if ($id_usuario == $id_usuario1) {
                                $json_data_interacciones[$key_par_usuarios]->megusta_usuario1++;
                            } else {
                                $json_data_interacciones[$key_par_usuarios]->megusta_usuario2++;
                            }
                        }
                        /*$time_end = microtime(true);
                          $execution_time =$time_end - $time_start;
                          echo 'Tiempo ejecucion q '.$i.' megusta: '.$execution_time.'<br/>';*/
                    }
                    //echo 'Usuario '.$id_usuario.' dio me gusta al mensaje escrito por usuario '.$id_usuario_msj_original.'<br/>';
                    //$participacion_usuario=$participacion_usuario+$pond_participacion_msj;
                    //echo $usuario_experiencia_msjrespuesta['btrm_mensaje'].'<br/>';
                } else {
                    $pond_participacion_mg = 0;
                }
                if ($ultimo_id_usuario != -1) {
                    if ($id_usuario != $ultimo_id_usuario) {
                        //$startupdate=microtime(true);
                        $participacion_megusta = $json_data_usuarios[$ultimo_id_usuario]->participacion;
                        //echo 'Usuario: '.$ultimo_id_usuario.' ';
                        //echo 'Participacion respuesta: '.$ultimo_participacion_usuario.' Msjs respuesta: '.$msjs_respuesta.'<br/>';
                        //echo ' Participacion hasta ahora: '.$json_data_usuarios[$ultimo_id_usuario]->participacion.'</br>';
                        $json_data_usuarios[$ultimo_id_usuario]->participacion = $participacion_megusta + $ultimo_participacion_usuario;
                        $json_data_usuarios[$ultimo_id_usuario]->megusta = $megusta;
                        $ultimo_participacion_usuario = 0;
                        $megusta = 0;
                    }
                    //else{
                    //$ultimo_participacion_usuario=$ultimo_participacion_usuario+$ultimo_pond_participacion_usuario;
                    //}
                }
                $ultimo_id_usuario = $id_usuario;
                $ultimo_participacion_usuario = $ultimo_participacion_usuario + $pond_participacion_mg;
                if ($id_experiencia_original) {
                    $megusta++;
                }
                $i++;
            }
            $participacion_megusta = $json_data_usuarios[$ultimo_id_usuario]->participacion;
            $json_data_usuarios[$ultimo_id_usuario]->participacion = $participacion_megusta + $ultimo_participacion_usuario;
            $json_data_usuarios[$ultimo_id_usuario]->megusta = $megusta;
            //echo 'Usuario: '.$ultimo_id_usuario.' ';
            //echo 'Participacion respuesta: '.$ultimo_participacion_usuario.' Msjs respuesta: '.$msjs_respuesta.'<br/>';
        }
    }
    /*$end_querymg=microtime(true);
      $execution_time =$end_querymg - $ini_querymg;
      echo 'Tiempo ejecucion mg usuario'.$execution_time.'<br/>';*/
    /*$time_end = microtime(true);
      $execution_time =$time_end - $time_start;
      echo 'Tiempo ejecucion megusta: '.$execution_time.'<br/>';*/
    //$time_start= microtime(true);
    $json_arreglo_usuarios = array();
    $fila_json = 0;
    foreach ($json_data_usuarios as $id => $us_exp) {
        if ($id != "" && $us_exp) {
            $us_exp->fila_json = $fila_json;
            usort($us_exp->historial_participacion, "compararInteracciones");
            array_push($json_arreglo_usuarios, $us_exp);
            //Código agregado por Jordan Barría el 16-11-14
            //Agrega el usuario respectivo al arreglo "children" del grupo correspondiente
            $id_experiencia = $us_exp->id_experiencia;
            $id_grupo = $us_exp->id_grupo;
            $nombre_usuario = $us_exp->nombre;
            $id_usuario = $us_exp->id_usuario;
            //echo $id_experiencia." id exp , ".$id_usuario." id usuario , ".$id_grupo." id grupo</br>";
            if ($id_grupo != -1) {
                $grupojson = $map_datagrupos_idjson[$id_experiencia][$id_grupo];
                $integrante_grupo = new IntegranteGrupo();
                $integrante_grupo->id_usuario = $us_exp->id_usuario;
                $integrante_grupo->fila_json = $fila_json;
                $integrante_grupo->size = $us_exp->participacion;
                $integrante_grupo->url_imagen = $us_exp->url_imagen;
                array_push($json_data_grupos[$grupojson]->children, $integrante_grupo);
                $json_data_grupos[$grupojson]->historial_participacion = array_merge($json_data_grupos[$grupojson]->historial_participacion, $us_exp->historial_participacion);
                $json_data_grupos[$grupojson]->mensajes += $us_exp->mensajes;
                $json_data_grupos[$grupojson]->mensajes_respuesta += $us_exp->mensajes_respuesta;
                $json_data_grupos[$grupojson]->mensajes_respuesta_recibidos += $us_exp->mensajes_respuesta_recibidos;
                $json_data_grupos[$grupojson]->megusta += $us_exp->megusta;
                $json_data_grupos[$grupojson]->megusta_recibidos += $us_exp->megusta_recibidos;
            }
            //fin código agregado por Jordan Barría
            $fila_json++;
        }
    }
    $json_arreglo_grupos = array();
    foreach ($json_data_grupos as $id => $grupo_exp) {
        $array_integrantes = $grupo_exp->children;
        $participacion_total = 1;
        if ($array_integrantes) {
            foreach ($array_integrantes as $integrante) {
                $participacion_total = $participacion_total + ($integrante->size - 1);
            }
        }
        $grupo_exp->participacion_total = $participacion_total;
        usort($grupo_exp->historial_participacion, "compararInteracciones");
        array_push($json_arreglo_grupos, $grupo_exp);
    }
    $json_arreglo_interacciones = array();
    $json_data_interacciones_grupales = array();
    $i = 0;
    foreach ($json_data_interacciones as $us1us2 => $interaccion) {
        $id_usuario1 = $interaccion->id_usuario1;
        $id_usuario2 = $interaccion->id_usuario2;
        $usuario1 = $json_data_usuarios[$id_usuario1];
        $usuario2 = $json_data_usuarios[$id_usuario2];
        $fila_usuario1 = $usuario1->fila_json;
        $fila_usuario2 = $usuario2->fila_json;
        $id_exp_usuario1 = $usuario1->id_experiencia;
        $id_exp_usuario2 = $usuario2->id_experiencia;
        $grupo_usuario1 = $usuario1->id_grupo;
        $grupo_usuario2 = $usuario2->id_grupo;
        $existe_grupo1 = array_key_exists($grupo_usuario1, $map_datagrupos_idjson[$id_exp_usuario1]);
        $existe_grupo2 = array_key_exists($grupo_usuario2, $map_datagrupos_idjson[$id_exp_usuario2]);
        //echo "Existe grupo 1: ".$existe_grupo1." existe grupo 2: ".$existe_grupo2."</br>";
        if ($existe_grupo1 && $existe_grupo2) {
            //Línea de código agregada por Jordan Barría el 18-12-14
            $fila_grupo1 = $map_datagrupos_idjson[$id_exp_usuario1][$grupo_usuario1];
            $fila_grupo2 = $map_datagrupos_idjson[$id_exp_usuario2][$grupo_usuario2];
            //echo "Interaccion entre grupo ".$fila_grupo1." (usuario1 ".$id_usuario1.") y grupo ".$fila_grupo2." (usuario2 ".$id_usuario2.")</br>";
            $key_par_grupos = $fila_grupo1 < $fila_grupo2 ? '' . $fila_grupo1 . ',' . $fila_grupo2 : '' . $fila_grupo2 . ',' . $fila_grupo1;
            $interaccion_grupal_existente = array_key_exists($key_par_grupos, $json_data_interacciones_grupales);
            //if ($fila_grupo1!=null && $fila_grupo2!=null && ($fila_grupo1!=$fila_grupo2)){
            if ($fila_grupo1 != $fila_grupo2) {
                if (!$interaccion_grupal_existente) {
                    $interaccion_grupal = new InteraccionGrupal();
                    $interaccion_grupal->total_interacciones = sizeof($interaccion->historial_interacciones);
                    $interaccion_grupal->historial_interacciones = $interaccion->historial_interacciones;
                    if ($fila_grupo1 < $fila_grupo2) {
                        $interaccion_grupal->source = $fila_grupo1;
                        $interaccion_grupal->target = $fila_grupo2;
                        $interaccion_grupal->msjs_respuesta_grupo1 = $interaccion->msjs_respuesta_usuario1;
                        $interaccion_grupal->msjs_respuesta_grupo2 = $interaccion->msjs_respuesta_usuario2;
                        $interaccion_grupal->megusta_grupo1 = $interaccion->megusta_usuario1;
                        $interaccion_grupal->megusta_grupo2 = $interaccion->megusta_usuario2;
                    } else {
                        $interaccion_grupal->source = $fila_grupo2;
                        $interaccion_grupal->target = $fila_grupo1;
                        $interaccion_grupal->msjs_respuesta_grupo1 = $interaccion->msjs_respuesta_usuario2;
                        $interaccion_grupal->msjs_respuesta_grupo2 = $interaccion->msjs_respuesta_usuario1;
                        $interaccion_grupal->megusta_grupo1 = $interaccion->megusta_usuario2;
                        $interaccion_grupal->megusta_grupo2 = $interaccion->megusta_usuario1;
                    }
                    $json_data_interacciones_grupales[$key_par_grupos] = $interaccion_grupal;
                } else {
                    $interaccion_grupal = $json_data_interacciones_grupales[$key_par_grupos];
                    if ($fila_grupo1 < $fila_grupo2) {
                        $interaccion_grupal->msjs_respuesta_grupo1 += $interaccion->msjs_respuesta_usuario1;
                        $interaccion_grupal->msjs_respuesta_grupo2 += $interaccion->msjs_respuesta_usuario2;
                        $interaccion_grupal->megusta_grupo1 += $interaccion->megusta_usuario1;
                        $interaccion_grupal->megusta_grupo2 += $interaccion->megusta_usuario2;
                    } else {
                        $interaccion_grupal->msjs_respuesta_grupo1 += $interaccion->msjs_respuesta_usuario2;
                        $interaccion_grupal->msjs_respuesta_grupo2 += $interaccion->msjs_respuesta_usuario1;
                        $interaccion_grupal->megusta_grupo1 += $interaccion->megusta_usuario2;
                        $interaccion_grupal->megusta_grupo2 += $interaccion->megusta_usuario1;
                    }
                    $interacciones_existentes = $interaccion_grupal->historial_interacciones;
                    $json_data_interacciones_grupales[$key_par_grupos]->historial_interacciones = array_merge($interacciones_existentes, $interaccion->historial_interacciones);
                    $json_data_interacciones_grupales[$key_par_grupos]->total_interacciones = $json_data_interacciones_grupales[$key_par_grupos]->total_interacciones + sizeof($interaccion->historial_interacciones);
                }
            } else {
                //Agregar código aquí en el caso que se quieran separar e incluir en el análisis de datos las interaccioens entre usuarios de un mismo grupo
                $total_respuestas_miembros_mismo_grupo = $interaccion->msjs_respuesta_usuario1 + $interaccion->msjs_respuesta_usuario2;
                $total_megusta_miembros_mismo_grupo = $interaccion->megusta_usuario1 + $interaccion->megusta_usuario2;
                $json_arreglo_grupos[$fila_grupo1]->mensajes_respuesta_recibidos -= $total_respuestas_miembros_mismo_grupo;
                $json_arreglo_grupos[$fila_grupo1]->megusta_recibidos -= $total_megusta_miembros_mismo_grupo;
            }
        }
        //$start=microtime(true);
        usort($interaccion->historial_interacciones, "compararInteracciones");
        /*$end=microtime(true);
          $dif=$end-$start;
          echo 'Tiempo sort array '.$i.' : '.$dif.'<br/>';*/
        if ($id_usuario1 && $id_usuario2) {
            $interaccion->source = $fila_usuario1;
            $interaccion->target = $fila_usuario2;
            $ponderacion_tiempo = ponderarTiempoParticipacion($interaccion->historial_interacciones[0]->fecha, $ponderar_tiempo);
            $interaccion->ponderacion = $ponderacion_tiempo;
            array_push($json_arreglo_interacciones, $interaccion);
        }
        $i++;
    }
    $json_arreglo_interacciones_grupales = array();
    foreach ($json_data_interacciones_grupales as $par_grupal => $int_grupal) {
        if ($int_grupal->historial_interacciones) {
            usort($int_grupal->historial_interacciones, "compararInteracciones");
        }
        $ponderacion_tiempo = ponderarTiempoParticipacion($int_grupal->historial_interacciones[0]->fecha, $ponderar_tiempo);
        $int_grupal->ponderacion = $ponderacion_tiempo;
        array_push($json_arreglo_interacciones_grupales, $int_grupal);
    }
    $necesita_despliegue_ayuda = obtenerDespliegueAyudaVisualizacion($id_usuario_consultor, $conexion);
    $json_data = array('id_usuario' => $id_usuario_consultor, 'despliegue_ayuda' => $necesita_despliegue_ayuda, 'clasesgrupos' => $json_arreglo_clases_grupos, 'grupos' => $json_arreglo_grupos, 'links_grupos' => $json_arreglo_interacciones_grupales, 'nodes' => $json_arreglo_usuarios, 'links' => $json_arreglo_interacciones, 'profesores_multiples_clases' => $profesores_multiples_clases);
    //$json_data=array('nodes'=> $json_arreglo_usuarios);
    return json_encode($json_data);
}
Esempio n. 10
0
/**
* Obtener arreglo de anios en los que hay experiencias didacticas
*
* @author      Sergio Bustamante M. - Kelluwen
* @version     2012.29.05
* @param       resource $conexion Identificador de enlace a MySQL
* @return       $_resp Array(Integer  =>   ed_anio)
*/
function dbENAniosExperiencias($conexion)
{
    $_resp = null;
    $consulta = "SELECT DISTINCT ed_anio FROM experiencia_didactica WHERE ed_anio != 0  ORDER BY ed_anio";
    $resultado = dbEjecutarConsulta($consulta, $conexion);
    if ($resultado) {
        $i = 0;
        if (mysql_num_rows($resultado) > 0) {
            while ($_fila = mysql_fetch_array($resultado, MYSQL_BOTH)) {
                $_resp[$i] = $_fila['ed_anio'];
                $i++;
            }
        }
    }
    return $_resp;
}