/** * @desc Generate page, processing yours childs. * @param DOMNode $current * @return void */ public function generateObject($current) { $datetimebox = XmlUtil::CreateChild($current, "datetimebox"); $date = DateUtil::TimeStampFromStr($this->_date, $this->_dateformat); XmlUtil::AddAttribute($datetimebox, "name", $this->_name); XmlUtil::AddAttribute($datetimebox, "caption", $this->_caption); XmlUtil::AddAttribute($datetimebox, "day", date('j', $date)); // Day without leading zeros XmlUtil::AddAttribute($datetimebox, "month", date('n', $date)); // Month without leading zeros XmlUtil::AddAttribute($datetimebox, "year", date('Y', $date)); XmlUtil::AddAttribute($datetimebox, "dateformat", INPUTTYPE::DATE); XmlUtil::AddAttribute($datetimebox, "date", $this->_date); if ($this->_showHour) { $time = explode(":", $this->_time); XmlUtil::AddAttribute($datetimebox, "showhour", "true"); XmlUtil::AddAttribute($datetimebox, "hour", $this->removeLeadingZero($time[0])); // Hour without leading zeros XmlUtil::AddAttribute($datetimebox, "minute", $this->removeLeadingZero($time[1])); } XmlUtil::AddAttribute($datetimebox, "yearmin", $this->_yearmin); XmlUtil::AddAttribute($datetimebox, "yearmax", $this->_yearmax); XmlUtil::AddAttribute($datetimebox, "showday", $this->_showDay ? 'true' : 'false'); }
/** * @covers Xmlnuke\Util\DateUtil::GetDateParts * @todo Implement testGetDateParts(). */ public function testGetDateParts() { $datePart = DateUtil::GetDateParts('2013/01/30 23:50:45', DATEFORMAT::YMD); $this->assertEquals('2013/01/30', $datePart[DateParts::DATE]); $this->assertEquals('30', $datePart[DateParts::DAY]); $this->assertEquals('01', $datePart[DateParts::MONTH]); $this->assertEquals('2013', $datePart[DateParts::YEAR]); $this->assertEquals('23:50:45', $datePart[DateParts::TIME]); $this->assertEquals('23', $datePart[DateParts::HOUR]); $this->assertEquals('50', $datePart[DateParts::MINUTE]); $this->assertEquals('45', $datePart[DateParts::SECOND]); $this->assertEquals('2013/01/30 23:50:45', $datePart[DateParts::FULL]); $datePart = DateUtil::GetDateParts('01/30/2013 23:50:45', DATEFORMAT::MDY); $this->assertEquals('01/30/2013', $datePart[DateParts::DATE]); $this->assertEquals('30', $datePart[DateParts::DAY]); $this->assertEquals('01', $datePart[DateParts::MONTH]); $this->assertEquals('2013', $datePart[DateParts::YEAR]); $this->assertEquals('23:50:45', $datePart[DateParts::TIME]); $this->assertEquals('23', $datePart[DateParts::HOUR]); $this->assertEquals('50', $datePart[DateParts::MINUTE]); $this->assertEquals('45', $datePart[DateParts::SECOND]); $this->assertEquals('01/30/2013 23:50:45', $datePart[DateParts::FULL]); $datePart = DateUtil::GetDateParts('30/01/2013 23:50:45', DATEFORMAT::DMY); $this->assertEquals('30/01/2013', $datePart[DateParts::DATE]); $this->assertEquals('30', $datePart[DateParts::DAY]); $this->assertEquals('01', $datePart[DateParts::MONTH]); $this->assertEquals('2013', $datePart[DateParts::YEAR]); $this->assertEquals('23:50:45', $datePart[DateParts::TIME]); $this->assertEquals('23', $datePart[DateParts::HOUR]); $this->assertEquals('50', $datePart[DateParts::MINUTE]); $this->assertEquals('45', $datePart[DateParts::SECOND]); $this->assertEquals('30/01/2013 23:50:45', $datePart[DateParts::FULL]); $datePart = DateUtil::GetDateParts('30/01/2013 23:50', DATEFORMAT::DMY); $this->assertEquals('30/01/2013', $datePart[DateParts::DATE]); $this->assertEquals('30', $datePart[DateParts::DAY]); $this->assertEquals('01', $datePart[DateParts::MONTH]); $this->assertEquals('2013', $datePart[DateParts::YEAR]); $this->assertEquals('23:50:00', $datePart[DateParts::TIME]); $this->assertEquals('23', $datePart[DateParts::HOUR]); $this->assertEquals('50', $datePart[DateParts::MINUTE]); $this->assertEquals('00', $datePart[DateParts::SECOND]); $this->assertEquals('30/01/2013 23:50:00', $datePart[DateParts::FULL]); $datePart = DateUtil::GetDateParts('30/01/2013 23', DATEFORMAT::DMY); $this->assertEquals('30/01/2013', $datePart[DateParts::DATE]); $this->assertEquals('30', $datePart[DateParts::DAY]); $this->assertEquals('01', $datePart[DateParts::MONTH]); $this->assertEquals('2013', $datePart[DateParts::YEAR]); $this->assertEquals('23:00:00', $datePart[DateParts::TIME]); $this->assertEquals('23', $datePart[DateParts::HOUR]); $this->assertEquals('00', $datePart[DateParts::MINUTE]); $this->assertEquals('00', $datePart[DateParts::SECOND]); $this->assertEquals('30/01/2013 23:00:00', $datePart[DateParts::FULL]); $datePart = DateUtil::GetDateParts('30/01/2013', DATEFORMAT::DMY); $this->assertEquals('30/01/2013', $datePart[DateParts::DATE]); $this->assertEquals('30', $datePart[DateParts::DAY]); $this->assertEquals('01', $datePart[DateParts::MONTH]); $this->assertEquals('2013', $datePart[DateParts::YEAR]); $this->assertEquals('00:00:00', $datePart[DateParts::TIME]); $this->assertEquals('00', $datePart[DateParts::HOUR]); $this->assertEquals('00', $datePart[DateParts::MINUTE]); $this->assertEquals('00', $datePart[DateParts::SECOND]); $this->assertEquals('30/01/2013 00:00:00', $datePart[DateParts::FULL]); // Invalid Date $datePart = DateUtil::GetDateParts('50/01/2013 23:50:45', DATEFORMAT::DMY); $this->assertEquals('00/00/0000', $datePart[DateParts::DATE]); $this->assertEquals('00', $datePart[DateParts::DAY]); $this->assertEquals('00', $datePart[DateParts::MONTH]); $this->assertEquals('0000', $datePart[DateParts::YEAR]); $this->assertEquals('00:00:00', $datePart[DateParts::TIME]); $this->assertEquals('00', $datePart[DateParts::HOUR]); $this->assertEquals('00', $datePart[DateParts::MINUTE]); $this->assertEquals('00', $datePart[DateParts::SECOND]); $this->assertEquals('00/00/0000 00:00:00', $datePart[DateParts::FULL]); }
/** * Format a date field from Database values * @param $curValue * @return string */ protected function dateFromSource($curValue, $hour = false) { try { return DateUtil::ConvertDate($curValue, DATEFORMAT::YMD, $this->_dateFormat, $hour); } catch (Exception $ex) { return "??/??/????"; } }
public static function GetDateParts($date, $dateFormat = DATEFORMAT::YMD, $separator = "/") { if (!DateUtil::Validate($date, $dateFormat, $separator, true)) { if ($dateFormat == DATEFORMAT::DMY || $dateFormat == DATEFORMAT::MDY) { $reg = array("00", "00", "0000", "00", "00", "00"); } else { $reg = array("0000", "00", "00", "00", "00", "00"); } } else { $reg = preg_split("/[^0-9]/", $date); while (sizeof($reg) < 6) { $reg[sizeof($reg)] = '00'; } } $datePart = array(); if ($dateFormat == DATEFORMAT::DMY || $dateFormat == DATEFORMAT::MDY) { $datePart[DateParts::DATE] = sprintf("%02d{$separator}%02d{$separator}%04d", $reg[0], $reg[1], $reg[2]); } else { $datePart[DateParts::DATE] = sprintf("%04d{$separator}%02d{$separator}%02d", $reg[0], $reg[1], $reg[2]); } switch ($dateFormat) { case DATEFORMAT::DMY: $datePart[DateParts::DAY] = $reg[0]; $datePart[DateParts::MONTH] = $reg[1]; $datePart[DateParts::YEAR] = $reg[2]; break; case DATEFORMAT::MDY: $datePart[DateParts::DAY] = $reg[1]; $datePart[DateParts::MONTH] = $reg[0]; $datePart[DateParts::YEAR] = $reg[2]; break; default: $datePart[DateParts::DAY] = $reg[2]; $datePart[DateParts::MONTH] = $reg[1]; $datePart[DateParts::YEAR] = $reg[0]; break; } $datePart[DateParts::TIME] = sprintf("%02d:%02d:%02d", $reg[3], $reg[4], $reg[5]); $datePart[DateParts::HOUR] = sprintf("%02d", $reg[3]); $datePart[DateParts::MINUTE] = sprintf("%02d", $reg[4]); $datePart[DateParts::SECOND] = sprintf("%02d", $reg[5]); $datePart[DateParts::FULL] = $datePart[DateParts::DATE] . " " . $datePart[DateParts::TIME]; return $datePart; }
/** * Forgot Password Confirm * */ protected function ResetPasswordConfirm() { $myWords = $this->WordCollection(); if (!$this->_login->getCanRetrievePassword()) { $this->FormLogin(); return; } elseif ($this->_login->getPassword() == "" || $this->_context->get('password2') == "") { $container = new XmlnukeUIAlert($this->_context, UIAlert::BoxAlert); $container->setAutoHide(5000); $container->addXmlnukeObject(new XmlnukeText($myWords->Value("PASSWORDISREQUIRED"), true)); $this->_blockCenter->addXmlnukeObject($container); $this->ResetPassword(); return; } elseif ($this->_login->getPassword() != $this->_context->get('password2')) { $container = new XmlnukeUIAlert($this->_context, UIAlert::BoxAlert); $container->setAutoHide(5000); $container->addXmlnukeObject(new XmlnukeText($myWords->Value("PASSWORDNOTMATCH"), true)); $this->_blockCenter->addXmlnukeObject($container); $this->ResetPassword(); return; } $user = $this->_users->getUserName($this->_login->getUsername()); $tokenValid = $user->getField("TOKEN_PWD_RESET") == $this->_login->getResetToken() && $user->getField("TOKEN_PWD_RESET_VALID") >= DateUtil::Today(DATEFORMAT::YMD); if (is_null($user) || !$tokenValid) { $this->FormLogin(); } elseif ($user->getField("TOKEN_PWD_RESET") != $this->_login->getResetToken()) { $container = new XmlnukeUIAlert($this->_context, UIAlert::BoxAlert); $container->setAutoHide(5000); $container->addXmlnukeObject(new XmlnukeText($myWords->Value("RESETINVALIDTOKEN"), true)); $this->_blockCenter->addXmlnukeObject($container); $this->FormLogin(); return; } else { $newpassword = $this->_users->getSHAPassword($this->_login->getPassword()); $user->setField('TOKEN_PWD_RESET', ''); $user->setField('TOKEN_PWD_RESET_VALID', ''); $user->setField($this->_users->getUserTable()->password, $newpassword); $this->_users->Save(); $container = new XmlnukeUIAlert($this->_context, UIAlert::ModalDialog, ""); $container->addRedirectButton($myWords->Value("TXT_BACK"), $this->_login->getReturnUrl()); $container->addXmlnukeObject(new XmlnukeText($myWords->Value("RESETPASSWORDOK"), true)); $this->_blockCenter->addXmlnukeObject($container); $this->FormLogin(); } }