ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/board.ext
(Generate patch)

Comparing deliantra/server/ext/board.ext (file contents):
Revision 1.1 by root, Fri Dec 15 19:29:18 2006 UTC vs.
Revision 1.4 by root, Mon Feb 12 00:27:20 2007 UTC

73 } 73 }
74 74
75 1 75 1
76}; 76};
77 77
78cf::register_attachment board => 78cf::object::attachment board =>
79 on_apply => sub { 79 on_apply => sub {
80 my ($npc, $who) = @_; 80 my ($npc, $who) = @_;
81 $who->reply ($npc, "Hello, i'm a talking board, 'say help' to get help"); 81 $who->reply ($npc, "Hello, I'm a talking board, 'say help' to get help");
82 do_list ($npc->name, $who, $npc); 82 do_list ($npc->name, $who, $npc);
83 cf::override; 83 cf::override;
84 }, 84 },
85; 85;
86 86
87package CFBoard; 87package CFBoard;
88 88
89use POSIX qw/strftime/; 89use POSIX qw/strftime/;
90use CFDB; 90use CFDB;
91 91
92my $BOARDDB = cf::db_get "board"; 92my $BOARDDB = cf::db_get board => "data";
93 93
94sub get { 94sub get {
95 my ($board) = @_; 95 my ($board) = @_;
96 96
97 $BOARDDB->{"msg_$board"} ||= [] 97 $BOARDDB->{"msg_$board"} ||= []
105 105
106sub remove_entry { 106sub remove_entry {
107 my ($board, $idx) = @_; 107 my ($board, $idx) = @_;
108 108
109 my $entry = splice @{ $BOARDDB->{"msg_$board"} ||= [] }, $idx, 1; 109 my $entry = splice @{ $BOARDDB->{"msg_$board"} ||= [] }, $idx, 1;
110 cf::db_dirty; 110 cf::db_put board => data => $BOARDDB;
111 $entry 111 $entry
112} 112}
113 113
114sub clear { 114sub clear {
115 my ($board) = @_; 115 my ($board) = @_;
116 116
117 delete $BOARDDB->{"msg_$board"}; 117 delete $BOARDDB->{"msg_$board"};
118 cf::db_dirty; 118 cf::db_put board => data => $BOARDDB;
119} 119}
120 120
121sub put_entry { 121sub put_entry {
122 my ($board, $from, $message) = @_; 122 my ($board, $from, $message) = @_;
123 123
124 my $entries = $BOARDDB->{"msg_$board"} ||= []; 124 my $entries = $BOARDDB->{"msg_$board"} ||= [];
125 push @$entries, [$from, $message]; 125 push @$entries, [$from, $message];
126 cf::db_dirty; 126 cf::db_put board => data => $BOARDDB;
127} 127}
128 128
1291; 1291;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines