function addOpenID() { global $openid_list; $context = Model_Context::getInstance(); if (empty($_GET['openid_identifier']) || strstr($_GET['openid_identifier'], ".") === false) { exitWithError(_t('오픈아이디를 입력하지 않았거나, 도메인 없는 오픈아이디를 입력하였습니다.')); } $currentOpenID = Acl::getIdentity('openid_temp'); $fc = new OpenIDConsumer(); $claimedOpenID = $fc->fetch($_GET['openid_identifier']); if (in_array($claimedOpenID, $openid_list)) { exitWithError(_t('이미 연결된 오픈아이디 입니다') . " : " . $claimedOpenID); } if ($_GET['authenticated'] === "0") { header("Location: " . $context->getProperty('uri.blog') . "/owner/setting/account"); exit(0); } if (empty($currentOpenID) || $claimedOpenID != $currentOpenID) { loginOpenIDforAdding($claimedOpenID); return; } if (!in_array($currentOpenID, $openid_list)) { for ($i = 0; $i < OPENID_REGISTERS; $i++) { $openid = Setting::getUserSetting("openid." . $i, null, true); if (empty($openid)) { Setting::setUserSetting("openid." . $i, $currentOpenID, true); break; } } } echo "<html><head><script type=\"text/javascript\">//<![CDATA[" . CRLF . "alert('" . _t('연결하였습니다.') . " : " . $currentOpenID . "'); document.location.href='" . $context->getProperty('uri.blog') . "/owner/setting/account'; //]]></script></head></html>"; }
function openid_Logout($target) { OpenIDConsumer::logout(); return $target; }
$comment['ip'] = $_SERVER['REMOTE_ADDR']; $result = addComment($blogid, $comment); $errorString = ''; if (in_array($result, array("ip", "name", "homepage", "comment", "etc"))) { switch ($result) { case "name": $errorString = _text('차단된 이름을 사용하고 계시므로 댓글을 남기실 수 없습니다.'); break; case "ip": $errorString = _text('차단된 IP를 사용하고 계시므로 댓글을 남기실 수 없습니다.'); break; case "homepage": $errorString = _text('차단된 홈페이지 주소를 사용하고 계시므로 댓글을 남기실 수 없습니다.'); break; case "comment": $errorString = _text('금칙어를 사용하고 계시므로 댓글을 남기실 수 없습니다.'); break; case "etc": $errorString = _text('귀하는 차단되었으므로 사용하실 수 없습니다.'); break; } } else { if ($result === false) { $errorString = _text('댓글을 달 수 없습니다.'); } } if ($errorString) { OpenIDConsumer::printErrorReturn($errorString, $_POST["requestURI"]); } OpenIDConsumer::updateUserInfo($userName, $userHomepage); header("Location: {$_POST['requestURI']}");
function update($openid, $delegatedid, $nickname, $homepage = null) { $context = Model_Context::getInstance(); $pool = DBModel::getInstance(); $pool->reset('OpenIDUsers'); $pool->setQualifier('openid', 'equals', $openid, true); $result = $pool->getCell('openidinfo'); if (is_null($result)) { $data = serialize(array('nickname' => $nickname, 'homepage' => $homepage)); OpenIDConsumer::setUserInfo($nickname, $homepage); /* Owner column is used for reference, all openid records are shared */ $pool->reset('OpenIDUsers'); $pool->setAttribute('blogid', $context->getProperty('blog.id')); $pool->setAttribute('openid', $openid, true); $pool->setAttribute('delegatedid', $deligatedid, true); $pool->setAttribute('firstlogin', Timestamp::getUNIXTime()); $pool->setAttribute('lastlogin', Timestamp::getUNIXTime()); $pool->setAttribute('logincount', 1); $pool->setAttribute('openidinfo', $data, true); $pool->insert(); } else { $data = unserialize($result); if (!empty($nickname)) { $data['nickname'] = $nickname; } if (!empty($homepage)) { $data['homepage'] = $homepage; } OpenIDConsumer::setUserInfo($data['nickname'], $data['homepage']); $data = serialize($data); $pool->reset('OpenIDUsers'); $pool->setQualifier('openid', 'equals', $openid, true); $lastcount = $pool->getCell('logincount'); $pool->reset('OpenIDUsers'); $pool->setAttribute('openidinfo', $data, true); $pool->setAttribute('lastlogin', Timestamp::getUNIXTime()); $pool->setAttribute('logincount', $lastcount + 1); $pool->setQualifier('openid', 'equals', $openid, true); $pool->update(); } return; }
<?php /// Copyright (c) 2004-2007, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) $IV = array('GET' => array('openid_identifier' => array('string', 'mandatory' => false))); require ROOT . '/library/preprocessor.php'; requireLibrary('blog.skin'); requireStrictRoute(); $skin = new Skin($skinSetting['skin']); $consumer = new OpenIDConsumer(); if ($consumer->setDelegate($_GET['openid_identifier'])) { $skin->purgeCache(); Respond::ResultPage(0); } else { Respond::ResultPage(-1); }
function LogoutOpenID() { OpenIDConsumer::logout(); header("HTTP/1.0 302 Moved Temporarily"); header("Location: " . $_GET['requestURI']); // Hack for avoiding textcube zero-length content print "<html><body></body></html>"; }
<?php /// Copyright (c) 2004-2007, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) $IV = array('POST' => array('openidonlycomment' => array('bool', 'mandatory' => true), 'openidlogodisplay' => array('bool', 'mandatory' => true))); require ROOT . '/library/preprocessor.php'; importlib('blogskin'); requireStrictRoute(); importlib('model.common.plugin'); $skin = new Skin($skinSetting['skin']); if (OpenIDConsumer::setComment($_POST['openidonlycomment']) && OpenIDConsumer::setOpenIDLogoDisplay($_POST['openidlogodisplay'])) { if (!empty($_POST['openidonlycomment']) || !empty($_POST['openidlogodisplay'])) { activatePlugin('CL_OpenID'); } $skin->purgeCache(); Respond::ResultPage(0); } else { Respond::ResultPage(-1); }
function SampleConsumer($http_client, $assoc_mngr) { parent::OpenIDConsumer($http_client, $assoc_mngr); $path = '/tmp/oid_secret.txt'; $secret = null; if (file_exists($path)) { $secret = unserialize(file_get_contents($path)); } if (!$secret) { $secret = oidUtil::random_string(20, null); @file_put_contents($path, serialize($secret)); } $this->secret = $secret; }