Example #1
0
 /**
  * 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">&nbsp;</div>
           <div class="center">' . $this->objTranslate->_('Send') . '</div>
           <div class="right">&nbsp;</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;
 }