# ----- # unsubscribe the IM account # ----- $jcid = $jcid + 1; jab_set_unreg($fd, $jcid, $icqag); $buf_recv = fread($fd, 2048); while (!$buf_recv) { usleep(100); $buf_recv = fread($fd, 2048); } sleep(1); $query = "DELETE FROM " . $imtype . " WHERE juid='{$juid}'"; dbg_msg("{$query} <br>"); $result = mysql_query($query, $dblink); if (!$result) { echo "<br>Can not remove IM ({$imtype}) information from database<br>"; } else { echo "<br>Unsubscription from IM ({$imtype}) completed<br>"; } } } sleep(1); jab_disconnect($fd); mysql_close($dblink); } ?> </DIV> </BODY> </HTML>
function reg_jab($sipname) { global $config; $jcid = $config->jcid; $sipdomain = $config->domain; # ----- # check if is already registered with Jabber gateway # ----- $sipuri = "sip:" . $sipname . "@" . $sipdomain; $dsn = $config->jab_db_type . "://" . $config->jab_db_usr . ":" . $config->jab_db_pas . "@" . $config->jab_db_srv . (empty($config->jab_db_port) ? "" : ":" . $config->jab_db_port) . "/" . $config->jab_db_db; $db = DB::connect($dsn); if (DB::isError($db)) { log_errors($db, $dummy); return 1; } # ---- $query = "SELECT jab_id FROM jusers WHERE sip_id='{$sipuri}'"; $result = $db->query($query); if (DB::isError($result)) { log_errors($result, $dummy); return 3; } if ($result->numRows() == 0) { // no Jabber account - create one $fd = jab_connect($config->jserver, $config->jport); if (!$fd) { return 4; } $buf_recv = fread($fd, 2048); while (!$buf_recv) { usleep(100); $buf_recv = fread($fd, 2048); } $jcid = $jcid + 1; jab_get_reg($fd, $jcid, $config->jserver); $buf_recv = fread($fd, 2048); while (!$buf_recv) { usleep(100); $buf_recv = fread($fd, 2048); } $jcid = $jcid + 1; $new_passwd = "qw1" . $sipname . "#"; jab_set_reg($fd, $jcid, $config->jserver, $sipname, $new_passwd); $buf_recv = fread($fd, 2048); while (!$buf_recv) { usleep(100); $buf_recv = fread($fd, 2048); } if (stristr($buf_recv, " id='{$jcid}'") && stristr($buf_recv, " type='error'")) { $db->disconnect(); jab_disconnect($fd); return 5; } # ----- # Add user in database # ----- $query = "INSERT INTO jusers (jab_id, jab_passwd, sip_id) VALUES ('{$sipname}', '{$new_passwd}', '{$sipuri}')"; $result = $db->query($query); if ($db->affectedRows() != 1) { $db->disconnect(); jab_disconnect($fd); return 6; } jab_disconnect($fd); } return 0; }