Activity for logged in user only on Elgg 1.8.11

Hi, everyone here. Are you know how to make activity accessible for logged in user only. I know about using of gatekeeper();

But I can't find which mod that handle activity onn Elgg 1.8.11. I have searching on Google, but what I found can't be applied on Elgg 1.8.11 

  • @Cim: ok, will try it. will report it soon :)

    @DhrupDeScoop: I'm not so advanced. I just start my college, I have not learn any programming yet. I just learn it by my self and it is only very basic. And I just trying my luck, I have no money for hiring someone.
    If I set private, it will only show login box on my homepage( if I'm not wrong)

  • Turn off walled garden and set site to public if you're gonna use the code I gave you

  • How to turn on/off walled garden? I can't find the setting..

  • i'm not even sure either, my site is open to the public lol. either way, just put site access to public and also what dhrup mentioned about the prviate network, keep this box unchecked

    Enable the site to run as a private network. This will not allow non logged-in users to view any site pages other than those specifically marked as public.

  • @Cim Your assumption with 'activity' context is wrong. We have river on index page in context 'main' by default.

    @DRAFHA Simplest and safest solution is to enable "Restrict pages to logged-in users" setting (called "Walled garden" BTW)

    Other option is to track and secure all occurences of elgg_list_rover/elgg_get_river and secure them with gatekeeper calls (mind widgets as well!). But it's tricky and probably you won't be able to do it safely on your own. As we see restricting access to the river is not only about restricting access to single page..

  • hey! y'all - do a find on this page for -->  ' Restrict pages to logged-in users'  !;-P

  • @pawel like i said i don't restrict my site and it's open to the public so i'm not too sure if that little hack would work as is or with better configuration. ok lets try this again but a little bit nastier

    $url = "http://" . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; // gets current site url

    if(($url == 'http://www.flenzzbility.com/activity') && elgg_is_logged_in() == FALSE)  {
    header( 'Location: http://www.flenzzbility.com' ); // redirection location
    }

  • If I set Restrict pages to logged in users, I have no option to show a pages. I want to show some pages, like blog, member, and etc..

    @Cim: This script placement are the same with above? Ok, will try it :) 

  • @Cim: Just try it, I place it on view/default/page/element/head.php does not work. Then I place it on public_html/index.php also does not work..
    Any idea? 

  • this is how I would handle it 

     

    if(isloggedin()){

    echo "<div>do logged in stuff</div>"

    }else{

    echo "<div>do something different</div>"

    }