/**
 * Check user blocks.
 *
 * @return void;
 * @access private;
 */
function ossn_user_block($name, $type, $return, $params)
{
    /*
     * Deny from visiting profile
     */
    if ($params['handler'] == 'u') {
        $user = ossn_user_by_username($params['page'][0]);
        if (OssnBlock::UserBlockCheck($user)) {
            ossn_error_page();
        }
    }
    /*
     * Deny from sending messages
     */
    if ($params['handler'] == 'messages' && isset($params['page'][1])) {
        $user = ossn_user_by_username($params['page'][1]);
        if ($user && OssnBlock::UserBlockCheck($user)) {
            ossn_error_page();
        }
    }
    /*
     * Deny from viewing user wall posts
     */
    if ($params['handler'] == 'post' && $params['page'][0] == 'view' && com_is_active('OssnWall')) {
        $post = new OssnWall();
        $post = $post->GetPost($params['page'][1]);
        $user = ossn_user_by_guid($post->owner_guid);
        if (OssnBlock::UserBlockCheck($user)) {
            ossn_error_page();
        }
    }
    /*
     * Deny from viewing profile photos album and albums
     */
    if ($params['handler'] == 'album') {
        //check if album is profile photos
        if ($params['page'][0] == 'profile') {
            $user = ossn_user_by_guid($params['page'][1]);
            //if album is not profile photos album then it means it simple album
        } elseif ($params['page'][0] == 'view') {
            $album = new OssnAlbums();
            $album = $album->GetAlbum($params['page'][1]);
            $user = ossn_user_by_guid($album->album->owner_guid);
        }
        if (isset($user) && OssnBlock::UserBlockCheck($user)) {
            ossn_error_page();
        }
    }
}
Exemple #2
0
<?php

/**
 * Open Source Social Network
 *
 * @package   (Informatikon.com).ossn
 * @author    OSSN Core Team <*****@*****.**>
 * @copyright 2014 iNFORMATIKON TECHNOLOGIES
 * @license   General Public Licence http://www.opensource-socialnetwork.org/licence
 * @link      http://www.opensource-socialnetwork.org/licence
 */
$entity = ossn_user_by_username(input('username'));
if (!$entity) {
    redirect(REF);
}
$user['firstname'] = input('firstname');
$user['lastname'] = input('lastname');
$user['email'] = input('email');
$user['gender'] = input('gender');
$user['type'] = input('type');
$user['username'] = input('username');
$user['bdd'] = input('birthday');
$user['bdm'] = input('birthm');
$user['bdy'] = input('birthy');
if (!empty($user)) {
    foreach ($user as $field => $value) {
        if (empty($value)) {
            ossn_trigger_message(ossn_print('fields:require'), 'error');
            redirect(REF);
        }
    }
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;
    }
}
Exemple #4
0
 * @author    OSSN Core Team <*****@*****.**>
 * @copyright 2014 iNFORMATIKON TECHNOLOGIES
 * @license   General Public Licence http://www.opensource-socialnetwork.org/licence
 * @link      http://www.opensource-socialnetwork.org/licence
 */
