public static function change_status2read($member_id, $foreign_table, $foreign_id, $type_keys = null) { $reduce_num = 0; $notices = Model_Notice::get4foreign_data($foreign_table, $foreign_id, self::convert_type_keys2types($type_keys)); foreach ($notices as $notice) { if (Model_NoticeStatus::change_status2read($member_id, $notice->id)) { $reduce_num++; } } $notices = Model_Notice::get4parent_data($foreign_table, $foreign_id); foreach ($notices as $notice) { if (Model_NoticeStatus::change_status2read($member_id, $notice->id)) { $reduce_num++; } } self::delete_unread_count_cache($member_id); return $reduce_num; }