| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 | 
							- <?php
 
- /**
 
-  * Implements hook_permission().
 
-  */
 
- function materio_admin_permission() {
 
-   return array(
 
-     'access default users list' =>  array(
 
-       'title' => t('Access default users list'),
 
-       'description' => t('Access default users list.'),
 
-     ),
 
-     'access default UC roles expiration list' => array(
 
-       'title' => t('access default UC roles expiration list'),
 
-       'description' => t('access default UC roles expiration list.'),
 
-     ),
 
-     'access duplicate mails list' => array(
 
-       'title' => t('access duplicate mails list'),
 
-       'description' => t('access duplicate mails list.'),
 
-     ),
 
-   );
 
- }
 
- /**
 
-  * Implements hook_menu().
 
-  */
 
- function materio_admin_menu() {
 
-   $items['admin/users/duplicatemails'] = array(
 
-     'title' => "Duplicate mails",
 
-     'page callback' => 'materio_duplicatemails',
 
-     'access callback' => 'user_access',
 
-     'access arguments' => array('access duplicate mails list'),
 
-     'type' => MENU_LOCAL_TASK
 
-   );
 
-   if(module_exists('simplenews')){
 
-     $cats = simplenews_category_list();
 
-     // dsm($cats, 'cats');
 
-     foreach ($cats as $tid => $name) {
 
-       // $items['node/%node/simplenews'] = array(
 
-       //   'title' => 'Newsletter',
 
-       //   'type' => MENU_LOCAL_TASK,
 
-       //   'access callback' => 'simplenews_node_tab_access',
 
-       //   'access arguments' => array(1),
 
-       //   'page callback' => 'simplenews_node_tab_page',
 
-       //   'page arguments' => array(1),
 
-       //   'context' => MENU_LOCAL_TASK,
 
-       //   'file' => 'includes/simplenews.admin.inc',
 
-       //   'weight' => 2,
 
-       // );
 
-       $items['node/add/simplenews/'.$tid] = array(
 
-         'title' => $name,
 
-         'title callback' => 'check_plain',
 
-         'page callback' => 'node_add',
 
-         'page arguments' => array('simplenews'),
 
-         'access callback' => 'node_access',
 
-         'access arguments' => array('create', 'simplenews'),
 
-         'file path' => drupal_get_path('module', 'node'),
 
-         'file' => 'node.pages.inc',
 
-       );
 
-     }
 
-   }
 
-   return $items;
 
- }
 
- function materio_duplicatemails(){
 
-   $mails = db_query('SELECT mail FROM {users} GROUP BY mail HAVING count(mail) > 1')->fetchCol();
 
-   // Bail out early if there are no duplicates.
 
-   if (!$mails) {
 
-     return t('All accounts have unique email addresses.');
 
-   }
 
-   // Grab all the user data for accounts with addresses identified as
 
-   // duplicates. This is a little convoluted, but it lets us grab all the user
 
-   // data in one shot.
 
-   $uids = db_select('users', 'u')
 
-     ->fields('u', array('uid'))
 
-     ->condition('mail', $mails, 'IN')
 
-     ->orderBy('access', 'DESC')
 
-     ->execute()
 
-     ->fetchCol();
 
-   $duplicate_users = user_load_multiple($uids);
 
-   $duplicate_mails = array();
 
-   foreach ($duplicate_users as $duplicate_user) {
 
-     $duplicate_mails[$duplicate_user->mail][] = $duplicate_user;
 
-   }
 
-   // Turn the data we've got into markup.
 
-   $output = t('Accounts with duplicate email address:') . '<br />';
 
-   $output = "<ul>";
 
-   foreach ($duplicate_mails as $mail => $users) {
 
-     $output .= "<li> <strong>$mail</strong> : <br />";
 
-     $accounts = array();
 
-     foreach ($users as $duplicate_user) {
 
-        $accounts[] =  l($duplicate_user->name, "user/{$duplicate_user->uid}") . ' ('. date('Y-m-d', $duplicate_user->access) .')';
 
-     }
 
-     $output .= implode(', ', $accounts);
 
-       $output .= '</li>';
 
-   }
 
-   $output .= "</ul>";
 
-   return $output;
 
- }
 
- /**
 
-  * Implements hook_menu_alter().
 
-  */
 
