__PACKAGE__->deny_access_unless('/jsrpc',[qw//]);
__PACKAGE__->allow_access_if('/jsrpc/end',1);
__PACKAGE__->deny_access_unless('/forum/allUnread',[qw//]);
+__PACKAGE__->deny_access_unless('/forum/privmsg',[qw//]);
__PACKAGE__->deny_access_unless('/settings',[qw//]);
=head1 NAME
$c->res->redirect($c->uri_for('allUnread'));
}
+sub privmsg : Local {
+ my ( $self, $c, $uid ) = @_;
+
+ $uid ||= 0;
+ $c->stash(uid => $uid);
+
+ $c->forward('findUsers');
+}
+
+sub postprivmsg : Local {
+ my ( $self, $c ) = @_;
+ my $dbh = $c->model;
+
+ $dbh->begin_work;
+ $c->forward('insertThread',[-1999]);
+
+ $c->req->parameters->{uid} = [$c->req->parameters->{uid}]
+ unless ref $c->req->parameters->{uid} eq 'ARRAY';
+ push @{$c->req->parameters->{uid}}, $c->user->id;
+ $c->forward('addaccess',[$c->stash->{thread}]);
+
+ $c->forward('addPost',[$c->stash->{thread}]);
+ $dbh->commit;
+}
+
sub addaccess : Private {
my ( $self, $c, $thread) = @_;
my $dbh = $c->model;
<li><a href="/forum/search">Forum search</a></li>
[% IF user %]
<li><a href="/forum/allUnread">New posts [% IF user.unreadposts %](<span class="[% IF user.newposts %]newposts[% ELSE %]unreadposts[% END %]">[% user.unreadposts %]</span>)[% END %]</a></li>
+ <li><a href="/forum/privmsg">Priv msg</a></li>
<li><a href="/settings">Settings</a></li>
<li><a href="/logout">Log out ([% c.user.username %])</a></li>
[% ELSE %]
--- /dev/null
+[% META title = 'Private Message' %]
+
+<form action="[% c.uri_for('postprivmsg') %]" method="post" id="privmsg"><fieldset class="forum-post">
+<legend>New Private Message</legend>
+ <p><span id="recadd">Receiver(s): </span><select name="uid" multiple size="5">
+[% FOR u IN users %]
+ <option value="[% u.uid %]" [% IF uid == u.uid %]selected[% END %]>[% u.username %]</option>
+[% END %]
+ </select></p>
+ <div id="receivers"></div>
+ <p>Subject: <input type="text" name="subject" value=""></p>
+ <textarea rows="25" cols="60" name="message"></textarea>
+ <br>
+ <input type="submit" name="cmd" value="Submit">
+ <input type="submit" name="cmd" value="Preview">
+</fieldset>
+</form>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ $('select').attr({name:'u', size: 1, multiple: null}).after($('<input type="button" id="add" value="Add">'));
+ $('#recadd').text('Users: ');
+ $('#receivers').append('Receiver(s):');
+
+ $('#add').click(function(){
+ var u = $('option:selected');
+ $('#receivers').append($('<p>'+u.text()+': <input type="checkbox" name="uid" checked value='+u.val()+'><\/p>'));
+ });
+
+ $('#privmsg').submit(function(){
+ if(!$('#privmsg :checkbox[@name=uid][@checked]').val()){
+ alert('You need to add a receiver.');
+ return false;
+ }
+ if($('#privmsg :input[@name=subject]').val() == ''){
+ alert('You need to write a subject');
+ return false;
+ }
+ if($('#privmsg :input[@name=message]').val() == ''){
+ alert('You need to write a message');
+ return false;
+ }
+ });
+});
+</script>