public static function authenticate($user_id, $passwd) { $context = Model_Context::instance(); $JinboSession = new Model_Session(); $login_url = $context->getProperty('service.jinbo_api_url') . "/login/"; $api_key = $context->getProperty('service.jinbo_api_key'); $params = "user_id=" . rawurlencode($user_id) . "&passwd=" . base64_encode($passwd) . "&method=post&remote_addr=" . $_SERVER['REMOTE_ADDR'] . "&api_key=" . $api_key; $_j_sess_id = $_COOKIE[$context->getProperty('service.jinbonet_session_name')]; list($jinbo_sess_id, $jinbo_domain) = explode("/", $_j_sess_id); if ($jinbo_sess_id) { $params .= "&sessionid=" . $jinbo_sess_id; } $jinbo_session = $JinboSession->request($login_url, $params); if ($jinbo_session) { $uid = $jinbo_session[uid]; if ($uid) { $_SESSION['identity']['jinbo'] = $row['uid']; } $user_id = $jinbo_session['user_id']; $blogid = $jinbo_session['blogid']; $jinbo_sessionid = $jinbo_session['sessionid']; $JinboSession->refreshSess("user", $jinbo_session); $JinboSession->refreshGroup($jinbo_session['uid'], "", "session"); $JinboSession->refreshCookie($jinbo_session['sessionid']); setcookie($context->getProperty('service.jinbonet_session_name'), $jinbo_sessionid . "/" . $_SERVER[SERVER_NAME], 0, '/', 'jinbo.net'); return $jinbo_session; } else { self::$error = $JinboSession->error(); return NULL; } }