Exemplo n.º 1
0
 function check_auth()
 {
     $login = auth::check_auth_pw();
     if (!empty($login)) {
         return $login;
     }
     // 外部認証API
     $auth_key = auth::get_user_name();
     // 暫定管理者(su)
     global $vars;
     if (!isset($vars['pass'])) {
         return $auth_key['nick'];
     }
     if (pkwk_login($vars['pass'])) {
         return UNAME_ADM_CONTENTS_TEMP;
     }
     return $auth_key['nick'];
 }
Exemplo n.º 2
0
function plugin_commentx_get_nick()
{
    global $vars;
    $name = empty($vars['name']) ? '' : $vars['name'];
    if (PKWK_READONLY != ROLE_AUTH) {
        return array($name, $name, '');
    }
    list($role, $name, $nick, $url) = auth::get_user_name();
    if (empty($nick)) {
        return array($name, $name, '');
    }
    if (auth::get_role_level() < ROLE_AUTH) {
        return array($name, $name, '');
    }
    $link = empty($url) ? $nick : $nick . '>' . $url;
    return array($nick, $link, "disabled=\"disabled\"");
}
Exemplo n.º 3
0
 /**
  * ユーザのROLEを取得
  * @static
  */
 function get_role_level()
 {
     global $realm, $auth_type, $auth_users, $adminpass;
     $login = auth::check_auth();
     if (empty($login)) {
         return ROLE_GUEST;
     }
     // 未認証者
     // 管理者パスワードなのかどうか?
     $temp_admin = pkwk_hash_compute($_SERVER['PHP_AUTH_PW'], $adminpass) !== $adminpass ? FALSE : TRUE;
     if (!$temp_admin && $login == UNAME_ADM_CONTENTS_TEMP) {
         global $vars;
         if (isset($vars['pass']) && pkwk_login($vars['pass'])) {
             $temp_admin = TRUE;
         }
     }
     if (!isset($auth_users[$login])) {
         // 未登録者の場合
         // 管理者パスワードと偶然一致した場合でも見做し認証者(4.1)
         //return ($login == 'admin' && $temp_admin) ? 3.1 : 4.1;
         if ($login == UNAME_ADM_CONTENTS_TEMP && $temp_admin) {
             return ROLE_ADM_CONTENTS_TEMP;
         }
         // 外部認証API
         list($role, $name, $nick, $profile) = auth::get_user_name();
         // return (empty($name)) ? ROLE_AUTH_TEMP : $role;
         if (empty($name)) {
             return ROLE_AUTH_TEMP;
         }
         $wkgrp = auth::get_role_wkgrp($role, $name);
         return $wkgrp == 0 ? $role : $wkgrp;
     }
     // 設定されている役割を取得
     $role = empty($auth_users[$login][1]) ? ROLE_AUTH : $auth_users[$login][1];
     switch ($role) {
         case ROLE_ADM:
             // サイト管理者
         // サイト管理者
         case ROLE_ADM_CONTENTS:
             // コンテンツ管理者
             // パスワードまで一致していること
             if ($auth_type == 2) {
                 return auth::auth_digest($realm, $auth_users) ? $role : ROLE_AUTH;
             } else {
                 return auth::auth_pw($auth_users) ? $role : ROLE_AUTH;
             }
         case ROLE_AUTH:
             // 認証者(pukiwiki)
             return $temp_admin ? ROLE_ADM_CONTENTS_TEMP : ROLE_AUTH;
     }
     return ROLE_AUTH;
 }
