We build. You grow.

Get best community software here

Start a social network, a fan-site, an education project with oxwall - free opensource community software

How To Guide - Keeping the pesky splash screen under control | Forum

dave Leader
dave Jun 1 '15

This should be added to the Oxwall Core as there is no reason for the splash screen to appear at all if you are logged in or have already viewed it.


So you have decided to use the splash screen, great!   It works very well and is a nice feature.   Unfortunately its not perfect and the issue is that it keeps popping up at you even after you are logged in or even after you have viewed it. 


The splash screen works off a cookie an what should happen is that once you view it, you should not see it again unless you clear your cookies which alot of people are doing more and more now days on a more regular basis with CCleaner and many other options out there.   Also once you are logged in you should not get the spash screen at all.  


So here is how to fix both issues. 


Open up the ow_core/application.php file and scroll down to line 286 where you will see this code


        //splash screen
        if ( (bool) OW::getConfig()->getValue('base', 'splash_screen') && !isset($_COOKIE['splashScreen']) )
        {
            $attributes = array(
                OW_RequestHandler::CATCH_ALL_REQUEST_KEY_CTRL => 'BASE_CTRL_BaseDocument',
                OW_RequestHandler::CATCH_ALL_REQUEST_KEY_ACTION => 'splashScreen',
                OW_RequestHandler::CATCH_ALL_REQUEST_KEY_REDIRECT => true,
                OW_RequestHandler::CATCH_ALL_REQUEST_KEY_JS => true,
                OW_RequestHandler::CATCH_ALL_REQUEST_KEY_ROUTE => 'base_page_splash_screen'
            );

            OW::getRequestHandler()->setCatchAllRequestsAttributes('base.splash_screen', $attributes);
            $this->addCatchAllRequestsException('base.splash_screen_exceptions', 'base.splash_screen');
        }



so all we are going to do now is wrap that whole section of code with an if statement telling the system that if the cookie does not exist and i am not logged then that is when its ok to show the splash screen. 


here is what you wrap it with


 //new (if code) added to prevent spash screen when members logged in
     if ( empty($_COOKIE['ow_login']) && !OW::getUser()->isAuthenticated() )
     {


original code goes here



      }//close if empty cookie or not auth



and now if you are logged in or you have the cookie on your system already you will not see the splash screen.


Ox dev please consider adding this to the core, it really needs to be added.  

The Forum post is edited by dave Jun 1 '15