/** * getForm * @author Cornelius Hansjakob <*****@*****.**> * @return string */ public function getForm($strFormId, $intRootLevelId, $intPageId) { $strReturn = ''; $strFields = ''; $blnHasFileUpload = false; $arrFormFields = $this->objPage->getCategoriesValues('form_fields'); $arrMandatoryFields = $this->objPage->getCategoriesValues('form_mandatory_fields'); if (count($arrFormFields) > 0) { $arrMandatory = array(); if (count($arrMandatoryFields) > 0) { foreach ($arrMandatoryFields as $objMandatoryField) { $arrMandatory[] = $objMandatoryField->code; } } $counter = 0; foreach ($arrFormFields as $objField) { $strFieldCssClass = 'fieldLeft'; if ($counter % 2 == 1) { $strFieldCssClass = 'fieldRight'; } $strMandatory = ''; $strMandatoryCssClass = ''; if (array_search($objField->code, $arrMandatory) !== false) { $strMandatory = ' *'; $strMandatoryCssClass = ' class="mandatory"'; } $strFields .= ' <div class="' . $strFieldCssClass . '"> <label id="lbl_' . $objField->code . '" for="' . $objField->code . '">' . htmlentities($objField->title, ENT_COMPAT, $this->core->sysConfig->encoding->default) . $strMandatory . '</label><br/>'; switch ($objField->code) { case 'salutation': $strFields .= ' <select id="' . $objField->code . '" name="' . $objField->code . '" size="1"' . $strMandatoryCssClass . '> <option value="">' . $this->objTranslate->_('Please_choose', false) . '</option> <option value="' . $this->objTranslate->_('Mr.') . '">' . $this->objTranslate->_('Mr.') . '</option> <option value="' . $this->objTranslate->_('Ms.') . '">' . $this->objTranslate->_('Ms.') . '</option> </select>'; break; case 'type': $strFields .= ' <select id="' . $objField->code . '" name="' . $objField->code . '" size="1"' . $strMandatoryCssClass . '> <option value="">' . $this->objTranslate->_('Please_choose', false) . '</option> </select>'; break; case 'country': $strFields .= ' <select id="' . $objField->code . '" name="' . $objField->code . '" size="1"' . $strMandatoryCssClass . '> <option value="">' . $this->objTranslate->_('Please_choose', false) . '</option> </select>'; // '.HtmlOutput::getOptionsOfSQL($this->core, 'SELECT tbl.id AS VALUE, categoryTitles.title AS DISPLAY FROM categories AS tbl INNER JOIN categoryTitles ON categoryTitles.idCategories = tbl.id AND categoryTitles.idLanguages = '.$this->core->intLanguageId.' WHERE tbl.idRootCategory = 268 AND (tbl.depth-1) != 0 ORDER BY categoryTitles.title ASC').' break; case 'message': $strFields .= ' <textarea id="' . $objField->code . '" name="' . $objField->code . '"></textarea>'; break; case 'attachment': $blnHasFileUpload = true; $strFields .= ' <input type="file" id="' . $objField->code . '" name="' . $objField->code . '"/>'; break; default: $strFields .= ' <input type="text" id="' . $objField->code . '" name="' . $objField->code . '" value=""' . $strMandatoryCssClass . '/>'; break; } $strFields .= ' </div>'; if ($counter % 2 == 1) { $strFields .= ' <div class="clear"></div>'; } $counter++; } $strReturn .= ' <form id="' . $strFormId . '" name="' . $strFormId . '" action="/zoolu-website/datareceiver" method="post" onsubmit="return false;"' . ($blnHasFileUpload ? ' enctype="multipart/form-data"' : '') . '> ' . $strFields . ' <div class="fieldLeft required"> <span>' . $this->objTranslate->_('Fields_with_*_are_mandatory') . '</span> </div> <div class="fieldRight buttonContainer"> <div class="buttonBox" onclick="myDefault.submitForm(\'' . $strFormId . '\');"> <div class="left"> </div> <div class="center">' . $this->objTranslate->_('Send') . '</div> <div class="right"> </div> <div class="clear"></div> </div> </div> <div class="clear"></div> <div class="legalNotes"><input type="checkbox" id="checkLegalnotes" name="checkLegalnotes"> <label for="checkLegalnotes">' . $this->objTranslate->_('LegalNotes', false) . '</label></div> <input type="hidden" id="idRootLevels" name="idRootLevels" value="' . $intRootLevelId . '"/> <input type="hidden" id="idPage" name="idPage" value="' . $intPageId . '"/> <input type="hidden" id="redirectUrl" name="redirectUrl" value="http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'] . '"/> <input type="hidden" id="subject" name="subject" value="' . $this->objPage->getFieldValue('subject') . '"/> <input type="hidden" id="sender_name" name="sender_name" value="' . Crypt::encrypt($this->core, $this->core->config->crypt->key, $this->objPage->getFieldValue('sender_name')) . '"/> <input type="hidden" id="sender_mail" name="sender_mail" value="' . Crypt::encrypt($this->core, $this->core->config->crypt->key, $this->objPage->getFieldValue('sender_mail')) . '"/> <input type="hidden" id="receiver_name" name="receiver_name" value="' . Crypt::encrypt($this->core, $this->core->config->crypt->key, $this->objPage->getFieldValue('receiver_name')) . '"/> <input type="hidden" id="receiver_mail" name="receiver_mail" value="' . Crypt::encrypt($this->core, $this->core->config->crypt->key, $this->objPage->getFieldValue('receiver_mail')) . '"/> </form>'; } return $strReturn; }