/**
 * 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');
}
/**
 * Trigger upgrade / Run upgrade
 *
 * @return void;
 * @access private
 */
function ossn_trigger_upgrades()
{
    if (!ossn_isAdminLoggedin()) {
        ossn_kill_upgrading();
        ossn_error_page();
    }
    $upgrades = ossn_get_process_upgrade_files();
    if (!is_array($upgrades) || empty($upgrades)) {
        ossn_trigger_message(ossn_print('upgrade:not:available'), 'error');
        ossn_kill_upgrading();
        redirect('administrator');
    }
    foreach ($upgrades as $upgrade) {
        $file = ossn_route()->upgrade . "upgrades/{$upgrade}";
        if (!(include_once $file)) {
            throw new exception(ossn_print('upgrade:file:load:error'));
        }
    }
    //need to reset cache files
    if (ossn_site_settings('cache') !== 0) {
        ossn_trigger_css_cache();
        ossn_trigger_js_cache();
    }
    return true;
}
Example #3
0
/**
 * Home sidebar initlize the component
 * 
 * return void
 */
function html_sidebar()
{
    ossn_add_hook('newsfeed', "sidebar:right", 'html_widget');
    ossn_register_com_panel('HtmlSidebar', 'settings');
    if (ossn_isAdminLoggedin()) {
        ossn_register_action('html/sidebar/save', __HTML_SIDEBAR__ . 'actions/save.php');
    }
}
Example #4
0
/**
 * Initialize Ads Component
 *
 * @return void;
 * @access private
 */
function ossn_ads()
{
    ossn_register_com_panel('OssnAds', 'settings');
    if (ossn_isAdminLoggedin()) {
        ossn_register_action('ossnads/add', __OSSN_ADS__ . 'actions/add.php');
        ossn_register_action('ossnads/edit', __OSSN_ADS__ . 'actions/edit.php');
        ossn_register_action('ossnads/delete', __OSSN_ADS__ . 'actions/delete.php');
    }
    ossn_register_page('ossnads', 'ossn_ads_handler');
    ossn_extend_view('css/ossn.default', 'css/ads');
    ossn_extend_view('css/ossn.admin.default', 'css/ads.admin');
}
/**
 * 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');
    }
}
<?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
 */
$photoid = input('id');
$delete = ossn_photos();
$delete->photoid = $photoid;
$photo = $delete->GetPhoto($delete->photoid);
if ($photo->owner_guid == ossn_loggedin_user()->guid || ossn_isAdminLoggedin()) {
    if ($delete->deleteProfilePhoto()) {
        ossn_trigger_message(ossn_print('photo:deleted:success'), 'success');
        redirect();
    } else {
        ossn_trigger_message(ossn_print('photo:delete:error'), 'error');
        redirect();
    }
} else {
    ossn_trigger_message(ossn_print('photo:delete:error'), 'error');
    redirect();
}
/**
 * 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');
        }
    }
}
/**
 * Show a leftside menu on album photo view
 *
 * @return mix data
 * @access private;
 */
function ossn_album_photo_menu($hook, $type, $return, $params)
{
    $album = ossn_albums()->getAlbum($params->owner_guid);
    if ($album->album->owner_guid == ossn_loggedin_user()->guid || ossn_isAdminLoggedin()) {
        return ossn_view('components/OssnPhotos/views/albumphoto/menu', $params);
    }
}
Example #9
0
 */
