/** * View post menu * * @param string $hook Name of hook * @param string $type Hook type * @param string $return mixed data * @param array $params Arrays or Objects * * @return mixed data * @access private */ function ossn_wall_post_menu($hook, $type, $return, $params) { if ($params['post']->poster_guid == ossn_loggedin_user()->guid || $params['post']->owner_guid == ossn_loggedin_user()->guid || ossn_isAdminLoggedin()) { $deleteurl = ossn_site_url("action/wall/post/delete?post={$params['post']->guid}", true); ossn_register_menu_link("delete", ossn_print('ossn:post:delete'), array('class' => 'ossn-wall-post-delete', 'href' => $deleteurl, 'data-guid' => $params['post']->guid), 'wallpost'); } else { ossn_unregister_menu('delete', 'wallpost'); } return ossn_view_menu('wallpost', 'wall/menus/post-controls'); }
/** * Add a timeline, friends tab in profile * * @return void; * @access private; */ function ossn_profile_load_event($event, $type, $params) { $owner = ossn_user_by_guid(ossn_get_page_owner_guid()); $url = ossn_site_url(); ossn_register_menu_link('timeline', 'timeline', $owner->profileURL(), 'user_timeline'); ossn_register_menu_link('friends', 'friends', $owner->profileURL('/friends'), 'user_timeline'); }
/** * Initialize components * * @return false|null * @access private; */ function ossn_components_init() { $panels = ossn_registered_com_panel(); if (!$panels) { return false; } foreach ($panels as $configure) { ossn_register_menu_link('configure', $configure, ossn_site_url("administrator/component/{$configure}"), 'topbar_admin'); } }
/** * User block menu item in profile. * * @return void; * @access private; */ function ossn_user_block_menu($name, $type, $params) { $user = ossn_user_by_guid(ossn_get_page_owner_guid()); if (OssnBlock::isBlocked(ossn_loggedin_user(), $user)) { $unblock = ossn_site_url("action/unblock/user?user={$user->guid}", true); ossn_register_menu_link('block', ossn_print('user:unblock'), $unblock, 'profile_extramenu'); } else { $block = ossn_site_url("action/block/user?user={$user->guid}", true); ossn_register_menu_link('block', ossn_print('user:block'), $block, 'profile_extramenu'); } }
/** * Initialize the admin library * * @return void */ function ossn_admin() { ossn_register_admin_sidemenu('admin/sidemenu', 'admin:components', ossn_site_url('administrator/components'), ossn_print('admin:sidemenu:components')); ossn_register_admin_sidemenu('admin/sidemenu', 'admin:install', ossn_site_url('administrator/com_installer'), ossn_print('admin:sidemenu:components')); ossn_register_admin_sidemenu('admin/sidemenu', 'admin:themes', ossn_site_url('administrator/themes'), ossn_print('admin:sidemenu:themes')); ossn_register_admin_sidemenu('admin/sidemenu', 'admin:install', ossn_site_url('administrator/theme_installer'), ossn_print('admin:sidemenu:themes')); ossn_register_admin_sidemenu('admin/sidemenu', 'admin:basic', ossn_site_url('administrator/settings/basic'), ossn_print('admin:sidemenu:settings')); ossn_register_admin_sidemenu('admin/sidemenu', 'admin:cache', ossn_site_url('administrator/cache'), ossn_print('admin:sidemenu:settings')); //ossn_register_admin_sidemenu('admin/sidemenu', 'admin:mode', ossn_site_url('administrator/theme_installer'), ossn_print('admin:sidemenu:settings')); ossn_register_admin_sidemenu('admin/sidemenu', 'admin:users', ossn_site_url('administrator/users'), ossn_print('admin:sidemenu:usermanager')); ossn_register_admin_sidemenu('admin/sidemenu', 'admin:add:user', ossn_site_url('administrator/adduser'), ossn_print('admin:sidemenu:usermanager')); ossn_register_admin_sidemenu('admin/sidemenu', 'admin:users:unvalidated', ossn_site_url('administrator/unvalidated_users'), ossn_print('admin:sidemenu:usermanager')); ossn_register_menu_link('home', 'admin:dashboard', ossn_site_url('administrator'), 'topbar_admin'); ossn_register_menu_link('configure', 'Configure', '#', 'topbar_admin'); ossn_register_menu_link('help', 'admin:help', 'http://community.opensource-socialnetwork.org', 'topbar_admin'); ossn_register_menu_link('support', 'admin:support', 'http://community.opensource-socialnetwork.org', 'topbar_admin'); ossn_register_menu_link('viewsite', 'admin:view:site', ossn_site_url(), 'topbar_admin'); ossn_register_action('admin/login', ossn_route()->actions . 'administrator/login.php'); ossn_register_action('admin/logout', ossn_route()->actions . 'administrator/logout.php'); if (ossn_isAdminLoggedin()) { ossn_register_site_settings_page('account', 'pages/account'); ossn_register_action('component/enable', ossn_route()->actions . 'administrator/component/enable.php'); ossn_register_action('component/disable', ossn_route()->actions . 'administrator/component/disable.php'); ossn_register_action('component/delete', ossn_route()->actions . 'administrator/component/delete.php'); ossn_register_action('theme/enable', ossn_route()->actions . 'administrator/theme/enable.php'); ossn_register_action('theme/delete', ossn_route()->actions . 'administrator/theme/delete.php'); ossn_register_action('admin/add/user', ossn_route()->actions . 'administrator/user/add.php'); ossn_register_action('admin/edit/user', ossn_route()->actions . 'administrator/user/edit.php'); ossn_register_action('admin/delete/user', ossn_route()->actions . 'administrator/user/delete.php'); ossn_register_action('admin/validate/user', ossn_route()->actions . 'administrator/user/validate.php'); ossn_register_action('admin/com_install', ossn_route()->actions . 'administrator/component/com_install.php'); ossn_register_action('admin/theme_install', ossn_route()->actions . 'administrator/theme/theme_install.php'); ossn_register_action('admin/settings/save/basic', ossn_route()->actions . 'administrator/settings/save/basic.php'); ossn_register_action('admin/cache/create', ossn_route()->actions . 'administrator/cache/create.php'); ossn_register_action('admin/cache/flush', ossn_route()->actions . 'administrator/cache/flush.php'); } /* * Register login and backend pages */ if (ossn_isAdminLoggedin()) { ossn_register_page('administrator', 'ossn_administrator_pagehandler'); ossn_register_site_settings_page('basic', 'settings/admin/basic_settings'); ossn_register_menu_item('topbar_dropdown', array('name' => 'administration', 'text' => ossn_print('admin'), 'href' => ossn_site_url('administrator'))); } else { ossn_register_page('administrator', 'ossn_administrator_login_pagehandler'); } }
function ossn_sitepages() { //css ossn_extend_view('css/ossn.default', 'components/OssnSitePages/css/pages'); //register pages ossn_register_page('site', 'ossn_site_pages'); //register admin panel page ossn_register_com_panel('OssnSitePages', 'settings'); //actions ossn_register_action('sitepage/edit/terms', __OSSN_SITE_PAGES__ . 'actions/edit/terms.php'); ossn_register_action('sitepage/edit/about', __OSSN_SITE_PAGES__ . 'actions/edit/about.php'); ossn_register_action('sitepage/edit/privacy', __OSSN_SITE_PAGES__ . 'actions/edit/privacy.php'); //register menu links in footer ossn_register_menu_link('about', ossn_print('site:about'), ossn_site_url('site/about'), 'footer'); ossn_register_menu_link('site', ossn_print('site:terms'), ossn_site_url('site/terms'), 'footer'); ossn_register_menu_link('privacy', ossn_print('site:privacy'), ossn_site_url('site/privacy'), 'footer'); }
/** * Add search group link on search page * * @return void; * @access private */ function ossn_group_search_link($event, $type, $params) { $url = OssnPagination::constructUrlArgs(array('type')); ossn_register_menu_link('search:users', 'search:groups', "search?type=groups{$url}", 'search'); }
/** * Delete comment menu * * @return voud; * @access private */ function ossn_comment_menu($name, $type, $params) { ossn_unregister_menu('delete', 'comments'); $OssnComment = new OssnComments(); if (is_object($params)) { $params = get_object_vars($params); } $comment = $OssnComment->getComment($params['id']); if ($comment->type == 'comments:post') { if (com_is_active('OssnWall')) { $ossnwall = new OssnWall(); $post = $ossnwall->GetPost($comment->subject_guid); if (ossn_loggedin_user()->guid == $post->owner_guid) { ossn_register_menu_link('delete', ossn_print('comment:delete'), array('href' => ossn_site_url("action/delete/comment?comment={$params['id']}"), 'class' => 'ossn-delete-comment'), 'comments'); } } } $user = ossn_loggedin_user(); if (ossn_isLoggedin()) { if ($user->guid == $params['owner_guid'] || ossn_isAdminLoggedin()) { ossn_register_menu_link('delete', ossn_print('comment:delete'), array('href' => ossn_site_url("action/delete/comment?comment={$params['id']}"), 'class' => 'ossn-delete-comment'), 'comments'); } } }
/** * Delete comment menu * * @return voud; * @access private */ function ossn_comment_menu($name, $type, $params) { ossn_unregister_menu('delete', 'comments'); $OssnComment = new OssnComments(); if (is_object($params)) { $params = get_object_vars($params); } $comment = $OssnComment->getComment($params['id']); if ($comment->type == 'comments:post') { if (com_is_active('OssnWall')) { $ossnwall = new OssnWall(); $post = $ossnwall->GetPost($comment->subject_guid); //check if type is group if ($post->type == 'group') { $group = ossn_get_group_by_guid($post->owner_guid); } //group admins must be able to delete ANY comment in their own group #170 //just show menu if group owner is loggedin if (ossn_loggedin_user()->guid == $post->owner_guid || ossn_loggedin_user()->guid == $group->owner_guid) { ossn_register_menu_link('delete', ossn_print('comment:delete'), array('href' => ossn_site_url("action/delete/comment?comment={$params['id']}", true), 'class' => 'ossn-delete-comment'), 'comments'); } } } $user = ossn_loggedin_user(); if (ossn_isLoggedin()) { if ($comment->type == 'comments:entity') { $entity = ossn_get_entity($comment->subject_guid); } if ($user->guid == $params['owner_guid'] || ossn_isAdminLoggedin() || $comment->type == 'comments:entity' && ($entity->type = 'user' && $user->guid == $entity->owner_guid)) { ossn_register_menu_link('delete', ossn_print('comment:delete'), array('href' => ossn_site_url("action/delete/comment?comment={$params['id']}", true), 'class' => 'ossn-delete-comment'), 'comments'); } } }
/** * Add photos link to user timeline * * @return void; * @access private; */ function ossn_profile_menu_photos($event, $type, $params) { $owner = ossn_user_by_guid(ossn_get_page_owner_guid()); $url = ossn_site_url(); ossn_register_menu_link('photos', 'photos', $owner->profileURL('/photos'), 'user_timeline'); }
/** * User poke menu item in profile. * * @return void; * @access private; */ function ossn_user_poke_menu($name, $type, $params) { $user = ossn_get_page_owner_guid(); $poke = ossn_site_url("action/poke/user?user={$user}", true); ossn_register_menu_link('poke', ossn_print('poke'), $poke, 'profile_extramenu'); }
/** * Afageix el menú superior l'enllaç viatges. * * @return void; * @access private; */ function profile_menu_trips($event, $type, $params) { $user_loggedin = ossn_user_by_guid(ossn_get_page_owner_guid()); $url = ossn_site_url(); ossn_register_menu_link('trips', 'trips', $user_loggedin->profileURL('/trips'), 'user_timeline'); }
/** * Regisrer a about user menu * * @return void */ function profile_about_user() { $owner = ossn_user_by_guid(ossn_get_page_owner_guid()); $url = ossn_site_url(); ossn_register_menu_link('aboutuser', 'aboutuser', $owner->profileURL('/about'), 'user_timeline'); }