source: trunk/instant_messenger/inc/im_acl.inc.php @ 287

Revision 287, 2.6 KB checked in by niltonneto, 16 years ago (diff)

Verificar Wiki/Trac? do módulo.

Line 
1<?php
2
3$size_of_acl = sizeof($GLOBALS['phpgw_info']['user']['acl']);
4
5# percorre a ACL até o fim ou até encontrar a entrada para o módulo de mensagem instantânea
6for ( $i = 0; $i < $size_of_acl && $GLOBALS['phpgw_info']['user']['acl'][$i]['appname'] != 'instant_messenger'; $i++ );
7
8# verifica se foi encontrada a permissão para o módulo de mensagem instantânea
9if ( $GLOBALS['phpgw_info']['user']['acl'][$i]['appname'] == 'instant_messenger' )
10{
11        $webserver_url_im = $GLOBALS['phpgw_info']['server']['webserver_url'];
12        $webserver_url_im = ( !empty($webserver_url_im) ) ? $webserver_url_im : '/';
13
14        if ( strrpos($webserver_url_im, '/') === false || strrpos($webserver_url_im, '/') != (strlen($webserver_url_im) - 1) )
15                $webserver_url_im .= '/';
16
17        $webserver_url_im = $webserver_url_im . 'instant_messenger/';
18
19        require_once PHPGW_SERVER_ROOT . '/instant_messenger/inc/im_sessions.inc.php';
20        require_once PHPGW_SERVER_ROOT . '/instant_messenger/inc/load_lang.php';
21
22        $js = array(
23                'connector',
24                'jabber',
25                'xtools',
26                'client',
27                'images',
28                'dragdrop',
29                'build_win',
30                'templates',
31                'fcommon',
32                'menu_action',
33                'functions',
34                'images',
35                'cookies_im',
36                'load',
37        );
38
39        print '<script type="text/javascript">var path_im = "'.$webserver_url_im.'";</script>';
40
41
42        require_once dirname(__FILE__) . '/Controller.class.php';
43
44        $controller = new Controller;
45        $script = '';
46        foreach ( $js as $key => $val )
47        {
48                $val = array('act' => 'j.' . $val);
49                $script .= $controller->exec($val);
50        }
51
52        printf("<script type=\"text/javascript\">%s</script>", $script);
53
54        print '<link rel="stylesheet" type="text/css" href="' . $webserver_url_im . 'templates/default/css/window.css">';
55        print '<link rel="stylesheet" type="text/css" href="' . $webserver_url_im . 'templates/default/css/chat.css">';
56        print '<link rel="stylesheet" type="text/css" href="' . $webserver_url_im . 'templates/default/css/common.css">';
57
58        # trecho de código javascript utilizado para
59        # controle de possí­vel erro no load do script
60        # feito acima e está sendo inserido via PHP
61        # pois é um complemento do procedimento acima
62        $init_client  = '<script type="text/javascript">';
63        $init_client .= '       function im_init(pTimes)';
64        $init_client .= '       {';
65        $init_client .= '               if ( !pTimes )';
66        $init_client .= '                       pTimes = 0;';
67        $init_client .= '               if ( pTimes == 5 )';
68        $init_client .= '                       return false;';
69        $init_client .= '               if ( window.client )';
70        $init_client .= '                       client();';
71        $init_client .= '               else';
72        $init_client .= '                       setTimeout("im_init("+(++pTimes)+")", (pTimes + 1) * 2000);';
73        $init_client .= '       }';
74        $init_client .= '       im_init();';
75        $init_client .= '</script>';
76        printf("%s", $init_client);
77}
78?>
Note: See TracBrowser for help on using the repository browser.