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.'), ), ); } /** * Implements hook_menu(). */ function materio_admin_menu() { 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; } /** * 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'] = 'Create 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'); }