source: trunk/phpgwapi/templates/default/login_default.php @ 1933

Revision 1933, 19.9 KB checked in by rafaelraymundo, 14 years ago (diff)

Ticket #000 - Corrigido erro de vulnerabilidade encontrado na aplicacao...

  • Property svn:executable set to *
Line 
1<?php
2        /**************************************************************************\
3        * eGroupWare login                                                         *
4        * http://www.egroupware.org                                                *
5        * Originaly written by Dan Kuykendall <seek3r@phpgroupware.org>            *
6        *                      Joseph Engo    <jengo@phpgroupware.org>             *
7        * Updated by Nilton Emilio Buhrer Neto <niltonneto@celepar.pr.gov.br>      *
8        *  This program is free software; you can redistribute it and/or modify it *
9        *  under the terms of the GNU General Public License as published by the   *
10        *  Free Software Foundation; either version 2 of the License, or (at your  *
11        *  option) any later version.                                              *
12        \**************************************************************************/
13
14        function check_logoutcode($code)
15        {
16                switch($code)
17                {
18                        case 1:
19                                return lang('You have been successfully logged out');
20                               
21                        case 2:
22                                return lang('Sorry, your login has expired');
23                               
24                        case 4:
25                                return lang('Cookies are required to login to this site.');
26                               
27                        case 5:
28                                return '<font color="FF0000">' . lang('Bad login or password') . '</font>';
29
30                        case 6:
31                                return '<font color="FF0000">' . lang('Your password has expired, and you do not have access to change it') . '</font>';
32                               
33                        case 98:
34                                return '<font color="FF0000">' . lang('Account is expired') . '</font>';
35                               
36                        case 99:
37                                return '<font color="FF0000">' . lang('Blocked, too many attempts') . '</font>';
38                        case 200:
39                                return '<font color="FF0000">' . lang('Invalid code') . '</font>';
40                        break;                         
41                        case 10:
42                                $GLOBALS['phpgw']->session->phpgw_setcookie('sessionid');
43                                $GLOBALS['phpgw']->session->phpgw_setcookie('kp3');
44                                $GLOBALS['phpgw']->session->phpgw_setcookie('domain');
45
46                                //fix for bug php4 expired sessions bug
47                                if($GLOBALS['phpgw_info']['server']['sessions_type'] == 'php4')
48                                {
49                                        $GLOBALS['phpgw']->session->phpgw_setcookie(PHPGW_PHPSESSID);
50                                }
51
52                                return '<font color="#FF0000">' . lang('Your session could not be verified.') . '</font>';
53                               
54                        default:
55                                return '&nbsp;';
56                }
57        }
58       
59        /* Program starts here */
60
61        if($GLOBALS['phpgw_info']['server']['auth_type'] == 'http' && isset($_SERVER['PHP_AUTH_USER']))
62        {
63                $submit = True;
64                $login  = $_SERVER['PHP_AUTH_USER'];
65                $passwd = $_SERVER['PHP_AUTH_PW'];
66                $passwd_type = 'text';
67        }
68        else
69        {
70                $passwd = $_POST['passwd'];
71                $passwd_type = $_POST['passwd_type'];
72        }
73
74        # Apache + mod_ssl style SSL certificate authentication
75        # Certificate (chain) verification occurs inside mod_ssl
76        if($GLOBALS['phpgw_info']['server']['auth_type'] == 'sqlssl' && isset($_SERVER['SSL_CLIENT_S_DN']) && !isset($_GET['cd']))
77        {
78                # an X.509 subject looks like:
79                # /CN=john.doe/OU=Department/O=Company/C=xx/Email=john@comapy.tld/L=City/
80                # the username is deliberately lowercase, to ease LDAP integration
81                $sslattribs = explode('/',$_SERVER['SSL_CLIENT_S_DN']);
82                # skip the part in front of the first '/' (nothing)
83                while($sslattrib = next($sslattribs))
84                {
85                        list($key,$val) = explode('=',$sslattrib);
86                        $sslattributes[$key] = $val;
87                }
88
89                if(isset($sslattributes['Email']))
90                {
91                        $submit = True;
92
93                        # login will be set here if the user logged out and uses a different username with
94                        # the same SSL-certificate.
95                        if(!isset($_POST['login'])&&isset($sslattributes['Email']))
96                        {
97                                $login = $sslattributes['Email'];
98                                # not checked against the database, but delivered to authentication module
99                                $passwd = $_SERVER['SSL_CLIENT_S_DN'];
100                        }
101                }
102                unset($key);
103                unset($val);
104                unset($sslattributes);
105        }
106
107        if(isset($passwd_type) || $_POST['submitit_x'] || $_POST['submitit_y'] || $submit)
108        {
109
110        // Primeiro testa o captcha....se houver......
111        if( $GLOBALS['phpgw_info']['server']['captcha']==1)
112                {
113                if(isset($_POST['codigo']))
114                        {
115                        if ($_SESSION['CAPTCHAString'] != strtoupper($_POST['codigo']))
116                                {
117                                        $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/login.php','cd=200'));
118                                }
119                        unset($_SESSION['CAPTCHAString']);
120                        }
121                }
122                if($_POST['user']) {
123                        if($GLOBALS['phpgw_info']['server']['use_prefix_organization']) {
124                                $common = CreateObject('phpgwapi.common');
125                                $ldap_conn = $common->ldapConnect();
126                                $justthese = array("uid");
127                                $filter="(&(phpgwAccountType=u)(uid=".$_POST['user']."))";
128                                $ldap_search = ldap_search($ldap_conn, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese);
129                                $ldap_info       = ldap_get_entries($ldap_conn, $ldap_search);
130                                ldap_close($ldap_conn);
131                                if ($ldap_info['count'] != 0) {
132                                        $_POST['login'] = $_POST['user'];
133                                }
134                        }
135                        else
136                                $_POST['login'] = $_POST['user'];
137                }
138                if(getenv('REQUEST_METHOD') != 'POST' && $_SERVER['REQUEST_METHOD'] != 'POST' &&
139                        !isset($_SERVER['PHP_AUTH_USER']) && !isset($_SERVER['SSL_CLIENT_S_DN']))
140                {
141                        $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/login.php','cd=5'));
142                }
143               
144                // don't get login data again when $submit is true
145                if($submit == false)
146                {
147                        $login = $_POST['login'];
148                }
149               
150                if(strstr($login,'@') === False && isset($_POST['logindomain']))
151                {
152                        $login .= '@' . $_POST['logindomain'];
153                }
154                elseif(!isset($GLOBALS['phpgw_domain'][$GLOBALS['phpgw_info']['user']['domain']]))
155                {
156                        $login .= '@'.$GLOBALS['phpgw_info']['server']['default_domain'];
157                }
158                $GLOBALS['sessionid'] = $GLOBALS['phpgw']->session->create(strtolower($login),$passwd,$passwd_type,'u');
159
160                if(!isset($GLOBALS['sessionid']) || ! $GLOBALS['sessionid'])
161                {
162                        $GLOBALS['phpgw']->redirect($GLOBALS['phpgw_info']['server']['webserver_url'] . '/login.php?cd=' . $GLOBALS['phpgw']->session->cd_reason);
163                }
164                else
165                {
166                        if ($_POST['lang'] && preg_match('/^[a-z]{2}(-[a-z]{2}){0,1}$/',$_POST['lang']) &&
167                            $_POST['lang'] != $GLOBALS['phpgw_info']['user']['preferences']['common']['lang'])
168                        {
169                                $GLOBALS['phpgw']->preferences->add('common','lang',$_POST['lang'],'session');
170                        }
171
172                        if(!$GLOBALS['phpgw_info']['server']['disable_autoload_langfiles'])
173                        {
174                                $GLOBALS['phpgw']->translation->autoload_changed_langfiles();
175                        }
176                        $forward = isset($_GET['phpgw_forward']) ? urldecode($_GET['phpgw_forward']) : @$_POST['phpgw_forward'];
177                        if (!$forward)
178                        {
179                                $extra_vars['cd'] = 'yes';
180                                $forward = '/home.php';
181                        }
182                        else
183                        {
184                                list($forward,$extra_vars) = explode('?',$forward,2);
185                        }
186                        if ($GLOBALS['phpgw_info']['server']['use_https'] != 2)
187                        {
188                                $forward = 'http://'.$_SERVER['HTTP_HOST'].($GLOBALS['phpgw']->link($forward.'?cd=yes'));
189                                echo "<script language='Javascript1.3'>location.href='".$forward."'</script>";
190                        }
191                        else
192                        {
193                                $GLOBALS['phpgw']->redirect_link($forward,$extra_vars);
194                        }
195                }
196        }
197        else
198        {
199                // !!! DONT CHANGE THESE LINES !!!
200                // If there is something wrong with this code TELL ME!
201                // Commenting out the code will not fix it. (jengo)
202                if(isset($_COOKIE['last_loginid']))
203                {
204                        $accounts = CreateObject('phpgwapi.accounts');
205                        $prefs = CreateObject('phpgwapi.preferences', $accounts->name2id($_COOKIE['last_loginid']));
206
207                        if($prefs->account_id)
208                        {
209                                $GLOBALS['phpgw_info']['user']['preferences'] = $prefs->read_repository();
210                        }
211                }
212               
213                $_GET['lang'] = addslashes($_GET['lang']);
214                if ($_GET['lang'])
215                {
216                        $GLOBALS['phpgw_info']['user']['preferences']['common']['lang'] = $_GET['lang'];
217                }
218                elseif(!isset($_COOKIE['last_loginid']) || !$prefs->account_id)
219                {
220                        // If the lastloginid cookies isn't set, we will default to the first language,
221                        // the users browser accepts.
222                        list($lang) = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
223                        /*
224                        if(strlen($lang) > 2)
225                        {
226                                $lang = substr($lang,0,2);
227                        }
228                        */
229                        $GLOBALS['phpgw_info']['user']['preferences']['common']['lang'] = $lang;
230                }
231                #print 'LANG:' . $GLOBALS['phpgw_info']['user']['preferences']['common']['lang'] . '<br>';
232
233                $GLOBALS['phpgw']->translation->init(); // this will set the language according to the (new) set prefs
234                $GLOBALS['phpgw']->translation->add_app('login');
235                $GLOBALS['phpgw']->translation->add_app('loginscreen');
236                if(lang('loginscreen_message') == 'loginscreen_message*')
237                {
238                        $GLOBALS['phpgw']->translation->add_app('loginscreen','en');    // trying the en one
239                }
240                if(lang('loginscreen_message') != 'loginscreen_message*')
241                {
242                        $tmpl->set_var('lang_message',stripslashes(lang('loginscreen_message')));
243                }
244        }
245
246        if($GLOBALS['phpgw_info']['server']['use_prefix_organization'])
247        {
248                $obj_organization = CreateObject('phpgwapi.sector_search_ldap');
249                $organizations = $obj_organization->organization_search($GLOBALS['phpgw_info']['server']['ldap_context']);
250               
251                for ($i=0; $i<count($organizations); $i++)
252                {
253                        $tmp_array[strtolower($organizations[$i])] = $organizations[$i];       
254                }
255               
256                $arrayOrganization = $tmp_array;               
257                ksort($arrayOrganization);
258               
259                foreach($arrayOrganization
260                         as $organization_name => $organization_vars)
261                {
262                        $organization_select .= '<option value="' . $organization_name . '"';
263
264                        if($organization_name == $_COOKIE['last_organization'])
265                        {
266                                $organization_select .= ' selected';
267                        }
268                        $organization_select .= '>' . $organization_vars . "</option>\n";
269                }
270                $organization_select =  '<div class="login_label"><label>'.lang("organization")
271                                                        .'</label><br><select name="organization">'
272                                                        .$organization_select.'</select></div>';
273                $tmpl->set_var('select_organization',$organization_select);
274        }
275               
276        $domain_select = '&nbsp;';
277        $last_loginid = $_COOKIE['last_loginid'];
278        if($GLOBALS['phpgw_info']['server']['show_domain_selectbox'])
279        {
280                $domain_select = "<select name=\"logindomain\">\n";
281                foreach($GLOBALS['phpgw_domain'] as $domain_name => $domain_vars)
282                {
283                        $domain_select .= '<option value="' . $domain_name . '"';
284
285                        if($domain_name == $_COOKIE['last_domain'])
286                        {
287                                $domain_select .= ' selected';
288                        }
289                        $domain_select .= '>' . $domain_name . "</option>\n";
290                }
291                $domain_select .= "</select>\n";
292        }
293        elseif($last_loginid !== '')
294        {
295                reset($GLOBALS['phpgw_domain']);
296                list($default_domain) = each($GLOBALS['phpgw_domain']);
297
298                if($_COOKIE['last_domain'] != $default_domain && !empty($_COOKIE['last_domain']))
299                {
300                        $last_loginid .= '@' . $_COOKIE['last_domain'];
301                }
302        }
303        $tmpl->set_var('select_domain',$domain_select);
304
305        foreach($_GET as $name => $value)
306        {
307                if(ereg('phpgw_',$name))
308                {
309                        $extra_vars .= '&' . $name . '=' . urlencode($value);
310                }
311        }
312
313        if ( is_string( $extra_vars ) )
314        {
315                $extra_vars = '?' . substr($extra_vars,1);
316        }
317
318        /********************************************************\
319        * Check is the registration app is installed, activated  *
320        * And if the register link must be placed                *
321        \********************************************************/
322       
323        $cnf_reg = createobject('phpgwapi.config','registration');
324        $cnf_reg->read_repository();
325        $config_reg = $cnf_reg->config_data;
326
327        if($config_reg[enable_registration]=='True' && $config_reg[register_link]=='True')
328        {
329                $reg_link='&nbsp;<a href="registration/">'.lang('Not a user yet? Register now').'</a><br/>';
330        }
331
332        $GLOBALS['phpgw_info']['server']['template_set'] = $GLOBALS['phpgw_info']['login_template_set'];
333
334        $tmpl->set_var('register_link',$reg_link);
335        $tmpl->set_var('charset',$GLOBALS['phpgw']->translation->charset());
336        $tmpl->set_var('login_url', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/login.php' . $extra_vars);
337        $tmpl->set_var('registration_url',$GLOBALS['phpgw_info']['server']['webserver_url'] . '/registration/');
338        $tmpl->set_var('version',$GLOBALS['phpgw_info']['server']['versions']['phpgwapi']);
339        $tmpl->set_var('cd',check_logoutcode($_GET['cd']));
340        $tmpl->set_var('cookie',$last_loginid);
341
342        $tmpl->set_var('lang_username',lang('username'));
343        $tmpl->set_var('lang_password',lang('password'));
344        $tmpl->set_var('lang_login',lang('login'));
345
346        $tmpl->set_var('website_title', $GLOBALS['phpgw_info']['server']['site_title']);
347        $tmpl->set_var('template_set',$GLOBALS['phpgw_info']['login_template_set']);
348
349        $GLOBALS['phpgw']->translation->add_app('loginhelp',$_GET['lang']);             
350        if(lang('loginhelp_message') != 'loginhelp_message*' && trim(lang('loginhelp_message')) != ""){                                 
351                $tmpl->set_var('lang_help',lang("Help"));       
352        }
353        else
354                $tmpl->set_var('display_help','none');
355
356        $tmpl->set_var('bg_color',($GLOBALS['phpgw_info']['server']['login_bg_color']?$GLOBALS['phpgw_info']['server']['login_bg_color']:'FFFFFF'));
357        $tmpl->set_var('bg_color_title',($GLOBALS['phpgw_info']['server']['login_bg_color_title']?$GLOBALS['phpgw_info']['server']['login_bg_color_title']:'486591'));
358
359        if($GLOBALS['phpgw_info']['server']['use_frontend_name'])
360                $tmpl->set_var('frontend_name', " - ".$GLOBALS['phpgw_info']['server']['use_frontend_name']);
361
362        if (substr($GLOBALS['phpgw_info']['server']['login_logo_file'],0,4) == 'http')
363        {
364                $var['logo_file'] = $GLOBALS['phpgw_info']['server']['login_logo_file'];
365        }
366        else
367        {
368                $var['logo_file'] = $GLOBALS['phpgw']->common->image('phpgwapi',$GLOBALS['phpgw_info']['server']['login_logo_file']?$GLOBALS['phpgw_info']['server']['login_logo_file']:'logo');
369        }
370        $var['logo_url'] = $GLOBALS['phpgw_info']['server']['login_logo_url']?$GLOBALS['phpgw_info']['server']['login_logo_url']:'http://www.eGroupWare.org';
371        if (substr($var['logo_url'],0,4) != 'http')
372        {
373                $var['logo_url'] = 'http://'.$var['logo_url'];
374        }
375        $var['logo_title'] = $GLOBALS['phpgw_info']['server']['login_logo_title']?$GLOBALS['phpgw_info']['server']['login_logo_title']:'www.eGroupWare.org';
376        $tmpl->set_var($var);
377
378        if (@$GLOBALS['phpgw_info']['server']['login_show_language_selection'])
379        {
380                $select_lang = '<select name="lang" onchange="'."location.href=location.href+(location.search?'&':'?')+'lang='+this.value".'">';
381                $langs = $GLOBALS['phpgw']->translation->get_installed_langs();
382                uasort($langs,'strcasecmp');
383                foreach ($langs as $key => $name)       // if we have a translation use it
384                {
385                        $select_lang .= "\n\t".'<option value="'.$key.'"'.($key == $GLOBALS['phpgw_info']['user']['preferences']['common']['lang'] ? ' selected="1"' : '').'>'.$name.'</option>';
386                }
387                $select_lang .= "\n</select>\n";
388                $tmpl->set_var(array(
389                        'lang_language' => lang('Language'),
390                        'select_language' => $select_lang,
391                ));
392        }
393        else
394        {
395                $tmpl->set_block('login_form','language_select');
396                $tmpl->set_var('language_select','');
397        }
398
399        $tmpl->set_var('autocomplete', ($GLOBALS['phpgw_info']['server']['autocomplete_login'] ? 'autocomplete="off"' : ''));
400
401$aux_captcha = '';
402// soh mostra o captcha se for login sem certificado....
403if($GLOBALS['phpgw_info']['server']['captcha'] && $_GET['cd']!='300' )
404        {
405                if($valor_cookie > $GLOBALS['phpgw_info']['server']['num_badlogin'])
406                        {
407                                $aux_captcha = '<div class="login_label" >
408               <img src="./security/captcha.php" title="'.lang('Security code').'" alt="'.lang('Security code').'" style="width:60;">
409<br />
410                <input class="input" type="text" maxlength="50" size="20" name="codigo" id="codigo" value="" >
411              </div>';
412                                $tmpl->set_var('captcha',$aux_captcha);
413                        }
414        }
415
416// Testa se deve incluir applet para login com certificado......
417if ($_GET['cd']=='300' && $GLOBALS['phpgw_info']['server']['certificado']==1)
418        {
419                //Zera o Cookie contador, responsavel pelo captcha
420                $valor_cookie = 1;
421                setcookie("contador", 1,0);
422
423                $link_alterna_login = '<img border=0 style="padding: 0px 5px 0px 0px" src="phpgwapi/templates/default/images/warning.gif"/><a href="login.php" style="margin: 0px; padding: 0px; text-decoration:none;"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="1">' . lang('Access without Digital Certificate') . '</a>';
424                $tmpl->set_var('show','none');
425                $tmpl->set_var('action','<div id="action"><img style="border:0px;margin:31px 0px 58px 0px;" src="phpgwapi/templates/default/images/acao.gif" /></div>');
426                // gera parametro com tokens suportados ....
427                $var_tokens = '';
428                for($ii = 1; $ii < 11; $ii++)
429                        {
430                                if($GLOBALS['phpgw_info']['server']['test_token' . $ii . '1'])
431                                        $var_tokens .= $GLOBALS['phpgw_info']['server']['test_token' . $ii . '1'] . ',';
432                        }
433
434                if(!$var_tokens)
435                        {
436                                $var_tokens = 'ePass2000Lx;/usr/lib/libepsng_p11.so,ePass2000Win;c:/windows/system32/ngp11v211.dll';
437                        }
438                        $param1 = "
439                                                '<param name=\"token\" value=\"" . substr($var_tokens,0,strlen($var_tokens)) . "\"> ' +
440                                               ";
441                        $param2 = "
442                                                'token=\"" . substr($var_tokens,0,strlen($var_tokens)) . "\" ' +
443                                               ";
444                               
445                        $cod_applet =
446
447/*    // com debug ativado
448            '<script type="text/javascript">
449                                        if (navigator.userAgent.match(\'MSIE\')){
450                                                document.write(\'<object style="display:yes;width:0;height:0;vertical-align:bottom;" id="login_applet" \' +
451                                                \'classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"> \' +
452                                                \'<param name="type" value="application/x-java-applet;version=1.5"> \' +
453                                                \'<param name="code" value="LoginApplet.class"> \' +
454                                                \'<param name="locale" value="' . $lang . '"> \' +
455                                                \'<param name="mayscript" value="true"> \' + '
456                                                . $param1
457                                                . ' \'<param name="archive" value="ExpressoCertLogin.jar,ExpressoCert.jar,commons-httpclient-3.1.jar,commons-logging-1.1.1.jar,commons-codec-1.3.jar,bcmail-jdk15-142.jar,mail.jar,activation.jar,bcprov-jdk15-142.jar"> \' +
458                        \'<param name="debug" value="true"> \' +
459                                                \'</object>\');
460                                        }
461                                        else {
462                                                document.write(\'<embed style="display:yes;width:0;height:0;vertical-align:bottom;" id="login_applet" code="LoginApplet.class" locale="' . $lang . '"\' +
463                                                \'archive="ExpressoCertLogin.jar,ExpressoCert.jar,commons-httpclient-3.1.jar,commons-logging-1.1.1.jar,commons-codec-1.3.jar,bcmail-jdk15-142.jar,mail.jar,activation.jar,bcprov-jdk15-142.jar" \' + '
464                                                . $param2
465                                                . ' \'type="application/x-java-applet;version=1.5" debug= "true" mayscript > \' +
466                                                \'<noembed> \' +
467                                                \'No Java Support. \' +
468                                                \'</noembed> \' +
469                                                \'</embed> \');
470                                        }
471                                </script>';
472*/
473            // sem debug ativado
474            '<script type="text/javascript">
475                                        if (navigator.userAgent.match(\'MSIE\')){
476                                                document.write(\'<object style="display:yes;width:0;height:0;vertical-align:bottom;" id="login_applet" \' +
477                                                \'classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"> \' +
478                                                \'<param name="type" value="application/x-java-applet;version=1.5"> \' +
479                                                \'<param name="codebase" value="/security/">\' +
480                                                \'<param name="code" value="LoginApplet.class"> \' +
481                                                \'<param name="locale" value="' . $lang . '"> \' +
482                                                \'<param name="mayscript" value="true"> \' + '
483                                                . $param1
484                                                . ' \'<param name="archive" value="ExpressoCertLogin.jar,ExpressoCert.jar,commons-httpclient-3.1.jar,commons-logging-1.1.1.jar,commons-codec-1.3.jar,bcmail-jdk15-142.jar,mail.jar,activation.jar,bcprov-jdk15-142.jar"> \' +
485                                                \'</object>\');
486                                        }
487                                        else {
488                                                document.write(\'<embed style="display:yes;width:0;height:0;vertical-align:bottom;" id="login_applet" codebase="/security/" code="LoginApplet.class" locale="' . $lang . '"\' +
489                                                \'archive="ExpressoCertLogin.jar,ExpressoCert.jar,commons-httpclient-3.1.jar,commons-logging-1.1.1.jar,commons-codec-1.3.jar,bcmail-jdk15-142.jar,mail.jar,activation.jar,bcprov-jdk15-142.jar" \' + '
490                                                . $param2 
491                                                . ' \'type="application/x-java-applet;version=1.5" mayscript > \' +
492                                                \'<noembed> \' +
493                                                \'No Java Support. \' +
494                                                \'</noembed> \' +
495                                                \'</embed> \');
496                                        }
497                                </script>';
498
499
500        }
501
502else
503        {
504                if($GLOBALS['phpgw_info']['server']['certificado']==1)
505                        {
506                                $tmpl->set_var('show','yes');
507                                $link_alterna_login = '<img border=0 style="padding: 0px" src="phpgwapi/templates/default/images/lock1_icon.gif"/><a title="' . lang('Link to use digital certificate') . '" href="login.php?cd=300" style="margin: 0px; padding: 0px; text-decoration:none;"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>' . lang('Logon with my digital certificate') . '</b></font></a>';
508                        }
509                        $tmpl->set_var('lang_username',lang('username'));
510                        $tmpl->set_var('action','');
511                        $cod_applet = '';
512
513                }
514
515                $tmpl->set_var('applet',$cod_applet);
516                $tmpl->set_var('link_alterna_login',$link_alterna_login);
517               
518
519        $tmpl->pfp('loginout','login_form');
520?>
521
Note: See TracBrowser for help on using the repository browser.