if (ossn_isAdminLoggedin()) {
    redirect('administrator/dashboard');
}
$username = input('username');
$password = input('password');
//check if username is email
if (strpos($username, '@') !== false) {
    $user = ossn_user_by_email($username);
    $username = $user->username;
}
if (ossn_user_by_username($username)->type !== 'admin') {
    ossn_trigger_message(ossn_print('login:error'), 'error');
    redirect(REF);
}
if (empty($username) || empty($password)) {
    ossn_trigger_message(ossn_print('login:error'), 'error');
    redirect(REF);
}
$login = new OssnUser();
$login->username = $username;
$login->password = $password;
if ($login->Login()) {
    ossn_trigger_message(ossn_print('login:success'), 'success');
    redirect(REF);
} else {
    ossn_trigger_message(ossn_print('login:error'), 'error');
/**
 * Register a page handler for administrator;
 * @pages:
 *       administrator,
 *    administrator/dasbhoard,
 *       administrator/component,
 *       administrator/components,
 *       administrator/com_installer,
 *       administrator/theme_installer,
 *       administrator/settings/<page>,
 *       administrator/cache,
 *       administrator/users,
 *       administrator/edituser
 *
 * @return bool
 */
function ossn_administrator_pagehandler($pages)
{
    $page = $pages[0];
    if (empty($page)) {
        $page = 'dashboard';
    }
    switch ($page) {
        case 'dashboard':
            $title = ossn_print('admin:dashboard');
            $contents['contents'] = ossn_view('pages/administrator/contents/dashboard');
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'component':
            global $Ossn;
            if (isset($pages[1]) && in_array($pages[1], ossn_registered_com_panel())) {
                $com['com'] = OssnComponents::getCom($pages[1]);
                $com['settings'] = ossn_components()->getComSettings($pages[1]);
                $title = $com['com']->com_name;
                $contents['contents'] = ossn_view("components/{$pages[1]}/administrator/{$Ossn->com_panel[$pages[1]]}", $com);
                $contents['title'] = $title;
                $content = ossn_set_page_layout('administrator/administrator', $contents);
                echo ossn_view_page($title, $content, 'administrator');
            }
            break;
        case 'components':
            $title = 'Components';
            $contents['contents'] = ossn_view("pages/administrator/contents/components");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'themes':
            $title = 'Themes';
            $contents['contents'] = ossn_view("pages/administrator/contents/themes");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'com_installer':
            $title = 'Component Installer';
            $contents['contents'] = ossn_view("pages/administrator/contents/com_installer");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'theme_installer':
            $title = 'Theme Installer';
            $contents['contents'] = ossn_view("pages/administrator/contents/theme_installer");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'settings':
            global $Ossn;
            if (isset($pages[1]) && in_array($pages[1], ossn_registered_settings_pages())) {
                $title = ossn_print("{$pages[1]}:settings");
                $contents['contents'] = ossn_view($Ossn->adminSettingsPage[$pages[1]]);
                $contents['title'] = $title;
                $content = ossn_set_page_layout('administrator/administrator', $contents);
                echo ossn_view_page($title, $content, 'administrator');
            }
            break;
        case 'cache':
            $title = 'Cache Settings';
            $contents['contents'] = ossn_view("pages/administrator/contents/cache");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'adduser':
            $title = 'Add User';
            $contents['contents'] = ossn_view("pages/administrator/contents/adduser");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'users':
            $title = 'Users List';
            $contents['contents'] = ossn_view("pages/administrator/contents/users/list");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'edituser':
            if (isset($pages[1])) {
                $user['user'] = ossn_user_by_username($pages[1]);
            }
            $title = 'Edit User';
            $contents['contents'] = ossn_view("pages/administrator/contents/user/edit", $user);
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        default:
            echo 403;
            break;
    }
}
 *    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
 */
if (ossn_isLoggedin()) {
    redirect('home');
}
$username = input('username');
$password = input('password');
if (empty($username) || empty($password)) {
    ossn_trigger_message(ossn_print('login:error'));
    redirect();
}
$user = ossn_user_by_username($username);
if ($user && !$user->isUserVALIDATED()) {
    $user->resendValidationEmail();
    ossn_trigger_message(ossn_print('ossn:user:validation:resend'), 'error');
    redirect(REF);
}
$login = new OssnUser();
$login->username = $username;
$login->password = $password;
if ($login->Login()) {
    redirect(REF);
} else {
    redirect('login?error=1');
}
/**
 * Ossn Photos page handler
 * @pages:
 *       view,
 *    user,
 *       add,
 *       viewer
 *
 * @return mixed contents
 */
function ossn_photos_page_handler($album)
{
    $page = $album[0];
    if (empty($page)) {
        ossn_error_page();
    }
    switch ($page) {
        case 'view':
            if (isset($album[1])) {
                $title = ossn_print('photos');
                $photo['photo'] = $album[1];
                $view = new OssnPhotos();
                $image = $view->GetPhoto($photo['photo']);
                $photo['entity'] = $image;
                //redirect user to home page if image is empty
                if (empty($image)) {
                    redirect();
                }
                //throw 404 page if there is no album access
                $albumget = ossn_albums();
                $owner = $albumget->GetAlbum($image->owner_guid)->album;
                if ($owner->access == 3) {
                    if (!ossn_validate_access_friends($owner->owner_guid)) {
                        ossn_error_page();
                    }
                }
                //shows widget back button
                $addphotos = array('text' => ossn_print('back'), 'href' => 'javascript::;', 'class' => 'button-grey');
                $control = ossn_plugin_view('output/url', $addphotos);
                $contents = array('title' => ossn_print('photos'), 'content' => ossn_plugin_view('photos/pages/photo/view', $photo), 'controls' => $control);
                //set page layout
                $module['content'] = ossn_set_page_layout('media', $contents);
                $content = ossn_set_page_layout('contents', $module);
                echo ossn_view_page($title, $content);
            }
            break;
        case 'user':
            if (isset($album[1]) && isset($album[2]) && $album[1] == 'view') {
                $title = ossn_print('photos');
                $photo['photo'] = $album[2];
                $type = input('type');
                $view = new OssnPhotos();
                $image = $view->GetPhoto($photo['photo']);
                $photo['entity'] = $image;
                //redirect user if photo is empty
                if (empty($image->value)) {
                    redirect();
                }
                $addphotos = array('text' => ossn_print('back'), 'href' => 'javascript::;', 'class' => 'button-grey');
                $control = ossn_plugin_view('output/url', $addphotos);
                $contents = array('title' => 'Photos', 'content' => ossn_plugin_view('photos/pages/profile/photos/view', $photo), 'controls' => $control);
                //set page layout
                $module['content'] = ossn_set_page_layout('media', $contents);
                $content = ossn_set_page_layout('contents', $module);
                echo ossn_view_page($title, $content);
            }
            break;
        case 'cover':
            if (isset($album[1]) && isset($album[2]) && $album[1] == 'view') {
                $title = ossn_print('cover:view');
                $photo['photo'] = $album[2];
                $type = input('type');
                $image = ossn_get_entity($photo['photo']);
                $photo['entity'] = $image;
                //redirect user if photo is empty
                if (empty($image->value)) {
                    redirect();
                }
                $addphotos = array('text' => ossn_print('back'), 'href' => 'javascript::;', 'class' => 'button-grey');
                $control = ossn_plugin_view('output/url', $addphotos);
                $contents = array('title' => 'Photos', 'content' => ossn_plugin_view('photos/pages/profile/covers/view', $photo), 'controls' => $control);
                //set page layout
                $module['content'] = ossn_set_page_layout('media', $contents);
                $content = ossn_set_page_layout('contents', $module);
                echo ossn_view_page($title, $content);
            }
            break;
        case 'add':
            //add photos (ajax)
            if (!ossn_is_xhr()) {
                ossn_error_page();
            }
            echo ossn_plugin_view('output/ossnbox', array('title' => ossn_print('add:photos'), 'contents' => ossn_plugin_view('photos/pages/photos/add'), 'callback' => '#ossn-photos-submit'));
            break;
        case 'viewer':
            //ossn image viewer currently works for profile images
            $image = input('user');
            $url = ossn_site_url("avatar/{$image}");
            $media = "<img src='{$url}' />";
            $photo_guid = get_profile_photo_guid(ossn_user_by_username($image)->guid);
            //set viewer sidebar (comments and likes)
            $sidebar = ossn_plugin_view('photos/viewer/comments', array('entity_guid' => $photo_guid));
            echo ossn_plugin_view('output/viewer', array('media' => $media, 'sidebar' => $sidebar));
            break;
        default:
            ossn_error_page();
            break;
    }
}
/**
 * Avatar page handler
 *
 * @return image;
 */
function avatar_page_handler($avatar)
{
    if (isset($avatar[0])) {
        if (!isset($avatar[1]) && empty($avatar[1])) {
            $avatar[1] = '';
        }
        $user = ossn_user_by_username($avatar[0]);
        if (!empty($user->guid)) {
            get_profile_photo($user, $avatar[1]);
        } else {
            ossn_error_page();
        }
    }
}
Exemple #9
0
$user['bdy'] = input('birthy');
if (!empty($user)) {
    foreach ($user as $field => $value) {
        if (empty($value)) {
            ossn_trigger_message(ossn_print('fields:require'), 'error');
            redirect(REF);
        }
    }
}
$password = input('password');
$user['birthdate'] = "{$user['bdd']}/{$user['bdm']}/{$user['bdy']}";
$OssnUser = new OssnUser();
$OssnUser->password = $password;
$OssnUser->email = $user['email'];
$OssnDatabase = new OssnDatabase();
$user_get = ossn_user_by_username(input('username'));
if ($user_get->guid !== ossn_loggedin_user()->guid) {
    redirect("home");
}
$params['table'] = 'ossn_users';
$params['wheres'] = array("guid='{$user_get->guid}'");
$params['names'] = array('first_name', 'last_name', 'email');
$params['values'] = array($user['firstname'], $user['lastname'], $user['email']);
//check if email is not in user
if ($entity->email !== input('email')) {
    if ($OssnUser->isOssnEmail()) {
        ossn_trigger_message(ossn_print('email:inuse'), 'error');
        redirect(REF);
    }
}
//check if email is valid email
/**
 * Avatar page handler
 *
 * @return image;
 */
function avatar_page_handler($avatar)
{
    if (isset($avatar[0])) {
        if (!isset($avatar[1]) && empty($avatar[1])) {
            $avatar[1] = '';
        }
        $user = ossn_user_by_username($avatar[0]);
        if (!empty($user->guid)) {
            header('Content-Type: image/jpeg');
            echo get_profile_photo($user->guid, $avatar[1]);
        } else {
            ossn_error_page();
        }
    }
}
Exemple #11
0
/**
 * Register a page handler for administrator;
 * @pages:
 *       administrator,
 *    administrator/dasbhoard,
 *       administrator/component,
 *       administrator/components,
 *       administrator/com_installer,
 *       administrator/theme_installer,
 *       administrator/settings/<page>,
 *       administrator/cache,
 *       administrator/users,
 *       administrator/edituser
 *
 * @return boolean|null
 */
function ossn_administrator_pagehandler($pages)
{
    $page = $pages[0];
    if (empty($page)) {
        $page = 'dashboard';
    }
    switch ($page) {
        case 'dashboard':
            $title = ossn_print('admin:dashboard');
            $contents['contents'] = ossn_plugin_view('pages/administrator/contents/dashboard');
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'component':
            global $Ossn;
            if (isset($pages[1]) && in_array($pages[1], ossn_registered_com_panel())) {
                $com['com'] = OssnComponents::getCom($pages[1]);
                $com['settings'] = ossn_components()->getComSettings($pages[1]);
                $title = $com['com']->name;
                $contents['contents'] = ossn_plugin_view("settings/administrator/{$pages[1]}/{$Ossn->com_panel[$pages[1]]}", $com);
                $contents['title'] = $title;
                $content = ossn_set_page_layout('administrator/administrator', $contents);
                echo ossn_view_page($title, $content, 'administrator');
            }
            break;
        case 'components':
            $title = ossn_print('admin:components');
            $contents['contents'] = ossn_plugin_view("pages/administrator/contents/components");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'themes':
            $title = ossn_print('admin:themes');
            $contents['contents'] = ossn_plugin_view("pages/administrator/contents/themes");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'com_installer':
            $title = ossn_print('admin:com:installer');
            $contents['contents'] = ossn_plugin_view("pages/administrator/contents/com_installer");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'theme_installer':
            $title = ossn_print('admin:theme:installer');
            $contents['contents'] = ossn_plugin_view("pages/administrator/contents/theme_installer");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'settings':
            global $Ossn;
            if (isset($pages[1]) && in_array($pages[1], ossn_registered_settings_pages())) {
                $title = ossn_print("{$pages[1]}:settings");
                //file should be in plugins/views/default/settings/<file> $arsalanshah
                $contents['contents'] = ossn_plugin_view($Ossn->adminSettingsPage[$pages[1]]);
                $contents['title'] = $title;
                $content = ossn_set_page_layout('administrator/administrator', $contents);
                echo ossn_view_page($title, $content, 'administrator');
            }
            break;
        case 'cache':
            $title = ossn_print('admin:cache:settings');
            $contents['contents'] = ossn_plugin_view("pages/administrator/contents/cache");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'adduser':
            $title = ossn_print('admin:add:user');
            $contents['contents'] = ossn_plugin_view("pages/administrator/contents/adduser");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'users':
            $title = ossn_print('admin:user:list');
            $contents['contents'] = ossn_plugin_view("pages/administrator/contents/users/list");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'unvalidated_users':
            $title = ossn_print('admin:users:unvalidated');
            $contents['contents'] = ossn_plugin_view("pages/administrator/contents/users/unvalidated");
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'edituser':
            if (isset($pages[1])) {
                $user['user'] = ossn_user_by_username($pages[1]);
            }
            $title = ossn_print('admin:edit:user');
            $contents['contents'] = ossn_plugin_view("pages/administrator/contents/user/edit", $user);
            $contents['title'] = $title;
            $content = ossn_set_page_layout('administrator/administrator', $contents);
            echo ossn_view_page($title, $content, 'administrator');
            break;
        case 'version':
            header('Content-Type: application/json');
            $version = array('version' => ossn_check_update());
            echo json_encode($version);
            break;
        default:
            ossn_error_page();
            break;
    }
}