Пример #1
0
function db_review_c_friend_review_list_more4c_member_id($c_member_id, $page, $page_size)
{
    $friends = db_friend_c_member_id_list($c_member_id, true);
    if (!$friends) {
        return array();
    }
    $ids = implode(',', array_map('intval', $friends));
    $sql = 'SELECT * FROM c_review INNER JOIN c_review_comment USING (c_review_id)' . ' WHERE c_review_comment.c_member_id IN (' . $ids . ')' . ' ORDER BY c_review_comment.r_datetime DESC';
    $list = db_get_all_page($sql, $page, $page_size, $params);
    foreach ($list as $key => $value) {
        $list[$key] += db_member_c_member4c_member_id_LIGHT($value['c_member_id']);
    }
    $sql = 'SELECT COUNT(*) FROM c_review_comment WHERE c_member_id IN (' . $ids . ')';
    $total_num = db_get_one($sql);
    if ($total_num != 0) {
        $total_page_num = ceil($total_num / $page_size);
        if ($page >= $total_page_num) {
            $next = false;
        } else {
            $next = true;
        }
        if ($page <= 1) {
            $prev = false;
        } else {
            $prev = true;
        }
    }
    $start_num = ($page - 1) * $page_size + 1;
    $end_num = ($page - 1) * $page_size + $page_size > $total_num ? $total_num : ($page - 1) * $page_size + $page_size;
    return array($list, $prev, $next, $total_num, $start_num, $end_num);
}
Пример #2
0
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     $page = $requests['page'];
     // ----------
     if (!$target_c_member_id) {
         $target_c_member_id = $u;
     }
     if (db_member_is_access_block($u, $target_c_member_id)) {
         openpne_redirect('ktai', 'page_h_access_block');
     }
     //ターゲット情報
     $this->set("target_c_member", db_member_c_member4c_member_id_LIGHT($target_c_member_id));
     // 1ページ当たりに表示するフレンドの数
     $page_size = 10;
     //ターゲットの詳細な友達リスト
     $list = db_friend_friend_list4c_member_id($target_c_member_id, $page_size, $page);
     $total_num = db_friend_count_friends($target_c_member_id);
     $this->set("target_friend_list", $list[0]);
     $this->set("page", $page);
     $this->set("is_prev", $list[1]);
     $this->set("is_next", $list[2]);
     $this->set('total_num', $total_num);
     $pager = array();
     $pager['start'] = $page_size * ($page - 1) + 1;
     $pager['end'] = $pager['start'] + count($list[0]) - 1;
     $this->set('pager', $pager);
     $this->set("INC_NAVI_type", k_p_fh_common_get_type($target_c_member_id, $u));
     return 'success';
 }
Пример #3
0
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     $page = $requests['page'];
     // ----------
     if (db_member_is_access_block($u, $target_c_member_id)) {
         openpne_redirect('ktai', 'page_h_access_block');
     }
     // メンバー情報
     $this->set("target_c_member", db_member_c_member4c_member_id_LIGHT($target_c_member_id));
     // 参加コミュニティリスト
     $page_size = 10;
     list($list, $pager) = db_common_commu_common_commu_list4c_member_id($target_c_member_id, $u, $page, $page_size);
     $this->set("common_commu_list", $list);
     $this->set("page", $page);
     $this->set("is_prev", $pager[prev_page]);
     $this->set("is_next", $pager[next_page]);
     $this->set('start_num', $pager['start_num']);
     $this->set('end_num', $pager['end_num']);
     // 共通コミュニティ数
     $this->set("common_commu_count", $pager[total_num]);
     return 'success';
 }
Пример #4
0
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     $page = $requests['page'];
     // ----------
     if (!$target_c_member_id) {
         $target_c_member_id = $u;
     }
     if (db_member_is_access_block($u, $target_c_member_id)) {
         openpne_redirect('ktai', 'page_h_access_block');
     }
     // メンバー情報
     $this->set("target_c_member", db_member_c_member4c_member_id_LIGHT($target_c_member_id));
     // 参加コミュニティリスト
     $page_size = 10;
     $list = db_commu_c_commu_list4c_member_id_4($target_c_member_id, $page_size, $page);
     $this->set("c_commu_list", $list[0]);
     $this->set("page", $page);
     $this->set("is_prev", $list[1]);
     $this->set("is_next", $list[2]);
     $pager = array();
     $pager['start'] = $page_size * ($page - 1) + 1;
     $pager['end'] = $pager['start'] + count($list[0]) - 1;
     $this->set('pager', $pager);
     // 参加コミュニティ数
     $this->set("count_commus", $list[3]);
     //f or h
     $this->set("INC_NAVI_type", k_p_fh_common_get_type($target_c_member_id, $u));
     return 'success';
 }
