Example #1
0
function kingkongboard_entry_password_check()
{
    global $current_user;
    $result = array();
    $entry_id = sanitize_text_field($_POST['entry_id']);
    $entry_pwd = sanitize_text_field($_POST['entry_pwd']);
    $entry_pwd = md5($entry_pwd);
    $board_id = get_kingkong_board_meta_value($entry_id, 'board_id');
    $added_user = get_kingkong_board_meta_value($entry_id, 'login_id');
    $entry_secret = get_post_meta($entry_id, 'kingkongboard_entry_password', true);
    $entry_password = get_post_meta($entry_id, 'kingkongboard_entry_password', true);
    $board_managers = get_post_meta($board_id, 'board_managers', true);
    if ($board_managers) {
        $board_managers = unserialize($board_managers);
    } else {
        $board_managers = array();
    }
    if (is_user_logged_in()) {
        $user_login = $current_user->user_login;
    } else {
        $user_login = null;
    }
    if (in_array($user_login, $board_managers) or current_user_can('manage_options') or $added_user == $current_user->ID and $added_user != 0) {
        $result['status'] = "success";
    } else {
        if ($entry_pwd == $entry_secret) {
            $result['status'] = "success";
        } else {
            $result['status'] = "failed";
            $error = new kkbError();
            if ($added_user != $current_user->ID && $added_user != 0) {
                $result['message'] = $error->getMessage(07);
            } else {
                $result['message'] = $error->getMessage(00);
            }
        }
    }
    header("Content-Type: application/json");
    echo json_encode($result);
    exit;
}