function execute($requests)
 {
     $v = array();
     $target_c_diary_comment_ids = $requests['target_c_diary_comment_ids'];
     // 日記コメントが選択されていない場合はエラー
     if (!$target_c_diary_comment_ids) {
         admin_client_redirect('diary_comment_list', WORD_DIARY . "のコメントが選択されていません");
     }
     $id_ary = split(":", $target_c_diary_comment_ids);
     $v = array();
     $diary_comment_list = array();
     foreach ($id_ary as $id) {
         $diary_comment = _do_c_diary_comment4c_diary_comment_id($id);
         if (!$diary_comment) {
             admin_client_redirect('diary_comment_list', '指定された' . WORD_DIARY . 'のコメントは存在しません');
         }
         $diary = db_diary_get_c_diary4id($diary_comment['c_diary_id']);
         $diary_comment['subject'] = $diary['subject'];
         $diary_comment['count_comments'] = db_diary_count_c_diary_comment4c_diary_id($diary_comment['c_diary_id']);
         $member = db_member_c_member4c_member_id($diary_comment['c_member_id']);
         $diary_comment['c_member'] = $member;
         array_push($diary_comment_list, $diary_comment);
     }
     $this->set('diary_comment_list', $diary_comment_list);
     $this->set('target_c_diary_comment_ids', $target_c_diary_comment_ids);
     $v['SNS_NAME'] = SNS_NAME;
     $v['OPENPNE_VERSION'] = OPENPNE_VERSION;
     $this->set($v);
     return 'success';
 }
 function execute($requests)
 {
     $diary_comment = _do_c_diary_comment4c_diary_comment_id($requests['target_c_diary_comment_id']);
     if (!$diary_comment) {
         admin_client_redirect('diary_comment_list', '指定された' . WORD_DIARY . 'コメントは存在しません');
     }
     db_diary_delete_c_diary_comment($diary_comment['c_diary_comment_id'], $diary_comment['c_member_id']);
     admin_client_redirect('diary_comment_list', WORD_DIARY . 'コメントを削除しました');
 }
예제 #3
0
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_diary_id = $requests['target_c_diary_id'];
     $target_c_diary_comment_id = $requests['target_c_diary_comment_id'];
     // ----------
     // target が指定されていない
     if (!$target_c_diary_id) {
         openpne_redirect('pc', 'page_h_err_fh_diary');
     }
     // target の日記が存在しない
     if (!p_common_is_active_c_diary_id($target_c_diary_id)) {
         openpne_redirect('pc', 'page_h_err_fh_diary');
     }
     $target_diary = db_diary_get_c_diary4id($target_c_diary_id);
     // 削除するコメントがが指定されていない
     if (!$target_c_diary_comment_id) {
         $p = array('target_c_diary_id' => $target_c_diary_id);
         openpne_redirect('pc', 'page_fh_diary', $p);
     }
     // コメントIDが不正
     foreach ($target_c_diary_comment_id as $item) {
         $comment = _do_c_diary_comment4c_diary_comment_id($item);
         if ($comment['c_diary_id'] != $target_c_diary_id || $comment['c_member_id'] != $u && $target_diary['c_member_id'] != $u) {
             $p = array('target_c_diary_id' => $target_c_diary_id);
             openpne_redirect('pc', 'page_fh_diary', $p);
         }
     }
     // オブジェクトの振り分け用
     $target_c_member_id = $target_diary['c_member_id'];
     // inc_navi.tpl
     if ($target_c_member_id == $u) {
         $type = 'h';
         $is_diary_admin = true;
     } else {
         $type = 'f';
         $is_diary_admin = false;
     }
     $this->set('inc_navi', fetch_inc_navi($type, $target_c_member_id));
     $this->set('is_diary_admin', $is_diary_admin);
     $this->set('member', db_member_c_member4c_member_id($u));
     $this->set('target_member', db_member_c_member4c_member_id($target_c_member_id));
     $this->set('target_diary', $target_diary);
     //削除するコメント一覧
     $list = db_diary_get_c_diary_comment_list4id_list($target_c_diary_comment_id);
     $this->set('target_diary_comment_list', array_shift($list));
     //削除するコメントID
     $this->set('target_c_diary_comment_id', $target_c_diary_comment_id);
     return 'success';
 }
 function execute($requests)
 {
     $id_ary = split(":", $requests['target_c_diary_comment_ids']);
     $diary_comment_list = array();
     foreach ($id_ary as $id) {
         $diary_comment = _do_c_diary_comment4c_diary_comment_id($id);
         if (!$diary_comment) {
             admin_client_redirect('diary_comment_list', '指定された' . WORD_DIARY . 'コメントは存在しません');
         }
         array_push($diary_comment_list, $diary_comment);
     }
     foreach ($diary_comment_list as $diary_comment) {
         db_diary_delete_c_diary_comment($diary_comment['c_diary_comment_id'], $diary_comment['c_member_id']);
     }
     admin_client_redirect('diary_comment_list', WORD_DIARY . 'コメントを削除しました');
 }