Пример #5
0
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_album_id = $requests['target_c_album_id'];
     // ----------
     if (!p_common_is_active_c_album_id($target_c_album_id)) {
         util_send_header_internal_server_error();
     }
     //--- 権限チェック
     $c_album = db_album_get_c_album4c_album_id($target_c_album_id);
     $target_c_member_id = $c_album['c_member_id'];
     $c_album['c_member'] = db_member_c_member4c_member_id_LIGHT($target_c_member_id);
     $c_album['album_cover_image'] = util_get_img_url($c_album['album_cover_image'], 180, 180);
     $c_album['word_my_friend'] = WORD_MY_FRIEND;
     if ($u != $target_c_member_id) {
         // メンバーが存在しない
         if (!$c_album['c_member']) {
             util_send_header_internal_server_error();
         }
         // check public_flag
         if (!pne_check_album_public_flag($target_c_album_id, $u)) {
             util_send_header_internal_server_error();
         }
         // アクセスブロック設定
         if (db_member_is_access_block($u, $target_c_member_id)) {
             util_send_header_internal_server_error();
         }
     }
     //---
     util_output_xml4array($c_album, 'c_album');
 }
Пример #6
0
function db_rss_list_friend_c_rss_cache_list($c_member_id, $limit)
{
    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;
    }
    $friends = db_friend_c_member_id_list($c_member_id, true);
    if (!$friends) {
        return array();
    }
    $ids = implode(',', array_map('intval', $friends));
    $hint = db_mysql_hint('USE INDEX (c_member_id_r_datetime)');
    $sql = 'SELECT * FROM c_rss_cache' . $hint . ' WHERE c_member_id IN (' . $ids . ')' . ' ORDER BY r_datetime DESC';
    $list = db_get_all_limit($sql, 0, $limit);
    foreach ($list as $key => $value) {
        $list[$key]['c_member'] = db_member_c_member4c_member_id_LIGHT($value['c_member_id']);
    }
    return $list;
}
Пример #7
0
/**
 * 認証API
 */
function xmlrpc_000_auth($message)
{
    $param = $message->getParam(0);
    if (!XML_RPC_Value::isValue($param)) {
        return false;
    }
    $params = XML_RPC_decode($param);
    if (empty($params['sid'])) {
        return false;
    }
    if (empty($params['mid'])) {
        return false;
    }
    if (empty($params['dt'])) {
        return false;
    }
    $c_member_id = $params['mid'];
    $datetime = $params['dt'];
    if (!db_member_c_member4c_member_id_LIGHT($c_member_id)) {
        return xmlrpc_get_fault_response(56);
    }
    if (!($member_token = db_api_get_member_token($c_member_id))) {
        return xmlrpc_get_fault_response(52);
    }
    $session_id = api_get_sid($c_member_id, $member_token, $datetime);
    if ($params['sid'] != $session_id) {
        return xmlrpc_get_fault_response(52);
    }
    return xmlrpc_get_response($c_member_id);
}
Пример #8
0
 function execute($requests)
 {
     $v = array();
     $v['SNS_NAME'] = SNS_NAME;
     $v['c_member'] = db_member_c_member4c_member_id_LIGHT($requests['target_c_member_id']);
     $this->set($v);
     return 'success';
 }
