Example #1
0
function ossn_search_page($pages)
{
    $page = $pages[0];
    if (empty($page)) {
        $page = 'search';
    }
    ossn_trigger_callback('page', 'load:search');
    switch ($page) {
        case 'search':
            $query = input('q');
            $type = input('type');
            $title = ossn_print("search:result", array($query));
            if (empty($type)) {
                $params['type'] = 'users';
            } else {
                $params['type'] = $type;
            }
            $type = $params['type'];
            if (ossn_is_hook('search', "type:{$type}")) {
                $contents['contents'] = ossn_call_hook('search', "type:{$type}", array('q' => input('q')));
            }
            $contents = array('content' => ossn_plugin_view('search/pages/search', $contents));
            $content = ossn_set_page_layout('search', $contents);
            echo ossn_view_page($title, $content);
            break;
        default:
            ossn_error_page();
            break;
    }
}
function chatroom_page()
{
    $title = 'Chatroom';
    $contents = array('content' => ossn_view('components/chatroom/index'));
    $content = ossn_set_page_layout('newsfeed', $contents);
    echo ossn_view_page($title, $content);
}
Example #3
0
/**
 * Register user about page
 *
 * @return string
 */
function profile_about_user_page($hook, $type, $return, $params)
{
    $page = $params['subpage'];
    if ($page == 'about') {
        $content = ossn_plugin_view('profile/about', $params);
        echo ossn_set_page_layout('module', array('title' => ossn_print('aboutuser'), 'content' => $content));
    }
}
/**
 * Invite page handler
 * 
 * @note Please don't call this function directly in your code.
 *
 * @return mixed
 * @access private
 */
function ossn_invite_pagehandler()
{
    if (!ossn_isLoggedin()) {
        ossn_error_page();
    }
    $title = ossn_print('com:ossn:invite:friends');
    $contents['content'] = ossn_view('components/OssnInvite/pages/invite');
    $content = ossn_set_page_layout('newsfeed', $contents);
    echo ossn_view_page($title, $content);
}
Example #5
0
function severpages($pages)
{
    if (!ossn_isLoggedin()) {
        ossn_error_page();
    }
    $title = ossn_print('com:ossn:severload');
    //give a exact path to file <components/serverpages/pages/serverload>
    $contents['content'] = ossn_view('components/serverpages/pages/severload');
    $content = ossn_set_page_layout('contents', $contents);
    echo ossn_view_page($title, $content);
}
function ossn_site_pages($pages)
{
    $page = $pages[0];
    if (empty($page)) {
        redirect(REF);
    }
    $OssnSitePages = new OssnSitePages();
    switch ($page) {
        case 'about':
            $OssnSitePages->pagename = 'about';
            $OssnSitePages = $OssnSitePages->getPage();
            if (isset($OssnSitePages->description)) {
                $params['contents'] = html_entity_decode(html_entity_decode($OssnSitePages->description));
            }
            $params['title'] = ossn_print('site:about');
            $title = $params['title'];
            $contents = array('content' => ossn_view('components/OssnSitePages/pages/page', $params));
            $content = ossn_set_page_layout('contents', $contents);
            echo ossn_view_page($title, $content);
            break;
        case 'terms':
            $OssnSitePages->pagename = 'terms';
            $OssnSitePages = $OssnSitePages->getPage();
            if (isset($OssnSitePages->description)) {
                $params['contents'] = html_entity_decode(html_entity_decode($OssnSitePages->description));
            }
            $params['title'] = ossn_print('site:terms');
            $title = $params['title'];
            $contents = array('content' => ossn_view('components/OssnSitePages/pages/page', $params));
            $content = ossn_set_page_layout('contents', $contents);
            echo ossn_view_page($title, $content);
            break;
        case 'privacy':
            $OssnSitePages->pagename = 'privacy';
            $OssnSitePages = $OssnSitePages->getPage();
            if (isset($OssnSitePages->description)) {
                $params['contents'] = html_entity_decode(html_entity_decode($OssnSitePages->description));
            }
            $params['title'] = ossn_print('site:privacy');
            $title = $params['title'];
            $contents = array('content' => ossn_view('components/OssnSitePages/pages/page', $params));
            $content = ossn_set_page_layout('contents', $contents);
            echo ossn_view_page($title, $content);
            break;
        default:
            ossn_error_page();
            break;
    }
}
/**
 * OssnWall post page handlers 
 * 
 * @param array $pages List of pages
 *
 * @return false|mixed data
 * @access private
 */