예제 #5
0
 function execute($requests)
 {
     $v = array();
     $pager = array();
     $v['SNS_NAME'] = SNS_NAME;
     $c_image_list = db_image_c_image_list($requests['page'], $requests['page_size'], $pager);
     //ファイル名からリンク先を生成
     foreach ($c_image_list as $key => $c_image) {
         $temp = explode("_", $c_image['filename']);
         //
         switch ($temp[0]) {
             case 'm':
                 //メンバー画像
                 $c_image_list[$key]['param'] = '&a=page_f_home&target_c_member_id=' . $temp[1];
                 break;
             case 'c':
                 //コミュニティ画像
                 $c_image_list[$key]['param'] = '&a=page_c_home&target_c_commu_id=' . $temp[1];
                 break;
             case 'd':
                 //日記画像
                 $c_image_list[$key]['param'] = '&a=page_fh_diary&target_c_diary_id=' . $temp[1];
                 break;
             case 'dc':
                 //日記コメント画像
                 $id = _do_c_diary_comment4c_diary_comment_id($temp[1]);
                 $c_image_list[$key]['param'] = '&a=page_fh_diary&target_c_diary_id=' . $id['c_diary_id'];
                 break;
             case 't':
                 //トピック、イベント画像
                 $c_image_list[$key]['param'] = '&a=page_c_topic_detail&target_c_commu_topic_id=' . $temp[1];
                 break;
             case 'tc':
                 //トピック、イベントコメント画像
                 $id = db_commu_c_commu_topic_comment4c_commu_topic_comment_id_2($temp[1]);
                 $c_image_list[$key]['param'] = '&a=page_c_topic_detail&target_c_commu_topic_id=' . $id['c_commu_topic_id'];
                 break;
         }
     }
     $v['c_image_list'] = $c_image_list;
     $v['pager'] = $pager;
     $this->set($v);
     return 'success';
 }
 function execute($requests)
 {
     $v = array();
     $target_c_diary_comment_id = $requests['target_c_diary_comment_id'];
     $v = array();
     $diary_comment = _do_c_diary_comment4c_diary_comment_id($target_c_diary_comment_id);
     if (!$diary_comment) {
         admin_client_redirect('diary_comment_list', '指定された' . WORD_DIARY . 'のコメントは存在しません');
     }
     $diary = db_diary_get_c_diary4id($diary_comment['c_diary_id']);
     $diary_comment['subject'] = $diary['subject'];
     $diary_comment['count_comments'] = db_diary_count_c_diary_comment4c_diary_id($diary_comment['c_diary_id']);
     $member = db_member_c_member4c_member_id($diary_comment['c_member_id']);
     $diary_comment['c_member'] = $member;
     $this->set('diary_comment', $diary_comment);
     $v['SNS_NAME'] = SNS_NAME;
     $v['OPENPNE_VERSION'] = OPENPNE_VERSION;
     $this->set($v);
     return 'success';
 }
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_diary_comment_id = $requests['target_c_diary_comment_id'];
     // ----------
     $c_diary_comment = _do_c_diary_comment4c_diary_comment_id($target_c_diary_comment_id);
     $target_c_member_id = $c_diary_comment['c_member_id'];
     //--- 権限チェック
     //日記作成者 or コメント作成者
     $c_diary = db_diary_get_c_diary4id($c_diary_comment['c_diary_id']);
     if ($c_diary['c_member_id'] != $u && $c_diary_comment['c_member_id'] != $u) {
         handle_kengen_error();
     }
     //---
     db_diary_delete_c_diary_comment($target_c_diary_comment_id, $u);
     //コメント記入履歴削除実行
     db_diary_delete_c_diary_comment_log($target_c_member_id, $c_diary_comment['c_diary_id']);
     $p = array('target_c_diary_id' => $c_diary['c_diary_id']);
     openpne_redirect('ktai', 'page_fh_diary', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     $target_c_diary_comment_id = $_REQUEST['target_c_diary_comment_id'];
     foreach ($target_c_diary_comment_id as $val) {
         //--- 権限チェック
         //日記作成者 or コメント作成者
         $target_c_diary_comment = _do_c_diary_comment4c_diary_comment_id($val);
         $target_c_diary_id = $target_c_diary_comment['c_diary_id'];
         $c_diary = db_diary_get_c_diary4id($target_c_diary_id);
         if ($c_diary['c_member_id'] != $u && $target_c_diary_comment['c_member_id'] != $u) {
             handle_kengen_error();
         }
         //---
         //コメント削除実行
         db_diary_delete_c_diary_comment($val, $u);
         //コメント記入履歴削除実行
         db_diary_delete_c_diary_comment_log($target_c_diary_comment['c_member_id'], $target_c_diary_id);
     }
     $p = array('target_c_diary_id' => $target_c_diary_id);
     openpne_redirect('pc', 'page_fh_diary', $p);
 }