function _getNewMemberList()
{
    $sql = 'SELECT * FROM c_member WHERE c_member_id <> 1 ORDER BY c_member_id DESC';
    $list = db_get_all_limit($sql, 0, 5);
    foreach ($list as $key => $value) {
        $list[$key]['c_member_invite'] = db_member_c_member4c_member_id_LIGHT($value['c_member_id_invite']);
    }
    return $list;
}
function _getUnreadMessageList()
{
    $sql = 'SELECT * FROM c_message WHERE c_member_id_to = ? AND is_read = 0 AND is_send = 1 ORDER BY c_message_id DESC';
    $list = db_get_all_limit($sql, 0, 5, array(1));
    foreach ($list as $key => $value) {
        $list[$key]['c_member'] = db_member_c_member4c_member_id_LIGHT($value['c_member_id_from']);
    }
    return $list;
}
 function execute($requests)
 {
     if (!db_member_c_member4c_member_id_LIGHT($requests['target_c_member_id'])) {
         admin_client_redirect('list_c_member', '指定されたメンバーは存在しません');
     }
     $v = array();
     $v['c_profile_list'] = db_member_c_profile_list4null();
     $v['c_member'] = db_member_c_member4c_member_id($requests['target_c_member_id'], true, true, 'private');
     $this->set($v);
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     $target_c_commu_id = $requests['target_c_commu_id'];
     $body = $requests['body'];
     // ----------
     //--- 権限チェック
     // 自分がコミュニティ管理者
     // 自分がコミュニティ副管理者ではない
     // targetがコミュニティメンバー
     // 自分へのメッセージ送信ではない
     // すでに管理者交代依頼メッセージ送信済みではない
     // すでに副管理者要請メッセージを送信済みでない
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     $status = db_common_commu_status($target_c_member_id, $target_c_commu_id);
     if (!$status['is_commu_member']) {
         handle_kengen_error();
     }
     if ($u == $target_c_member_id) {
         handle_kengen_error();
     }
     $target_c_commu_admin_confirm_list = db_commu_anatani_c_commu_admin_confirm_list4c_member_id($target_c_member_id);
     if (!empty($target_c_commu_admin_confirm_list)) {
         foreach ($target_c_commu_admin_confirm_list as $value) {
             if ($value['c_commu_id'] == $target_c_commu_id) {
                 handle_kengen_error();
             }
         }
     }
     $target_c_commu_sub_admin_confirm_list = db_commu_anatani_c_commu_sub_admin_confirm_list4c_member_id($target_c_member_id);
     if (!empty($target_c_commu_sub_admin_confirm_list)) {
         foreach ($target_c_commu_sub_admin_confirm_list as $value) {
             if ($value['c_commu_id'] == $target_c_commu_id) {
                 handle_kengen_error();
             }
         }
     }
     //---
     $this->set('inc_navi', fetch_inc_navi("c", $target_c_commu_id));
     $this->set("target_c_member_id", $target_c_member_id);
     $this->set('target_c_member', db_member_c_member4c_member_id_LIGHT($target_c_member_id));
     $this->set("target_c_commu_id", $target_c_commu_id);
     $this->set("body", $body);
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     // ----------
     if (db_member_is_access_block($u, $target_c_member_id)) {
         openpne_redirect('pc', 'page_h_access_block');
     }
     $this->set('inc_navi', fetch_inc_navi('f', $target_c_member_id));
     $this->set('target_c_member', db_member_c_member4c_member_id_LIGHT($target_c_member_id));
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $c_member_id_to = $requests['c_member_id_to'];
     // ----------
     if (db_member_is_access_block($u, $c_member_id_to)) {
         openpne_redirect('pc', 'page_h_access_block');
     }
     $this->set('inc_navi', fetch_inc_navi("f", $c_member_id_to));
     $this->set('bookmark_member', db_member_c_member4c_member_id_LIGHT($c_member_id_to));
     return 'success';
 }
Пример #15
0
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     // ----------
     if (db_member_is_access_block($u, $target_c_member_id)) {
         openpne_redirect('ktai', 'page_h_access_block');
     }
     //ターゲット情報
     $this->set("target_c_member", db_member_c_member4c_member_id_LIGHT($target_c_member_id));
     return 'success';
 }
Пример #16
0
 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';
 }
