public static function streamFeatures($arr, $jaxl) { if (isset($arr["#"]["starttls"]) && $arr["#"]["starttls"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-tls") { if ($jaxl->openSSL) { XMPPSend::startTLS($jaxl); } else { $jaxl->log("[[XMPPGet]] OpenSSL extension required to proceed with TLS encryption"); throw new JAXLException("[[XMPPGet]] OpenSSL extension required to proceed with TLS encryption"); $jaxl->shutdown(); } } else { if (isset($arr["#"]["mechanisms"]) && $arr["#"]["mechanisms"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-sasl") { $mechanism = array(); foreach ($arr["#"]["mechanisms"][0]["#"]["mechanism"] as $row) { $mechanism[] = $row["#"]; } $jaxl->executePlugin('jaxl_get_auth_mech', $mechanism); } else { if (isset($arr["#"]["bind"]) && $arr["#"]["bind"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-bind") { if (isset($arr["#"]["session"])) { if (!isset($arr["#"]["session"][0]["#"]["optional"])) { $jaxl->sessionRequired = true; } } $jaxl->startBind(); } } } }
public static function streamFeatures($arr, $jaxl) { if (isset($arr["#"]["starttls"]) && $arr["#"]["starttls"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-tls") { XMPPSend::startTLS($jaxl); } else { if (isset($arr["#"]["mechanisms"]) && $arr["#"]["mechanisms"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-sasl") { $mechanism = array(); foreach ($arr["#"]["mechanisms"][0]["#"]["mechanism"] as $row) { $mechanism[] = $row["#"]; } JAXLPlugin::execute('jaxl_get_auth_mech', $mechanism, $jaxl); } else { if (isset($arr["#"]["bind"]) && $arr["#"]["bind"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-bind") { $jaxl->sessionRequired = isset($arr["#"]["session"]); $jaxl->startBind(); } } } }