Intranet: per-user Configuration



  • Hello Community!

    I’d like to have a simple if-then-clause in my Intranet.conf config file to have a per-user variable definition.

    I’m not familiar with php-programming, especially I don’t know the PHP variable holding the user name or login name for WebApp. Can somebody please translate the following peudocode to valid php:

    if (login_name = "xxx"); then
      define('PLUGIN_INTRANET_BUTTON_TITLE_3', 'myURL');
      define('PLUGIN_INTRANET_URL_3', 'http://myURL.com/');
    end if
    

    Thank you very much!



  • I wanted to do something similar, but I don’t think the Username is available via Environment Variables. Luckily I was able to using various VLANs instead. I also have an internal proxy for I needed to look for the source IP and the X-Forwarded-for IP:

    if ( strncmp("10.200.150.", $_SERVER['REMOTE_ADDR'], 11) === 0 ||
         strncmp("10.201.150.", $_SERVER['REMOTE_ADDR'], 11) === 0 ||
         strncmp("10.200.200.", $_SERVER['REMOTE_ADDR'], 11) === 0 ||
         strncmp("10.201.200.", $_SERVER['REMOTE_ADDR'], 11) === 0 ||
         strncmp("10.200.150.", $_SERVER['HTTP_X_FORWARDED_FOR'], 11) === 0 ||
         strncmp("10.201.150.", $_SERVER['HTTP_X_FORWARDED_FOR'], 11) === 0 ||
         strncmp("10.200.200.", $_SERVER['HTTP_X_FORWARDED_FOR'], 11) === 0 ||
         strncmp("10.201.200.", $_SERVER['HTTP_X_FORWARDED_FOR'], 11) === 0 ) {
            define('PLUGIN_INTRANET_USER_DEFAULT_ENABLE', true);
            define('PLUGIN_INTRANET_BUTTON_TITLE', 'Teams');
            define('PLUGIN_INTRANET_URL', 'https://teams/');
    } else {
            define('PLUGIN_INTRANET_USER_DEFAULT_ENABLE', false);
            define('PLUGIN_INTRANET_BUTTON_TITLE', 'Teams');
            define('PLUGIN_INTRANET_URL', 'https://teams/');
    }
    


  • In another plugin, I found the environment variable

    $data['username']
    

    It might be as simple as

    if ( $data['username'] == 'xxx' ) {
      define('PLUGIN_INTRANET_BUTTON_TITLE_3', 'myURL');
      define('PLUGIN_INTRANET_URL_3', 'http://myURL.com/')
      }
    

    I will test this when I have access to my System. Right now, i’m on the road.



  • OK, that does not work.

    $data[‘username’] is an empty string when the config file is called. Still looking for a solution …


  • Kopano

    @itserv Maybe this will help you:
    $GLOBALS[‘mapisession’]->getUserName()



  • Great, that did the job. Thank you.

    For reference: my config file now more or less like this:

    <?php
    
    define('PLUGIN_INTRANET_USER_DEFAULT_ENABLE', false);
    
    define('PLUGIN_INTRANET_BUTTON_TITLE', 'Kopano.io');
    define('PLUGIN_INTRANET_URL', 'http://www.kopano.io/');
    define('PLUGIN_INTRANET_AUTOSTART', false);
    
    // More buttons can be added by adding a number as follows
    // Note: Numbers must start with 1 and be sequential
    define('PLUGIN_INTRANET_BUTTON_TITLE_1', 'Kopano.com');
    define('PLUGIN_INTRANET_URL_1', 'http://kopano.com/');
    define('PLUGIN_INTRANET_AUTOSTART_1', false);
    
    
    $user_name = $GLOBALS["mapisession"]->getUserName();
    
    if ( $user_name == 'someuser' ) {
    	define('PLUGIN_INTRANET_BUTTON_TITLE_2', 'AnotherTitle');
    	define('PLUGIN_INTRANET_URL_2', 'https://some_url');
    }
    
    

Log in to reply
 

Looks like your connection to Kopano Community Forum was lost, please wait while we try to reconnect.