Пример #17
0
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $id = $requests['id'];
     $is_check = $requests['is_check'];
     $writer_name = $requests['writer_name'];
     $sort_order = $requests['sort_order'];
     $writer_id = $requests['writer_id'];
     $memo = $requests['memo'];
     $is_done = $requests['is_done'];
     $due_year = $requests['due_year'];
     $due_month = $requests['due_month'];
     $due_day = $requests['due_day'];
     $priority = $requests['priority'];
     $biz_group_id = $requests['biz_group_id'];
     $public_flag = $requests['public_flag'];
     // ----------
     if (!biz_isPermissionTodo($u, $id)) {
         handle_kengen_error();
     }
     if (empty($memo)) {
         $_REQUEST['msg'] = 'Todoの内容を入力してください';
         openpne_forward('biz', 'page', 'fh_home_edit_biz_todo');
         exit;
     }
     if (!$biz_group_id && $public_flag == 'group') {
         $_REQUEST['msg'] = '「グループまで公開」Todoの場合はグループを指定してください';
         openpne_forward('biz', 'page', 'fh_home_edit_biz_todo');
         exit;
     }
     if ($is_check && $public_flag == 'private') {
         $_REQUEST['msg'] = '公開範囲が「公開しない」のTodoは共有できません';
         openpne_forward('biz', 'page', 'fh_home_edit_biz_todo');
         exit;
     }
     $member_info = db_member_c_member4c_member_id_LIGHT($writer_id);
     $todo_info = biz_getTodo($id);
     $due_datetime = $due_year . '-' . $due_month . '-' . $due_day . ' 00:00:00';
     if (!$todo_info['c_member_id'] && !$is_check) {
         $todo_info['c_member_id'] = $writer_id;
     }
     biz_editTodo($todo_info['c_member_id'], $memo, $writer_id, $sort_order, $is_check, $id, $is_done, $due_datetime, $priority, $biz_group_id, $public_flag);
     openpne_redirect('pc', 'page_h_home');
 }
Пример #18
0
/**
 * @copyright 2005-2008 OpenPNE Project
 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
 */
function xmlrpc_001_get_c_member($message)
{
    $param = $message->getParam(0);
    if (!XML_RPC_Value::isValue($param)) {
        return false;
    }
    $params = XML_RPC_decode($param);
    if (empty($params['target_c_member_id'])) {
        return false;
    }
    if (empty($params['my_c_member_id'])) {
        return false;
    }
    $t_id = intval($params['target_c_member_id']);
    $m_id = intval($params['my_c_member_id']);
    // my_c_member_id が不正
    if (!db_member_c_member4c_member_id_LIGHT($m_id)) {
        return xmlrpc_get_fault_response(56);
    }
    if ($t_id == $m_id) {
        // 自分
        $public_flag = 'private';
    } elseif (db_friend_is_friend($t_id, $m_id)) {
        $public_flag = 'friend';
    } else {
        $public_flag = 'public';
    }
    // target_c_member_id が不正
    if (!($c_member = db_member_c_member4c_member_id($t_id, false, true, $public_flag))) {
        return xmlrpc_get_fault_response(56);
    }
    // アクセスブロック判定
    if (db_member_is_access_block($m_id, $t_id)) {
        $result = array('c_member_id' => $t_id, 'nickname' => $c_member['nickname'], 'image_url' => xmlrpc_get_image_url());
    } else {
        $result = array('c_member_id' => $t_id, 'nickname' => $c_member['nickname'], 'image_url' => xmlrpc_get_image_url($c_member['image_filename']), 'image_url_1' => xmlrpc_get_image_url($c_member['image_filename_1'], false), 'image_url_2' => xmlrpc_get_image_url($c_member['image_filename_2'], false), 'image_url_3' => xmlrpc_get_image_url($c_member['image_filename_3'], false), 'birth_year' => intval($c_member['birth_year']), 'birth_month' => intval($c_member['birth_month']), 'birth_day' => intval($c_member['birth_day']), 'access_date' => xmlrpc_get_date($c_member['access_date']), 'r_date' => xmlrpc_get_date($c_member['r_date']), 'profile' => array());
        foreach ($c_member['profile'] as $key => $profile) {
            $result['profile'][$key] = $profile['value'];
        }
    }
    return xmlrpc_get_response($result);
}
Пример #19
0
/**
 * あしあとリスト取得
 * 同一人物・同一日付のアクセスは最新の日時だけ
 *
 * @param  int $c_member_id_to 訪問された人
 * @param  int $limit
 * @return array あしあとリスト
 */
