/** * あしあとを付ける * * @param int $c_member_id_to あしあとをつけるメンバーのID * @param int $c_member_id_from あしあとをつけられるメンバーのID * @return bool */ function op_ashiato_insert_c_ashiato($c_member_id_to, $c_member_id_from) { $data = array('c_member_id_from' => intval($c_member_id_from), 'c_member_id_to' => intval($c_member_id_to), 'r_datetime' => db_now(), 'r_date' => db_now()); if (!db_insert('c_ashiato', $data)) { return false; } if ($ashiato_mail_num = OP::op_ashiato_ashiato_mail_num4c_member_id($c_member_id_to)) { //総足あと数を取得 $ashiato_num = OP::op_ashiato_c_ashiato_num4c_member_id($c_member_id_to); //あしあとお知らせメールを送る if ($ashiato_num == $ashiato_mail_num) { do_common_send_ashiato_mail($c_member_id_to, $c_member_id_from); } } return true; }
/** * あしあとを付ける */ function db_ashiato_insert_c_ashiato($c_member_id_to, $c_member_id_from) { // 同一人物の場合は記録しない if ($c_member_id_to == $c_member_id_from) { return false; } // 一定時間以内の連続アクセスは記録しない $wait = date('Y-m-d H:i:s', strtotime('-5 minute')); $sql = 'SELECT c_ashiato_id FROM c_ashiato WHERE r_datetime > ?' . ' AND c_member_id_to = ? AND c_member_id_from = ?'; $params = array($wait, intval($c_member_id_to), intval($c_member_id_from)); if (db_get_one($sql, $params, 'main')) { return false; } // 忍び足 if (USE_SHINOBIASHI) { if (db_member_is_shinobiashi($c_member_id_from)) { return false; } } $data = array('c_member_id_from' => intval($c_member_id_from), 'c_member_id_to' => intval($c_member_id_to), 'r_datetime' => db_now(), 'r_date' => db_now()); if (!db_insert('c_ashiato', $data)) { return false; } if ($ashiato_mail_num = db_ashiato_ashiato_mail_num4c_member_id($c_member_id_to)) { //総足あと数を取得 $ashiato_num = db_ashiato_c_ashiato_num4c_member_id($c_member_id_to); //あしあとお知らせメールを送る if ($ashiato_num == $ashiato_mail_num) { do_common_send_ashiato_mail($c_member_id_to, $c_member_id_from); } } return true; }