예제 #1
0
 /**
  * Return the needed form field tag for current object field
  *
  * @param array $values : parameters values array(parameterName => parameterValue) in :
  *     id : the form field id to set
  * @param multidimentionnal array $tags : xml2Array content of atm-function tag
  * @return string : the form field HTML tag
  * @access public
  */
 function getInput($fieldID, $language, $inputParams)
 {
     //hidden field : use parent method
     if (isset($inputParams['hidden']) && ($inputParams['hidden'] == 'true' || $inputParams['hidden'] == 1)) {
         return parent::getInput($fieldID, $language, $inputParams);
     }
     $params = $this->getParamsValues();
     if (isset($inputParams['prefix'])) {
         $prefixName = $inputParams['prefix'];
     } else {
         $prefixName = '';
     }
     //serialize all htmlparameters
     $htmlParameters = $this->serializeHTMLParameters($inputParams);
     $html = '';
     //create fieldname
     $fieldName = $prefixName . $this->_field->getID() . '_0';
     //create object CMS_date
     $date = new CMS_date();
     $date->setFromDBValue($this->_subfieldValues[0]->getValue());
     $wasNull = $date->isNull() ? true : false;
     if ($date->isNull() && ($params['setNow'] || $params['creationDate'])) {
         $date->setNow();
     }
     if ($params['updateDate']) {
         $date->setNow();
     }
     if ($params['moveDate'] && ($params['setNow'] && $wasNull || $params['creationDate'] && $wasNull || $params['updateDate'])) {
         $date->moveDate($params['moveDate']);
     }
     if (!$params['creationDate'] && !$params['updateDate']) {
         $html .= '<input type="text"' . $htmlParameters . ' id="' . $prefixName . $this->_field->getID() . '_0" name="' . $prefixName . $this->_field->getID() . '_0" value="' . $date->getLocalizedDate($language->getDateFormat()) . '" />';
         if (isset($inputParams['calendar']) && $inputParams['calendar']) {
             $html .= '&nbsp;<img src="' . PATH_ADMIN_IMAGES_WR . '/calendar/calendar.gif" class="admin_input_submit_content" align="absmiddle" title="' . $language->getMessage(MESSAGE_PAGE_ACTION_DATE) . '" onclick="displayCalendar(document.getElementById(\'' . $prefixName . $this->_field->getID() . '_0\'),\'' . $language->getCode() . '\',this);return false;" />';
         }
     } else {
         $html .= $date->getLocalizedDate($language->getDateFormat()) . ' <input type="hidden" id="' . $prefixName . $this->_field->getID() . '_0" name="' . $prefixName . $this->_field->getID() . '_0" value="' . $date->getLocalizedDate($language->getDateFormat()) . '" />';
     }
     if ($params['withHMS']) {
         if (!$date->isNull()) {
             $hms = $date->getHour() . ':' . $date->getMinute() . ':' . $date->getSecond();
         }
         if (!$params['creationDate'] && !$params['updateDate']) {
             $html .= '&nbsp;&nbsp;<input type="text"' . $htmlParameters . ' id="' . $prefixName . $this->_field->getID() . '_1" name="' . $prefixName . $this->_field->getID() . '_1" value="' . $hms . '" /> <small>(' . $language->getMessage(self::MESSAGE_OBJECT_DATE_DATE_COMMENT, array($language->getMessage(self::MESSAGE_OBJECT_DATE_HMS_FORMAT, false, MOD_POLYMOD_CODENAME))) . ')</small>';
         } else {
             $html .= '&nbsp;&nbsp;' . $hms . '<input type="hidden" id="' . $prefixName . $this->_field->getID() . '_1" name="' . $prefixName . $this->_field->getID() . '_1" value="' . $hms . '" />';
         }
     }
     if (POLYMOD_DEBUG) {
         $html .= ' <span class="admin_text_alert">(Field : ' . $this->_field->getID() . ' - SubField : 0)</span>';
     }
     //append html hidden field which store field name
     if ($html) {
         $html .= '<input type="hidden" name="polymodFields[' . $this->_field->getID() . ']" value="' . $this->_field->getID() . '" />';
     }
     return $html;
 }