function db_ashiato_c_ashiato_list4c_member_id($c_member_id_to, $count)
{
    $sql = 'SELECT DISTINCT r_date FROM c_ashiato WHERE c_member_id_to = ? ORDER BY r_date DESC';
    $params = array(intval($c_member_id_to));
    $days = db_get_col_limit($sql, 0, $count, $params);
    $sql = 'SELECT DISTINCT c_member_id_from, MAX(r_datetime) AS r_datetime' . ' FROM c_ashiato WHERE r_date = ? AND c_member_id_to = ?' . ' GROUP BY c_member_id_from ORDER BY r_datetime DESC';
    $result = array();
    foreach ($days as $day) {
        $params = array(strval($day), intval($c_member_id_to));
        $day_result = db_get_all_limit($sql, 0, $count, $params);
        $result = array_merge($result, $day_result);
        $count -= count($day_result);
        if ($count <= 0) {
            break;
        }
    }
    foreach ($result as $key => $value) {
        $c_member = db_member_c_member4c_member_id_LIGHT($value['c_member_id_from']);
        $result[$key]['nickname'] = $c_member['nickname'];
    }
    return $result;
}
Пример #20
0
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     $subject = $requests['subject'];
     $body = $requests['body'];
     // ----------
     if (db_member_is_access_block($u, $target_c_member_id)) {
         openpne_redirect('ktai', 'page_h_access_block');
     }
     if ($target_c_member_id == $u) {
         // 自分にメッセージは送れない
         handle_kengen_error();
     }
     //ターゲットの情報
     $this->set("target_c_member", db_member_c_member4c_member_id_LIGHT($target_c_member_id));
     $form_val = array();
     $form_val['subject'] = $subject;
     $form_val['body'] = $body;
     $this->set("form_val", $form_val);
     return 'success';
 }
Пример #21
0
/**
 * @copyright 2005-2008 OpenPNE Project
 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
 */
function xmlrpc_101_add_point($message)
{
    $param = $message->getParam(0);
    if (!XML_RPC_Value::isValue($param)) {
        return false;
    }
    $params = XML_RPC_decode($param);
    if (empty($params['c_member_id'])) {
        return false;
    }
    if (!isset($params['point'])) {
        return false;
    }
    $c_member_id = intval($params['c_member_id']);
    $point = intval($params['point']);
    if (!db_member_c_member4c_member_id_LIGHT($c_member_id)) {
        return xmlrpc_get_fault_response(56);
    }
    $c_point_log_id = db_point_insert_log($c_member_id, $point, $params['memo']);
    db_point_insert_tags($c_point_log_id, $params['tags']);
    $point = db_point_add_point($c_member_id, $point);
    return xmlrpc_get_response($point);
}
Пример #22
0
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_id = $requests['target_c_commu_id'];
     // ----------
     $group = biz_getGroupData($target_id);
     if (!$group) {
         $p = array();
         openpne_redirect('pc', 'page_h_err_c_home', $p);
         exit;
     }
     $this->set("group", $group);
     $member_list = biz_getGroupMember($target_id, 9);
     $member_list_full = biz_getGroupMember($target_id);
     foreach ($member_list as $key => $value) {
         $member_list[$key] = db_member_c_member4c_member_id_LIGHT($value['c_member_id']);
     }
     foreach ($member_list_full as $key => $value) {
         $member_list_full[$key] = db_member_c_member4c_member_id($value['c_member_id']);
         $member_list_full[$key]['last_login'] = p_f_home_last_login4access_date($member_list_full[$key]['access_date']);
     }
     $this->set('inc_navi', fetch_inc_navi('h'));
     $this->set("member_list", $member_list);
     $this->set("member_count", count($member_list_full));
     $this->set("admin_data", db_member_c_member4c_member_id_LIGHT($group['admin_id']));
     $this->set('calendar_head', biz_getScheduleWeek($u, $target_id, $requests['w'], 'g', ture, false, false));
     foreach ($member_list_full as $key => $value) {
         $calendar_value .= biz_getScheduleWeek($u, $value['c_member_id'], $requests['w'], 'g', false, true, false, $value);
     }
     $this->set('calendar_value', $calendar_value);
     $this->set('calendar_foot', biz_getScheduleWeek($u, $target_id, $requests['w'], 'g', false, false, true));
     if ($u == $group['admin_id']) {
         $this->set("is_admin", true);
     }
     return 'success';
 }
