<?php
+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
+
+ $cmd = $xmpp_ejabberdctl;
+ foreach($args as $arg) {
+ $cmd.=' '.escapeshellarg($arg);
+ }
+ system($cmd);
+}
+
function login() {
global $db,$error,$node_id;
return false;
}
- switch ($login_type) {
- case "name":
- $q = "select * from users where login='$login' and $hash_query";
- $set = $db->query($q);
- $set->next();
- $user_id = $set->getString('user_id');
- $user_name = $set->getString('login');
- break;
- case "base36id":
- $login = base_convert($login, 36, 10);
- case "id":
- // HA! if it is number, escape_string is not enough
- $login=intval($login);
-
- $q="select * from users where user_id='$login' and $hash_query";
- $set=$db->query($q);
- $set->next();
- $user_id=$set->getString('user_id');
- $user_name=$set->getString('login');
- break;
- }
+ switch ($login_type) {
+ case "name":
+ $q = "select * from users where login='$login' and $hash_query";
+ break;
+ case "base36id":
+ $login = base_convert($login, 36, 10);
+ case "id":
+ $login=intval($login); //HA! if it is number, escape_string is not enough
+ $q="select * from users where user_id='$login' and $hash_query";
+ break;
+ }
+
+ $set = $db->query($q);
+ $set->next();
+ $user_id = $set->getString('user_id');
+ $user_name = $set->getString('login');
+ $xmpp = strtolower($set->getString('xmpp'));
if (!$set) { //XXX test
$error="Zadal si nespravne uzivatelske meno [alebo id] alebo heslo. Rob so sebou nieco";
$_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...
+ $xmpp_pass=hash('md5', 'jabber:'.$_POST['password']);
+ setcookie('jabber_password', $xmpp_pass, time()+60*60*24*10, '/'); //10days on whole domain
+ $xmpp_domain='kyberia.cz'; //XXX TODO Hardcoded kyberia.cz jabber domain (NOT dev.kyberia.cz!!!!!)
+ 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'];