- function materio_admin_menu_alter(&$items){
 
-   // dsm($items, 'menu alter items');
 
-   if(isset($items['admin/people'])){
 
-     $items['admin/people']['access arguments'] = array('access default users list');
 
-     // dsm($items['admin/people']);
 
-   }
 
-   if(isset($items['admin/people/expiration'])){
 
-     $items['admin/people/expiration']['access arguments'] = array('access default UC roles expiration list');
 
-     // dsm($items['admin/people/expiration']);
 
-   }
 
-   # deactivate default home page
 
-   $items['node']['access callback'] = FALSE;
 
-   // if(isset($items['admin/content/add/simplenews'])){
 
-     // delete($items['admin/content/add/simplenews']);
 
-   //   $cats = simplenews_category_list();
 
-   //   dsm($cats, 'cats');
 
-   //   foreach ($cats as $tid => $name) {
 
-   //     $items['admin/content/add/simplenews/'.$tid]
 
-   //   }
 
-   // }
 
- }
 
- /**
 
-  * Implements hook_menu_local_tasks_alter().
 
-  */
 
- function materio_admin_menu_local_tasks_alter(&$data, $router_item, $root_path) {
 
-   if ($root_path == 'admin/people/simplenews') {
 
-     $item = menu_get_item('admin/content/simplenews');
 
-     if ($item['access']) {
 
-       $item['title'] = 'Go to '.$item['title'];
 
-       $data['actions']['output'][] = array(
 
-         '#theme' => 'menu_local_task',
 
-         '#link' => $item,
 
-       );
 
-     }
 
-   }
 
-   if ($root_path == 'admin/content/simplenews') {
 
-     $cats = simplenews_category_list();
 
-     foreach ($cats as $tid => $name) {
 
-       $item = menu_get_item('node/add/simplenews/'.$tid);
 
-       $item['title'] = 'Add new '.$name;
 
-       if ($item['access']) {
 
-         $data['actions']['output'][] = array(
 
-           '#theme' => 'menu_local_task',
 
-           '#link' => $item,
 
-         );
 
-       }
 
-     }
 
-     $item = menu_get_item('admin/people/simplenews');
 
-     if ($item['access']) {
 
-       $item['title'] = 'Go to '.$item['title'];
 
-       $data['actions']['output'][] = array(
 
-         '#theme' => 'menu_local_task',
 
-         '#link' => $item,
 
-       );
 
-     }
 
-   }
 
- }
 
- /**
 
-   * Implements hook_form_alter().
 
-   */
 
- function materio_admin_form_simplenews_node_form_alter(&$form, &$form_state, $form_id) {
 
-   // dsm($form_id, '$form_id');
 
-   // dsm($form_state, '$form_state');
 
-   // dsm($form, '$form');
 
-   // dsm($_GET, 'GET');
 
-   if(!$form['nid']['#value']){
 
-     $cats = simplenews_category_list();
 
-     $cats_tids = array_keys($cats);
 
-     $q = parse_url($_GET['q']);
 
-     $cat = array_pop(explode('/', $q['path']));
 
-     // dsm($cat, 'cat');
 
-     if(in_array($cat, $cats_tids)){
 
-       // prepopulate type of news
 
-       $form['field_simplenews_term']['und']['#default_value'] = $cat;
 
-       $form['field_simplenews_term']['und']['#disabled'] = true;
 
-       // change default template regarding type of news
 
-       $form['body']['und'][0]['#default_value'] = materio_admin_getSimplenewsNodeBodyTemplate($cat);
 
-     }
 
-   }else{
 
-     $form['field_simplenews_term']['und']['#disabled'] = true;
 
-   }
 
-   $form['body']['und'][0]['#rows'] = 50;
 
- }
 
- function materio_admin_getSimplenewsNodeBodyTemplate($cat){
 
-   return file_get_contents(drupal_get_path('module', 'materio_admin').'/templates/simplenews_'.$cat.'_node.html');
 
- }
 
- // http://stackoverflow.com/questions/19202449/change-drupal-7-compiled-css-and-js-includes-to-use-https-as-opposed-to-http
 
- function materio_admin_process_html(&$vars){
 
-   foreach (array('head', 'styles', 'scripts') as $replace) {
 
-     if (!isset($vars[$replace])) {
 
-       continue;
 
-     }
 
-     $vars[$replace] = preg_replace('/(src|href|@import )(url\(|=)(")http(s?):/', '$1$2$3', $vars[$replace]);
 
-   }
 
- }
 
 
  |