Пример #23
0
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     //ランダム50人のフレンド
     $this->set('c_friend_list', db_friend_ktai_c_friend_list_random4c_member_id($u));
     // --- リクエスト変数
     $form_val['target_c_message_id'] = $requests['target_c_message_id'];
     $target_c_member_id = $requests['target_c_member_id'];
     $subject = $requests['subject'];
     $body = $requests['body'];
     // ----------
     //メッセージIDから情報を取り出す
     if (isset($form_val['target_c_message_id'])) {
         $c_message = db_message_c_message4c_message_id($form_val['target_c_message_id']);
         // 権限チェック
         if ($c_message['c_member_id_from'] != $u || $c_message['is_send']) {
             handle_kengen_error();
         }
         // 内容の不備によるリダイレクト時は値を上書き
         if ($requests['msg'] && !$c_message) {
             $c_message['subject'] = $subject;
             $c_message['body'] = $body;
             $c_message['c_member_id_to'] = $target_c_member_id;
         }
         if (isset($c_message['c_member_id_to'])) {
             $this->set('target_c_member', db_member_c_member4c_member_id_LIGHT($c_message['c_member_id_to']));
         }
         $form_val = array('target_c_message_id' => $c_message['c_message_id'], 'hensinmoto_c_message_id' => $c_message['hensinmoto_c_message_id'], 'subject' => $c_message['subject'], 'body' => $c_message['body']);
     } else {
         $form_val['target_c_member'] = db_member_c_member4c_member_id_LIGHT($target_c_member_id);
         $form_val['target_c_member_id'] = $target_c_member_id;
         $form_val['subject'] = $subject;
         $form_val['body'] = $body;
     }
     $this->set('form_val', $form_val);
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $page = $requests['page'];
     // ----------
     //ターゲット情報
     $this->set("target_c_member", db_member_c_member4c_member_id_LIGHT($u));
     // 1ページ当たりに表示する数
     $page_size = 5;
     //ターゲットの詳細なリスト
     $list = db_commu_ktai_anataga_c_commu_member_confirm_list4c_member_id($u, $page_size, $page);
     $total_num = db_commu_count_c_anataga_c_commu_member_confirm($u);
     $this->set("anataga_c_commu_member_confirm_list", $list[0]);
     $this->set("page", $page);
     $this->set("is_prev", $list[1]);
     $this->set("is_next", $list[2]);
     $this->set('total_num', $total_num);
     $pager = array();
     $pager['start'] = $page_size * ($page - 1) + 1;
     $pager['end'] = $pager['start'] + count($list[0]) - 1;
     $this->set('pager', $pager);
     return 'success';
 }
Пример #25
0
/**
 * 受信メッセージの送信者リストを取得
 */
