le * Bloquea perfiles de usuarios según su rol y estado. * - Bloquea siempre usuarios con rol "Comisión". * - Bloquea usuarios con rol "Asambleísta" si están desactivados. * - Permite ver solo el perfil propio o si el usuario es administrador. * - Mantiene accesible /user, /user/login, /user/password y /user/register. */ /** * Implementación de hook_init(). */ function security_custom_init() { global $user; $path = current_path(); // Rutas permitidas $allowed_paths = array( 'user', 'user/login', 'user/password', 'user/register', ); // Bloquear perfiles /user/[uid] if (preg_match('#^user/(\\d+)$#', $path, $matches) && !in_array($path, $allowed_paths)) { $target_uid = (int) $matches[1]; $target_account = user_load($target_uid); // Si el usuario no existe if (!$target_account) { drupal_access_denied(); drupal_exit(); } // Si el usuario es administrador, permitir acceso total if (user_access('administer users')) { return; } // Verificar roles $roles = $target_account->roles; // Si es una "Comisión" → bloquear siempre if (in_array('Comisión', $roles)) { drupal_access_denied(); drupal_exit(); } // Si es "Asambleísta" y está desactivado → bloquear if (in_array('Asambleísta', $roles) && $target_account->status == 0) { drupal_access_denied(); drupal_exit(); } // Si está desactivado (cualquier rol) if ($target_account->status == 0) { drupal_access_denied(); drupal_exit(); } // Si intenta ver otro perfil distinto al suyo if ($user->uid != $target_uid) { drupal_access_denied(); drupal_exit(); } } } /** * Implementación de hook_menu_alter(). */ function security_custom_menu_alter(&$items) { // Ajustar acceso a perfiles /user/%user if (isset($items['user/%user'])) { $items['user/%user']['access callback'] = 'security_custom_user_access'; } } /** * Control de acceso para perfiles individuales. */ function security_custom_user_access($account) { global $user; if (!$account) { return FALSE; } // Administradores siempre pueden ver if (user_access('administer users')) { return TRUE; } $roles = $account->roles; // Si es "Comisión" → bloquear if (in_array('Comisión', $roles)) { return FALSE; } // Si es "Asambleísta" y está desactivado → bloquear if (in_array('Asambleísta', $roles) && $account->status == 0) { return FALSE; } // Si está desactivado → bloquear if ($account->status == 0) { return FALSE; } // Permitir solo su propio perfil return ($user->uid == $account->uid); }
 
                Actualmente es Asambleísta de la Revolución Ciudadana por la provincia de Manabí.
 Abogada por la Universidad Internacional del Ecuador, Magister en Alta Gerencia por el Instituto de Altos Estudios Nacionales, Máster en Economía Internacional y Desarrollo por la Universidad Complutense de Madrid.
Abogada por la Universidad Internacional del Ecuador, Magister en Alta Gerencia por el Instituto de Altos Estudios Nacionales, Máster en Economía Internacional y Desarrollo por la Universidad Complutense de Madrid.Es una asambleísta con una amplia experiencia en política y liderazgo. Con una formación sólida en derecho y ciencias políticas, ha demostrado su compromiso con la justicia social y la defensa de los derechos humanos. Durante su carrera, ha trabajado incansablemente para mejorar las condiciones de vida de su comunidad y fomentar la participación ciudadana en la toma de decisiones políticas. Como asambleísta, se esfuerza por representar a todos los ciudadanos de su distrito y trabajar en colaboración con otros líderes para lograr un futuro más justo y equitativo para todos.