예제 #1
0
 /**
  * @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');
 }
예제 #2
0
 /**
  * @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]);
 }
예제 #3
0
 /**
  * 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 "??/??/????";
     }
 }
예제 #4
0
파일: DateUtil.php 프로젝트: byjg/xmlnuke
 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;
 }
예제 #5
0
파일: Login.php 프로젝트: byjg/xmlnuke
 /**
  * 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();
     }
 }