diff options
Diffstat (limited to 'Zotlabs/Lib/Verify.php')
-rw-r--r-- | Zotlabs/Lib/Verify.php | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Zotlabs/Lib/Verify.php b/Zotlabs/Lib/Verify.php new file mode 100644 index 000000000..8703e29e6 --- /dev/null +++ b/Zotlabs/Lib/Verify.php @@ -0,0 +1,63 @@ +<?php + +namespace Zotlabs\Lib; + + +class Verify { + + function create($type,$channel_id,$token,$meta) { + return q("insert into verify ( vtype, channel, token, meta, created ) values ( '%s', %d, '%s', '%s', '%s' )", + dbesc($type), + intval($channel_id), + dbesc($token), + dbesc($meta), + dbesc(datetime_convert()) + ); + } + + function match($type,$channel_id,$token,$meta) { + $r = q("select id from verify where vtype = '%s' and channel = %d and token = '%s' and meta = '%s' limit 1", + dbesc($type), + intval($channel_id), + dbesc($token), + dbesc($meta) + ); + if($r) { + q("delete from verify where id = %d", + intval($r[0]['id']) + ); + return true; + } + return false; + } + + function get_meta($type,$channel_id,$token) { + $r = q("select id, meta from verify where vtype = '%s' and channel = %d and token = '%s' limit 1", + dbesc($type), + intval($channel_id), + dbesc($token) + ); + if($r) { + q("delete from verify where id = %d", + intval($r[0]['id']) + ); + return $r[0]['meta']; + } + return false; + } + + /** + * @brief Purge entries of a verify-type older than interval. + * + * @param string $type Verify type + * @param string $interval SQL compatible time interval + */ + function purge($type, $interval) { + q("delete from verify where vtype = '%s' and created < %s - INTERVAL %s", + dbesc($type), + db_utcnow(), + db_quoteinterval($interval) + ); + } + +}
\ No newline at end of file |