function getInputfield($intView, $arrInputfield, $intEntryId = null) { global $objDatabase, $_LANGID, $objInit, $_ARRAYLANG; $intId = intval($arrInputfield['id']); switch ($intView) { default: case 1: if (isset($intEntryId) && $intEntryId != 0) { $objInputfieldValue = $objDatabase->Execute("\n SELECT\n `value`\n FROM\n " . DBPREFIX . "module_" . $this->moduleTablePrefix . "_rel_entry_inputfields\n WHERE\n field_id=" . $intId . "\n AND\n entry_id=" . $intEntryId . "\n LIMIT 1\n "); $strValue = intval($objInputfieldValue->fields['value']); } else { $strValue = null; } if (empty($strValue)) { if (substr($arrInputfield['default_value'][0], 0, 2) == '[[') { $objPlaceholder = new \Cx\Modules\MediaDir\Controller\MediaDirectoryPlaceholder($this->moduleName); $strValue = $objPlaceholder->getPlaceholder($arrInputfield['default_value'][0]); } else { $strValue = empty($arrInputfield['default_value'][$_LANGID]) ? $arrInputfield['default_value'][0] : $arrInputfield['default_value'][$_LANGID]; } } if (!empty($arrInputfield['info'][0])) { $strInfoValue = empty($arrInputfield['info'][$_LANGID]) ? 'title="' . $arrInputfield['info'][0] . '"' : 'title="' . $arrInputfield['info'][$_LANGID] . '"'; $strInfoClass = 'mediadirInputfieldHint'; } else { $strInfoValue = null; $strInfoClass = ''; } if ($objInit->mode == 'backend') { $strInputfield = '<select name="' . $this->moduleNameLC . 'Inputfield[' . $intId . ']" id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '" class="' . $this->moduleNameLC . 'InputfieldDropdown" style="width: 302px">'; } else { $strInputfield = '<select name="' . $this->moduleNameLC . 'Inputfield[' . $intId . ']" id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '" class="' . $this->moduleNameLC . 'InputfieldDropdown ' . $strInfoClass . '" ' . $strInfoValue . '>'; } $strInputfieldOptions = \Cx\Core\Country\Controller\Country::getMenuoptions($strValue); $strInputfield .= $strInputfieldOptions . '</select>'; return $strInputfield; break; case 2: //search View $country = \Cx\Core\Country\Controller\Country::getNameArray(true, $_LANGID); foreach ($country as $id => $name) { $strInputfieldOptions .= '<option value="' . $id . '">' . $name . '</option>'; } $strInputfield = '<select name="' . $intId . '" class="' . $this->moduleName . 'InputfieldSearch">'; $strInputfield .= '<option value="">' . $_ARRAYLANG['TXT_MEDIADIR_PLEASE_CHOOSE'] . '</option>'; $strInputfield .= $strInputfieldOptions . '</select>'; return $strInputfield; break; } }
function getInputfield($intView, $arrInputfield, $intEntryId = null) { global $objDatabase, $_LANGID, $objInit, $_ARRAYLANG; switch ($intView) { default: case 1: //modify (add/edit) View $intId = intval($arrInputfield['id']); $arrValue = null; if (!empty($intEntryId)) { $objInputfieldValue = $objDatabase->Execute("\n SELECT\n `value`,\n `lang_id`\n FROM\n " . DBPREFIX . "module_" . $this->moduleTablePrefix . "_rel_entry_inputfields\n WHERE\n field_id=" . $intId . "\n AND\n entry_id=" . $intEntryId . "\n "); if ($objInputfieldValue !== false) { while (!$objInputfieldValue->EOF) { $arrValue[intval($objInputfieldValue->fields['lang_id'])] = contrexx_raw2xhtml($objInputfieldValue->fields['value']); $objInputfieldValue->MoveNext(); } $arrValue[0] = isset($arrValue[$_LANGID]) ? $arrValue[$_LANGID] : null; } } if (empty($arrValue)) { foreach ($arrInputfield['default_value'] as $intLangKey => $strDefaultValue) { $strDefaultValue = empty($strDefaultValue) ? $arrInputfield['default_value'][0] : $strDefaultValue; if (substr($strDefaultValue, 0, 2) == '[[') { $objPlaceholder = new \Cx\Modules\MediaDir\Controller\MediaDirectoryPlaceholder($this->moduleName); $arrValue[$intLangKey] = $objPlaceholder->getPlaceholder($strDefaultValue); } else { $arrValue[$intLangKey] = $strDefaultValue; } } } $arrInfoValue = null; $strInfoClass = ''; if (!empty($arrInputfield['info'][0])) { $arrInfoValue[0] = 'title="' . $arrInputfield['info'][0] . '"'; $strInfoClass = 'mediadirInputfieldHint'; foreach ($arrInputfield['info'] as $intLangKey => $strInfoValue) { $arrInfoValue[$intLangKey] = empty($strInfoValue) ? 'title="' . $arrInputfield['info'][0] . '"' : 'title="' . $strInfoValue . '"'; } } $countFrontendLang = count($this->arrFrontendLanguages); if ($objInit->mode == 'backend') { $strInputfield = '<div id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_Minimized" style="display: block;"><textarea data-id="' . $intId . '" class="' . $this->moduleNameLC . 'InputfieldDefault" name="' . $this->moduleNameLC . 'Inputfield[' . $intId . '][0]" id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_0" style="width: 300px; height: 60px;" onfocus="this.select();" />' . $arrValue[0] . '</textarea> <a href="javascript:ExpandMinimize(\'' . $intId . '\');">' . $_ARRAYLANG['TXT_MEDIADIR_MORE'] . ' »</a></div>'; $strInputfield .= '<div id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_Expanded" style="display: none;">'; foreach ($this->arrFrontendLanguages as $key => $arrLang) { $intLangId = $arrLang['id']; $minimize = ""; if ($key + 1 == $countFrontendLang) { $minimize = " <a href=\"javascript:ExpandMinimize('" . $intId . "');\">« " . $_ARRAYLANG['TXT_MEDIADIR_MINIMIZE'] . "</a>"; } $value = isset($arrValue[$intLangId]) ? $arrValue[$intLangId] : ''; $strInputfield .= '<textarea data-id="' . $intId . '" name="' . $this->moduleNameLC . 'Inputfield[' . $intId . '][' . $intLangId . ']" id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_' . $intLangId . '" style="height: 60px; width: 279px; margin-bottom: 2px; padding-left: 21px; background: #ffffff url(\'' . \Env::get('cx')->getCodeBaseOffsetPath() . \Env::get('cx')->getCoreFolderName() . '/Country/View/Media/Flag/flag_' . $arrLang['lang'] . '.gif\') no-repeat 3px 3px;" onfocus="this.select();" />' . $value . '</textarea> ' . $arrLang['name'] . '<a href="javascript:ExpandMinimize(\'' . $intId . '\');"> ' . $minimize . '</a><br />'; } $strInputfield .= '</div>'; } else { if ($this->arrSettings['settingsFrontendUseMultilang'] == 1) { $strInputfield = '<div id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_Minimized" style="display: block; float: left;" class="' . $this->moduleNameLC . 'GroupMultilang"><textarea data-id="' . $intId . '" class="' . $this->moduleNameLC . 'InputfieldDefault" name="' . $this->moduleNameLC . 'Inputfield[' . $intId . '][0]" id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_0" class="' . $this->moduleNameLC . 'InputfieldTextarea ' . $strInfoClass . '" ' . $arrInfoValue[0] . ' onfocus="this.select();" />' . $arrValue[0] . '</textarea> <a href="javascript:ExpandMinimize(\'' . $intId . '\');">' . $_ARRAYLANG['TXT_MEDIADIR_MORE'] . ' »</a></div>'; $strInputfield .= '<div id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_Expanded" style="display: none; float: left;" class="' . $this->moduleNameLC . 'GroupMultilang">'; foreach ($this->arrFrontendLanguages as $key => $arrLang) { $intLangId = $arrLang['id']; $minimize = ""; if ($key + 1 == $countFrontendLang) { $minimize = " <a href=\"javascript:ExpandMinimize('" . $intId . "');\">« " . $_ARRAYLANG['TXT_MEDIADIR_MINIMIZE'] . "</a>"; } $value = isset($arrValue[$intLangId]) ? $arrValue[$intLangId] : ''; $strInputfield .= '<textarea data-id="' . $intId . '" name="' . $this->moduleNameLC . 'Inputfield[' . $intId . '][' . $intLangId . ']" id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_' . $intLangId . '" class="' . $this->moduleNameLC . 'InputfieldTextarea ' . $strInfoClass . '" ' . $arrInfoValue[$intLangId] . ' onfocus="this.select();" />' . $value . '</textarea> ' . $arrLang['name'] . '<a href="javascript:ExpandMinimize(\'' . $intId . '\');"> ' . $minimize . '</a><br />'; } $strInputfield .= '</div>'; } else { $strInputfield = '<textarea name="' . $this->moduleNameLC . 'Inputfield[' . $intId . '][0]" id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_0" class="' . $this->moduleNameLC . 'InputfieldTextarea ' . $strInfoClass . '" ' . $arrInfoValue[0] . ' onfocus="this.select();" />' . $arrValue[0] . '</textarea>'; } } return $strInputfield; break; case 2: //search View break; } return null; }
function getInputfield($intView, $arrInputfield, $intEntryId = null) { global $objDatabase, $_LANGID, $objInit, $_ARRAYLANG; $intId = intval($arrInputfield['id']); switch ($intView) { default: case 1: //modify (add/edit) View if (isset($intEntryId) && $intEntryId != 0) { $objInputfieldValue = $objDatabase->Execute("\n SELECT\n `value`,\n `lang_id`\n FROM\n " . DBPREFIX . "module_" . $this->moduleTablePrefix . "_rel_entry_inputfields\n WHERE\n field_id=" . $intId . "\n AND\n entry_id=" . $intEntryId . "\n "); if ($objInputfieldValue !== false) { while (!$objInputfieldValue->EOF) { $arrValue[intval($objInputfieldValue->fields['lang_id'])] = $objInputfieldValue->fields['value']; $objInputfieldValue->MoveNext(); } // TODO: What if the current language value is missing? // The empty string is an inconvenient default! // $arrValue[0] = $arrValue[$_LANGID]; $arrValue[0] = isset($arrValue[$_LANGID]) ? $arrValue[$_LANGID] : ''; } } else { $arrValue = null; } if (empty($arrValue)) { // TODO: Bogus line // $strDefaultValue = empty($strDefaultValue) ? $arrInputfield['default_value'][0] : $strDefaultValue; foreach ($arrInputfield['default_value'] as $intLangKey => $strDefaultValue) { if (substr($strDefaultValue, 0, 2) == '[[') { $objPlaceholder = new \Cx\Modules\MediaDir\Controller\MediaDirectoryPlaceholder($this->moduleName); $arrValue[$intLangKey] = $objPlaceholder->getPlaceholder($strDefaultValue); } else { $arrValue[$intLangKey] = $strDefaultValue; } } } /*$arrInfoValue = array(); if (!empty($arrInputfield['info'][0])){ $arrInfoValue[0] = 'title="'.$arrInputfield['info'][0].'"'; foreach ($arrInputfield['info'] as $intLangKey => $strInfoValue) { $strInfoClass = 'mediadirInputfieldHint'; $arrInfoValue[$intLangKey] = empty($strInfoValue) ? 'title="'.$arrInputfield['info'][0].'"' : 'title="'.$strInfoValue.'"'; } } else { $arrInfoValue = null; $strInfoClass = ''; }*/ if ($objInit->mode == 'backend') { //$strInputfield = '<span id="'.$this->moduleName.'Inputfield_'.$intId.'_Minimized" style="display: block;"><textarea name="'.$this->moduleName.'Inputfield['.$intId.'][0]" id="'.$this->moduleName.'Inputfield_'.$intId.'_0" style="width: 300px; height: 60px;" onfocus="this.select();" />'.$arrValue[0].'</textarea> <a href="javascript:ExpandMinimizeMultiple(\''.$intId.'\');">'.$_ARRAYLANG['TXT_MEDIADIR_MORE'].' »</a></span>'; $strInputfield = '<span id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_ELEMENT_Minimized" style="display: block;">' . new \Cx\Core\Wysiwyg\Wysiwyg($this->moduleNameLC . 'Inputfield[' . $intId . '][0]', contrexx_raw2xhtml($arrValue[0])) . ' <a href="javascript:javascript:ExpandMinimizeMultiple(\'' . $intId . '\', \'ELEMENT\');">' . $_ARRAYLANG['TXT_MEDIADIR_MORE'] . ' »</a></span>'; $strInputfield .= '<span id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_ELEMENT_Expanded" style="display: none;">'; foreach ($this->arrFrontendLanguages as $key => $arrLang) { $intLangId = $arrLang['id']; $strInputfield .= new \Cx\Core\Wysiwyg\Wysiwyg($this->moduleNameLC . 'Inputfield[' . $intId . '][' . $intLangId . ']', contrexx_raw2xhtml($arrValue[$intLangId])) . ' ' . $arrLang['name'] . '<br />'; } $strInputfield .= " <a href=\"javascript:javascript:ExpandMinimizeMultiple('" . $intId . "', 'ELEMENT');\">« " . $_ARRAYLANG['TXT_MEDIADIR_MINIMIZE'] . "</a>"; $strInputfield .= '</span>'; } else { //$strInputfield = '<textarea name="'.$this->moduleName.'Inputfield['.$intId.'][0]" id="'.$this->moduleName.'Inputfield_'.$intId.'_0" class="'.$this->moduleName.'InputfieldTextarea" onfocus="this.select();" />'.$arrValue[0].'</textarea>'; //$strInputfield = '<span id="'.$this->moduleName.'Inputfield_'.$intId.'_Minimized" style="display: block; float: left;" class="'.$this->moduleName.'GroupMultilang"><textarea name="'.$this->moduleName.'Inputfield['.$intId.'][0]" id="'.$this->moduleName.'Inputfield_'.$intId.'_0" class="'.$this->moduleName.'InputfieldTextarea '.$strInfoClass.'" '.$arrInfoValue[0].' onfocus="this.select();" />'.$arrValue[0].'</textarea> <a href="javascript:ExpandMinimize(\''.$intId.'\');">'.$_ARRAYLANG['TXT_MEDIADIR_MORE'].' »</a></span>'; $strInputfield = '<span class="editorFix"><span id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_Minimized" style="display: block;" class="' . $this->moduleNameLC . 'GroupMultilang">' . new \Cx\Core\Wysiwyg\Wysiwyg($this->moduleNameLC . 'Inputfield[' . $intId . '][0]', contrexx_raw2xhtml($arrValue[0])) . ' <a href="javascript:javascript:ExpandMinimizeMultiple(\'' . $intId . '\', \'ELEMENT\');">' . $_ARRAYLANG['TXT_MEDIADIR_MORE'] . ' »</a></span>'; $strInputfield .= '<span id="' . $this->moduleNameLC . 'Inputfield_' . $intId . '_Expanded" style="display: none;" class="' . $this->moduleNameLC . 'GroupMultilang">'; foreach ($this->arrFrontendLanguages as $key => $arrLang) { $intLangId = $arrLang['id']; if ($key + 1 == count($this->arrFrontendLanguages)) { $minimize = " <a href=\"javascript:javascript:ExpandMinimizeMultiple('" . $intId . "', 'ELEMENT');\">« " . $_ARRAYLANG['TXT_MEDIADIR_MINIMIZE'] . "</a>"; } else { $minimize = ""; } //$strInputfield .= '<textarea name="'.$this->moduleName.'Inputfield['.$intId.']['.$intLangId.']" id="'.$this->moduleName.'Inputfield_'.$intId.'_'.$intLangId.'" class="'.$this->moduleName.'InputfieldTextarea '.$strInfoClass.'" '.$arrInfoValue[$intLangId].' onfocus="this.select();" />'.$arrValue[$intLangId].'</textarea> '.$arrLang['name'].'<a href="javascript:ExpandMinimize(\''.$intId.'\');"> '.$minimize.'</a><br />'; $strInputfield .= new \Cx\Core\Wysiwyg\Wysiwyg($this->moduleNameLC . 'Inputfield[' . $intId . '][' . $intLangId . ']', contrexx_raw2xhtml($arrValue[$intLangId])) . ' ' . $arrLang['name'] . '<a href="javascript:javascript:ExpandMinimizeMultiple(\'' . $intId . '\', \'ELEMENT\');"> ' . $minimize . '</a><br />'; } $strInputfield .= '</span></span>'; } return $strInputfield; case 2: //search View $strValue = isset($_GET[$intId]) ? $_GET[$intId] : ''; $strInputfield = '<input type="text" name="' . $intId . '" " class="' . $this->moduleNameLC . 'InputfieldSearch" value="' . $strValue . '" />'; return $strInputfield; } }