function ossn_post_page($pages)
{
    $page = $pages[0];
    if (empty($page)) {
        return false;
    }
    switch ($page) {
        case 'view':
            $title = ossn_print('post:view');
            $wall = new OssnWall();
            $post = $pages[1];
            $post = $wall->GetPost($post);
            if (empty($post->guid) || empty($pages[1])) {
                ossn_error_page();
            }
            $params['post'] = $post;
            $contents = array('content' => ossn_plugin_view('wall/pages/view', $params));
            $content = ossn_set_page_layout('newsfeed', $contents);
            echo ossn_view_page($title, $content);
            break;
        case 'photo':
            if (isset($pages[1]) && isset($pages[2])) {
                $image = ossn_get_userdata("object/{$pages[1]}/ossnwall/images/{$pages[2]}");
                header('Content-Type: image/jpeg');
                echo file_get_contents($image);
            }
            break;
        case 'privacy':
            if (ossn_is_xhr()) {
                $params = array('title' => ossn_print('privacy'), 'contents' => ossn_plugin_view('wall/privacy'), 'callback' => '#ossn-wall-privacy');
                echo ossn_plugin_view('output/ossnbox', $params);
            }
            break;
        case 'refresh_home':
            echo ossn_plugin_view('wall/siteactivity');
            break;
        default:
            ossn_error_page();
            break;
    }
}
/**
 * Register basic pages
 * @pages:
 *       home,
 *    login,
 *       registered
 *
 * @return mixed contents
 */
