ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 4995


Ignore:
Timestamp:
Jan 22, 2008, 3:23:56 PM (12 years ago)
Author:
tejimaa
Message:

apply patch

Location:
work/tejima/merge_t1796/webapp
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • work/tejima/merge_t1796/webapp/lib/mail/sns.php

    r4735 r4995  
    115115            m_debug_log('mail_sns::add_diary()', PEAR_LOG_INFO);
    116116            return $this->add_diary();
     117        }
     118
     119        //---
     120
     121        // 日記コメント投稿
     122        elseif (
     123            preg_match('/^bc(\d+)$/', $to_user, $matches) ||
     124            preg_match('/^bc(\d+)-([0-9a-f]{12})$/', $to_user, $matches)
     125        ) {
     126
     127            // 日記IDのチェック
     128            if (!$c_diary_id = $matches[1]) {
     129                return false;
     130            }
     131
     132            if (MAIL_ADDRESS_HASHED) {
     133                if (empty($matches[2])) return false;
     134
     135                // メンバーハッシュのチェック
     136                if ($matches[2] != t_get_user_hash($this->c_member_id)) {
     137                    return false;
     138                }
     139            }
     140
     141            m_debug_log('mail_sns::add_diary_comment()', PEAR_LOG_INFO);
     142            return $this->add_diary_comment($c_diary_id);
    117143        }
    118144
     
    297323            //トピック・イベントにコメントした人にポイント付与
    298324            $point = db_action_get_point4c_action_id(11);
    299             db_point_add_point($u, $point);
     325            db_point_add_point($this->c_member_id, $point);
    300326        }
    301327
     
    345371            $point = db_action_get_point4c_action_id(4);
    346372            db_point_add_point($this->c_member_id, $point);
     373        }
     374
     375        return true;
     376    }
     377
     378    /**
     379     * 日記コメント投稿
     380     */
     381    function add_diary_comment($c_diary_id)
     382    {
     383        //--- 権限チェック
     384
     385        $c_diary = db_diary_get_c_diary4id($c_diary_id);
     386        $target_c_member_id = $c_diary['c_member_id'];
     387        $target_c_member = db_member_c_member4c_member_id($target_c_member_id);
     388
     389        if ($this->c_member_id != $target_c_member_id) {
     390            // check public_flag
     391            if (!pne_check_diary_public_flag($c_diary_id, $this->c_member_id)) {
     392                $this->error_mail('日記にアクセスできないため投稿できませんでした。');
     393                m_debug_log('mail_sns::add_diary_comment() not a member');
     394                return false;
     395            }
     396            //アクセスブロック設定
     397            if (db_member_is_access_block($this->c_member_id, $target_c_member_id)) {
     398                $this->error_mail('日記にアクセスできないため投稿できませんでした。');
     399                m_debug_log('mail_sns::add_diary_comment() access block');
     400                return false;
     401            }
     402        }
     403        //---
     404
     405        $body = $this->decoder->get_text_body();
     406        if ($body === '') {
     407            $this->error_mail('本文が空のため投稿できませんでした。');
     408            m_debug_log('mail_sns::add_diary_comment() body is empty');
     409            return false;
     410        }
     411
     412        //日記コメント書き込み
     413        $ins_id = db_diary_insert_c_diary_comment($this->c_member_id, $c_diary_id, $body);
     414
     415        // 写真登録
     416        $images = $this->decoder->get_images();
     417        $image_num = 1;
     418        foreach ($images as $image_data) {
     419            $filename[$image_num] = 'dc_' . $ins_id . '_' . $image_num . '_' . time() . '.jpg';
     420
     421            db_image_insert_c_image($filename[$image_num], $image_data);
     422            $image_num++;
     423            if ($image_num > 3) {
     424                break;
     425            }
     426        }
     427        db_diary_insert_c_diary_comment_images($ins_id, $filename[1], $filename[2], $filename[3]);
     428
     429        //日記コメントが書き込まれたので日記自体を未読扱いにする
     430        if ($this->c_member_id != $target_c_member_id) {
     431            db_diary_update_c_diary_is_checked($c_diary_id, 0);
     432        }
     433
     434        if (OPENPNE_USE_POINT_RANK) {
     435            // コメント者と被コメント者が違う場合にポイント加算
     436            if ($this->c_member_id != $target_c_member_id) {
     437                //書いた人にポイント付与
     438                $point = db_action_get_point4c_action_id(3);
     439                db_point_add_point($this->c_member_id, $point);
     440
     441                //書かれた人にポイント付与
     442                $point = db_action_get_point4c_action_id(2);
     443                db_point_add_point($target_c_member_id, $point);
     444            }
    347445        }
    348446
  • work/tejima/merge_t1796/webapp/modules/ktai/page/fh_diary.php

    r4001 r4995  
    7575        $this->set("INC_NAVI_type", k_p_fh_common_get_type($target_c_member['c_member_id'], $u));
    7676
     77        if (MAIL_ADDRESS_HASHED) {
     78            $mail_address = "bc{$target_c_diary_id}-".t_get_user_hash($u)."@".MAIL_SERVER_DOMAIN;
     79        } else {
     80            $mail_address = "bc{$target_c_diary_id}"."@".MAIL_SERVER_DOMAIN;
     81        }
     82        $mail_address = MAIL_ADDRESS_PREFIX . $mail_address;
     83        $this->set("mail_address", $mail_address);
     84
    7785        //あしあとをつける
    7886        db_ashiato_insert_c_ashiato($target_c_member_id, $u);
  • work/tejima/merge_t1796/webapp/modules/ktai/templates/fh_diary.tpl

    r4382 r4995  
    9090<input type="submit" value="書き込む">
    9191</form>
     92<br>
     93[i:110]<a href="mailto:({$mail_address})">メール投稿</a><br>
     94写真も添付できます。<br>
     95<font color="#({$ktai_color_config.font_09})">※メール投稿では絵文字が反映されません</font>
    9296
    9397<hr color="#({$ktai_color_config.border_01})">
Note: See TracChangeset for help on using the changeset viewer.