/** * Validates a news start/end/archive date for a correct logical order. * * * @param class_model $objObject - the model object to the given form * @return bool */ public function validateObject(class_model $objObject) { $objLang = class_carrier::getInstance()->getObjLang(); $strModuleName = $objObject->getArrModule("modul"); if ($objObject instanceof class_module_news_news) { //validate: $objStartDate < $objSpecialDate < $objEndDate $objStartDate = $objObject->getObjStartDate(); $objEndDate = $objObject->getObjEndDate(); $objSpecialDate = $objObject->getObjSpecialDate(); $strLabelStartDate = $objLang->getLang("form_" . $objObject->getArrModule("modul") . "_datestart", $strModuleName); $strLabelEndDate = $objLang->getLang("form_" . $objObject->getArrModule("modul") . "_dateend", $strModuleName); $strLabelSpecialDate = $objLang->getLang("form_" . $objObject->getArrModule("modul") . "_datespecial", $strModuleName); if ($objStartDate != null && $objEndDate != null) { if (class_objectvalidator_helper::compareDates($objStartDate, $objEndDate) === 1) { $this->addValidationError("startdate", $objLang->getLang("commons_object_validator_datecompare_validationmessage_before", $strModuleName, array($strLabelStartDate, $strLabelEndDate))); } } if ($objSpecialDate != null && $objEndDate != null) { if (class_objectvalidator_helper::compareDates($objSpecialDate, $objEndDate) === 1) { $this->addValidationError("startdate", $objLang->getLang("commons_object_validator_datecompare_validationmessage_before", $strModuleName, array($strLabelSpecialDate, $strLabelEndDate))); } } if ($objStartDate != null && $objSpecialDate != null) { if (class_objectvalidator_helper::compareDates($objStartDate, $objSpecialDate) === 1) { $this->addValidationError("startdate", $objLang->getLang("commons_object_validator_datecompare_validationmessage_before", $strModuleName, array($strLabelStartDate, $strLabelSpecialDate))); } } } else { return false; } return count($this->getArrValidationMessages()) == 0; }