예제 #9
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);
}
예제 #10
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';
 }
예제 #11
0
/**
 * 日記コメント削除
 *
 * @param   int $c_diary_comment_id
 * @param   int $u  : 削除しようとしている人の c_member_id
 */
function db_diary_delete_c_diary_comment($c_diary_comment_id, $u)
{
    $dc = _do_c_diary_comment4c_diary_comment_id($c_diary_comment_id);
    if ($dc['c_member_id'] != $u && $dc['c_member_id_author'] != $u) {
        return false;
    }
    db_image_data_delete($dc['image_filename_1'], $dc['c_member_id']);
    db_image_data_delete($dc['image_filename_2'], $dc['c_member_id']);
    db_image_data_delete($dc['image_filename_3'], $dc['c_member_id']);
    $sql = 'DELETE FROM c_diary_comment WHERE c_diary_comment_id = ?';
    $params = array(intval($c_diary_comment_id));
    return db_query($sql, $params);
}
예제 #12
0
/**
 * 日記コメント削除
 * 
 * @param   int $c_diary_comment_id
 * @param   int $u  : 削除しようとしている人の c_member_id
 */
function kanshi_db_diary_delete_c_diary_comment($c_diary_comment_id)
{
    if ($dc = _do_c_diary_comment4c_diary_comment_id($c_diary_comment_id)) {
        image_data_delete($dc['image_filename_1']);
        image_data_delete($dc['image_filename_2']);
        image_data_delete($dc['image_filename_3']);
        $sql = 'DELETE FROM c_diary_comment WHERE c_diary_comment_id = ?';
        $params = array(intval($c_diary_comment_id));
        if (db_query($sql, $params)) {
            return array(1, 0, '');
        } else {
            return array(0, 2, 'DB更新エラー');
        }
    } else {
        //        return array(0, 99, '既に削除されているか存在しません');
        // 監視ツールがリトライを行ってしまう為、成功フラグを返してしまう
        return array(1, 0, '');
    }
}