Bug 2346 follow-up (UpdateBorrowerDebarred subroutine removed)
authorPaul Poulain <paul.poulain@biblibre.com>
Tue, 6 Dec 2011 18:13:55 +0000 (19:13 +0100)
committerPaul Poulain <paul.poulain@biblibre.com>
Tue, 6 Dec 2011 18:13:55 +0000 (19:13 +0100)
notifyMailsOp.pl is deprecated : is was written by and for Ouest Provence (thus the OP) and is not used anymore.

it's probably not working anymore.
Removing the script

misc/cronjobs/notifyMailsOp.pl [deleted file]

diff --git a/misc/cronjobs/notifyMailsOp.pl b/misc/cronjobs/notifyMailsOp.pl
deleted file mode 100755 (executable)
index 7c655c9..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-#!/usr/bin/perl
-use strict;
-#use warnings; FIXME - Bug 2505
-use Carp;
-BEGIN {
-    # find Koha's Perl modules
-    # test carefully before changing this
-    use FindBin;
-    eval { require "$FindBin::Bin/../kohalib.pl" };
-}
-use C4::Context;
-use C4::Dates qw/format_date/;
-use Mail::Sendmail;  # comment out if not doing e-mail notices
-use Getopt::Long;
-use C4::Circulation;
-# use C4::Members;
-#  this module will notify only the mail case
-# Now it's only programmed for ouest provence, you can modify it for yourself
-# sub function for get all notifications are not sends
-sub GetNotifys {
-#      my($branch) = @_;
-       my $dbh = C4::Context->dbh;
-       my $sth=$dbh->prepare("SELECT DISTINCT notifys.borrowernumber , borrowers.surname , borrowers.firstname , borrowers.title AS borrower_title , categories.category_type AS categorycode , borrowers.email , borrowers.contacttitle , borrowers.contactname , borrowers.contactfirstname ,
-       notifys.notify_level , notifys.method
-       FROM notifys,borrowers,categories WHERE (notifys.borrowernumber=borrowers.borrowernumber) AND (notifys.notify_send_date IS NULL) AND (borrowers.categorycode = categories.categorycode)");
-       
-       $sth->execute();
-               my @getnotifys;
-               my $i=0;
-               while (my $data=$sth->fetchrow_hashref){
-                       $getnotifys[$i]=$data;
-                       $i++;   
-               }
-               $sth->finish;
-               return(@getnotifys);
-
-}
-
-sub GetBorrowerNotifys{
-       my ($borrowernumber) = @_;
-       my $dbh = C4::Context->dbh;
-       my @getnotifys2;
-       my $sth2=$dbh->prepare("SELECT notifys.itemnumber,notifys.notify_level,biblio.title ,itemtypes.description,
-                       issues.date_due
-                       FROM notifys,biblio,items,itemtypes,biblioitems,issues 
-                       WHERE
-                       (items.itemnumber=notifys.itemnumber
-                       AND biblio.biblionumber=items.biblionumber)
-                       AND (itemtypes.itemtype=biblioitems.itemtype AND biblioitems.biblionumber=biblio.biblionumber)
-                       AND
-                       (notifys.borrowernumber=issues.borrowernumber AND notifys.itemnumber=issues.itemnumber)
-                       AND
-                       notifys.borrowernumber=?
-                       AND notify_send_date IS NULL");
-                       $sth2->execute($borrowernumber);
-                       my $j=0;
-                       while (my $data2=$sth2->fetchrow_hashref){
-                               $getnotifys2[$j]=$data2;
-                               $j++;
-                       }
-                       $sth2->finish;
-                       return(@getnotifys2);
-
-}
-
-sub GetOverduerules{
-       my($category,$notify_level) = @_;
-       my $dbh = C4::Context->dbh;
-       my $sth=$dbh->prepare("SELECT letter".$notify_level.",debarred".$notify_level." FROM overduerules WHERE categorycode=?");
-       $sth->execute($category);
-       my (@overduerules)=$sth->fetchrow_array;
-       $sth->finish;
-       return(@overduerules);
-
-}
-
-sub GetLetter{
-
-       my($letterid) = @_;
-       my $dbh = C4::Context->dbh;
-       my $sth=$dbh->prepare("SELECT title,content FROM letter WHERE code=?");
-       $sth->execute($letterid);
-       my (@getletter)=$sth->fetchrow_array;
-       $sth->finish;
-       return(@getletter);
-
-}
-
-sub UpdateBorrowerDebarred{
-       my($borrowernumber) = @_;
-       my $dbh = C4::Context->dbh;
-       my $sth=$dbh->prepare("UPDATE borrowers SET debarred='1' WHERE borrowernumber=?");
-       $sth->execute($borrowernumber);
-       $sth->finish;
-       return 1;
-}
-
-sub UpdateNotifySendDate{
-       my($borrowernumber,$itemnumber,$notifyLevel) = @_;
-       my $dbh = C4::Context->dbh;
-       my $sth=$dbh->prepare("UPDATE notifys SET notify_send_date=now() 
-       WHERE borrowernumber=? AND itemnumber=? AND notify_send_date IS NULL AND notify_level=?");
-       $sth->execute($borrowernumber,$itemnumber,$notifyLevel);
-       $sth->finish;
-       return 1;
-
-}
-
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
-
-# work with get notifys
-my $smtpserver = 'smtp.yoursmtpserver'; # your smtp server (the server who sent mails)
-my $from = 'your@librarymailadress'; # all the mails sent to the borrowers will appear coming from here.
-
-
-# initiate file for wrong_mails
-my $outfile = 'wrong_mails.txt';
-open( OUT, ">$outfile" );
-binmode(OUT, 'utf8');
-
-my @getnofifys = GetNotifys();
-foreach my $num (@getnofifys) {
-       my %notify;     
-#      if we have a method mail, we check witch mail letter we launch
-       if ($num->{'method'} eq 'mail'){
-               my ($letterid,$debarred) = GetOverduerules($num->{'categorycode'},$num->{'notify_level'});
-#                      now, we get the letter associated to letterid
-                       my($title,$content) = GetLetter($letterid);
-                       my $email = $num->{'email'};
-                       #my $email = 'alaurin@ouestprovence.fr';
-                       my $mailtitle = $title; # the title of the mails
-# Work with the adult category code
-                               if ($num->{'categorycode'} eq 'A') {
-       #                       now deal with $content
-                                       $content =~ s/\<<borrowers.title>\>/$num->{'borrower_title'}/g ;
-                                       $content =~ s/\<<borrowers.surname>\>/$num->{'surname'}/g ;
-                                       $content =~ s/\<<borrowers.firstname>\>/$num->{'firstname'}/g ;
-                                       
-                                       my @getborrowernotify=GetBorrowerNotifys($num->{'borrowernumber'});
-                                       my $overdueitems;
-                                       foreach my $notif(@getborrowernotify){
-                                               my $date=format_date($notif->{'date_due'});
-                                               if ($notif->{'notify_level'} eq $num->{'notify_level'}){
-                                               $overdueitems .= " - <b>".$notif->{'title'}."</b>" ;
-                                               $overdueitems .= "  ( ".$notif->{'description'}." )  " ;
-                                               $overdueitems .= "emprunté le :".$date;
-                                               $overdueitems .= "<br>";
-                                               
-# FIXME at this time, the program consider the mail is send (in notify_send_date) but with no real check must be improved , we don't know if the mail was really to a real adress, and if there is a problem, we don't know how to return the notification to koha...
-       UpdateNotifySendDate($num->{'borrowernumber'},$notif->{'itemnumber'},$num->{'notify_level'});
-}
-                                       }
-                               # if we don't have overdueitem replace content by nonotifys value, deal with it later
-                                       if ($overdueitems){     
-                                       $content =~ s/\<<items.content>\>/$overdueitems/g;
-                               }
-                               else {
-                               $content = 'nonotifys';
-                               }
-                       }
-# Work with the child category code (we add the parents infos)
-                               if ($num->{'categorycode'} eq 'C') {
-                                       $content =~ s/\<<borrowers.contacttitle>\>/$num->{'contacttitle'}/g ;
-                                       $content =~ s/\<<borrowers.contactname>\>/$num->{'contactname'}/g ;
-                                       $content =~ s/\<<borrowers.contactfirstname>\>/$num->{'contactfirstname'}/g ;
-                                       $content =~ s/\<<borrowers.title>\>/$num->{'borrower_title'}/g ;
-                                       $content =~ s/\<<borrowers.surname>\>/$num->{'surname'}/g ;
-                                       $content =~ s/\<<borrowers.firstname>\>/$num->{'firstname'}/g ;
-                                       
-                                       my @getborrowernotify=GetBorrowerNotifys($num->{'borrowernumber'});
-                                       my $overdueitems;
-                                       foreach my $notif(@getborrowernotify){
-                                               my $date=format_date($notif->{'date_due'});
-                                               
-                                               $overdueitems .= " - <b>".$notif->{'title'}."</b>" ;
-                                               $overdueitems .= "  ( ".$notif->{'description'}." )  " ;
-                                               $overdueitems .= "emprunté le :".$date;
-                                               $overdueitems .= "<br>";
-# FIXME at this time, the program consider the mail is send (in notify_send_date) but with no real check must be improved ...
-                               UpdateNotifySendDate($num->{'borrowernumber'},$notif->{'itemnumber'},$num->{'notify_level'});
-                                               }
-                                       
-                                       if ($overdueitems){
-                                               $content =~ s/\<<items.content>\>/$overdueitems/g;
-                                       }
-                                       else {
-                                       $content = 'nonotifys';
-                                       }
-                               }
-# initiate the send mail
-
-#       decoding mailtitle for lisibility of mailtitle (bug with utf-8 values, so decoding it)
-        utf8::decode($mailtitle);
-
-                       my $mailtext = $content;
-                               unshift @{$Mail::Sendmail::mailcfg{'smtp'}} , $smtpserver;
-#                                         set your own mail server name here
-                                       my %mail = ( To      => $email,
-                                                               From    => $from,
-                                                               Subject => $mailtitle,
-                                                               Message => $mailtext,
-                                                               'content-type' => 'text/html; charset="utf-8"',
-                                       );
-                               # if we don't have any content for the mail, we don't launch mail, but notify it in a file
-                if ($mailtext ne 'nonotifys') {
-                    sendmail(%mail) or carp $Mail::Sendmail::error;
-                }
-                else {
-                    print OUT $email ;
-                }
-                                       
-# now deal with the debarred mode
-#              if ($debarred eq 1) {
-#              �ajouter : si le lecteur est en mode debarred, ajouter la fonction qui nous permettra cela
-#              UpdateBorrowerDebarred($num->{'borrowernumber'});
-#              }
-       close(OUT);
-       }
-}