function ossn_user_pagehandler($home, $handler)
{
    switch ($handler) {
        case 'home':
            if (!ossn_isLoggedin()) {
                ossn_error_page();
            }
            $title = ossn_print('news:feed');
            if (com_is_active('OssnWall')) {
                $contents['content'] = ossn_plugin_view('wall/pages/wall');
            }
            $content = ossn_set_page_layout('newsfeed', $contents);
            echo ossn_view_page($title, $content);
            break;
        case 'resetlogin':
            if (ossn_isLoggedin()) {
                redirect('home');
            }
            $user = input('user');
            $code = input('c');
            $contents['content'] = ossn_plugin_view('pages/contents/user/resetlogin');
            if (!empty($user) && !empty($code)) {
                $contents['content'] = ossn_plugin_view('pages/contents/user/resetcode');
            }
            $title = ossn_print('reset:login');
            $content = ossn_set_page_layout('startup', $contents);
            echo ossn_view_page($title, $content);
            break;
        case 'login':
            if (ossn_isLoggedin()) {
                redirect('home');
            }
            $title = ossn_print('site:login');
            $contents['content'] = ossn_plugin_view('pages/contents/user/login');
            $content = ossn_set_page_layout('startup', $contents);
            echo ossn_view_page($title, $content);
            break;
        case 'registered':
            if (ossn_isLoggedin()) {
                redirect('home');
            }
            $title = ossn_print('account:registered');
            $contents['content'] = ossn_plugin_view('pages/contents/user/registered');
            $content = ossn_set_page_layout('startup', $contents);
            echo ossn_view_page($title, $content);
            break;
        default:
            ossn_error_page();
            break;
    }
}
function ossn_messages_page($pages)
{
    if (!ossn_isLoggedin()) {
        ossn_error_page();
    }
    $OssnMessages = new OssnMessages();
    $page = $pages[0];
    if (empty($page)) {
        $page = 'messages';
    }
    switch ($page) {
        case 'message':
            $username = $pages[1];
            if (!empty($username)) {
                $user = ossn_user_by_username($username);
                if (empty($user->guid)) {
                    ossn_error_page();
                }
                $title = ossn_print('ossn:message:between', array($user->fullname));
                $OssnMessages->markViewed($user->guid, ossn_loggedin_user()->guid);
                $params['data'] = $OssnMessages->get(ossn_loggedin_user()->guid, $user->guid);
                $params['user'] = $user;
                $params['recent'] = $OssnMessages->recentChat(ossn_loggedin_user()->guid);
                $contents = array('content' => ossn_plugin_view('messages/pages/view', $params));
                $content = ossn_set_page_layout('media', $contents);
                echo ossn_view_page($title, $content);
            } else {
                ossn_error_page();
            }
            break;
        case 'all':
            $params['recent'] = $OssnMessages->recentChat(ossn_loggedin_user()->guid);
            $active = $params['recent'][0];
            if (isset($active->message_to) && $active->message_to == ossn_loggedin_user()->guid) {
                $getuser = $active->message_from;
            }
            if (isset($active->message_from) && $active->message_from == ossn_loggedin_user()->guid) {
                $getuser = $active->message_to;
            }
            if (isset($getuser)) {
                $user = ossn_user_by_guid($getuser);
                $OssnMessages->markViewed($getuser, ossn_loggedin_user()->guid);
                $params['data'] = $OssnMessages->get(ossn_loggedin_user()->guid, $getuser);
                $params['user'] = $user;
            }
            $contents = array('content' => ossn_plugin_view('messages/pages/messages', $params));
            if (!isset($getuser)) {
                $contents = array('content' => ossn_plugin_view('messages/pages/messages-none'));
            }
            $title = ossn_print('messages');
            $content = ossn_set_page_layout('media', $contents);
            echo ossn_view_page($title, $content);
            break;
        case 'getnew':
            $username = $pages[1];
            $guid = ossn_user_by_username($username)->guid;
            $messages = $OssnMessages->getNew($guid, ossn_loggedin_user()->guid);
            if ($messages) {
                foreach ($messages as $message) {
                    $user = ossn_user_by_guid($message->message_from);
                    $message = $message->message;
                    $params['user'] = $user;
                    $params['message'] = $message;
                    echo ossn_plugin_view('messages/templates/message-send', $params);
                }
                $OssnMessages->markViewed($guid, ossn_loggedin_user()->guid);
                echo '<script>Ossn.playSound();</script>';
            }
            break;
        case 'getrecent':
            $params['recent'] = $OssnMessages->recentChat(ossn_loggedin_user()->guid);
            echo ossn_plugin_view('messages/templates/message-with', $params);
            break;
        default:
            ossn_error_page();
            break;
    }
}
<?php

/**
 *    OpenSource-SocialNetwork
 *
 * @package   (Informatikon.com).ossn
 * @author    OSSN Core Team <*****@*****.**>
 * @copyright 2014 iNFORMATIKON TECHNOLOGIES
 * @license   General Public Licence http://opensource-socialnetwork.com/licence
 * @link      http://www.opensource-socialnetwork.com/licence
 */
$title = ossn_print('site:index');
$content = ossn_set_page_layout('startup', array('content' => ossn_view('pages/contents/index')));
echo ossn_view_page($title, $content);
/**
 * Register a page handler for administrator login;
 * @pages:
 *       administrator/login,
 * @return mixeddata
 */
function ossn_administrator_login_pagehandler($pages)
{
    $page = $pages[0];
    if (empty($page)) {
        $page = 'login';
    }
    switch ($page) {
        case 'login':
            $title = 'Login';
            $contents['contents'] = ossn_view("pages/administrator/contents/login");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/login', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        default:
            echo 403;
            break;
    }
}
/**
 * Notifications page
 *
 * @param (array) $pages Array containg pages
 *
 * @return mixed data;
 * @access public
 */
