. * * 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. */ /** * @file * Code for the Mica Community feature. */ include_once('mica_community.features.inc'); /** * Creates default content after Features successfully installed * Implements hook_features_rebuild_completed() */ function mica_community_features_rebuild_completed() { if (!variable_get('mica_community_features_rebuild_completed', FALSE)) { _mica_community_create_default_content(); variable_set('mica_community_features_rebuild_completed', TRUE); } } function _mica_community_create_default_content() { mica_core_create_menu(st('Community'), 'community', 'community', FALSE, TRUE, 45, NULL); mica_core_create_menu(st('News'), 'news', 'news', FALSE, FALSE, 1, 'community'); $event_menu = mica_core_create_menu(st('Events'), 'events', 'events', FALSE, FALSE, 2, 'community'); $forum_menu = mica_core_create_menu(st('Forums'), 'forum', 'forum', FALSE, FALSE, 3, 'community'); $blog_menu = mica_core_create_menu(st('Blogs'), 'blog', 'blog', FALSE, FALSE, 4, 'community'); $research_menu = mica_core_find_menu_for_alias('research'); $publication_menu = mica_core_create_menu(st('Publications'), 'publications', 'publications', FALSE, FALSE, 10, $research_menu->link_path); mica_core_set_menu_option('event', $event_menu['mlid']); mica_core_set_menu_option('publication', $publication_menu['mlid']); mica_core_set_menu_option('forum', $forum_menu['mlid']); mica_core_set_menu_option('blog', $blog_menu['mlid']); } /** * Implements hook_menu_local_tasks_alter(). */ function mica_community_menu_local_tasks_alter(&$data, $router_item, $root_path) { $links = array(); if ($root_path === 'community') { if (node_access('create', 'contact')) { $links['add-contact'] = array( '#theme' => 'menu_local_action', '#link' => array( 'title' => t('Add a Contact'), 'href' => 'node/add/contact', ), ); } if (node_access('create', 'institution')) { $links['add-institution'] = array( '#theme' => 'menu_local_action', '#link' => array( 'title' => t('Add an Institution'), 'href' => 'node/add/institution', ), ); } } elseif ($root_path === 'events') { if (node_access('create', 'event')) { $links['add-event'] = array( '#theme' => 'menu_local_action', '#link' => array( 'title' => t('Add an Event'), 'href' => 'node/add/event', ), ); } } elseif ($root_path === 'publications') { if (node_access('create', 'publication')) { $links['add-publication'] = array( '#theme' => 'menu_local_action', '#link' => array( 'title' => t('Add a Publication'), 'href' => 'node/add/publication', ), ); } } $data['actions']['output'] = array_merge($data['actions']['output'], $links); } /** * Implements hook_node_insert() */ function mica_community_node_insert($node) { if ($node->type === 'publication' || $node->type === 'event') { mica_core_create_node_default_menu($node, TRUE); } }