/**
 * 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');
}
Example #2
0
/**
 * 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');
}
Example #7
0
/**
 * 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');
}
Example #12
0
/**
 * 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');
}
Example #13
0
/**
 * 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');
}