/** * 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')); } }
/** * 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; }
/** * 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']); }