function modifyEntry() { global $_ARRAYLANG, $_CORELANG; $this->_objTpl->setTemplate($this->pageContent, true, true); parent::getSettings(); $bolFileSizesStatus = true; $strOkMessage = ''; $strErrMessage = ''; $strOnSubmit = ''; //count forms $objForms = new MediaDirectoryForm(null, $this->moduleName); $arrActiveForms = array(); foreach ($objForms->arrForms as $intFormId => $arrForm) { if ($arrForm['formActive'] == 1) { $arrActiveForms[] = $intFormId; } } //check id and form if (!empty($_REQUEST['eid']) || !empty($_REQUEST['entryId'])) { if (!empty($_REQUEST['eid'])) { $intEntryId = intval($_REQUEST['eid']); } if (!empty($_REQUEST['entryId'])) { $intEntryId = intval($_REQUEST['entryId']); } $intFormId = intval(substr($_GET['cmd'], 4)); } else { $intEntryId = null; $intFormId = intval(substr($_GET['cmd'], 3)); } $intCountForms = count($arrActiveForms); if ($intCountForms > 0) { //check form if (intval($intEntryId) == 0 && empty($_REQUEST['selectedFormId']) && empty($_POST['formId']) && $intCountForms > 1 && $intFormId == 0) { $intFormId = null; //get form selector $objForms = new MediaDirectoryForm(null, $this->moduleName); $objForms->listForms($this->_objTpl, 3, $intFormId); //parse blocks $this->_objTpl->hideBlock($this->moduleNameLC . 'Inputfields'); } else { //save entry data if (isset($_POST['submitEntryModfyForm'])) { $objEntry = new MediaDirectoryEntry($this->moduleName); $strStatus = $objEntry->saveEntry($_POST, intval($_POST['entryId'])); if (!empty($_POST['entryId'])) { $objEntry->getEntries(intval($_POST['entryId'])); if ($strStatus == true) { if (intval($_POST['readyToConfirm']) == 1) { if ($objEntry->arrEntries[intval($_POST['entryId'])]['entryConfirmed'] == 1) { $bolReadyToConfirmMessage = false; $bolSaveOnlyMessage = false; } else { $bolReadyToConfirmMessage = true; $bolSaveOnlyMessage = false; } } else { $bolReadyToConfirmMessage = false; $bolSaveOnlyMessage = true; } $strOkMessage = $_ARRAYLANG['TXT_MEDIADIR_ENTRY'] . " " . $_ARRAYLANG['TXT_MEDIADIR_SUCCESSFULLY_EDITED']; } else { $strErrMessage = $_ARRAYLANG['TXT_MEDIADIR_ENTRY'] . " " . $_ARRAYLANG['TXT_MEDIADIR_CORRUPT_EDITED']; } } else { if ($strStatus == true) { if (intval($_POST['readyToConfirm']) == 1) { $bolReadyToConfirmMessage = true; $bolSaveOnlyMessage = false; } else { $bolReadyToConfirmMessage = false; $bolSaveOnlyMessage = true; } $strOkMessage = $_ARRAYLANG['TXT_MEDIADIR_ENTRY'] . " " . $_ARRAYLANG['TXT_MEDIADIR_SUCCESSFULLY_ADDED']; } else { $strErrMessage = $_ARRAYLANG['TXT_MEDIADIR_ENTRY'] . " " . $_ARRAYLANG['TXT_MEDIADIR_CORRUPT_ADDED']; } } if (!empty($_POST['entryId'])) { if ($strStatus == true) { $strOkMessage = $_ARRAYLANG['TXT_MEDIADIR_ENTRY'] . " " . $_ARRAYLANG['TXT_MEDIADIR_SUCCESSFULLY_EDITED']; } else { $strErrMessage = $_ARRAYLANG['TXT_MEDIADIR_ENTRY'] . " " . $_ARRAYLANG['TXT_MEDIADIR_CORRUPT_EDITED']; } } else { if ($strStatus == true) { $strOkMessage = $_ARRAYLANG['TXT_MEDIADIR_ENTRY'] . " " . $_ARRAYLANG['TXT_MEDIADIR_SUCCESSFULLY_ADDED']; } else { $strErrMessage = $_ARRAYLANG['TXT_MEDIADIR_ENTRY'] . " " . $_ARRAYLANG['TXT_MEDIADIR_CORRUPT_ADDED']; } } } else { //get form id if (intval($intEntryId) != 0) { //get entry data $objEntry = new MediaDirectoryEntry($this->moduleName); if ($this->arrSettings['settingsReadyToConfirm'] == 1) { $objEntry->getEntries($intEntryId, null, null, null, null, null, true, null, 'n', null, null, null, true); } else { $objEntry->getEntries($intEntryId); } $intFormId = $objEntry->arrEntries[$intEntryId]['entryFormId']; } else { //set form id if ($intCountForms == 1) { $intFormId = intval($arrActiveForms[0]); } else { if ($intFormId == 0) { $intFormId = intval($_REQUEST['selectedFormId']); } } } //get inputfield object $objInputfields = new MediaDirectoryInputfield($intFormId, false, null, $this->moduleName); //list inputfields $objInputfields->listInputfields($this->_objTpl, 2, $intEntryId); //get translation status date if ($this->arrSettings['settingsTranslationStatus'] == 1) { foreach ($this->arrFrontendLanguages as $key => $arrLang) { if ($arrLang['id'] == 2) { $strLangStatus = 'checked="checked" disabled="disabled"'; } elseif ($intEntryId != 0) { if (in_array($arrLang['id'], $objEntry->arrEntries[$intEntryId]['entryTranslationStatus'])) { $strLangStatus = 'checked="checked"'; } else { $strLangStatus = ''; } } else { $strLangStatus = ''; } $this->_objTpl->setVariable(array('TXT_' . $this->moduleLangVar . '_TRANSLATION_LANG_NAME' => htmlspecialchars($arrLang['name'], ENT_QUOTES, CONTREXX_CHARSET), $this->moduleLangVar . '_TRANSLATION_LANG_ID' => intval($arrLang['id']), $this->moduleLangVar . '_TRANSLATION_LANG_STATUS' => $strLangStatus)); $this->_objTpl->parse($this->moduleNameLC . 'TranslationLangList'); } } else { $this->_objTpl->hideBlock($this->moduleNameLC . 'TranslationStatus'); } //get ready to confirm if ($this->arrSettings['settingsReadyToConfirm'] == 1 && empty($objEntry->arrEntries[$intEntryId]['entryReadyToConfirm']) && empty($objEntry->arrEntries[$intEntryId]['entryConfirmed'])) { $objForm = new MediaDirectoryForm($intFormId, $this->moduleName); if ($objForm->arrForms[$intFormId]['formUseReadyToConfirm'] == 1) { $strReadyToConfirm = '<p><input class="' . $this->moduleNameLC . 'InputfieldCheckbox" name="readyToConfirm" id="' . $this->moduleNameLC . 'Inputfield_ReadyToConfirm" value="1" type="checkbox"> ' . $_ARRAYLANG['TXT_MEDIADIR_READY_TO_CONFIRM'] . '</p>'; } else { $strReadyToConfirm = '<input type="hidden" name="readyToConfirm" value="1" />'; } } else { $strReadyToConfirm = '<input type="hidden" name="readyToConfirm" value="1" />'; } $this->_objTpl->setVariable(array($this->moduleLangVar . '_READY_TO_CONFIRM' => $strReadyToConfirm)); //generate javascript parent::setJavascript($this->getSelectorJavascript()); parent::setJavascript($objInputfields->getInputfieldJavascript()); //parent::setJavascript("\$J().ready(function(){ \$J('.mediadirInputfieldHint').inputHintBox({className:'mediadirInputfieldInfobox',incrementLeft:3,incrementTop:-6}); });"); //get form onsubmit $strOnSubmit = parent::getFormOnSubmit($objInputfields->arrJavascriptFormOnSubmit); //parse blocks $this->_objTpl->hideBlock($this->moduleNameLC . 'Forms'); } } if (!empty($_SESSION[$this->moduleNameLC]) && empty($_SESSION[$this->moduleNameLC]['bolFileSizesStatus'])) { $strFileMessage = '<div class="' . $this->moduleNameLC . 'FileErrorMessage">' . $_ARRAYLANG['TXT_MEDIADIR_IMAGE_ERROR_MESSAGE'] . '</div>'; unset($_SESSION[$this->moduleNameLC]['bolFileSizesStatus']); } else { $strFileMessage = ''; } //parse global variables $this->_objTpl->setVariable(array($this->moduleLangVar . '_ENTRY_ID' => $intEntryId, $this->moduleLangVar . '_FORM_ID' => $intFormId, 'TXT_' . $this->moduleLangVar . '_SUBMIT' => $_ARRAYLANG['TXT_' . $this->moduleLangVar . '_SUBMIT'], $this->moduleLangVar . '_FORM_ONSUBMIT' => $strOnSubmit, 'TXT_' . $this->moduleLangVar . '_PLEASE_CHECK_INPUT' => $_ARRAYLANG['TXT_MEDIADIR_PLEASE_CHECK_INPUT'], 'TXT_' . $this->moduleLangVar . '_OK_MESSAGE' => $strOkMessage . $strFileMessage, 'TXT_' . $this->moduleLangVar . '_ERROR_MESSAGE' => $strErrMessage . $strFileMessage, $this->moduleLangVar . '_MAX_CATEGORY_SELECT' => $strErrMessage, 'TXT_' . $this->moduleLangVar . '_TRANSLATION_STATUS' => $_ARRAYLANG['TXT_MEDIADIR_TRANSLATION_STATUS'])); if (!empty($strOkMessage)) { $this->_objTpl->touchBlock($this->moduleNameLC . 'EntryOkMessage'); $this->_objTpl->hideBlock($this->moduleNameLC . 'EntryErrMessage'); $this->_objTpl->hideBlock($this->moduleNameLC . 'EntryModifyForm'); if ($bolReadyToConfirmMessage) { $this->_objTpl->touchBlock($this->moduleNameLC . 'EntryReadyToConfirmMessage'); $this->_objTpl->hideBlock($this->moduleNameLC . 'EntryOkMessage'); } if ($bolSaveOnlyMessage) { $this->_objTpl->touchBlock($this->moduleNameLC . 'EntrySaveOnlyMessage'); $this->_objTpl->hideBlock($this->moduleNameLC . 'EntryOkMessage'); } } else { if (!empty($strErrMessage)) { $this->_objTpl->hideBlock($this->moduleNameLC . 'EntryOkMessage'); $this->_objTpl->touchBlock($this->moduleNameLC . 'EntryErrMessage'); $this->_objTpl->hideBlock($this->moduleNameLC . 'EntryModifyForm'); } else { $this->_objTpl->hideBlock($this->moduleNameLC . 'EntryOkMessage'); $this->_objTpl->hideBlock($this->moduleNameLC . 'EntryErrMessage'); $this->_objTpl->parse($this->moduleNameLC . 'EntryModifyForm'); $this->_objTpl->hideBlock($this->moduleNameLC . 'EntryReadyToConfirmMessage'); $this->_objTpl->hideBlock($this->moduleNameLC . 'EntrySaveOnlyMessage'); } } } else { header("Location: index.php?section=" . $_GET['section']); exit; } }
function settings() { global $_ARRAYLANG, $_CORELANG; \Permission::checkAccess(MediaDirectoryAccessIDs::Settings, 'static'); $this->_objTpl->loadTemplateFile('module_' . $this->moduleNameLC . '_settings.html', true, true); $this->pageTitle = $_CORELANG['TXT_SETTINGS']; $objSettings = new MediaDirectorySettings($this->moduleName); $tpl = isset($_GET['tpl']) ? $_GET['tpl'] : ''; //save settings global if (isset($_POST['submitSettingsForm'])) { switch ($tpl) { case 'modify_form': if (intval($_POST['formId']) != 0) { $objInputfields = new MediaDirectoryInputfield(intval($_POST['formId']), false, null, $this->moduleName); $strStatus = $objInputfields->saveInputfields($_POST); } $objForms = new MediaDirectoryForm(null, $this->moduleName); $strStatus = $objForms->saveForm($_POST, intval($_POST['formId'])); break; case 'forms': $objForms = new MediaDirectoryForm(null, $this->moduleName); $strStatus = $objForms->saveOrder($_POST); break; case 'mails': $strStatus = $objSettings->settings_save_mail($_POST); break; case 'masks': $strStatus = $objSettings->settings_save_mask($_POST); break; case 'map': $strStatus = $objSettings->settings_save_map($_POST); break; default: $strStatus = $objSettings->saveSettings($_POST); } if ($strStatus == true) { $this->strOkMessage = $_CORELANG['TXT_SETTINGS_UPDATED']; } else { $this->strErrMessage = $_CORELANG['TXT_DATABASE_QUERY_ERROR']; } } $this->_objTpl->setGlobalVariable(array('TXT_' . $this->moduleLangVar . '_ENTRIES' => $_ARRAYLANG['TXT_MEDIADIR_ENTRIES'], 'TXT_' . $this->moduleLangVar . '_LEVELS_AND_CATEGORIES' => $_ARRAYLANG['TXT_MEDIADIR_LEVELS_AND_CATEGORIES'], 'TXT_' . $this->moduleLangVar . '_SUBMIT' => $_ARRAYLANG['TXT_' . $this->moduleLangVar . '_SUBMIT'], 'TXT_' . $this->moduleLangVar . '_DELETE' => $_CORELANG['TXT_DELETE'], 'TXT_' . $this->moduleLangVar . '_ACTIVATE' => $_ARRAYLANG['TXT_MEDIADIR_ACTIVATE'], 'TXT_' . $this->moduleLangVar . '_DEACTIVATE' => $_ARRAYLANG['TXT_MEDIADIR_DEAVTIVATE'], 'TXT_' . $this->moduleLangVar . '_FORMS' => $_ARRAYLANG['TXT_MEDIADIR_FORMS'], 'TXT_' . $this->moduleLangVar . '_MAIL_TEMPLATES' => $_ARRAYLANG['TXT_MEDIADIR_MAIL_TEMPLATES'], 'TXT_' . $this->moduleLangVar . '_PICS_AND_FILES' => $_ARRAYLANG['TXT_MEDIADIR_PICS_AND_FILES'], 'TXT_' . $this->moduleLangVar . '_GOOGLE' => $_ARRAYLANG['TXT_MEDIADIR_GOOGLE'], 'TXT_' . $this->moduleLangVar . '_HITS_AND_LATEST' => $_ARRAYLANG['TXT_MEDIADIR_HITS_AND_LATEST'], 'TXT_' . $this->moduleLangVar . '_COMMENTS_AND_VOTING' => $_ARRAYLANG['TXT_MEDIADIR_COMMENTS_AND_VOTING'], 'TXT_' . $this->moduleLangVar . '_CLASSIFICATION' => $_ARRAYLANG['TXT_MEDIADIR_CLASSIFICATION'], 'TXT_' . $this->moduleLangVar . '_EXPORT_MASKS' => $_ARRAYLANG['TXT_MEDIADIR_EXPORT_MASKS'])); switch ($tpl) { case 'delete_mask': case 'masks': $objSettings->settings_masks($this->_objTpl); break; case 'modify_mask': $objSettings->settings_modify_mask($this->_objTpl); break; case 'delete_form': case 'forms': $objSettings->settings_forms($this->_objTpl); break; case 'modify_form': $objSettings->settings_modify_form($this->_objTpl); break; case 'delete_template': case 'mails': $objSettings->settings_mails($this->_objTpl); break; case 'modify_mail': $objSettings->settings_modify_mail($this->_objTpl); break; case 'files': $objSettings->settings_files($this->_objTpl); break; case 'map': $objSettings->settings_map($this->_objTpl); break; case 'votes': $objSettings->settings_votes($this->_objTpl); break; case 'levels_categories': $objSettings->settings_levels_categories($this->_objTpl); break; case 'classification': $objSettings->settings_classification($this->_objTpl); break; case 'entries': default: $objSettings->settings_entries($this->_objTpl); } $this->_objTpl->parse('settings_content'); }
function settings_forms($objTpl) { global $_ARRAYLANG, $_CORELANG, $objDatabase, $_LANGID; switch ($_GET['tpl']) { case 'delete_form': if (!empty($_GET['id'])) { $objForms = new MediaDirectoryForm(null, $this->moduleName); $strStatus = $objForms->deleteForm(intval($_GET['id'])); if ($strStatus == true) { $this->strOkMessage = $_ARRAYLANG['TXT_MEDIADIR_FORM_TEMPLATE'] . " " . $_ARRAYLANG['TXT_MEDIADIR_SUCCESSFULLY_DELETED']; } else { $this->strErrMessage = $_ARRAYLANG['TXT_MEDIADIR_FORM_TEMPLATE'] . " " . $_ARRAYLANG['TXT_MEDIADIR_CORRUPT_DELETED']; } } break; } $objTpl->addBlockfile($this->moduleLangVar . '_SETTINGS_CONTENT', 'settings_content', 'module_' . $this->moduleNameLC . '_settings_forms.html'); $objTpl->setGlobalVariable(array('TXT_' . $this->moduleLangVar . '_NEW_FORM_TEMPLATE' => $_ARRAYLANG['TXT_MEDIADIR_NEW_FORM_TEMPLATE'], 'TXT_' . $this->moduleLangVar . '_STATUS' => $_CORELANG['TXT_STATUS'], 'TXT_' . $this->moduleLangVar . '_TITLE' => $_ARRAYLANG['TXT_MEDIADIR_TITLE'], 'TXT_' . $this->moduleLangVar . '_DESCRIPTION' => $_CORELANG['TXT_DESCRIPTION'], 'TXT_' . $this->moduleLangVar . '_ACTION' => $_CORELANG['TXT_HISTORY_ACTION'], 'TXT_' . $this->moduleLangVar . '_ORDER' => $_CORELANG['TXT_CORE_SORTING_ORDER'], 'TXT_' . $this->moduleLangVar . '_CONFIRM_DELETE_DATA' => $_ARRAYLANG['TXT_MEDIADIR_CONFIRM_DELETE_DATA'], 'TXT_' . $this->moduleLangVar . '_FORM_DEL_INFO' => $_ARRAYLANG['TXT_MEDIADIR_FORM_DEL_INFO'], 'TXT_' . $this->moduleLangVar . '_ACTION_IS_IRREVERSIBLE' => $_ARRAYLANG['TXT_MEDIADIR_ACTION_IS_IRREVERSIBLE'], 'TXT_EDIT' => $_ARRAYLANG['TXT_MEDIADIR_EDIT'], 'TXT_DELETE' => $_ARRAYLANG['TXT_MEDIADIR_DELETE'], 'TXT_' . $this->moduleLangVar . '_SUBMIT' => $_ARRAYLANG['TXT_' . $this->moduleLangVar . '_SUBMIT'])); $objForms = new MediaDirectoryForm(null, $this->moduleName); $objForms->listForms($objTpl, 1, null); $objTpl->parse('settings_content'); }
function showExport($step, $objTpl) { global $_ARRAYLANG, $_CORELANG, $_LANGID, $objDatabase; $objTpl->addBlockfile($this->moduleLangVar . '_INTERFACES_CONTENT', 'interfaces_content', 'module_' . $this->moduleNameLC . '_interfaces_export.html'); if ($this->arrSettings['settingsShowLevels'] == 1) { $strFormOnSubmit = "selectAll(document.interfacesExportForm.elements['selectedCategories']); "; $strFormOnSubmit .= "selectAll(document.interfacesExportForm.elements['selectedLevels']); "; $objLevels = new MediaDirectoryLevel(null, null, true, $this->moduleName); $arrLevels = $objLevels->listLevels($objTpl, 4); $objTpl->parse($this->moduleNameLC . 'InterfacesExportSelectLevels'); } else { $strFormOnSubmit = "selectAll(document.interfacesExportForm.elements['selectedCategories']); "; $objTpl->hideBlock($this->moduleNameLC . 'InterfacesExportSelectLevels'); } $objCategories = new MediaDirectoryCategory(null, null, true, $this->moduleName); $arrCategories = $objCategories->listCategories($objTpl, 4); $objForms = new MediaDirectoryForm(null, $this->moduleName); $strForms = $objForms->listForms($objTpl, 4); $strMasks = '<option value="0">' . $_ARRAYLANG['TXT_MEDIADIR_NO_EXPORT_MASK'] . '</option>'; $objResultMasks = $objDatabase->Execute("SELECT\n id,title,form_id \n FROM\n " . DBPREFIX . "module_" . $this->moduleTablePrefix . "_masks \n WHERE active = '1' \n ORDER BY title ASC \n "); if ($objResultMasks !== false) { while (!$objResultMasks->EOF) { $objForm = new MediaDirectoryForm($objResultMasks->fields['form_id'], $this->moduleName); $strFormName = $objForm->arrForms[$objResultMasks->fields['form_id']]['formName'][0]; $strMasks .= '<option value="' . $objResultMasks->fields['id'] . '">' . $objResultMasks->fields['title'] . ' (' . $strFormName . ')</option>'; $objResultMasks->MoveNext(); } } $objTpl->setVariable(array($this->moduleLangVar . '_INTERFACES_EXPORT_DESELECTED_CATEGORIES' => $arrCategories['not_selected'], $this->moduleLangVar . '_INTERFACES_EXPORT_DESELECTED_LEVELS' => $arrLevels['not_selected'], $this->moduleLangVar . '_INTERFACES_EXPORT_FORMS' => $strForms, $this->moduleLangVar . '_INTERFACES_EXPORT_MASKS' => $strMasks, $this->moduleLangVar . '_FORM_ONSUBMIT' => $strFormOnSubmit, 'TXT_' . $this->moduleLangVar . '_EXPORT_FORMAT' => $_ARRAYLANG['TXT_MEDIADIR_EXPORT_FORMAT'], 'TXT_' . $this->moduleLangVar . '_FORM_TEMPLATE' => $_ARRAYLANG['TXT_MEDIADIR_FORM_TEMPLATE'], 'TXT_' . $this->moduleLangVar . '_EXPORT_MASK' => $_ARRAYLANG['TXT_MEDIADIR_EXPORT_MASK'], 'TXT_' . $this->moduleLangVar . '_CATEGORIES' => $_ARRAYLANG['TXT_MEDIADIR_CATEGORIES'], 'TXT_' . $this->moduleLangVar . '_LEVELS' => $_ARRAYLANG['TXT_MEDIADIR_LEVELS'])); $objTpl->parse('interfaces_content'); }
/** * This function is called after the activation of new language * update existing forms, inputfields and entries values for activated new language * * @return null */ public function updateFormsAndEntries() { global $objDatabase; foreach ($this->arrFrontendLanguages as $lang) { $activeLang[] = $lang['id']; } $objForms = new MediaDirectoryForm(null, $this->moduleName); foreach ($objForms->arrForms as $objForm) { $formId = $objForm['formId']; $formName = $objForm['formName']; $formDescription = $objForm['formDescription']; //update form values $objForms->updateFormLocale($formName, $formDescription, $formId); $objInputField = new MediaDirectoryInputfield($formId, false, null, $this->moduleName); $inputFields = $objInputField->getInputfields(); //Before updating the form InputFields names, remove the corresponding InputFields names from db. $objDatabase->Execute('DELETE FROM ' . DBPREFIX . 'module_' . $this->moduleTablePrefix . '_inputfield_names WHERE form_id="' . $formId . '" AND lang_id IN("' . implode('","', $activeLang) . '")'); foreach ($inputFields as $inputField) { // skip '1' => categories, '2' => levels if (in_array($inputField['id'], array(1, 2))) { continue; } $intFieldId = intval($inputField['id']); $arrFieldNames = $inputField['name']; $arrFieldDefaultValues = $inputField['default_value']; $arrFieldInfos = $inputField['info']; //update form inputfields $objInputField->updateInputFields($intFieldId, $arrFieldNames, $arrFieldDefaultValues, $arrFieldInfos); } } $objEntries = new MediaDirectoryEntry($this->moduleName); //update entries $objEntries->updateEntries(); }