function db_message_c_message_receiver_list4c_member_id($c_member_id)
{
    $where = "c_member_id_from = ?" . " AND is_deleted_from = 0" . " AND is_send = 1";
    if ($GLOBALS['_OPENPNE_DSN_LIST']['main']['dsn']['phptype'] == 'pgsql') {
        $sql = "SELECT c_member_id_to" . " FROM" . "(" . "SELECT distinct on(c_member_id_to) *" . " FROM" . " c_message" . " WHERE " . $where . ") as sub_member_tbl";
    } else {
        $sql = "SELECT distinct c_member_id_to FROM c_message";
        $sql .= " WHERE {$where}";
    }
    $sql .= " ORDER BY r_datetime DESC";
    $params = array(intval($c_member_id));
    $c_message_list = db_get_all($sql, $params);
    foreach ($c_message_list as $key => $value) {
        $c_member = db_member_c_member4c_member_id_LIGHT($value['c_member_id_to']);
        $c_message_list[$key]['nickname'] = $c_member['nickname'];
    }
    return $c_message_list;
}
Пример #26
0
function db_common_c_member4c_member_id_LIGHT($c_member_id)
{
    return db_member_c_member4c_member_id_LIGHT($c_member_id);
}
Пример #27
0
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_diary_id = $requests['target_c_diary_id'];
     $target_response_comment_id = $requests['target_response_comment_id'];
     $page = $requests['page'];
     // ----------
     $c_diary = db_diary_get_c_diary4id($target_c_diary_id);
     $target_c_member = k_p_fh_diary_c_member4c_diary_id($target_c_diary_id);
     $target_c_member_id = $target_c_member['c_member_id'];
     if ($u != $target_c_member_id) {
         // check public_flag
         if (!pne_check_diary_public_flag($target_c_diary_id, $u)) {
             openpne_redirect('ktai', 'page_h_err_diary_access');
         }
         //アクセスブロック設定
         if (db_member_is_access_block($u, $target_c_member_id)) {
             openpne_redirect('ktai', 'page_h_access_block');
         }
     }
     //管理画面HTML
     $this->set('c_siteadmin', p_common_c_siteadmin4target_pagename('k_fh_diary'));
     //日記の作者情報
     $this->set('target_diary_writer', $target_c_member);
     //日記
     $this->set('target_c_diary', $c_diary);
     $this->set('c_diary_id_prev', db_diary_c_diary_id_prev4c_diary_id($target_c_member_id, $target_c_diary_id, $u));
     $this->set('c_diary_id_next', db_diary_c_diary_id_next4c_diary_id($target_c_member_id, $target_c_diary_id, $u));
     //自分で日記を見たとき
     if ($c_diary['c_member_id'] == $u) {
         //日記を閲覧済みにする
         db_diary_update_c_diary_is_checked($target_c_diary_id, 1);
         $this->set('type', 'h');
     }
     //コメント
     $page_size = 5;
     if ($requests['order'] === 'asc') {
         $desc = false;
     } else {
         $desc = true;
     }
     list($c_diary_comment_list, $is_prev, $is_next, $total_num, $total_page_num) = k_p_fh_diary_c_diary_comment_list4c_diary_id($target_c_diary_id, $page_size, $page, $desc);
     if ($desc) {
         $c_diary_comment_list = array_reverse($c_diary_comment_list);
     }
     if ($target_response_comment_id) {
         $target_comment = _do_c_diary_comment4c_diary_comment_id($target_response_comment_id);
         $response_set = db_member_c_member4c_member_id_LIGHT($target_comment['c_member_id']);
         $this->set('response_comment_format', '>>' . $target_comment['number'] . ' ' . $response_set['nickname'] . "さん\n");
     }
     $this->set('c_diary_comment', $c_diary_comment_list);
     $this->set('total_num', $total_num);
     $this->set('total_page_num', $total_page_num);
     $this->set('page_size', $page_size);
     $this->set('page', $page);
     $this->set('is_writable_comment', db_diary_is_writable_comment4c_diary_id($target_c_diary_id));
     // コメント許可設定取得
     $this->set('is_comment_input', $c_diary['is_comment_input']);
     $start_comment = reset($c_diary_comment_list);
     $end_comment = end($c_diary_comment_list);
     $pager = array();
     $pager['start'] = (int) $start_comment['number'];
     $pager['end'] = (int) $end_comment['number'];
     if ($is_prev) {
         if ($desc) {
             $pager['page_next'] = $page - 1;
         } else {
             $pager['page_prev'] = $page - 1;
         }
     }
     if ($is_next) {
         if ($desc) {
             $pager['page_prev'] = $page + 1;
         } else {
             $pager['page_next'] = $page + 1;
         }
     }
     $this->set('pager', $pager);
     // f or h
     $this->set('INC_NAVI_type', k_p_fh_common_get_type($target_c_member['c_member_id'], $u));
     if (MAIL_ADDRESS_HASHED) {
         $mail_address = "bc{$target_c_diary_id}-" . t_get_user_hash($u) . '@' . MAIL_SERVER_DOMAIN;
     } else {
         $mail_address = "bc{$target_c_diary_id}" . '@' . MAIL_SERVER_DOMAIN;
     }
     $mail_address = MAIL_ADDRESS_PREFIX . $mail_address;
     $this->set('mail_address', $mail_address);
     //あしあとをつける
     db_ashiato_insert_c_ashiato($target_c_member_id, $u);
     return 'success';
 }
