. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT * SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ function mica_datashield_menu() { $items = array(); $items['node/%node/datashield'] = array( 'title' => 'DataSHIELD', 'access callback' => '_mica_datasets_node_queries_access', 'access arguments' => array(1, 'view'), 'page callback' => 'drupal_get_form', 'page arguments' => array('mica_datashield_form', 1), 'weight' => 50, 'type' => MENU_LOCAL_ACTION, 'file' => 'mica_datashield.pages.inc', ); return $items; } /** * Implements hook_menu_local_tasks_alter(). */ function mica_datashield_menu_local_tasks_alter(&$data, $router_item, $root_path) { if ($root_path == 'node/%') { $node = node_load($router_item['page_arguments'][0]->nid); if ($node != NULL && $node->type == 'dataset') { if (node_access('view', $node)) { foreach ($data['actions']['output'] as $key => $link) { if (isset($link['#link']['path']) && $link['#link']['path'] == 'node/%/datashield') { $data['actions']['output'][$key]['#link']['localized_options'] = array('attributes' => array('class' => 'highlight')); $data['actions']['output'][$key]['#weight'] = 50; break; } } } } } }