function ossn_notifications_page($pages)
{
    $page = $pages[0];
    if (empty($page)) {
        return false;
    }
    switch ($page) {
        case 'all':
            $title = 'Notifications';
            $contents = array('content' => ossn_view('components/OssnNotifications/pages/all'));
            $content = ossn_set_page_layout('media', $contents);
            echo ossn_view_page($title, $content);
            break;
        default:
            ossn_error_page();
            break;
    }
}
Example #13
0
/**
 * Register user trips page (profile subpage)
 *
 * @return mix data
 * @access private;
 */
function profile_trips_page($hook, $type, $return, $params)
{
    $page = $params['subpage'];
    if ($page == 'trips') {
        $user['user'] = $params['user'];
        $control = false;
        //show add trip if loggedin user is owner
        if (ossn_loggedin_user()->guid == $user['user']->guid) {
            $owner = ossn_user_by_guid($user['user']->guid);
            //$url = ossn_site_url() . 'trip/add';
            $addtrip = array('text' => ossn_print('add:trip'), 'href' => ossn_site_url("trip/add"), 'id' => 'ossn-add-trip', 'class' => 'button-grey');
            $control = ossn_plugin_view('output/url', $addtrip);
        }
        $map = ossn_plugin_view('trips/pages/trip/get', $user);
        //Mostra el els viatges
        echo ossn_set_page_layout('module', array('title' => ossn_print('trips:ossn'), 'content' => $map, 'controls' => $control));
    }
}
/**
 * Register user photos page (profile subpage)
 *
 * @return mix data
 * @access private;
 */
function ossn_profile_photos_page($hook, $type, $return, $params)
{
    $page = $params['subpage'];
    if ($page == 'photos') {
        $user['user'] = $params['user'];
        $control = false;
        //show add album if loggedin user is owner
        if (ossn_loggedin_user()->guid == $user['user']->guid) {
            $addalbum = array('text' => ossn_print('add:album'), 'href' => 'javascript::;', 'id' => 'ossn-add-album', 'class' => 'button-grey');
            $control = ossn_plugin_view('output/url', $addalbum);
        }
        $friends = ossn_plugin_view('photos/pages/photos', $user);
        echo ossn_set_page_layout('module', array('title' => ossn_print('photo:albums'), 'content' => $friends, 'controls' => $control));
    }
}
Example #15
0
/**
 * Group member requests page
 *
 * Page:
 *      group/<guid>/requests
 *
 * @return mixdata;
 * @access private
 */
function group_requests_page($hook, $type, $return, $params)
{
    $page = $params['subpage'];
    $group = ossn_get_group_by_guid(ossn_get_page_owner_guid());
    if ($page == 'requests') {
        if ($group->owner_guid !== ossn_loggedin_user()->guid) {
            redirect("group/{$group->guid}");
        }
        $mod_content = ossn_plugin_view('groups/pages/requests', array('group' => $group));
        $mod = array('title' => ossn_print('requests'), 'content' => $mod_content);
        echo ossn_set_page_layout('module', $mod);
    }
}
Example #16
0
/**
 * Output Ossn Error page
 *
 * @return mix data
 */
function ossn_error_page()
{
    if (ossn_is_xhr()) {
        header("HTTP/1.0 404 Not Found");
    } else {
        $title = ossn_print('page:error');
        $contents['content'] = ossn_plugin_view('pages/contents/error');
        $contents['background'] = false;
        $content = ossn_set_page_layout('contents', $contents);
        $data = ossn_view_page($title, $content);
        echo $data;
    }
    exit;
}
Example #17
0
/**
 * OssnWall post page handlers 
 * 
 * @param array $pages List of pages
 *
 * @return false|mixed data
 * @access private
 */
