X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FUsers.pm;h=4ae8d54450f033fe1dbdd5a6d62d666d93e1339c;hb=2c227a364191710527b3baa3529ca23a0cf1df6f;hp=bdad4fc9b61c19dac0b1bb4b5bc7c0ee5a709866;hpb=e124a881df36f865fe40babaec23b4c4801f0d59;p=ndwebbie.git diff --git a/lib/NDWeb/Controller/Users.pm b/lib/NDWeb/Controller/Users.pm index bdad4fc..4ae8d54 100644 --- a/lib/NDWeb/Controller/Users.pm +++ b/lib/NDWeb/Controller/Users.pm @@ -169,7 +169,7 @@ sub postmail : Local { } my %mail = ( - smtp => 'ruin.nu', + smtp => 'localhost', BCC => (join ',',@emails), From => 'NewDawn Command ', 'Content-type' => 'text/plain; charset="UTF-8"', @@ -188,6 +188,53 @@ 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({})); + + $c->stash(credits => $dbh->selectrow_array(q{SELECT credits FROM clickatell})); +} + +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)