1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
<?php
# Movable Type (r) Open Source (C) 2001-2008 Six Apart, Ltd.
# This program is distributed under the terms of the
# GNU General Public License, version 2.
#
# $Id: function.mtremotesigninlink.php 1174 2008-01-08 21:02:50Z bchoate $
function smarty_function_mtremotesigninlink($args, &$ctx) {
// status: complete
// parameters: none
global $_typekeytoken_cache;
$blog = $ctx->stash('blog');
$auths = $blog['blog_commenter_authenticators'];
if (!preg_match('/TypeKey/', $auths)) {
return $ctx->error($ctx->mt->translate("TypeKey authentication is not enabled in this blog. MTRemoteSignInLink can't be used."));
}
$blog_id = $blog['blog_id'];
$token = 0;
if (isset($_typekeytoken_cache[$blog_id])) {
$token = $_typekeytoken_cache[$blog_id];
} else {
$token = $blog['blog_remote_auth_token'];
if ($token) {
$_typekeytoken_cache[$blog_id] = $token;
}
}
$entry = $ctx->stash('entry');
require_once "function.mtcgipath.php";
$path = smarty_function_mtcgipath($args, $ctx);
$return = $path . $ctx->mt->config('CommentScript') .
'%3f__mode=handle_sign_in%26' .
'key=TypeKey%26'.
($args['static'] ? 'static=1' : 'static=0') .
'%26entry_id=' . $entry['entry_id'];
$lang = $args['lang'];
$lang or $lang = $ctx->mt->config('DefaultLanguage');
$lang or $lang = $blog['blog_language'];
return $ctx->mt->config('SignOnURL') .
'&lang=' . $lang .
((isset($blog['blog_require_typekey_emails']) && $blog['blog_require_typekey_emails']) ? '&need_email=1' : '') .
'&t=' . $token .
'&v=' . $ctx->mt->config('TypeKeyVersion') .
'&_return=' . $return;
}
?>
|