Exemplo n.º 1
0
 /**
  * Test citation generation
  *
  * @return void
  */
 public function testDates()
 {
     // Build an object to test with (using empty configuration to ensure default
     // settings):
     $date = new Converter(new Config(array()));
     // Try some conversions:
     $this->assertEquals('11-29-1973', $date->convertToDisplayDate('U', 123456879));
     $this->assertEquals('11-29-1973', $date->convertToDisplayDate('m-d-y', '11-29-73'));
     $this->assertEquals('11-29-1973', $date->convertToDisplayDate('m-d-y', '11-29-1973'));
     $this->assertEquals('11-29-1973', $date->convertToDisplayDate('m-d-y H:i', '11-29-73 23:01'));
     $this->assertEquals('23:01', $date->convertToDisplayTime('m-d-y H:i', '11-29-73 23:01'));
     $this->assertEquals('01-02-2001', $date->convertToDisplayDate('m-d-y', '01-02-01'));
     $this->assertEquals('01-02-2001', $date->convertToDisplayDate('m-d-y', '01-02-2001'));
     $this->assertEquals('01-02-2001', $date->convertToDisplayDate('m-d-y H:i', '01-02-01 05:11'));
     $this->assertEquals('05:11', $date->convertToDisplayTime('m-d-y H:i', '01-02-01 05:11'));
     $this->assertEquals('01-02-2001', $date->convertToDisplayDate('Y-m-d', '2001-01-02'));
     $this->assertEquals('01-02-2001', $date->convertToDisplayDate('Y-m-d H:i', '2001-01-02 05:11'));
     $this->assertEquals('05:11', $date->convertToDisplayTime('Y-m-d H:i', '2001-01-02 05:11'));
     $this->assertEquals('01-2001', $date->convertFromDisplayDate('m-Y', '01-02-2001'));
     // Check for proper handling of known problems:
     try {
         $bad = $date->convertToDisplayDate('U', 'invalid');
         $this->fail('Expected exception did not occur');
     } catch (DateException $e) {
         $this->assertTrue((bool) stristr($e->getMessage(), 'failed to parse time string'));
     }
     try {
         $bad = $date->convertToDisplayDate('d-m-Y', '31-02-2001');
         $this->fail('Expected exception did not occur');
     } catch (DateException $e) {
         $this->assertTrue((bool) stristr($e->getMessage(), 'parsed date was invalid'));
     }
 }
Exemplo n.º 2
0
 /**
  * Protected support method for getMyTransactions.
  *
  * @param array $sqlRow An array of keyed data
  * @param array $patron An array of keyed patron data
  *
  * @throws DateException
  * @return array Keyed data for display by template files
  *
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 protected function processMyTransactionsData($sqlRow, $patron = false)
 {
     // Convert Voyager Format to display format
     if (!empty($sqlRow['DUEDATE'])) {
         $dueDate = $this->dateFormat->convertToDisplayDate("m-d-y H:i", $sqlRow['DUEDATE']);
         $dueTime = $this->dateFormat->convertToDisplayTime("m-d-y H:i", $sqlRow['DUEDATE']);
     }
     $dueStatus = false;
     if (!empty($sqlRow['FULLDATE'])) {
         $now = time();
         $dueTimeStamp = strtotime($sqlRow['FULLDATE']);
         if (is_numeric($dueTimeStamp)) {
             if ($now > $dueTimeStamp) {
                 $dueStatus = "overdue";
             } else {
                 if ($now > $dueTimeStamp - 1 * 24 * 60 * 60) {
                     $dueStatus = "due";
                 }
             }
         }
     }
     $transaction = ['id' => $sqlRow['BIB_ID'], 'item_id' => $sqlRow['ITEM_ID'], 'duedate' => $dueDate, 'dueTime' => $dueTime, 'dueStatus' => $dueStatus, 'volume' => str_replace("v.", "", utf8_encode($sqlRow['ITEM_ENUM'])), 'publication_year' => $sqlRow['YEAR'], 'title' => empty($sqlRow['TITLE_BRIEF']) ? $sqlRow['TITLE'] : $sqlRow['TITLE_BRIEF'], 'renew' => $sqlRow['RENEWAL_COUNT'], 'renewLimit' => $sqlRow['RENEWAL_LIMIT'], 'message' => $this->pickTransactionStatus(explode(chr(9), $sqlRow['STATUS']))];
     if (isset($this->config['Loans']['display_borrowing_location']) && $this->config['Loans']['display_borrowing_location']) {
         $transaction['borrowingLocation'] = utf8_encode($sqlRow['BORROWING_LOCATION']);
     }
     return $transaction;
 }
Exemplo n.º 3
0
 /**
  * Protected support method for getMyTransactions.
  *
  * @param array $sqlRow An array of keyed data
  * @param array $patron An array of keyed patron data
  *
  * @throws DateException
  * @return array Keyed data for display by template files
  */
 protected function processMyTransactionsData($sqlRow, $patron = false)
 {
     // Convert Voyager Format to display format
     if (!empty($sqlRow['DUEDATE'])) {
         $dueDate = $this->dateFormat->convertToDisplayDate("m-d-y H:i", $sqlRow['DUEDATE']);
         $dueTime = $this->dateFormat->convertToDisplayTime("m-d-y H:i", $sqlRow['DUEDATE']);
     }
     $dueStatus = false;
     if (!empty($sqlRow['FULLDATE'])) {
         $now = time();
         $dueTimeStamp = strtotime($sqlRow['FULLDATE']);
         if (is_numeric($dueTimeStamp)) {
             if ($now > $dueTimeStamp) {
                 $dueStatus = "overdue";
             } else {
                 if ($now > $dueTimeStamp - 1 * 24 * 60 * 60) {
                     $dueStatus = "due";
                 }
             }
         }
     }
     return array('id' => $sqlRow['BIB_ID'], 'item_id' => $sqlRow['ITEM_ID'], 'duedate' => $dueDate, 'dueTime' => $dueTime, 'dueStatus' => $dueStatus, 'volume' => str_replace("v.", "", utf8_encode($sqlRow['ITEM_ENUM'])), 'publication_year' => $sqlRow['YEAR'], 'title' => empty($sqlRow['TITLE_BRIEF']) ? $sqlRow['TITLE'] : $sqlRow['TITLE_BRIEF']);
 }