X-Git-Url: https://ruin.nu/git/?p=ndwebbie.git;a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FUsers.pm;h=efb48d3fd155e0e718c83f860a93a6dfd048662a;hp=bdad4fc9b61c19dac0b1bb4b5bc7c0ee5a709866;hb=0a35b86f2577bc9e2efcabe818a56a9ec46bb0bd;hpb=d786ab3e431fdb29854f4d80fe430c5438d649b6 diff --git a/lib/NDWeb/Controller/Users.pm b/lib/NDWeb/Controller/Users.pm index bdad4fc..efb48d3 100644 --- a/lib/NDWeb/Controller/Users.pm +++ b/lib/NDWeb/Controller/Users.pm @@ -188,6 +188,51 @@ sub postmail : Local { $c->res->redirect($c->uri_for('mail')); } +sub sms : Local { + my ( $self, $c ) = @_; + my $dbh = $c->model; + + $c->stash(ok => $c->flash->{ok}); + $c->stash(error => $c->flash->{error}); + + my $query = $dbh->prepare(q{ +SELECT uid,username FROM users +WHERE uid > 0 AND sms SIMILAR TO '\+\d+' + AND uid IN (SELECT uid FROM groupmembers WHERE gid = 'M') +ORDER BY username + }); + $query->execute; + + $c->stash(users => $query->fetchall_arrayref({}) ); + + my $query = $dbh->prepare(q{ +SELECT u.username AS sender, COALESCE(r.username,'unknown?') AS receiver, number, + message, status, cost, to_char(time, 'YYYY-MM-DD HH24:MI:SS') AS time +FROM users u + JOIN sms s USING (uid) + LEFT JOIN users r ON r.sms = '+' || s.number +WHERE time > now() - '2 weeks'::interval +ORDER BY time desc + }); + $query->execute; + $c->stash(sms => $query->fetchall_arrayref({})); +} + +sub postsms : Local { + my ( $self, $c ) = @_; + my $dbh = $c->model; + + $c->req->parameters->{uid} = [$c->req->parameters->{uid}] + unless ref $c->req->parameters->{uid} eq 'ARRAY'; + + my $query = $dbh->prepare(q{INSERT INTO sms (uid,message,number) + (SELECT $1,$2, trim(leading '+' FROM sms) FROM users u WHERE uid = ANY ($3) AND sms SIMILAR TO '\+\d+' )}); + + $query->execute($c->user->id,$c->req->param('message'),$c->req->parameters->{uid}); + + $c->res->redirect($c->uri_for('sms')); +} + =head1 AUTHOR Micahel Andreen (harv@ruin.nu)