$ossnwall = new OssnWall();
$id = input('post');
$post = $ossnwall->GetPost($id);
if ($post->type == 'user' && !ossn_isAdminLoggedin()) {
    if ($post->poster_guid !== ossn_loggedin_user()->guid && $post->owner_guid !== ossn_loggedin_user()->guid) {
        if (!ossn_is_xhr()) {
            ossn_trigger_message(ossn_print('post:delete:fail'), 'error');
            redirect(REF);
        } else {
            echo 0;
            exit;
        }
    }
}
if ($post->type == 'group' && !ossn_isAdminLoggedin()) {
    $group = new OssnGroup();
    $group = $group->getGroup($post->owner_guid);
    //lastchange group admins are unable to delete member posting on group wall #171
    // change or operator to and
    if ($post->poster_guid !== ossn_loggedin_user()->guid && ossn_loggedin_user()->guid !== $group->owner_guid) {
        if (!ossn_is_xhr()) {
            ossn_trigger_message(ossn_print('post:delete:fail'), 'error');
            redirect(REF);
        } else {
            echo 0;
            exit;
        }
    }
}
if ($ossnwall->deletePost($id)) {
Example #10
0
<?php

/**
 * Open Source Social Network
 *
 * @packageOpen Source Social Network
 * @author    Open Social Website Core Team <*****@*****.**>
 * @copyright 2014 iNFORMATIKON TECHNOLOGIES
 * @license   General Public Licence http://www.opensource-socialnetwork.org/licence
 * @link      http://www.opensource-socialnetwork.org/licence
 */
$guid = input('guid');
$group = ossn_get_group_by_guid($guid);
if ($group->owner_guid !== ossn_loggedin_user()->guid) {
    ossn_trigger_message(ossn_print('group:delete:fail'), 'error');
    redirect(REF);
}
if ($group->owner_guid !== ossn_loggedin_user()->guid || ossn_isAdminLoggedin()) {
    if ($group->deleteGroup($group->guid)) {
        ossn_trigger_message(ossn_print('group:deleted'));
        redirect();
    } else {
        ossn_trigger_message(ossn_print('group:delete:fail'), 'error');
        redirect(REF);
    }
} else {
    ossn_trigger_message(ossn_print('group:delete:fail'), 'error');
    redirect(REF);
}
<?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
 */
$comment = input('comment');
$delete = new OssnComments();
if ($delete->GetComment($comment)->owner_guid == ossn_loggedin_user()->guid || ossn_isAdminLoggedin()) {
    if ($delete->deleteComment($comment)) {
        if (ossn_is_xhr()) {
            echo 1;
        } else {
            ossn_trigger_message(ossn_print('comment:deleted'), 'success');
            redirect(REF);
        }
    } else {
        if (ossn_is_xhr()) {
            echo 0;
        } else {
            ossn_trigger_message(ossn_print('comment:delete:error'), 'error');
            redirect(REF);
        }
    }
} else {
    if (ossn_is_xhr()) {
Example #12
0
$delete = new OssnComments();
$comment = $delete->GetComment($comment);
//group admins must be able to delete ANY comment in their own group #170
//first get wall post then get group and check if loggedin user is group owner
if ($comment->type == 'comments:post') {
    $post = ossn_get_object($comment->subject_guid);
    if ($post && $post->type == 'group') {
        $group = ossn_get_group_by_guid($post->owner_guid);
    }
}
$user = ossn_loggedin_user();
if ($comment->type == 'comments:entity') {
    $entity = ossn_get_entity($comment->subject_guid);
}
//Post owner can not delete others comments #607
if ($comment->owner_guid == $user->guid || $post->type == 'user' && $user->guid == $post->owner_guid || $group->owner_guid == $user->guid || $entity->owner_guid == $user->guid || ossn_isAdminLoggedin()) {
    if ($delete->deleteComment($comment->getID())) {
        if (ossn_is_xhr()) {
            echo 1;
        } else {
            ossn_trigger_message(ossn_print('comment:deleted'), 'success');
            redirect(REF);
        }
    } else {
        if (ossn_is_xhr()) {
            echo 0;
        } else {
            ossn_trigger_message(ossn_print('comment:delete:error'), 'error');
            redirect(REF);
        }
    }
Example #13
0
 /**
  * Can change
  * Check if user can change the requested item or not
  *
  * @param object $user User
  * @return boolean
  */
 public function canChange($user = '')
 {
     if (empty($user)) {
         $user = ossn_loggedin_user();
     }
     $allowed = false;
     if (isset($user->guid) && $user instanceof OssnUser) {
         if (isset($this->owner_guid) && $this->type == 'user' && $this->owner_guid == $user->guid || ossn_isAdminLoggedin()) {
             $allowed = true;
         }
     }
     return ossn_call_hook('user', 'can:change', $this, $allowed);
 }
Example #14
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
 */
$photoid = input('id');
$delete = ossn_photos();
$delete->photoid = $photoid;
$photo = $delete->GetPhoto($delete->photoid);
$owner = ossn_albums();
$owner = $owner->GetAlbum($photo->owner_guid);
if ($owner->album->owner_guid == ossn_loggedin_user()->guid || ossn_isAdminLoggedin()) {
    if ($delete->deleteAlbumPhoto()) {
        ossn_trigger_message(ossn_print('photo:deleted:success'), 'success');
        redirect("album/view/{$owner->album->guid}");
    } else {
        ossn_trigger_message(ossn_print('photo:delete:error'), 'error');
        redirect(REF);
    }
} else {
    ossn_trigger_message(ossn_print('photo:delete:error'), 'error');
    redirect(REF);
}
Example #15
0
 /**
  * Delete Album
  *
  * @param integer $guid Album Guid
  *
  * @return boolean
  */
 public function deleteAlbum($guid)
 {
     if (!empty($guid)) {
         $album = $this->GetAlbum($guid);
         if ($album->album->owner_guid == ossn_loggedin_user()->guid || ossn_isAdminLoggedin()) {
             $photos = new OssnPhotos();
             foreach ($album->photos as $photo) {
                 $photos->photoid = $photo->guid;
                 $photos->deleteAlbumPhoto();
             }
             if ($album->album->deleteObject()) {
                 return true;
             }
         }
     }
     return false;
 }
Example #16
0
/**
 * Delete comment menu
 *
 * @return voud;
 * @access private
 */
function ossn_comment_menu($name, $type, $params)
{
    $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_unregister_menu('delete', 'comments');
                ossn_register_menu_item('comments', array('name' => 'delete', 'href' => ossn_site_url("action/delete/comment?comment={$params['id']}", true), 'class' => 'ossn-delete-comment', 'text' => ossn_print('comment:delete')));
            }
        }
    }
    $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_unregister_menu('delete', 'comments');
            ossn_register_menu_item('comments', array('name' => 'delete', 'href' => ossn_site_url("action/delete/comment?comment={$params['id']}", true), 'class' => 'ossn-delete-comment', 'text' => ossn_print('comment:delete')));
        }
    }
}
Example #17
0
$posts = $Pagination->getItem();
if ($posts) {
    foreach ($posts as $post) {
        $data = json_decode(html_entity_decode($post->description));
        $text = ossn_restore_new_lines($data->post, true);
        $location = '';
        if (isset($data->location)) {
            $location = '- ' . $data->location;
        }
        if (!isset($data->friend)) {
            $data->friend = '';
        }
        if (isset($post->{'file:wallphoto'})) {
            $image = str_replace('ossnwall/images/', '', $post->{'file:wallphoto'});
        } else {
            $image = '';
        }
        $user = ossn_user_by_guid($post->poster_guid);
        if ($post->access == OSSN_FRIENDS) {
            //lastchage: site admins are unable to access member profile threads without friendship #176
            if (ossn_user_is_friend(ossn_loggedin_user()->guid, $post->owner_guid) || ossn_loggedin_user()->guid == $post->owner_guid || ossn_isAdminLoggedin()) {
                echo ossn_plugin_view('wall/templates/activity-item', array('post' => $post, 'friends' => explode(',', $data->friend), 'text' => $text, 'location' => $location, 'user' => $user, 'image' => $image));
            }
        }
        if ($post->access == OSSN_PUBLIC) {
            echo ossn_plugin_view('wall/templates/activity-item', array('post' => $post, 'friends' => explode(',', $data->friend), 'text' => $text, 'location' => $location, 'user' => $user, 'image' => $image));
        }
    }
}
echo $Pagination->pagination();
echo '</div>';
/**
 * Check if loggedin is friend with item owner or if owner is loggedin user;
 *
 * @return bool;
 */