function ossn_post_page($pages)
{
    $page = $pages[0];
    if (empty($page)) {
        return false;
    }
    switch ($page) {
        case 'view':
            $title = ossn_print('post:view');
            $wall = new OssnWall();
            $post = $pages[1];
            $post = $wall->GetPost($post);
            if (empty($post->guid) || empty($pages[1])) {
                ossn_error_page();
            }
            $params['post'] = $post;
            $contents = array('content' => ossn_plugin_view('wall/pages/view', $params));
            $content = ossn_set_page_layout('newsfeed', $contents);
            echo ossn_view_page($title, $content);
            break;
        case 'photo':
            if (isset($pages[1]) && isset($pages[2])) {
                $name = str_replace(array('.jpg', '.jpeg', 'gif'), '', $pages[2]);
                $etag = $pages[1] . $name;
                if (isset($_SERVER['HTTP_IF_NONE_MATCH']) && trim($_SERVER['HTTP_IF_NONE_MATCH']) == "\"{$etag}\"") {
                    header("HTTP/1.1 304 Not Modified");
                    exit;
                }
                $image = ossn_get_userdata("object/{$pages[1]}/ossnwall/images/{$pages[2]}");
                //get image file else show error page
                if (is_file($image)) {
                    //Image cache on wall post #529
                    $filesize = filesize($image);
                    header("Content-type: image/jpeg");
                    header('Expires: ' . gmdate('D, d M Y H:i:s \\G\\M\\T', strtotime("+6 months")), true);
                    header("Pragma: public");
                    header("Cache-Control: public");
                    header("Content-Length: {$filesize}");
                    header("ETag: \"{$etag}\"");
                    readfile($image);
                    return;
                } else {
                    ossn_error_page();
                }
            }
            break;
        case 'privacy':
            if (ossn_is_xhr()) {
                $params = array('title' => ossn_print('privacy'), 'contents' => ossn_plugin_view('wall/privacy'), 'callback' => '#ossn-wall-privacy');
                echo ossn_plugin_view('output/ossnbox', $params);
            }
            break;
        case 'refresh_home':
            echo ossn_plugin_view('wall/siteactivity');
            break;
        default:
            ossn_error_page();
            break;
    }
}
Example #18
0
/**
 * Profile page handler
 *
 * @return false|null data;
 */
function profile_page_handler($page)
{
    $user = ossn_user_by_username($page[0]);
    if (empty($user->guid)) {
        ossn_error_page();
    }
    ossn_set_page_owner_guid($user->guid);
    ossn_trigger_callback('page', 'load:profile');
    $params['user'] = $user;
    $params['page'] = $page;
    if (isset($page[1])) {
        $params['subpage'] = $page[1];
    } else {
        $params['subpage'] = '';
    }
    if (!ossn_is_profile_subapge($params['subpage']) && !empty($params['subpage'])) {
        return false;
    }
    $title = $user->fullname;
    $contents['content'] = ossn_plugin_view('profile/pages/profile', $params);
    $content = ossn_set_page_layout('contents', $contents);
    echo ossn_view_page($title, $content);
}
/**
 * Output Ossn Error page
 *
 * @return mix data
 */
function ossn_error_page()
{
    $title = ossn_print('page:error');
    $contents['content'] = ossn_view('pages/contents/error');
    $contents['background'] = false;
    $content = ossn_set_page_layout('contents', $contents);
    $data = ossn_view_page($title, $content);
    echo $data;
    exit;
}
Example #20
0
/**
 * Register a page handler for administrator login;
 * @pages:
 *       administrator/login,
 * @return mixeddata
 */
function ossn_administrator_login_pagehandler($pages)
{
    $page = $pages[0];
    if (empty($page)) {
        $page = 'login';
    }
    $logout = input('logout');
    if ($logout == 'true') {
        ossn_trigger_message(ossn_print('logged:out'));
        redirect('administrator');
    }
    switch ($page) {
        case 'login':
            $title = ossn_print('admin:login');
            $contents['contents'] = ossn_plugin_view("pages/administrator/contents/login");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/login', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        default:
            ossn_error_page();
            break;
    }
}