DRUPAL: comprobar el rol de un usuario

Para saber si un usuario tiene un rol determinado, se puede usar la siguiente sentencia:

if (in_array(‘rol’, array_values($user->roles))) {
   /*
      código
   */
}

Advertisements
DRUPAL: comprobar el rol de un usuario

DRUPAL: ejecutar una consulta contra la base de datos

Un sitio Drupal forzosamente está ligado a una base de datos MySQL, que utiliza para almacenar datos de los usuarios, de las páginas, etc. Aunque se puede conectar a bases de datos externas yo voy a explicar cómo ejecutar consultas sobre la base de datos vinculada a Drupal.

Si queremos ejecutar una consulta que no devuelve datos (por ejemplo, un CREATE, INSERT, UPDATE, DELETE…) simplemente podemos ejecutar:

db_query($consulta)

donde $consulta es un string que contiene la consulta. Ej:

$consulta = “DELETE FROM paises WHERE nombre_pais = ‘Pandora'”;

db_query($consulta);

Ojo con las comillas, lo aconsejable es usar comillas dobles para el string que contiene la consulta y comillas simples para la propia consulta.

Si la consulta devuelve valores (típicamente un SELECT) para acceder a los valores que nos devuelve haremos lo siguiente:

$consulta = ‘SELECT nombre_pais FROM paises’;

$resultado = db_query($consulta);

while ($fila = db_fetch_array($resultado)) {
   /*
      Nos devuelve en $fila un array con los valores de cada fila.
      A estos valores accedemos mediante su índice.
   */
   echo $fila[‘nombre_pais’] . ‘
‘;
}

Nos imprimiría todos los nombres de países en líneas separadas.

DRUPAL: ejecutar una consulta contra la base de datos

DRUPAL: cómo enviar correo

La forma más sencilla (aunque no la más correcta) de enviar un correo en Drupal 6.x es utilizando la función:

drupal_mail_send($message)
La variable $message es un array con los siguientes índices:
$message = array(
‘from’ => ‘direccion.de.correo@del.remitente’,
‘to’ => ‘direccion.de.correo@del.destinatario’,
‘body’ => ‘contenido del mail’,
‘subject’ => ‘asunto del mail’
);

Para ello debemos haber configurado antes correctamente un servidor SMTP. Yo sólo he configurado un servidor SMTP con autenticación TLS para lo cuál he instalado el módulo SMTP Authentication http://drupal.org/project/smtp

Si no fuera necesaria la autenticación, creo que sólo sería necesario configurar los parámetros en el archivo php.ini en la sección smtp.

DRUPAL: cómo enviar correo