get_nodes_by_type and logout moved to backend, warnings cleanup
[mirrors/Kyberia-bloodline.git] / wwwroot / inc / eventz / login.inc
index dab5d22a7d0a18dc6ac65ebe44b179cbbcdc3fe0..30d43780610658d8b8fe7b980148591395bd8aa1 100644 (file)
@@ -1,24 +1,35 @@
 <?php
-function login() {
+function jabberctl($command, $args) { //XXXTODO Move to some .inc file...
+       //gpasswd -a kyberia jabber #Adding user kyberia to group jabber
+       $xmpp_ejabberdctl='sudo /usr/sbin/ejabberdctl'; //XXX TODO Hardcoded
 
-    global $db,$error,$node_id;
-    $login = mysql_real_escape_string($_POST['login']);
-    $password = $_POST['password']; // Not SQLi but be carefull
-    $password_hash_algos=array('sha256','sha1','md5'); //List of supported algos can be obtained using: php -r 'print_r(hash_algos());'
+       $cmd = $xmpp_ejabberdctl;
+       foreach($args as $arg) {
+               $cmd.=' '.escapeshellarg($arg);
+       }
+       system($cmd);
+}
 
-    $hash_query='(';
-    foreach($password_hash_algos as $algo) {
-      $hash_query.="password='".hash($algo, $password)."' OR ";
-    }
-    $hash_query.='false )';
+function login_check($login, $password, $login_type='id') {
 
-    $login_type = $_POST['login_type'];
-    $referer = $_SERVER['HTTP_REFERER'];
+       global $db,$error,$node_id;
+       $login = db_escape_string($login); 
+       //Not SQLi in $password but be carefull
+       $password_hash_algos=array('sha256','sha1','md5'); 
+       //List of supported algos can be obtained using: php -r 'print_r(hash_algos());'
 
-    if (!session_id()) {
-        $error='asi nemas zapnute cookies alebo co';
-        return false;
-    }
+       $hash_query='(';
+       foreach($password_hash_algos as $algo) {
+               $hash_query.="password='".hash($algo, $password)."' OR ";
+       }
+       $hash_query.='false )';
+
+       $referer = $_SERVER['HTTP_REFERER'];
+
+       if (!session_id()) {
+               $error='asi nemas zapnute cookies alebo co';
+               return false;
+       }
 
        switch ($login_type) {
                case "name":
@@ -42,7 +53,7 @@ function login() {
         $error="Zadal si nespravne uzivatelske meno [alebo id] alebo heslo. Rob so sebou nieco";
         return false;
     }
-    elseif ($set->getString('header_id') == 2091520) {
+    elseif ($set->getString('hash')) {
         $error='Tvoja registracia este nebola schvalena.';
         return false;
     }
@@ -117,14 +128,23 @@ where node_access.user_id='$user_id' and node_bookmark='yes' order by node_name"
 
         $_SESSION['user_id']=$user_id;
         $_SESSION['user_name']=addslashes($user_name);
-       setcookie('jabber_login', $xmpp, time()+60*60*24*10, '/'); //10days on whole domain - should have persistent username in future...
+       setcookie('jabber_login', $xmpp, time()+60*60*24*10, '/'); 
+       //10days on whole domain - should have persistent username in future...
        $xmpp_pass=hash('md5', 'jabber:'.$_POST['password']);
        setcookie('jabber_password', $xmpp_pass, time()+60*60*24*10, '/'); //10days on whole domain
-       system('sudo /usr/sbin/ejabberdctl register '.escapeshellarg($xmpp).' '.escapeshellarg('kyberia.cz').' '.escapeshellarg($xmpp_pass)); //gpasswd -a kyberia jabber #Adding user kyberia to group jabber //XXX TODO Hardcoded kyberia.cz jabber domain (NOT dev.kyberia.cz!!!!!)
+       $xmpp_domain='kyberia.cz'; //XXX TODO Hardcoded kyberia.cz jabber domain (NOT dev.kyberia.cz!!!!!)
+
+       # XXX dissabled, was causing 20+ sec. delay while logging in
+#      jabberctl('register',           array($xmpp, $xmpp_domain, $xmpp_pass));
+#      jabberctl('change_password',    array($xmpp, $xmpp_domain, $xmpp_pass));
+#      jabberctl('push_alltoall',      array($xmpp_domain, $xmpp_domain));
+
         if (!empty($cube_vector)) $_SESSION['cube_vector']=$cube_vector;
         if (empty($_SESSION['template_set'])) $_SESSION['template_set']=$set->getString('template_set');
-        if (is_numeric($_POST['screen_width'])) $_SESSION['browser']['screen_width']=$_POST['screen_width'];
-        if (is_numeric($_POST['screen_height'])) $_SESSION['browser']['screen_height']=$_POST['screen_height'];
+        if (!empty($_POST['screen_width']) && is_numeric($_POST['screen_width'])) 
+               { $_SESSION['browser']['screen_width']=$_POST['screen_width']; }
+        if (!empty($_POST['screen_height']) && is_numeric($_POST['screen_height'])) 
+               { $_SESSION['browser']['screen_height']=$_POST['screen_height']; }
         $_SESSION['listing_amount']=$set->getString('listing_amount');
         $_SESSION['listing_order']=$set->getString('listing_order');
         $_SESSION['header_id']=$set->getString('header_id');
@@ -132,4 +152,10 @@ where node_access.user_id='$user_id' and node_bookmark='yes' order by node_name"
 //    header("Location: $referer");
     return true;
 }
-?>
+
+function login() {
+       $login = $_POST['login'];
+       $password = $_POST['password'];
+       $login_type = $_POST['login_type'];
+       return login_check($login, $password, $login_type);
+}
This page took 0.184412 seconds and 4 git commands to generate.