예제 #1
0
파일: news.php 프로젝트: Sysix/asd_news

        });

    });

    </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();
     }
 }