Exemplo n.º 4
0
function plugin_typekey_inline()
{
    global $vars, $_typekey_msg, $auth_api;
    if (!function_exists('pkwk_session_start')) {
        return $_typekey_msg['msg_not_found'];
    }
    if (pkwk_session_start() == 0) {
        return $_typekey_msg['msg_not_start'];
    }
    if ($auth_api['typekey']['use'] != 1) {
        return $_typekey_msg['msg_invalid'];
    }
    if (empty($auth_api['typekey']['site_token'])) {
        return $_typekey_msg['msg_error'];
    }
    $obj = new auth_typekey();
    $link = $obj->get_profile_link();
    if ($link === false) {
        return '';
    }
    if (!empty($link)) {
        // 既に認証済
        $page = get_script_absuri() . rawurlencode('?plugin=typekey');
        if (!empty($vars['page'])) {
            $page .= rawurlencode('&page=' . $vars['page']);
        }
        return sprintf($_typekey_msg['msg_logined'], $link) . '(<a href="' . auth_typekey::typekey_logout_url($page) . rawurlencode('&logout') . '">' . $_typekey_msg['msg_logout'] . '</a>)';
    }
    $auth_key = auth::get_user_name();
    if (!empty($auth_key['nick'])) {
        return $_typekey_msg['msg_typekey'];
    }
    return '<a href="' . plugin_typekey_jump_url() . '">' . $_typekey_msg['msg_typekey'] . '</a>';
}
Exemplo n.º 5
0
function plugin_pcomment_get_nick()
{
    global $vars, $_no_name;
    $name = empty($vars['name']) ? $_no_name : $vars['name'];
    if (PKWK_READONLY != ROLE_AUTH) {
        return array($name, $name, '');
    }
    $auth_key = auth::get_user_name();
    if (empty($auth_key['nick'])) {
        return array($name, $name, '');
    }
    if (auth::get_role_level() < ROLE_AUTH) {
        return array($auth_key['nick'], $name, '');
    }
    $link = empty($auth_key['profile']) ? $auth_key['nick'] : $auth_key['nick'] . '>' . $auth_key['profile'];
    return array($auth_key['nick'], $link, "disabled=\"disabled\"");
}
Exemplo n.º 6
0
function plugin_openid_inline()
{
    global $vars, $auth_api, $_openid_msg;
    if (!isset($auth_api['openid']['use'])) {
        return '';
    }
    if (!$auth_api['openid']['use']) {
        return $_openid_msg['msg_invalid'];
    }
    if (!function_exists('pkwk_session_start')) {
        return $_openid_msg['msg_not_found'];
    }
    if (pkwk_session_start() == 0) {
        return $_openid_msg['msg_not_start'];
    }
    $obj = new auth_openid_plus();
    $name = $obj->auth_session_get();
    if (!empty($name['api']) && $obj->auth_name !== $name['api']) {
        return;
    }
    $page = empty($vars['page']) ? '' : $vars['page'];
    $cmd = get_cmd_uri('openid', $page);
    if (!empty($name['nickname'])) {
        if (empty($name['local_id'])) {
            $link = $name['nickname'];
        } else {
            $link = '<a href="' . $name['local_id'] . '">' . $name['nickname'] . '</a>';
        }
        return sprintf($_openid_msg['msg_logined'], $link) . '(<a href="' . $cmd . '&amp;logout' . '">' . $_openid_msg['msg_logout'] . '</a>)';
    }
    $auth_key = auth::get_user_name();
    if (!empty($auth_key['nick'])) {
        return $_openid_msg['msg_openid'];
    }
    return '<a href="' . $cmd . '">' . $_openid_msg['msg_openid'] . '</a>';
}
Exemplo n.º 7
0
function plugin_livedoor_inline()
{
    global $script, $vars, $auth_api, $_livedoor_msg;
    if (!$auth_api['livedoor']['use']) {
        return $_livedoor_msg['msg_invalid'];
    }
    if (!function_exists('pkwk_session_start')) {
        return $_livedoor_msg['msg_not_found'];
    }
    if (pkwk_session_start() == 0) {
        return $_livedoor_msg['msg_not_start'];
    }
    $obj = new auth_livedoor();
    $name = $obj->auth_session_get();
    if (!empty($name['api']) && $obj->auth_name !== $name['api']) {
        return;
    }
    if (isset($name['livedoor_id'])) {
        $logout_url = $script . '?plugin=livedoor';
        if (!empty($vars['page'])) {
            $logout_url .= '&amp;page=' . rawurlencode($vars['page']) . '&amp;logout';
        }
        return sprintf($_livedoor_msg['msg_logined'], $name['livedoor_id']) . '(<a href="' . $logout_url . '">' . $_livedoor_msg['msg_logout'] . '</a>)';
    }
    $auth_key = auth::get_user_name();
    if (!empty($auth_key['nick'])) {
        return $_livedoor_msg['msg_livedoor'];
    }
    $login_url = plugin_livedoor_jump_url(1);
    return '<a href="' . $login_url . '">' . $_livedoor_msg['msg_livedoor'] . '</a>';
}
Exemplo n.º 8
0
function plugin_hatena_inline()
{
    global $script, $vars, $auth_api, $_hatena_msg;
    if (!$auth_api['hatena']['use']) {
        return $_hatena_msg['msg_invalid'];
    }
    if (!function_exists('pkwk_session_start')) {
        return $_hatena_msg['msg_not_found'];
    }
    if (pkwk_session_start() == 0) {
        return $_hatena_msg['msg_not_start'];
    }
    $obj = new auth_hatena();
    $name = $obj->auth_session_get();
    if (!empty($name['api']) && $obj->auth_name !== $name['api']) {
        return;
    }
    if (isset($name['name'])) {
        // $name = array('name','ts','image_url','thumbnail_url');
        $link = $name['name'] . '<img src="' . $name['thumbnail_url'] . '" alt="id:' . $name['name'] . '" />';
        $logout_url = $script . '?plugin=hatena';
        if (!empty($vars['page'])) {
            $logout_url .= '&amp;page=' . rawurlencode($vars['page']);
        }
        $logout_url .= '&amp;logout';
        return sprintf($_hatena_msg['msg_logined'], $link) . '(<a href="' . $logout_url . '">' . $_hatena_msg['msg_logout'] . '</a>)';
    }
    $auth_key = auth::get_user_name();
    if (!empty($auth_key['nick'])) {
        return $_hatena_msg['msg_hatena'];
    }
    $login_url = plugin_hatena_jump_url(1);
    return '<a href="' . $login_url . '">' . $_hatena_msg['msg_hatena'] . '</a>';
}