/** * メンバー情報を取得する * * @param int $c_member_id * @param bool $is_secure `c_member_secure`の項目を取得するかどうか(OPENPNE_AUTH_MODEがemail以外の場合はc_usernameも取得する) * @param bool $with_profile `c_member_profile`の項目を取得するかどうか * @param string $public_flag プロフィール項目を取得する場合の公開設定(public, friend, private) * @return array メンバー情報 */ function db_member_c_member4c_member_id($c_member_id, $is_secure = false, $with_profile = false, $public_flag = 'public') { static $is_recurred = false; //再帰処理中かどうかの判定フラグ if (!$is_recurred) { //function cacheのために再帰処理を行う $is_recurred = true; $funcargs = func_get_args(); $result = pne_cache_recursive_call(OPENPNE_FUNCTION_CACHE_LIFETIME_FAST, __FUNCTION__, $funcargs); $is_recurred = false; return $result; } if ($GLOBALS['_OPENPNE_DSN_LIST']['main']['dsn']['phptype'] == 'pgsql') { $sql = "SELECT *,case when access_date = '0001-01-01 00:00:00 BC' THEN '0000-00-00 00:00:00' ELSE to_char(access_date,'YYYY-MM-DD HH24:MI:SS') END as access_date" . " FROM c_member WHERE c_member_id = ?"; } else { $sql = 'SELECT * FROM c_member WHERE c_member_id = ?'; } $params = array(intval($c_member_id)); if (!($c_member = db_get_row($sql, $params))) { return array(); } if ($is_secure) { $c_member['secure'] = db_member_c_member_secure4c_member_id($c_member_id); } if ($with_profile) { $c_member['profile'] = db_member_c_member_profile_list4c_member_id($c_member_id, $public_flag); } // public_flag_birth_year, public_flag_birth_month_day switch ($public_flag) { case 'public': if ($c_member['public_flag_birth_year'] !== 'public') { unset($c_member['birth_year']); } if ($c_member['public_flag_birth_month_day'] !== 'public') { unset($c_member['birth_month']); unset($c_member['birth_day']); } break; case 'friend': if ($c_member['public_flag_birth_year'] === 'private') { unset($c_member['birth_year']); } if ($c_member['public_flag_birth_month_day'] === 'private') { unset($c_member['birth_month']); unset($c_member['birth_day']); } break; } if (OPENPNE_AUTH_MODE != 'email' && $is_secure) { $c_member['username'] = db_member_username4c_member_id($c_member_id); } return $c_member; }
function execute($requests) { if (!OPENPNE_USE_POINT_RANK || !OPENPNE_IS_POINT_ADMIN && $requests['target_c_member_id'] == 1) { admin_client_redirect('top', '指定されたページにはアクセスできません'); } $lite = db_member_c_member4c_member_id_LIGHT($requests['target_c_member_id']); $prof = db_member_c_member_profile_list4c_member_id($requests['target_c_member_id'], "private"); $point = intval($prof['PNE_POINT']['value']); $item = array("c_member_id" => $requests['target_c_member_id'], "nickname" => $lite['nickname'], "point" => $point); $v = array(); $v['point'] = $point; $v['item'] = $item; $this->set($v); return 'success'; }
/** * @copyright 2005-2008 OpenPNE Project * @license http://www.php.net/license/3_01.txt PHP License 3.01 */ function db_bookmark_list($c_member_id, $page, $page_size) { $sql = 'SELECT c_member_id, nickname, image_filename, access_date' . ' FROM c_bookmark INNER JOIN c_member' . ' ON c_bookmark.c_member_id_to = c_member.c_member_id' . ' WHERE c_bookmark.c_member_id_from = ?' . ' ORDER BY c_bookmark.r_datetime DESC'; $params = array(intval($c_member_id)); $lst = db_get_all_page($sql, $page, $page_size, $params); foreach ($lst as $key => $value) { $lst[$key]['profile'] = db_member_c_member_profile_list4c_member_id($value['c_member_id']); $lst[$key]['last_login'] = p_f_home_last_login4access_date($value['access_date']); } $sql = 'SELECT COUNT(*) FROM c_bookmark INNER JOIN c_member' . ' ON c_bookmark.c_member_id_to = c_member.c_member_id' . ' WHERE c_bookmark.c_member_id_from = ?'; $total_num = db_get_one($sql, $params); if ($total_num === 0) { $prev = $next = false; } else { $total_page_num = ceil($total_num / $page_size); $next = $page < $total_page_num ? true : false; $prev = $page > 1 ? true : false; } return array($lst, $prev, $next, $total_num); }
function db_common_c_member_profile_list4c_member_id($c_member_id, $public_flag = 'public') { return db_member_c_member_profile_list4c_member_id($c_member_id, $public_flag); }