function ossn_validate_access_friends($owner)
{
    if (ossn_user_is_friend(ossn_loggedin_user()->guid, $owner) || ossn_loggedin_user()->guid == $owner || ossn_isAdminLoggedin()) {
        return true;
    }
    return false;
}
<?php

/**
 * Open Source Social Network
 *
 * @packageOpen Source Social Network
 * @author    Open Social Website Core Team <*****@*****.**>
 * @copyright 2014 iNFORMATIKON TECHNOLOGIES
 * @license   General Public Licence http://www.opensource-socialnetwork.org/licence
 * @link      http://www.opensource-socialnetwork.org/licence
 */
$wall = new OssnWall();
$accesstype = ossn_get_homepage_wall_access();
if ($accesstype == 'public' || ossn_isAdminLoggedin()) {
    $posts = $wall->GetPosts();
    $count = $wall->GetPosts(array('count' => true));
} elseif ($accesstype == 'friends') {
    $posts = $wall->getFriendsPosts();
}
if ($posts) {
    foreach ($posts as $post) {
        if (!isset($post->poster_guid)) {
            $post = ossn_get_object($post->guid);
        }
        $data = json_decode(html_entity_decode($post->description));
        $text = ossn_restore_new_lines($data->post, true);
        $location = '';
        if (isset($data->location)) {
            $location = '- ' . $data->location;
        }
        if (isset($post->{'file:wallphoto'})) {
/**
 * Show a leftside menu on profile cover photo vieww
 *
 * @return mix data
 * @access private;
 */
function ossn_album_cover_photo_menu($hook, $type, $return, $params)
{
    if ($params->owner_guid == ossn_loggedin_user()->guid || ossn_isAdminLoggedin()) {
        return ossn_plugin_view('photos/views/coverphoto/menu', $params);
    }
}
    ?>

                <div class="ossn-topbar-dropdown-menu">
                    <label class="ossn-topbar-dropdown-menu-button"><span class="arrow"></span></label>
                    <ul class="ossn-topbar-dropdown-menu-content">
                        <li>
                            <a href="<?php 
    echo ossn_site_url("u/" . ossn_loggedin_user()->username . "/edit");
    ?>
"><?php 
    echo ossn_print('acount:settings');
    ?>
</a>
                        </li>
                        <?php 
    if (ossn_isAdminLoggedin()) {
        ?>
			<li>
				 <a href="<?php 
        echo ossn_site_url('administrator');
        ?>
"><?php 
        echo ossn_print('admin');
        ?>
</a>
			</li>
			<?php 
    }
    ?>
                        <li>
                          <?php 
Example #22
0
$comment = input('comment');
$delete = new OssnComments();
$comment = $delete->GetComment($comment);
//group admins must be able to delete ANY comment in their own group #170
//first get wall post then get group and check if loggedin user is group owner
if ($comment->type == 'comments:post') {
    $post = ossn_get_object($comment->subject_guid);
    if ($post && $post->type == 'group') {
        $group = ossn_get_group_by_guid($post->owner_guid);
    }
}
if ($comment->type == 'comments:entity') {
    $entity = ossn_get_entity($comment->subject_guid);
}
//check if comment is based on entity then check entity ownerguid and if logged in user is entity owner delete comment
if ($comment->owner_guid == ossn_loggedin_user()->guid || $group->owner_guid == ossn_loggedin_user()->guid || $entity->owner_guid == ossn_loggedin_user()->guid || ossn_isAdminLoggedin()) {
    if ($delete->deleteComment($comment->getID())) {
        if (ossn_is_xhr()) {
            echo 1;
        } else {
            ossn_trigger_message(ossn_print('comment:deleted'), 'success');
            redirect(REF);
        }
    } else {
        if (ossn_is_xhr()) {
            echo 0;
        } else {
            ossn_trigger_message(ossn_print('comment:delete:error'), 'error');
            redirect(REF);
        }
    }