function execute($requests) { //<PCKTAI if (!OPENPNE_ENABLE_PC) { openpne_redirect('ktai', 'page_h_home'); } //> $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; // --- リクエスト変数 $pc_address = $requests['pc_address']; // ---------- $errors = array(); if (!db_common_is_mailaddress($pc_address)) { $errors[] = 'メールアドレスを正しく入力してください'; } elseif (is_ktai_mail_address($pc_address)) { $errors[] = '携帯メールアドレスは入力できません'; } elseif (db_member_c_member4pc_address($pc_address)) { $errors[] = '入力したメールアドレスは既に登録されています'; } elseif (!db_member_is_limit_domain4mail_address($pc_address)) { $errors[] = '入力したメールアドレスでは登録できません'; } if ($errors) { ktai_display_error($errors); } db_member_h_config_1($u, $pc_address); openpne_redirect('ktai', 'page_h_pc_send_confirm'); }
function execute($requests) { $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; // --- リクエスト変数 $target_c_member_id = $requests['target_c_member_id']; $body = $requests['body']; // ---------- $c_member_id_from = $u; //--- 権限チェック //フレンドでない and フレンド承認待ちでない $status = db_friend_status($u, $target_c_member_id); if ($status['is_friend']) { ktai_display_error('このメンバーは既に' . WORD_MY_FRIEND_HALF . 'に登録されています。'); } elseif ($status['is_friend_confirm']) { ktai_display_error('このメンバーは既に' . WORD_MY_FRIEND_HALF . 'リンク承認待ち中です。'); } elseif ($target_c_member_id == $u) { ktai_display_error('自分にリンク要請することはできません。'); } // アクセスブロック if (db_member_is_access_block($u, $target_c_member_id)) { openpne_redirect('ktai', 'page_h_access_block'); } // ----- if ($body == null) { $p = array('target_c_member_id' => $target_c_member_id, 'msg' => 1); openpne_redirect('ktai', 'page_f_link_request', $p); } db_friend_insert_c_friend_confirm($c_member_id_from, $target_c_member_id, $body); //メッセージ list($subject, $body_disp) = create_message_friend_link_request($c_member_id_from, $body); db_message_send_message_syoudaku($c_member_id_from, $target_c_member_id, $subject, $body_disp); $p = array('target_c_member_id' => $target_c_member_id); openpne_redirect('ktai', 'page_f_home', $p); }
function execute($requests) { $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; // --- リクエスト変数 $c_commu_topic_id = $requests['target_c_commu_topic_id']; // ---------- //--- 権限チェック $c_commu_topic = db_commu_c_commu_topic4c_commu_topic_id($c_commu_topic_id); $c_commu_id = $c_commu_topic['c_commu_id']; $status = db_common_commu_status($u, $c_commu_id); if (!$status['is_commu_member']) { handle_kengen_error(); } if (!$c_commu_topic['event_flag']) { handle_kengen_error(); } if (db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) { handle_kengen_error(); } $is_c_event_member = db_commu_is_c_event_member($c_commu_topic_id, $u); if ($is_c_event_member) { ktai_display_error('すでにイベントに参加しています'); } if (!db_commu_is_event_join_capacity($c_commu_topic_id)) { ktai_display_error('イベントの参加者数制限を超えています'); } if (!db_commu_is_event_join_date($c_commu_topic_id)) { ktai_display_error('イベントの募集期限が過ぎています'); } db_commu_insert_c_event_member($c_commu_topic_id, $u); $p = array('target_c_commu_topic_id' => $c_commu_topic_id); openpne_redirect('ktai', 'page_c_bbs', $p); }
function execute($requests) { $u = $GLOBALS['KTAI_C_MEMBER_ID']; if (!IS_USER_INVITE) { ktai_display_error(SNS_NAME . 'では、メンバーによる招待は行えません'); } return 'success'; }
function execute($requests) { $u = $GLOBALS['KTAI_C_MEMBER_ID']; // --- リクエスト変数 $target_c_member_id = $requests['target_c_member_id']; // ---------- if ($target_c_member_id == $u) { openpne_redirect('ktai', 'page_h_home'); } if (!db_member_is_active_c_member_id($target_c_member_id)) { ktai_display_error('該当するメンバーが見つかりません。'); } 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_f_home')); //ターゲットのc_member $is_friend = db_friend_is_friend($u, $target_c_member_id); $target_c_member = db_member_c_member_with_profile($target_c_member_id, 'private'); $target_c_member['last_login'] = p_f_home_last_login4access_date($target_c_member['access_date']); if ($target_c_member['birth_year']) { $target_c_member['age'] = getAge($target_c_member['birth_year'], $target_c_member['birth_month'], $target_c_member['birth_day']); } $this->set("target_c_member", $target_c_member); //ターゲットの最新日記5件 $this->set("c_diary_list", db_diary_get_c_diary_list4c_member_id($target_c_member_id, 5, $u)); //フレンドランダム5人 $this->set("c_friend_list", db_friend_c_friend_list_random4c_member_id($target_c_member_id, 5)); //参加コミュニティ最新書き込み5件 $this->set("c_commu_list", db_commu_c_commu_list_lastupdate4c_member_id($target_c_member_id, 5)); //共通コミュニティ $this->set('common_commu_count', count(db_common_commu_common_commu_id4c_member_id($target_c_member_id, $u))); //ターゲットと自分との関係 $this->set("relation", db_friend_relationship4two_members($u, $target_c_member_id)); $is_friend = db_friend_is_friend($u, $target_c_member_id); if ($is_friend) { $this->set('is_friend', $is_friend); } else { $this->set('friend_path', db_friend_friend_path4c_member_ids($u, $target_c_member_id)); } $this->set('profile_list', db_member_c_profile_list()); // 誕生日まであと何日? $this->set('days_birthday', db_member_count_days_birthday4c_member_id($target_c_member_id)); if (OPENPNE_USE_POINT_RANK) { // ポイント $point = db_point_get_point($target_c_member_id); $this->set("point", $point); // ランク $this->set("rank", db_point_get_rank4point($point)); } // inc_entry_point $this->set('inc_ktai_entry_point', fetch_inc_entry_point($this->getView(), 'ktai_f_home')); //あしあとをつける db_ashiato_insert_c_ashiato($target_c_member_id, $u); return 'success'; }
function execute($requests) { $u = $GLOBALS['KTAI_C_MEMBER_ID']; if (!OPENPNE_USE_RANKING) { ktai_display_error(SNS_NAME . 'では、ランキングの閲覧はおこなえません'); } // --- リクエスト変数 $kind = $requests['kind']; // ---------- $this->set('kind', $kind); $limit = 10; switch ($kind) { case "friend": $list = pne_cache_call(3600, 'db_ranking_c_friend_ranking', $limit); foreach ($list as $key => $value) { $list[$key]['c_member'] = db_member_c_member_with_profile($value['c_member_id']); } break; case "com_member": $list = pne_cache_call(3600, 'db_ranking_c_commu_member_ranking', $limit); foreach ($list as $key => $value) { $list[$key]['c_commu'] = db_commu_c_commu4c_commu_id($value['c_commu_id']); } break; case "com_comment": $list = pne_cache_call(3600, 'db_ranking_c_commu_topic_comment_ranking', $limit); foreach ($list as $key => $value) { $list[$key]['c_commu'] = db_commu_c_commu4c_commu_id($value['c_commu_id']); } break; case "ashiato": default: $list = pne_cache_call(3600, 'db_ranking_c_ashiato_ranking', $limit); foreach ($list as $key => $value) { $list[$key]['c_member'] = db_member_c_member_with_profile($value['c_member_id']); if (!$list[$key]['c_member']) { unset($list[$key]); } } break; } $rank_list = array(); if ($list) { $rank = 1; $current_count = null; foreach ($list as $item) { if ($item['count'] != $current_count) { $rank = $rank + count($rank_list[$rank]); $current_count = $item['count']; } $rank_list[$rank][] = $item; } } $this->set("rank_list", $rank_list); return 'success'; }
function execute($requests) { $u = $GLOBALS['KTAI_C_MEMBER_ID']; //カテゴリのリスト $c_commu_category_list = db_commu_c_commu_category4is_create_commu(); if ($c_commu_category_list) { $this->set("c_commu_category_list", $c_commu_category_list); } else { ktai_display_error('現在' . WORD_COMMUNITY_HALF . 'を作成することは出来ません'); } return 'success'; }
function execute($requests) { $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; $errors = array(); $validator = new OpenPNE_Validator(); $validator->addRequests($_REQUEST); $validator->addRules($this->_getValidateRules()); if (!$validator->validate()) { $errors = $validator->getErrors(); } $prof = $validator->getParams(); //--- c_profile の項目をチェック $validator = new OpenPNE_Validator(); $validator->addRequests($_REQUEST['profile']); $validator->addRules(util_get_validate_rules_profile('regist')); if (!$validator->validate()) { $errors = array_merge($errors, $validator->getErrors()); } // 値の整合性をチェック(DB) $c_member_profile_list = db_member_check_profile($validator->getParams(), $_REQUEST['public_flag']); // 必須項目チェック $profile_list = db_member_c_profile_list4null(); foreach ($profile_list as $profile) { $value = $c_member_profile_list[$profile['name']]['value']; if ($profile['disp_config'] && $profile['is_required']) { if (is_null($value) || $value === '' || $value === array()) { $errors[$profile['name']] = $profile['caption'] . 'を入力してください'; } } } // 生年月日のチェック if (!t_checkdate($prof['birth_month'], $prof['birth_day'], $prof['birth_year'])) { $errors[] = '生年月日を正しく入力してください'; } if (t_isFutureDate($prof['birth_day'], $prof['birth_month'], $prof['birth_year'])) { $errors[] = '生年月日を未来に設定することはできません'; } // 入力エラー if ($errors) { ktai_display_error($errors); } db_member_config_prof_new($u, $prof); // insert c_member_profile db_member_update_c_member_profile($u, $c_member_profile_list); //管理画面で指定したコミュニティに強制参加 $c_commu_id_list = db_commu_regist_join_list(); foreach ($c_commu_id_list as $c_commu_id) { db_commu_join_c_commu($c_commu_id, $u); } openpne_redirect('ktai', 'page_h_home'); }
function execute($requests) { $u = $GLOBALS['KTAI_C_MEMBER_ID']; // --- リクエスト変数 $target_c_commu_id = $requests['target_c_commu_id']; $page = $requests['page']; // ---------- $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id); //--- 権限チェック if ($c_commu['c_member_id_admin'] != $u && $c_commu['c_member_id_sub_admin'] != $u) { ktai_display_error('閲覧権限がありません'); } //--- $page_size = 5; //ページ $this->set("page", $page); //メンバーリスト $list = db_commu_c_member_list4c_commu_id($target_c_commu_id, $page_size, $page); $total_num = $list[3]; $c_member_list = $list[0]; // 管理者交代メッセージ送信先メンバーリスト foreach ($c_member_list as $key => $c_member) { if ($c_member['c_member_id'] != $c_commu['c_member_id_admin'] && $c_member['c_commu_admin_confirm_id'] <= 0 && $c_member['c_commu_sub_admin_confirm_id'] <= 0) { $c_member_list[$key]['is_display_admin'] = true; } else { $c_member_list[$key]['is_display_admin'] = false; } } // 副管理者要請メッセージ送信先メンバーリスト foreach ($c_member_list as $key => $c_member) { if ($c_member['c_member_id'] != $c_commu['c_member_id_admin'] && $c_member['c_member_id'] != $c_commu['c_member_id_sub_admin'] && $c_member['c_commu_admin_confirm_id'] <= 0 && $c_member['c_commu_sub_admin_confirm_id'] <= 0) { $c_member_list[$key]['is_display_sub_admin'] = true; } else { $c_member_list[$key]['is_display_sub_admin'] = false; } } $this->set("c_member_list", $c_member_list); $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($c_member_list) - 1; $this->set('pager', $pager); //コミュニティのメンバー数 $this->set("count_member", db_commu_count_c_commu_member_list4c_commu_id($target_c_commu_id)); $this->set("c_commu", $c_commu); return 'success'; }
function execute($requests) { $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; // --- リクエスト変数 $c_commu_id = $requests['target_c_commu_id']; $title = $requests['title']; $body = $requests['body']; // ---------- //--- 権限チェック $c_commu = db_commu_c_commu4c_commu_id2($c_commu_id); switch ($c_commu['is_topic']) { case 'public': //誰でも作成可能 break; case 'member': //コミュニティ参加者 $status = db_common_commu_status($u, $c_commu_id); if (!$status['is_commu_member']) { handle_kengen_error(); } break; case 'admin_only': //トピック作成権限チェック if (!db_commu_is_c_commu_admin($c_commu_id, $u)) { ktai_display_error("トピックは管理者だけが作成できます"); } break; } //--- $insert_c_commu_topic = array("name" => $title, "c_commu_id" => $c_commu_id, "c_member_id" => $u, "event_flag" => 0); $c_commu_topic_id = db_commu_insert_c_commu_topic($insert_c_commu_topic); $insert_c_commu_topic_comment = array("c_commu_id" => $c_commu_id, "c_member_id" => $u, "body" => $body, "number" => 0, "c_commu_topic_id" => $c_commu_topic_id, "image_filename1" => "", "image_filename2" => "", "image_filename3" => ""); $insert_id = db_commu_insert_c_commu_topic_comment_3($insert_c_commu_topic_comment); //お知らせメール送信(携帯へ) send_bbs_info_mail($insert_id, $u); //お知らせメール送信(PCへ) send_bbs_info_mail_pc($insert_id, $u); if (OPENPNE_USE_POINT_RANK) { //トピックを作成した人にポイント付与 $point = db_action_get_point4c_action_id(9); db_point_add_point($u, $point); } $p = array('target_c_commu_topic_id' => $c_commu_topic_id); openpne_redirect('ktai', 'page_c_bbs', $p); }
function execute($requests) { $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; // --- リクエスト変数 $target_c_commu_id = $requests['target_c_commu_id']; // ---------- //--- 権限チェック //コミュニティメンバー and 管理者でない $is_admin = db_commu_is_c_commu_admin($target_c_commu_id, $u); $is_member = db_commu_is_c_commu_member($target_c_commu_id, $u); if ($is_admin) { ktai_display_error(k_p_common_msg4msg_id(10)); } if (!$is_member) { ktai_display_error(k_p_common_msg4msg_id(11)); } //--- db_commu_delete_c_commu_member($target_c_commu_id, $u); $p = array('target_c_commu_id' => $target_c_commu_id); openpne_redirect('ktai', 'page_c_home', $p); }
function execute($requests) { $u = $GLOBALS['KTAI_C_MEMBER_ID']; // --- リクエスト変数 $target_c_member_id = $requests['target_c_member_id']; // ---------- $is_h = 0; if ($target_c_member_id == $u || empty($target_c_member_id)) { $target_c_member_id = $u; $is_h = 1; } if (!$is_h) { if (!db_member_is_active_c_member_id($target_c_member_id)) { ktai_display_error('該当するメンバーが見つかりません。'); } if (db_member_is_access_block($u, $target_c_member_id)) { openpne_redirect('ktai', 'page_h_access_block'); } //あしあとをつける db_ashiato_insert_c_ashiato($target_c_member_id, $u); } $is_friend = db_friend_is_friend($u, $target_c_member_id); if ($is_h || $is_friend) { $target_c_member = db_member_c_member_with_profile($target_c_member_id, 'friend'); } else { $target_c_member = db_member_c_member_with_profile($target_c_member_id, 'public'); } if ($target_c_member['birth_year']) { $target_c_member['age'] = getAge($target_c_member['birth_year'], $target_c_member['birth_month'], $target_c_member['birth_day']); } $this->set('is_h', $is_h); $this->set('target_c_member', $target_c_member); $this->set('profile_list', db_member_c_profile_list()); $this->set('relation', db_friend_relationship4two_members($u, $target_c_member_id)); return 'success'; }
function execute($requests) { // --- リクエスト変数 $c_member_id = $requests['c_member_id']; $ktai_address = $requests['ktai_address']; $password = $requests['password']; // ---------- @session_name('OpenPNEktai'); $config = get_auth_config(true); $auth = new OpenPNE_Auth($config); $auth->setExpire($GLOBALS['OpenPNE']['ktai']['session_lifetime']); $auth->setIdle($GLOBALS['OpenPNE']['ktai']['session_idletime']); $this->_auth =& $auth; if (LOGIN_CHECK_ENABLE) { // 不正ログインチェック include_once 'OpenPNE/LoginChecker.php'; $options = array('check_num' => LOGIN_CHECK_NUM, 'check_time' => LOGIN_CHECK_TIME, 'reject_time' => LOGIN_REJECT_TIME); $lc = new OpenPNE_LoginChecker($options); if ($lc->is_rejected() || !$auth->login()) { // 認証エラー $lc->fail_login(); $p = array('msg' => '0', 'kad' => t_encrypt($ktai_address), 'login_params' => $requests['login_params']); openpne_redirect('ktai', 'page_o_login', $p); } } else { if (!$auth->login()) { $p = array('msg' => '0', 'kad' => t_encrypt($ktai_address), 'login_params' => $requests['login_params']); openpne_redirect('ktai', 'page_o_login', $p); } } $c_member_id = db_member_c_member_id4username_encrypted($auth->getUsername(), true); if (OPENPNE_AUTH_MODE == 'slavepne' && !$c_member_id) { $c_member_id = db_member_create_member($_POST['username']); } if (!$c_member_id) { $p = array('msg' => '0', 'kad' => t_encrypt($ktai_address), 'login_params' => $requests['login_params']); openpne_redirect('ktai', 'page_o_login', $p); } if (OPENPNE_ONE_SESSION_PER_USER) { db_member_update_c_member_secure_insert_sess_id($c_member_id, session_id()); } if (db_member_is_login_rejected($c_member_id)) { ktai_display_error('ログインできませんでした。'); } if (db_member_is_blacklist($c_member_id)) { ktai_display_error('ログインできませんでした。'); } db_member_do_access($c_member_id); // ログイン後のリダイレクト先を決定する $a = ''; $m = 'ktai'; $p = array(); if ($requests['login_params']) { parse_str($requests['login_params'], $p); } if (!empty($p['a'])) { $a = $p['a']; } if (!empty($p['m'])) { $m = $p['m']; } if ($m == 'ktai' && $a == 'page_o_login') { $a = ''; } $_SESSION['c_member_id'] = $c_member_id; $p['ksid'] = session_id(); openpne_redirect($m, $a, $p); }
function execute($requests) { $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; if (!IS_USER_INVITE) { ktai_display_error(SNS_NAME . 'では、メンバーによる招待は行えません'); } // --- リクエスト変数 $mail = $requests['mail_address']; $body = $requests['body']; // ---------- if (is_ktai_mail_address($mail)) { $mail = str_replace('"', '', $mail); } if (!$mail) { $p = array('msg' => 12); openpne_redirect('ktai', 'page_h_invite', $p); } if (!db_common_is_mailaddress($mail)) { $p = array('msg' => 31); openpne_redirect('ktai', 'page_h_invite', $p); } if (db_member_is_sns_join4mail_address($mail)) { $p = array('msg' => 9); openpne_redirect('ktai', 'page_h_invite', $p); } if (!db_member_is_limit_domain4mail_address($mail)) { $p = array('msg' => 37); openpne_redirect('ktai', 'page_h_invite', $p); } $session = create_hash(); if (is_ktai_mail_address($mail)) { //<PCKTAI if (!((OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_KTAI) >> 1)) { $p = array('msg' => 13); openpne_redirect('ktai', 'page_h_invite', $p); } //> if (OPENPNE_AUTH_MODE != 'slavepne') { // c_member_ktai_pre に追加 if (db_member_c_member_ktai_pre4ktai_address($mail)) { db_member_update_c_member_ktai_pre($session, $mail, $u); } else { db_member_insert_c_member_ktai_pre($session, $mail, $u); } } h_invite_insert_c_invite_mail_send($session, $u, $mail, $body); } else { //<PCKTAI if (!(OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_PC)) { $p = array('msg' => 16); openpne_redirect('ktai', 'page_h_invite', $p); } //> if (OPENPNE_AUTH_MODE != 'slavepne') { // c_member_pre に追加 if (db_member_c_member_pre4pc_address($mail)) { db_member_update_c_invite($u, $mail, $body, $session); } else { db_member_insert_c_invite($u, $mail, $body, $session); } } do_h_invite_insert_c_invite_mail_send($u, $session, $body, $mail); } $p = array('msg' => 30); openpne_redirect('ktai', 'page_h_invite', $p); }
function execute($requests) { // --- リクエスト変数 $ses = $requests['ses']; $password = $requests['password']; // ---------- // セッションが有効かどうか if (!($pre = db_member_c_ktai_address_pre4session($ses))) { // 無効の場合、login へリダイレクト openpne_redirect('ktai', 'page_o_login'); } // メールアドレスが登録できるかどうか if (!util_is_regist_mail_address($pre['ktai_address'], $pre['c_member_id'])) { openpne_redirect('ktai', 'page_o_login', array('msg' => 42)); } $c_member_id = $pre['c_member_id']; $ktai_address = $pre['ktai_address']; // パスワードチェック if (!db_common_authenticate_password($c_member_id, $password, true)) { $p = array('msg' => 18, 'ses' => $ses); openpne_redirect('ktai', 'page_o_login2', $p); } if (IS_GET_EASY_ACCESS_ID == 2 || IS_GET_EASY_ACCESS_ID == 3) { // 携帯の個体識別番号の取得が必須 if (!($easy_access_id = OpenPNE_KtaiID::getID())) { // 携帯の個体識別番号を取得できませんでした $p = array('msg' => 27, 'ses' => $ses); openpne_redirect('ktai', 'page_o_login2', $p); } else { $id = db_member_c_member_id4easy_access_id($easy_access_id); if ($id && $c_member_id != $id) { $p = array('msg' => 39, 'ses' => $ses); openpne_redirect('ktai', 'page_o_login2', $p); } if (db_member_easy_access_id_is_blacklist(md5($easy_access_id))) { ktai_display_error('携帯メールアドレスを登録できませんでした。'); } // update db_member_update_easy_access_id($c_member_id, $easy_access_id); db_member_update_ktai_address($c_member_id, $ktai_address); db_member_delete_ktai_address_pre($pre['c_ktai_address_pre_id']); openpne_redirect('ktai', 'do_o_easy_login'); } } else { if (IS_GET_EASY_ACCESS_ID == 1) { // 携帯の個体識別番号の取得が任意 if ($easy_access_id = OpenPNE_KtaiID::getID()) { $id = db_member_c_member_id4easy_access_id($easy_access_id); if ($id && $c_member_id != $id) { $p = array('msg' => 39, 'ses' => $ses); openpne_redirect('ktai', 'page_o_login2', $p); } if (db_member_easy_access_id_is_blacklist(md5($easy_access_id))) { ktai_display_error('携帯メールアドレスを登録できませんでした。'); } // update db_member_update_easy_access_id($c_member_id, $easy_access_id); db_member_update_ktai_address($c_member_id, $ktai_address); db_member_delete_ktai_address_pre($pre['c_ktai_address_pre_id']); openpne_redirect('ktai', 'do_o_easy_login'); } } } // 携帯の個体識別番号を取得しない db_member_update_ktai_address($c_member_id, $ktai_address); db_member_delete_ktai_address_pre($pre['c_ktai_address_pre_id']); // login ページへリダイレクト $p = array('msg' => 19, 'kad' => t_encrypt(db_member_username4c_member_id($c_member_id, true))); openpne_redirect('ktai', 'page_o_login', $p); }
function handleError($errors) { ktai_display_error($errors); }
function execute($requests) { // --- リクエスト変数 $ses = $requests['ses']; $password = $requests['password']; // ---------- if (!($pre = db_member_c_member_pre4ktai_session($ses))) { openpne_redirect('ktai', 'page_o_login'); } $c_member_pre_id = $pre['c_member_pre_id']; $ktai_address = $pre['ktai_address']; // パスワードチェック if (md5($password) !== $pre['password']) { $p = array('msg' => 18, 'ses' => $ses); openpne_redirect('ktai', 'page_o_regist_ktai', $p); } // 携帯個体識別番号を取得できなかった場合 if (!($easy_access_id = OpenPNE_KtaiID::getID())) { $p = array('ses' => $ses); openpne_redirect('ktai', 'page_o_regist_ktai_uid_err', $p); } // 携帯個体識別番号が登録済み if (db_member_c_member_id4easy_access_id($easy_access_id)) { $p = array('msg' => 39, 'ses' => $ses); openpne_redirect('ktai', 'page_o_regist_ktai', $p); } // 携帯個体識別番号がブラックリストに登録済み if (db_member_easy_access_id_is_blacklist(md5($easy_access_id))) { ktai_display_error('新規登録を完了できませんでした。'); } // 携帯アドレスが登録済みかどうか if (db_member_is_sns_join4mail_address($ktai_address)) { $p = array('msg' => 17, 'ses' => $ses); openpne_redirect('ktai', 'page_o_regist_ktai', $p); } // 参加承認制の場合 if (IS_SNS_ENTRY_CONFIRM) { // PCから入力された情報は既にpreに登録されているので、 // 携帯個体識別番号のみを登録する $data = array('easy_access_id' => $easy_access_id, 'is_sns_entry_confirm' => 1); db_member_update_c_member_pre4c_member_pre_id($pre['c_member_pre_id'], $data); openpne_redirect('ktai', 'page_o_regist_wait'); } // PC版で行わなかったメンバー登録処理をここで行う $c_member = $pre; $c_member_secure = array('password' => $pre['password'], 'c_password_query_id' => $pre['c_password_query_id'], 'password_query_answer' => $pre['c_password_query_answer'], 'pc_address' => $pre['pc_address'], 'ktai_address' => $pre['ktai_address'], 'regist_address' => $pre['pc_address']); $c_member_pre_profile = db_member_c_member_pre_profile4c_member_pre_id($pre['c_member_pre_id']); $u = util_regist_c_member($c_member, $c_member_secure, $c_member_pre_profile, true); // 携帯個体識別番号を登録する db_member_update_easy_access_id($u, $easy_access_id); // pre の内容を削除 db_member_delete_c_member_pre4ktai_session($ses); db_member_delete_c_member_pre_profile4c_member_pre_id($pre['c_member_pre_id']); // 登録完了メール送信 do_regist_prof_do_regist2_mail_send($u); // 登録完了メール(管理者宛) if (SEND_USER_DATA) { do_common_send_mail_regist4admin($u); } openpne_redirect('ktai', 'page_o_regist_ktai_end', array('c_member_id' => $u)); }
function execute($requests) { if (!($c_member_id = db_member_c_member_id4easy_access_id(OpenPNE_KtaiID::getID()))) { // 認証エラー $p = array('msg' => 14, 'kad' => t_encrypt($requests['ktai_address']), 'login_params' => $requests['login_params']); openpne_redirect('ktai', 'page_o_login', $p); } $c_member = db_member_c_member4c_member_id($c_member_id, true); @session_name('OpenPNEktai'); $config = get_auth_config(true); $auth = new OpenPNE_Auth($config); $auth->setExpire($GLOBALS['OpenPNE']['ktai']['session_lifetime']); $auth->setIdle($GLOBALS['OpenPNE']['ktai']['session_idletime']); $this->_auth =& $auth; if (LOGIN_CHECK_ENABLE) { // 不正ログインチェック include_once 'OpenPNE/LoginChecker.php'; $options = array('check_num' => LOGIN_CHECK_NUM, 'check_time' => LOGIN_CHECK_TIME, 'reject_time' => LOGIN_REJECT_TIME); $lc = new OpenPNE_LoginChecker($options); if ($lc->is_rejected()) { // 認証エラー $lc->fail_login(); $p = array('msg' => '0', 'login_params' => $requests['login_params']); openpne_redirect('ktai', 'page_o_login', $p); } } $auth->auth =& $auth->factory(true); $username = db_member_username4c_member_id($c_member_id, true); if (OPENPNE_AUTH_MODE == 'email') { $username = t_encrypt($username); } $auth->auth->setAuth($username); $auth->auth->setAuthData('OPENPNE_URL', OPENPNE_URL); $auth->auth->setAuthData('USER_AGENT', $_SERVER['HTTP_USER_AGENT']); if (OPENPNE_ONE_SESSION_PER_USER) { db_member_update_c_member_secure_insert_sess_id($c_member_id, session_id()); } if (db_member_is_login_rejected($c_member_id)) { ktai_display_error('ログインできませんでした。'); } if (db_member_is_blacklist($c_member_id)) { ktai_display_error('ログインできませんでした。'); } db_member_do_access($c_member_id); // ログイン後のリダイレクト先を決定する $a = ''; $m = 'ktai'; $p = array(); if ($requests['login_params']) { parse_str($requests['login_params'], $p); } if (!empty($p['a'])) { $a = $p['a']; } if (!empty($p['m'])) { $m = $p['m']; } if ($m == 'ktai' && $a == 'page_o_login') { $a = ''; } $_SESSION['c_member_id'] = $c_member_id; $p['ksid'] = session_id(); openpne_redirect($m, $a, $p); }
function handle_kengen_error() { switch ($GLOBALS['__Framework']['current_module']) { case 'pc': openpne_forward('pc', 'page', 'h_err_forbidden'); break; case 'ktai': ktai_display_error('このページにはアクセスすることができません。'); break; default: openpne_display_error('このページにはアクセスすることができません。'); break; } exit; }
function execute($requests) { $u = $GLOBALS['KTAI_C_MEMBER_ID']; $tail = $GLOBALS['KTAI_URL_TAIL']; //--- 権限チェック //コミュニティ参加者 list($event, $errors) = p_c_event_add_confirm_event4request(true); $c_commu = db_commu_c_commu4c_commu_id2($event['c_commu_id']); switch ($c_commu['is_topic']) { case 'public': //誰でも作成可能 break; case 'member': $status = db_common_commu_status($u, $event['c_commu_id']); if (!$status['is_commu_member']) { handle_kengen_error(); } break; case 'admin_only': //トピック作成権限チェック if (!db_commu_is_c_commu_admin($event['c_commu_id'], $u)) { ktai_display_error("イベントは管理者だけが作成できます"); } break; } //--- //--- エラーチェック $err_msg = $errors; if (!$event['open_date_month'] || !$event['open_date_day'] || !$event['open_date_year']) { $err_msg[] = "開催日時を入力してください"; } elseif (!t_checkdate($event['open_date_month'], $event['open_date_day'], $event['open_date_year'])) { $err_msg[] = "開催日時は存在しません"; } elseif (mktime(0, 0, 0, $event['open_date_month'], $event['open_date_day'], $event['open_date_year']) < mktime(0, 0, 0)) { $err_msg[] = "開催日時は過去に指定できません"; } if ($event['invite_period_month'] . $event['invite_period_day'] . $event['invite_period_year'] != "") { if (!$event['invite_period_month'] || !$event['invite_period_day'] || !$event['invite_period_year']) { $err_msg[] = "募集期限は存在しません"; } elseif (!t_checkdate($event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year'])) { $err_msg[] = "募集期限は存在しません"; } elseif (mktime(0, 0, 0, $event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year']) < mktime(0, 0, 0)) { $err_msg[] = "募集期限は過去に指定できません"; } elseif (mktime(0, 0, 0, $event['open_date_month'], $event['open_date_day'], $event['open_date_year']) < mktime(0, 0, 0, $event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year'])) { $err_msg[] = "募集期限は開催日時より未来に指定できません"; } } if ($err_msg) { $_REQUEST = $event; $_REQUEST['target_c_commu_id'] = $event['c_commu_id']; $_REQUEST['err_msg'] = $err_msg; openpne_forward('ktai', 'page', "c_event_add"); exit; } //--- if ($event['invite_period_year'] . $event['invite_period_month'] . $event['invite_period_day'] != "") { $invite_period = $event['invite_period_year'] . "-" . $event['invite_period_month'] . "-" . $event['invite_period_day']; } else { $invite_period = ''; } $insert_c_commu_topic = array("name" => $event['title'], "c_commu_id" => $event['c_commu_id'], "c_member_id" => $u, "open_date" => $event['open_date_year'] . "-" . $event['open_date_month'] . "-" . $event['open_date_day'], "open_date_comment" => $event['open_date_comment'], "open_pref_id" => $event['open_pref_id'], "open_pref_comment" => $event['open_pref_comment'], "invite_period" => $invite_period, "event_flag" => 1, 'capacity' => $event['capacity']); $c_commu_topic_id = db_commu_insert_c_commu_topic($insert_c_commu_topic); $insert_c_commu_topic_comment = array("c_commu_id" => $event['c_commu_id'], "c_member_id" => $u, "body" => $event['detail'], "number" => 0, "c_commu_topic_id" => $c_commu_topic_id, "image_filename1" => '', "image_filename2" => '', "image_filename3" => ''); $insert_id = db_commu_insert_c_commu_topic_comment_3($insert_c_commu_topic_comment); //お知らせメール送信(携帯へ) send_bbs_info_mail($insert_id, $u); //お知らせメール送信(PCへ) send_bbs_info_mail_pc($insert_id, $u); db_commu_insert_c_event_member_as_admin($c_commu_topic_id, $u); if (OPENPNE_USE_POINT_RANK) { //イベントを作成した人にポイント付与 $point = db_action_get_point4c_action_id(10); db_point_add_point($u, $point); } $p = array('target_c_commu_topic_id' => $c_commu_topic_id); openpne_redirect('ktai', 'page_c_bbs', $p); }
function execute($requests) { //<PCKTAI if (OPENPNE_AUTH_MODE == 'slavepne' || !((OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_KTAI) >> 1)) { openpne_redirect('ktai', 'page_o_login', array('msg' => 42)); } //> // --- リクエスト変数 $ses = $requests['ses']; $aff_id = $requests['aff_id']; // ---------- //--- 権限チェック //セッションが有効 // セッションが有効かどうか if (!($pre = db_member_c_member_ktai_pre4session($ses))) { // 無効の場合、login へリダイレクト openpne_redirect('ktai', 'page_o_login', array('msg' => 42)); } // メールアドレスが登録できるかどうか if (!util_is_regist_mail_address($pre['ktai_address'])) { openpne_redirect('ktai', 'page_o_login', array('msg' => 42)); } //--- $errors = array(); $validator = new OpenPNE_Validator(); $validator->addRequests($_REQUEST); $validator->addRules($this->_getValidateRules()); if (!$validator->validate()) { $errors = $validator->getErrors(); } $prof = $validator->getParams(); //--- c_profile の項目をチェック $validator = new OpenPNE_Validator(); $validator->addRequests($_REQUEST['profile']); $validator->addRules(util_get_validate_rules_profile('regist')); if (!$validator->validate()) { $errors = array_merge($errors, $validator->getErrors()); } // 値の整合性をチェック(DB) $c_member_profile_list = db_member_check_profile($validator->getParams(), $_REQUEST['public_flag']); // 必須項目チェック $profile_list = db_member_c_profile_list4null(); foreach ($profile_list as $profile) { $value = $c_member_profile_list[$profile['name']]['value']; if ($profile['disp_regist'] && $profile['is_required']) { if (is_null($value) || $value === '' || $value === array()) { $errors[$profile['name']] = $profile['caption'] . 'を入力してください'; } } } // 生年月日のチェック if (!t_checkdate($prof['birth_month'], $prof['birth_day'], $prof['birth_year'])) { $errors[] = '生年月日を正しく入力してください'; } if (t_isFutureDate($prof['birth_day'], $prof['birth_month'], $prof['birth_year'])) { $errors[] = '生年月日を未来に設定することはできません'; } if (IS_GET_EASY_ACCESS_ID != 0) { $easy_access_id = OpenPNE_KtaiID::getID(); if (!$easy_access_id && (IS_GET_EASY_ACCESS_ID == 2 || IS_GET_EASY_ACCESS_ID == 3) && !$pre['is_disabled_regist_easy_access_id']) { openpne_redirect('ktai', 'page_o_regist_ktai_uid_err'); } if (db_member_c_member_id4easy_access_id($easy_access_id)) { $errors[] = 'この携帯個体識別番号はすでに登録されています'; } if (db_member_easy_access_id_is_blacklist(md5($easy_access_id))) { ktai_display_error('新規登録を完了できませんでした。'); } } if (OPENPNE_AUTH_MODE == 'pneid') { // ログインIDの重複チェック if (db_member_c_member_id4username($prof['login_id'])) { $errors[] = 'このログインIDはすでに登録されています'; } } // 入力エラー if ($errors) { ktai_display_error($errors); } // insert c_member $prof['c_member_id_invite'] = $pre['c_member_id_invite']; // 参加承認制 if (IS_SNS_ENTRY_CONFIRM) { $c_member_secure = array('password' => $prof['password'], 'c_password_query_answer' => $prof['password_query_answer'], 'ktai_address' => $pre['ktai_address'], 'regist_address' => $pre['ktai_address'], 'nickname' => $prof['nickname'], 'birth_year' => $prof['birth_year'], 'birth_month' => $prof['birth_month'], 'birth_day' => $prof['birth_day'], 'public_flag_birth_year' => $prof['public_flag_birth_year'], 'public_flag_birth_month_day' => $prof['public_flag_birth_month_day'], 'c_password_query_id' => $prof['c_password_query_id'], 'is_sns_entry_confirm' => 1); // 仮登録IDを割り出す $c_member_pre_id = db_member_insert_c_member_pre_from_ktai($prof['c_member_id_invite'], $pre['ktai_address'], $pre['ktai_address'], $pre['session']); // c_member_pre_profile にデータ挿入 db_member_update_c_member_pre_profile($c_member_pre_id, $c_member_profile_list); if ($easy_access_id) { $c_member_secure['easy_access_id'] = $easy_access_id; } if (OPENPNE_AUTH_MODE == 'pneid') { $c_member_secure['login_id'] = $prof['login_id']; } // 登録 db_member_update_c_member_pre4c_member_pre_id($c_member_pre_id, $c_member_secure); // delete c_member_ktai_pre db_member_delete_c_member_ktai_pre4id($pre['c_member_ktai_pre_id']); openpne_redirect('ktai', 'page_o_regist_wait'); } $c_member_secure = array('password' => $prof['password'], 'password_query_answer' => $prof['password_query_answer'], 'pc_address' => '', 'ktai_address' => $pre['ktai_address'], 'regist_address' => $pre['ktai_address']); if (!($c_member_id = util_regist_c_member($prof, $c_member_secure, $c_member_profile_list))) { openpne_redirect('ktai', 'page_o_login', array('msg' => 42)); } // 個体識別番号の登録 if ($easy_access_id) { db_member_update_easy_access_id($c_member_id, $easy_access_id); } // delete c_member_ktai_pre db_member_delete_c_member_ktai_pre4id($pre['c_member_ktai_pre_id']); do_insert_c_member_mail_send($c_member_id, $prof['password'], $pre['ktai_address']); // 登録完了メール(管理者宛) if (SEND_USER_DATA) { do_common_send_mail_regist4admin($c_member_id); } if ($aff_id) { $p = array('aff_id' => $aff_id); } else { $p = array(); } $p['c_member_id'] = $c_member_id; openpne_redirect('ktai', 'page_o_regist_end', $p); }