59177427 |
1 | <?php |
21c3249f |
2 | /** |
c6d6fe73 |
3 | ** login.php -- simple login screen |
4 | ** |
5 | ** Copyright (c) 1999-2000 The SquirrelMail development team |
6 | ** Licensed under the GNU GPL. For full terms see the file COPYING. |
21c3249f |
7 | ** |
c6d6fe73 |
8 | ** This a simple login screen. Some housekeeping is done to clean |
9 | ** cookies and find language. |
21c3249f |
10 | ** |
2b40637c |
11 | ** $Id$ |
21c3249f |
12 | **/ |
13 | |
d4e84069 |
14 | $rcptaddress = ''; |
15 | if (isset($emailaddress)) { |
16 | if (stristr($emailaddress, 'mailto:')) |
17 | $rcptaddress = substr($emailaddress, 7); |
18 | else |
19 | $rcptaddress = $emailaddress; |
870fb6d3 |
20 | |
21 | if (($pos = strpos($rcptaddress, '?')) !== false) |
22 | { |
23 | $a = substr($rcptaddress, $pos + 1); |
24 | $rcptaddress = substr($rcptaddress, 0, $pos); |
25 | $a = explode('=', $a, 2); |
26 | if (isset($a[1])) { |
27 | $name = urldecode($a[0]); |
28 | $val = urldecode($a[1]); |
29 | global $$name; |
30 | $$name = $val; |
31 | } |
32 | } |
33 | |
34 | // At this point, we have parsed a lot of the mailto stuff. Let's |
35 | // do the rest -- CC, BCC, Subject, Body |
36 | // Note: They can all be case insensitive |
37 | foreach ($GLOBALS as $k => $v) |
38 | { |
39 | $key = strtolower($k); |
40 | $value = urlencode($v); |
41 | if ($key == 'cc') |
42 | $rcptaddress .= '&send_to_cc=' . $value; |
43 | elseif ($key == 'bcc') |
44 | $rcptaddress .= '&send_to_bcc=' . $value; |
45 | elseif ($key == 'subject') |
46 | $rcptaddress .= '&subject=' . $value; |
47 | elseif ($key == 'body') |
48 | $rcptaddress .= '&body=' . $value; |
49 | } |
50 | |
51 | // Double-encode in this fashion to get past redirect.php properly |
52 | $rcptaddress = urlencode($rcptaddress); |
d4e84069 |
53 | } |
54 | |
ff8a98e7 |
55 | require_once('../functions/strings.php'); |
56 | require_once('../config/config.php'); |
57 | require_once('../functions/i18n.php'); |
58 | require_once('../functions/plugin.php'); |
21c3249f |
59 | |
441f2d33 |
60 | // $squirrelmail_language is set by a cookie when the user selects |
61 | // language and logs out |
62 | set_up_language($squirrelmail_language, true); |
288491a4 |
63 | |
c6d6fe73 |
64 | // Need the base URI to set the cookies. (Same code as in webmail.php) |
65 | ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs); |
66 | $base_uri = $regs[1]; |
67 | |
2af33d1b |
68 | if ( session_id() <> '' ) { |
69 | session_destroy(); |
70 | // In case the last session was not terminated properly, make sure |
71 | // we get a new one. |
72 | $cookie_params = session_get_cookie_params(); |
73 | setcookie(session_name(),'',0,$cookie_params['path'].$cookie_params['domain']); |
74 | } |
75 | setcookie('username', '', 0, $base_uri); |
76 | setcookie('key', '', 0, $base_uri); |
77 | header ('Pragma: no-cache'); |
c6d6fe73 |
78 | |
901d125e |
79 | do_hook('login_cookie'); |
1bfeac81 |
80 | |
81 | echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">' . |
82 | "\n\n" . |
83 | "<HTML>\n" . |
84 | "<HEAD>\n"; |
85 | |
86 | if ($theme_css != "") |
87 | echo "<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"$theme_css\">\n"; |
88 | |
2af33d1b |
89 | echo '<TITLE>'; |
90 | echo $org_name . ' - ' . _("Login"); |
288491a4 |
91 | echo "</TITLE></HEAD>\n"; |
175e7218 |
92 | echo "<BODY TEXT=000000 BGCOLOR=#FFFFFF LINK=0000CC VLINK=0000CC ALINK=0000CC>\n"; |
f644ad10 |
93 | echo "<FORM ACTION=\"redirect.php\" METHOD=\"POST\" NAME=f>\n"; |
1899535f |
94 | |
09bb89f7 |
95 | $username_form_name = 'login_username'; |
1899535f |
96 | $password_form_name = 'secretkey'; |
97 | do_hook('login_top'); |
98 | |
d61936fe |
99 | echo "<CENTER><IMG SRC=\"$org_logo\"></CENTER>\n"; |
aae41ae9 |
100 | echo "<CENTER><SMALL>"; |
d10eeaf8 |
101 | printf (_("SquirrelMail version %s"), $version); |
102 | echo "<BR>\n"; |
103 | echo _("By the SquirrelMail Development Team"); |
aae41ae9 |
104 | echo "<BR></SMALL><CENTER>\n"; |
21c3249f |
105 | echo "<TABLE COLS=1 WIDTH=350>\n"; |
106 | echo " <TR>\n"; |
175e7218 |
107 | echo " <TD BGCOLOR=#DCDCDC>\n"; |
d10eeaf8 |
108 | echo " <B><CENTER>"; |
109 | printf (_("%s Login"), $org_name); |
110 | echo "</CENTER></B>\n"; |
21c3249f |
111 | echo " </TD>\n"; |
112 | echo " </TR><TR>\n"; |
175e7218 |
113 | echo " <TD BGCOLOR=#FFFFFF>\n"; |
21c3249f |
114 | echo " <TABLE COLS=2 WIDTH=100%>\n"; |
115 | echo " <TR>\n"; |
116 | echo " <TD WIDTH=30% ALIGN=right>\n"; |
67c62ef9 |
117 | echo _("Name:"); |
21c3249f |
118 | echo " </TD><TD WIDTH=* ALIGN=left>\n"; |
e1f548e8 |
119 | echo " <INPUT TYPE=TEXT NAME=\"$username_form_name\""; |
120 | if (isset($loginname)) |
121 | echo " value=\"" . htmlspecialchars($loginname) . "\""; |
122 | echo ">\n"; |
21c3249f |
123 | echo " </TD>\n"; |
124 | echo " </TR><TR>\n"; |
125 | echo " <TD WIDTH=30% ALIGN=right>\n"; |
67c62ef9 |
126 | echo _("Password:"); |
21c3249f |
127 | echo " </TD><TD WIDTH=* ALIGN=left>\n"; |
1899535f |
128 | echo " <INPUT TYPE=PASSWORD NAME=\"$password_form_name\">\n"; |
6978d355 |
129 | echo " </TD>\n"; |
d4e84069 |
130 | if ($rcptaddress != '') { |
6978d355 |
131 | echo " <INPUT TYPE=HIDDEN NAME=\"rcptemail\" VALUE=\"".htmlspecialchars($rcptaddress)."\">\n"; |
132 | } |
f23778ac |
133 | echo " </TR>\n"; |
21c3249f |
134 | echo " </TABLE>\n"; |
135 | echo " </TD>\n"; |
136 | echo " </TR><TR>\n"; |
137 | echo " <TD>\n"; |
2af33d1b |
138 | echo ' <CENTER><INPUT TYPE=SUBMIT VALUE="'; |
67c62ef9 |
139 | echo _("Login"); |
9ee3e401 |
140 | echo "\"></CENTER>\n"; |
21c3249f |
141 | echo " </TD>\n"; |
142 | echo " </TR>\n"; |
143 | echo "</TABLE>\n"; |
a37f3771 |
144 | echo "<input type=hidden name=just_logged_in value=1>\n"; |
901d125e |
145 | do_hook('login_form'); |
21c3249f |
146 | echo "</FORM>\n"; |
2af33d1b |
147 | do_hook('login_bottom'); |
21c3249f |
148 | ?> |
21c3249f |
149 | </BODY> |
150 | </HTML> |
151 | |