aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorredmatrix <git@macgirvin.com>2016-07-14 19:43:47 -0700
committerredmatrix <git@macgirvin.com>2016-07-14 19:43:47 -0700
commitf3eb9af046b155c53a194db6104a24b6d6756072 (patch)
tree06c27921afd89a0bae18553bb069898b30517705 /include
parente6c861480138ba871907ed6994d0fb840fd0e77f (diff)
downloadvolse-hubzilla-f3eb9af046b155c53a194db6104a24b6d6756072.tar.gz
volse-hubzilla-f3eb9af046b155c53a194db6104a24b6d6756072.tar.bz2
volse-hubzilla-f3eb9af046b155c53a194db6104a24b6d6756072.zip
more ZAT work
Diffstat (limited to 'include')
-rw-r--r--include/channel.php25
-rw-r--r--include/security.php2
-rw-r--r--include/text.php4
3 files changed, 29 insertions, 2 deletions
diff --git a/include/channel.php b/include/channel.php
index 95506ed78..1a6508803 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -1310,13 +1310,12 @@ function get_my_address() {
* If somebody arrives at our site using a zid, add their xchan to our DB if we don't have it already.
* And if they aren't already authenticated here, attempt reverse magic auth.
*
- * @param App &$a
*
* @hooks 'zid_init'
* string 'zid' - their zid
* string 'url' - the destination url
*/
-function zid_init(&$a) {
+function zid_init() {
$tmp_str = get_my_address();
if(validate_email($tmp_str)) {
Zotlabs\Daemon\Master::Summon(array('Gprobe',bin2hex($tmp_str)));
@@ -1343,6 +1342,28 @@ function zid_init(&$a) {
}
/**
+ * @brief
+ *
+ * If somebody arrives at our site using a zat, authenticate them
+ *
+ */
+
+function zat_init() {
+ if(local_channel() || remote_channel())
+ return;
+
+ $r = q("select * from atoken where atoken_token = '%s' limit 1",
+ dbesc($_REQUEST['zat'])
+ );
+ if($r) {
+ atoken_login($r[0]);
+ }
+
+}
+
+
+
+/**
* @brief Adds a zid parameter to a url.
*
* @param string $s
diff --git a/include/security.php b/include/security.php
index 55e9d906f..c2515a6e1 100644
--- a/include/security.php
+++ b/include/security.php
@@ -102,6 +102,8 @@ function atoken_xchan($atoken) {
return [
'xchan_hash' => $atoken['atoken_uid'] . '.' . $atoken['atoken_name'],
+ 'xchan_name' => $atoken['atoken_name'],
+ 'xchan_addr' => t('guest:') . $atoken['atoken_name'] . '@' . \App::get_hostname(),
'xchan_network' => 'unknown',
'xchan_hidden' => 1,
'xchan_photo_mimetype' => 'image/jpeg',
diff --git a/include/text.php b/include/text.php
index 986e3b56c..0b4f039af 100644
--- a/include/text.php
+++ b/include/text.php
@@ -774,6 +774,10 @@ function strip_zids($s) {
return preg_replace('/[\?&]zid=(.*?)(&|$)/ism','$2',$s);
}
+function strip_zats($s) {
+ return preg_replace('/[\?&]zat=(.*?)(&|$)/ism','$2',$s);
+}
+
// quick and dirty quoted_printable encoding