function render($rpt)
 {
     $commands = array(array('%CHECKOUT%', "To check items out for a single member, scan this code, then a member code, then any number of item barcodes.\n**NOTE: Rescan this code before checking items out for a different member."), array('%CHECKIN%', "To check items in, scan this code, then any number of item barcodes."));
     $lay = new Lay();
     $lay->container('Columns', array('margin-top' => '1in', 'margin-bottom' => '1in', 'margin-left' => '1in', 'margin-right' => '1in', 'y-spacing' => 36));
     $lay->pushFont('Times-Roman', 24);
     $lay->container('TextLine', array('x-align' => 'center'));
     $lay->text('Offline Circulation Command Codes');
     $lay->close();
     $lay->popFont();
     $lay->container('Lines');
     foreach ($commands as $cmd) {
         $lay->container('Column', array('width' => '3in'));
         $lay->element('spacer', array('height' => 4));
         $lay->container('TextLine', array('x-align' => 'center'));
         $lay->pushFont('Code39JK', 24);
         $lay->text('*' . $cmd[0] . '*');
         $lay->popFont();
         $lay->close();
         $lay->container('TextLine', array('x-align' => 'center'));
         $lay->pushFont('Courier', 10);
         $lay->text($cmd[0]);
         $lay->popFont();
         $lay->close();
         $lay->close();
         $lay->container('Column', array('y-spacing' => 9));
         foreach (explode("\n", $cmd[1]) as $p) {
             $lay->container('Column');
             $lay->container('TextLines');
             $lay->text($p);
             $lay->close();
             $lay->close();
         }
         $lay->close();
     }
     $lay->close();
     $lay->close();
     $lay->close();
 }
示例#2
0
 function render($rpt)
 {
     list($rpt, $errs) = $rpt->variant_el(array('order_by' => 'member'));
     if (!empty($errs)) {
         Fatal::internalError('Unexpected report error');
     }
     $mbrQ = new MemberQuery();
     $lay = new Lay();
     $lay->pushFont('Helvetica', 10);
     $lay->container('Columns', array('margin-left' => '1in', 'margin-right' => '1in', 'margin-top' => '1in', 'margin-bottom' => '1in'));
     $mbr = NULL;
     $oldmbr = NULL;
     while ($row = $rpt->each()) {
         if ($row['mbrid'] != $oldmbr) {
             if ($oldmbr !== NULL) {
                 $lay->close();
                 $lay->container('Columns', array('margin-left' => '1in', 'margin-right' => '1in', 'margin-top' => '1in', 'margin-bottom' => '1in'));
             }
             $mbr = $mbrQ->get($row['mbrid']);
             $oldmbr = $row['mbrid'];
             $lay->container('Column', array('margin-left' => '3.25in'));
             $lay->container('TextLine');
             $lay->text(date('m/d/Y'));
             $lay->close();
             $lay->element('Spacer', array('height' => 14));
             $lines = array(OBIB_LIBRARY_NAME, '101 1st Street', 'Busytown, IA 11111-2222', 'phone: ' . OBIB_LIBRARY_PHONE, 'hours: ' . OBIB_LIBRARY_HOURS);
             foreach ($lines as $l) {
                 $lay->container('TextLine');
                 $lay->text($l);
                 $lay->close();
             }
             $lay->close();
             $lay->element('Spacer', array('height' => 14));
             $lay->container('TextLine');
             $lay->text($mbr->getFirstName() . ' ' . $mbr->getLastName());
             $lay->close();
             foreach (explode("\n", $mbr->getAddress()) as $l) {
                 $lay->container('TextLine');
                 $lay->text($l);
                 $lay->close();
             }
             $lay->element('Spacer', array('height' => 14));
             $lay->container('TextLine');
             $lay->text('Dear ' . $mbr->getFirstName() . ' ' . $mbr->getLastName() . ':');
             $lay->close();
             $lay->element('Spacer', array('height' => 9));
             $lay->container('Paragraph');
             $lay->container('TextLines');
             $lay->text('Our records show that the following library items ' . 'are checked out under your name and are past due.  Please ' . 'return them as soon as possible and pay any late fees due.');
             $lay->close();
             $lay->close();
             $lay->element('Spacer', array('height' => 28));
             $lay->container('TextLine');
             $lay->text('Sincerely,');
             $lay->close();
             $lay->element('Spacer', array('height' => 14));
             $lay->container('TextLine');
             $lay->text('The library staff at ' . OBIB_LIBRARY_NAME);
             $lay->close();
             $lay->element('Spacer', array('height' => 14));
             $lay->pushFont('Times-Italic', 12);
             $lay->container('Line');
             $lay->container('TextLine', array('width' => '1.5in', 'underline' => 1));
             $lay->text('Title');
             $lay->close();
             $lay->container('TextLine', array('width' => '1.5in', 'underline' => 1));
             $lay->text('Author');
             $lay->close();
             $lay->container('TextLine', array('width' => '1in', 'underline' => 1));
             $lay->text('Due Date');
             $lay->close();
             $lay->container('TextLine', array('width' => '0.75in', 'underline' => 1));
             $lay->text('Days Late');
             $lay->close();
             $lay->close();
             $lay->popFont();
         }
         $lay->container('Line');
         $lay->container('TextLine', array('width' => '1.5in'));
         $lay->text($row['title']);
         $lay->close();
         $lay->container('TextLine', array('width' => '1.5in'));
         $lay->text($row['author']);
         $lay->close();
         $lay->container('TextLine', array('width' => '1in'));
         $lay->text(date('m/d/y', strtotime($row['due_back_dt'])));
         $lay->close();
         $lay->container('TextLine', array('width' => '0.75in'));
         $lay->text($row['days_late']);
         $lay->close();
         $lay->close();
     }
     $lay->close();
     $lay->popFont();
     $lay->close();
 }