}); }); </script>'; } if ($func == 'add' || $func == 'edit') { if (rex_asd_news_config::isControlPlugin()) { foreach (array('REX_FORM_SAVED', 'REX_FORM_DELETED') as $extension) { rex_register_extension($extension, 'url_generate::generatePathFile'); } } $title = $func == 'add' ? $I18N->msg('add') : $I18N->msg('edit'); $form = new rex_news_form(rex_asd_news_config::getTable(), ucfirst($title), 'id=' . $id . ' AND clang = ' . $clang); $form->divId = 'asd_news-addon-editmode'; $field = $form->addTextField('title'); $field->setLabel($I18N->msg('asd_news_title')); if (OOAddon::isAvailable('metainfo')) { $form->addRawField($form->getMetainfoExtension()); } $form->addHiddenField('clang', (int) $clang); $form->addHiddenField('updatedAt', $now->format('Y-m-d H:i:s')); $form->addHiddenField('updatedBy', $REX['USER']->getValue('user_id')); $form->addParam('clang', (int) $clang); $form->addParam('id', (int) $id); if ($func == 'add') { $id = rex_asd_news::getLastNewsId() + 1; } $form->addHiddenField('id', $id);
/** * @param rex_news_form $form * @param $id * @param $clang */ public static function saveOverLangValues(rex_news_form $form, $id, $clang) { global $REX; $lang = new rex_sql(); $lang->setQuery('SELECT `id` FROM `' . $REX['TABLE_PREFIX'] . 'clang` WHERE `id` != ' . $clang); for ($i = 1; $i <= $lang->getRows(); $i++) { $sql = new rex_sql(); $sql->setTable($form->getTableName()); $sql->setDebug(true); $sql->setWhere('`id` = ' . $id . ' AND `clang` = ' . $lang->getValue('id')); $sql->select('id'); $sql->setTable($form->getTableName()); $sql->setDebug(true); $sql->setWhere('`id` = ' . $id . ' AND `clang` = ' . $lang->getValue('id')); if (OOAddon::isAvailable('metainfo')) { $sql->setValues($form->getMetaValues()); } if ($sql->getRows()) { $sql->setValues(array_intersect_key($form->getValues(), array_flip($form->getOverSavedFields()))); $sql->setValue('clang', $lang->getValue('id')); $sql->setValue('id', $id); $sql->update(); } else { $sql->setValues($form->getValues()); $sql->setValue('clang', $lang->getValue('id')); $sql->setValue('id', $id); $sql->insert(); } $lang->next(); } }