Merge branch 'bug-1023' into release
[cacert-devel.git] / includes / loggedin.php
index 640bc6c..5734fad 100644 (file)
@@ -16,6 +16,8 @@
     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
+       include_once("../includes/lib/general.php");
+       require_once("../includes/lib/l10n.php");
 
        if($_SERVER['HTTP_HOST'] == $_SESSION['_config']['securehostname'] && $_SESSION['profile']['id'] > 0 && $_SESSION['profile']['loggedin'] != 0)
        {
   
        if($_SERVER['HTTP_HOST'] == $_SESSION['_config']['securehostname'] && ($_SESSION['profile']['id'] == 0 || $_SESSION['profile']['loggedin'] == 0))
        {
-               $query = "select * from `emailcerts` where `serial`='${_SERVER['SSL_CLIENT_M_SERIAL']}' and `revoked`=0 and disablelogin=0 and
-                               UNIX_TIMESTAMP(`expire`) - UNIX_TIMESTAMP() > 0";
-               $res = mysql_query($query);
+               $user_id = get_user_id_from_cert($_SERVER['SSL_CLIENT_M_SERIAL'],
+                               $_SERVER['SSL_CLIENT_I_DN_CN']);
 
-               if(mysql_num_rows($res) > 0)
+               if($user_id >= 0)
                {
-                       $row = mysql_fetch_assoc($res);
-
                        $_SESSION['profile']['loggedin'] = 0;
                        $_SESSION['profile'] = "";
                        foreach($_SESSION as $key)
@@ -61,7 +60,8 @@
                                        session_unregister($key);
                        }
 
-                       $_SESSION['profile'] = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".$row['memid']."'"));
+                       $_SESSION['profile'] = mysql_fetch_assoc(mysql_query(
+                                       "select * from `users` where `id`='".$user_id."'"));
                        if($_SESSION['profile']['locked'] == 0)
                                $_SESSION['profile']['loggedin'] = 1;
                        else
 
                if($_SESSION['profile']['language'] == "")
                {
-                       $query = "update `users` set `language`='".$_SESSION['_config']['language']."'
+                       $query = "update `users` set `language`='".L10n::get_translation()."'
                                                        where `id`='".$_SESSION['profile']['id']."'";
                        mysql_query($query);
                } else {
-                       $_SESSION['_config']['language'] = $_SESSION['profile']['language'];
-
-                       putenv("LANG=".$_SESSION['_config']['language']);
-                       setlocale(LC_ALL, $_SESSION['_config']['language']);
-
-                       $domain = 'messages';
-                       bindtextdomain("$domain", $_SESSION['_config']['filepath']."/locale");
-                       textdomain("$domain");
+                       L10n::set_translation($_SESSION['profile']['language']);
+                       L10n::init_gettext();
                }
        }