Desarrollando un bloque

Desarrollando un bloque

de Ca. Andres -
Número de respuestas: 1
Un saludo,
Actualmente estoy desarrollando un bloque para mi moodle, pero he tenido algunos inconvenientes con la sintanxis manejada para el desarrollo del mismo,

tengo dos dudas,
la primera es saber como lo puedo dejar solo para estudiantes logueados y q' no se muestre en el index principal del moodle, es decir solo interno,
la segunda es como hago para q' el select q' me muestra los profesores me funcione ya q' me muestra los profesores por fuera de  la cascada (el select)



Este es el codigo:




<?php
class block_defensor extends block_list{
    function init()
    {
        $this->title = get_string('defensor', 'block_defensor');
        $this->version = 2004111200;
    }
    function get_content() {
    if ($this->content !== NULL) {
        return $this->content;
    }
    

    $this->content = new stdClass;
  

    $this->content->items = array();
    $this->content->icons = array();
    $this->content->footer = ' ';

       
    $this->content->items[] = '<form method="post" action="guardar_queja.php" onsubmit="return validar(this)" name="formValidar">';

$this->content->items[] =    '<input type="text" name="alumno" size=27 value="">';

$this->content->items[] =    '<br>';
 
$this->content->items[] =    '<textarea name="area">
                                  </textarea>';
 
    
$sqlprofes=    'SELECT mdl_user.firstname, mdl_user.lastname
             FROM (SELECT mdl_user_teachers.userid
                   FROM mdl_user_teachers
                   GROUP BY mdl_user_teachers.userid)id1, mdl_user
             WHERE mdl_user.id = id1.userid';

$fec=mysql_query($sqlprofes);



$cadena = "";

$selec='<select name="profes">';

while($final=mysql_fetch_array($fec))
{
  $this->content->items[]=''.$selec.'<option>'.$final[0].''.$final[1].'';
  $selec=" ";
}
  $this->content->items[]='</select>';
               
$this->content->items[] =    '<br><input type="submit" name="ENVIAR" value="ENVIAR">';
$this->content->items[] =    '<input type="reset" name="LIMPIAR" value="BORRAR">';

          return $this->content;
      }
}
?>


Muchas gracias por la ayuda brindada,
Le correspondere cuando lo necesite y yo sepa sonrisa
Promedio de valoraciones: -
En respuesta a Ca. Andres

Re: Desarrollando un bloque

de Iñaki Arenaza -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodlers de gran ayuda
Sólo versiones relativamente recientes de MySQL soportan subconsultas, como tú estás usando.

En todo caso, en el fichero .../moodle/lib/datalib.php tienes la función llamada get_course_teachers() que te da la lista de profesores (como un array de objetos que incluyen entre otras muchas cosas los campos que tu necesitas) de un curso dado (indicado por su ID).

A la otra pregunta no sé responderte, lo siento.

Saludos. Iñaki.