Пример #28
0
function send_diary_comment_info_mail($c_diary_comment_id, $c_member_id)
{
    $comment = _do_c_diary_comment4c_diary_comment_id($c_diary_comment_id);
    $target_c_member_id = $comment['c_member_id_author'];
    // コメントした人=日記オーナーの場合は通知しない
    if ($target_c_member_id == $c_member_id) {
        return false;
    }
    // 日記オーナーの通知設定が無ければ通知しない
    $target_c_member_config = util_get_c_member_config($target_c_member_id);
    if (!$target_c_member_config['SEND_DIARY_COMMENT_MAIL_KTAI']) {
        return false;
    }
    $c_member = db_member_c_member4c_member_id_LIGHT($c_member_id);
    $target_c_member = db_member_c_member_secure4c_member_id($target_c_member_id);
    $c_diary_id = $comment['c_diary_id'];
    $c_diary = db_diary_get_c_diary4id($c_diary_id);
    $p = array('target_c_diary_id' => $c_diary_id);
    $url = openpne_gen_url('ktai', 'page_fh_diary', $p);
    $params = array('subject' => $c_diary['subject'], 'nickname' => $c_member['nickname'], 'body' => $comment['body'], 'url' => $url, 'image_filename1' => $comment['image_filename_1'], 'image_filename2' => $comment['image_filename_2'], 'image_filename3' => $comment['image_filename_3'], 'id' => $c_diary_comment_id);
    $ktai_address = $target_c_member['ktai_address'];
    if (MAIL_ADDRESS_HASHED) {
        $from = "bc{$c_diary_id}-" . t_get_user_hash($target_c_member_id) . '@' . MAIL_SERVER_DOMAIN;
    } else {
        $from = "bc{$c_diary_id}" . '@' . MAIL_SERVER_DOMAIN;
    }
    $from = MAIL_ADDRESS_PREFIX . $from;
    return fetch_send_mail($ktai_address, 'm_ktai_diary_comment_info', $params, true, $from);
}
Пример #29
0
/**
 * スケジュール通知メールを送信する
 */
function biz_do_common_send_schedule_mail()
{
    $y = date("Y");
    $m = date("m");
    $d = date("d");
    $c_schedule_list = biz_getDateSchedule($y, $m, $d);
    $send_list = array();
    foreach ($c_schedule_list as $schedule_id) {
        $value = biz_getScheduleInfo($schedule_id);
        $biz_schedule_member = biz_getJoinIdSchedule($value['biz_schedule_id']);
        foreach ($biz_schedule_member as $c_member_id) {
            $send_list[$c_member_id][] = $value;
        }
    }
    foreach ($send_list as $c_member_id => $c_schedule_list) {
        $c_member_secure = db_member_c_member_secure4c_member_id($c_member_id);
        if (!empty($c_member_secure['pc_address'])) {
            // PCメールアドレスがある場合は、PCのみ送信
            $pc_address = $c_member_secure['pc_address'];
            $params = array('c_member' => db_member_c_member4c_member_id_LIGHT($c_member_id), 'c_schedule_list' => $c_schedule_list);
            fetch_send_mail($pc_address, 'm_pc_schedule_mail', $params);
        } else {
            // PCメールアドレスがない場合は、携帯のみ送信
            $ktai_address = $c_member_secure['ktai_address'];
            $p = array('kad' => t_encrypt(db_member_username4c_member_id($c_member_id, true)));
            $login_url = openpne_gen_url('ktai', 'page_o_login', $p);
            $params = array('c_member' => db_member_c_member4c_member_id_LIGHT($c_member_id), 'login_url' => $login_url, 'c_schedule_list' => $c_schedule_list);
            fetch_send_mail($ktai_address, 'm_ktai_schedule_mail', $params);
        }
    }
}
Пример #30
0
 function make_channel($input, $download_date)
 {
     $dscript['sns_title'] = SNS_NAME;
     $data_names = array('日記', '日記とコメント', 'トピック', 'トピックとコメント', 'イベント', 'イベントとコメント');
     //ダウンロード対象
     $dscript['dl_target'] = $data_names[$input['data_type']];
     //ニックネーム取得
     $nickname = "";
     if ($input['member']['select'] > 0) {
         $member = db_member_c_member4c_member_id_LIGHT($input['member']['c_member_id']);
         $dscript['dl_user'] = $member['nickname'];
     }
     //カテゴリ名称取得
     $category = "";
     if ($input['data_type'] > 1) {
         if ($input['commu']['is_commu'] == 1) {
             $dscript['dl_category'] = db_commu_c_commu_category_name4c_commu_category_id($input['commu']['category_id']);
         }
     }
     //期間の編集
     $period = "";
     if ($input['period']['is_period']) {
         $start_date = date('Y/m/d', strtotime($input['period']['start_datetime']));
         $end_date = date('Y/m/d', strtotime($input['period']['dsp_datetime']));
         $dscript['dl_date'] = sprintf("%s~%sまで", $start_date, $end_date);
     }
     $channel = array("title" => SNS_NAME, "link" => OPENPNE_URL, "description" => $dscript, "items" => array("rdf:Seq" => array("rdf:li" => array("_attributes" => array("rdf:resource" => OPENPNE_URL))), "pubDate" => $download_date));
     return $channel;
 }