Skip to content

Instantly share code, notes, and snippets.

@lianglee
Created November 30, 2014 17:49
Show Gist options
  • Select an option

  • Save lianglee/26d079e31d6aa23a6a43 to your computer and use it in GitHub Desktop.

Select an option

Save lianglee/26d079e31d6aa23a6a43 to your computer and use it in GitHub Desktop.
Override OssnBlock 404 page
<?php
/**
* Open Source Social Network
*
* @package Open Source Social Network
* @author Open Social Website Core Team <[email protected]>
* @copyright 2014 iNFORMATIKON TECHNOLOGIES
* @license General Public Licence http://www.opensource-socialnetwork.org/licence
* @link http://www.opensource-socialnetwork.org/licence
*/
function mynew_com(){
//set priority to 1 so our call back loads before ossnblock
ossn_register_callback('page', 'load:profile', 'mynew_com_block_check', 1);
}
function mynew_com_block_check($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_trigger_message('You are blocked by user.', 'error');
redirect(REF);
}
}
/*
* 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_trigger_message('You are blocked by user.', 'error');
redirect(REF);
}
}
/*
* 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_trigger_message('You are blocked by user.', 'error');
redirect(REF);
}
}
/*
* 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_trigger_message('You are blocked by user.', 'error');
redirect(REF);
}
}
}
ossn_register_callback('ossn', 'init', 'mynew_com');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment