Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Page callback: Affiche les utilisateurs gold
- *
- * @return string
- */
- function gold_users_page() {
- // Récupération des rôles pouvant voir le contenu gold
- $query = db_select('role_permission', 'rp')
- ->fields('rp', array('rid'))
- ->condition('permission', GOLD_PERMISSION_VIEW)
- ->execute();
- //drupal_set_message((string) $query);
- $rids = $query
- ->fetchCol();
- $header = array(
- array('data' => 'Identifiant', 'field' => 'uid', 'sort' => 'asc'),
- array('data' => 'Nom', 'field' => 'name', 'sort' => 'asc'),
- 'Profil'
- );
- // Récupération des utilisateur ayant le role
- $query = db_select('users_roles', 'ur')
- ->fields('u', array('uid', 'name'))
- ->condition('rid', $rids);
- $query->innerJoin('users', 'u', 'u.uid = ur.uid');
- $uids = $query
- ->extend('PagerDefault')
- ->limit(30)
- // Add table sort extender.
- ->extend('TableSort')
- // Add order by headers.
- ->orderByHeader($header)
- ->execute()
- ->fetchAllKeyed();
- //dsm($rids);
- //dsm($uids);
- $accounts = user_load_multiple(array_keys($uids));
- //dsm($accounts);
- $rows = array();
- foreach ($accounts as $account) {
- $row = array();
- $row[] = $account->uid;
- $row[] = $account->name;
- $row[] = l("Profil", 'gold/user/' . $account->uid);
- $rows[] = $row;
- }
- //dsm($rows);
- $build['intro'] = array(
- '#markup' => "Ceci est la liste des utilisateurs premium",
- );
- $build['table'] = array(
- '#theme' => 'table',
- '#header' => $header,
- '#rows' => $rows,
- '#empty' => t('Your table is empty'),
- );
- $build['pager'] = array(
- '#theme' => 'pager',
- );
- return $build;
- }
- /**
- * Page callback: affiche si 'lutilisateur passé en paramètre est gold
- *
- * @param $account
- * @return string
- */
- function gold_user_page($account) {
- if (user_access(GOLD_PERMISSION_VIEW, $account)) {
- return "C'est un utilisateur gold";
- }
- return "Ce n'est pas un utilisateur gold";
- }
- /**
- * Form callback: formulaire de configuration de Gold
- */
- function gold_admin_form() {
- $form['types'] = array(
- '#type' => 'checkboxes',
- '#title' => "Types pour lesquels la fonctionnalité Gold est activée",
- '#options' => node_type_get_names(),
- '#default_value' => variable_get('gold_types', array()),
- );
- $form['submit'] = array(
- '#type' => 'submit',
- '#value' => t('Submit'),
- );
- return $form;
- }
- function gold_admin_form_validate($form, &$form_state) {
- if (!empty($form_state['values']['types']['page'])) {
- form_set_error('types', "Le type de contenu page ne peut pas porter la fonctionnalité Gold");
- }
- }
- function gold_admin_form_submit($form, &$form_state) {
- variable_set('gold_types', $form_state['values']['types']);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement