/[notice-sender]/trunk/Nos.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/Nos.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 43 by dpavlin, Wed May 18 12:29:35 2005 UTC revision 45 by dpavlin, Wed May 18 13:12:54 2005 UTC
# Line 16  our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all' Line 16  our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'
16  our @EXPORT = qw(  our @EXPORT = qw(
17  );  );
18    
19  our $VERSION = '0.3';  our $VERSION = '0.4';
20    
21  use Class::DBI::Loader;  use Class::DBI::Loader;
22  use Email::Valid;  use Email::Valid;
# Line 158  sub add_member_to_list { Line 158  sub add_member_to_list {
158                  email => $email,                  email => $email,
159          }) || croak "can't find or create member\n";          }) || croak "can't find or create member\n";
160    
161          if ($name && $this_user->full_name ne $name) {          if ($name && $this_user->name ne $name) {
162                  $this_user->full_name($name || '');                  $this_user->name($name || '');
163                  $this_user->update;                  $this_user->update;
164          }          }
165    
# Line 177  sub add_member_to_list { Line 177  sub add_member_to_list {
177    
178  =head2 list_members  =head2 list_members
179    
180    List all members of some list.
181    
182   my @members = list_members(   my @members = list_members(
183          list => 'My list',          list => 'My list',
184   );   );
# Line 184  sub add_member_to_list { Line 186  sub add_member_to_list {
186  Returns array of hashes with user informations like this:  Returns array of hashes with user informations like this:
187    
188   $member = {   $member = {
189          full_name => 'Dobrica Pavlinusic',          name => 'Dobrica Pavlinusic',
190          email => 'dpavlin@rot13.org          email => 'dpavlin@rot13.org
191   }   }
192    
193    If list is not found, returns false.
194    
195  =cut  =cut
196    
197  sub list_members {  sub list_members {
# Line 200  sub list_members { Line 204  sub list_members {
204          my $lists = $self->{'loader'}->find_class('lists');          my $lists = $self->{'loader'}->find_class('lists');
205          my $user_list = $self->{'loader'}->find_class('user_list');          my $user_list = $self->{'loader'}->find_class('user_list');
206    
207          my $this_list = $lists->search( name => $list_name )->first || croak "can't find list $list_name\n";          my $this_list = $lists->search( name => $list_name )->first || return;
208    
209          my @results;          my @results;
210    
211          foreach my $user_on_list ($user_list->search(list_id => $this_list->id)) {          foreach my $user_on_list ($user_list->search(list_id => $this_list->id)) {
212                  my $row = {                  my $row = {
213                          full_name => $user_on_list->user_id->full_name,                          name => $user_on_list->user_id->name,
214                          email => $user_on_list->user_id->email,                          email => $user_on_list->user_id->email,
215                  };                  };
216    
# Line 218  sub list_members { Line 222  sub list_members {
222  }  }
223    
224    
225    =head2 delete_member
226    
227    Delete member from database.
228    
229     my $ok = delete_member(
230            name => 'Dobrica Pavlinusic'
231     );
232    
233     my $ok = delete_member(
234            email => 'dpavlin@rot13.org'
235     );
236    
237    Returns false if user doesn't exist.
238    
239    =cut
240    
241    sub delete_member {
242            my $self = shift;
243    
244            my $args = {@_};
245    
246            croak "need name or email of user to delete" unless ($args->{'name'} || $args->{'email'});
247    
248            my $key = 'name';
249            $key = 'email' if ($args->{'email'});
250    
251            my $users = $self->{'loader'}->find_class('users');
252    
253            my $this_user = $users->search( $key => $args->{$key} )->first || return;
254    
255    print Dumper($this_user);
256    
257            $this_user->delete || croak "can't delete user\n";
258    
259            return $users->dbi_commit || croak "can't commit";
260    }
261    
262  =head2 add_message_to_list  =head2 add_message_to_list
263    
264  Adds message to one list's queue for later sending.  Adds message to one list's queue for later sending.
# Line 331  sub send_queued_messages { Line 372  sub send_queued_messages {
372                                  my $hash = $auth->generate_hash( $to_email );                                  my $hash = $auth->generate_hash( $to_email );
373    
374                                  my $from = $u->list_id->name . " <" . $from . "+" . $hash . ( $domain ? "@" . $domain : '' ). ">";                                  my $from = $u->list_id->name . " <" . $from . "+" . $hash . ( $domain ? "@" . $domain : '' ). ">";
375                                  my $to = $u->user_id->full_name . " <$to_email>";                                  my $to = $u->user_id->name . " <$to_email>";
376    
377                                  my $m_obj = Email::Simple->new($msg) || croak "can't parse message";                                  my $m_obj = Email::Simple->new($msg) || croak "can't parse message";
378    

Legend:
Removed from v.43  
changed lines
  Added in v.45

  ViewVC Help
Powered by ViewVC 1.1.26