/** * 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(); } } }
<?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; } }
* @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(); } } }
$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(); } } }
/** * 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; } }