/** * @deprecated */ function generateAll($f = array()) { rex_yform_manager_table_api::generateTablesAndFields(isset($f['delete_fields']) ? $f['delete_fields'] : false); }
} elseif ($func == 'add') { $table_name = $yform->objparams['value_pool']['sql']['table_name']; $table = rex_yform_manager_table::get($table_name); if ($table) { $t = new rex_yform_manager(); $t->setTable($table); $t->generateAll(); echo rex_view::success(rex_i18n::msg('yform_manager_table_added')); } } } } } if ($func == 'delete' && rex::getUser()->isAdmin()) { $table_name = rex_request('table_name', 'string'); echo rex_yform_manager_table_api::removeTable($table_name); $func = ''; echo rex_view::success(rex_i18n::msg('yform_manager_table_deleted')); } if ($show_list && rex::getUser()->isAdmin()) { // formatting func fuer status col function rex_yform_status_col($params) { $list = $params['list']; return $list->getValue('status') == 1 ? '<span class="rex-online"><i class="rex-icon rex-icon-online"></i> ' . rex_i18n::msg('yform_tbl_active') . '</span>' : '<span class="rex-offline"><i class="rex-icon rex-icon-offline"></i> ' . rex_i18n::msg('yform_tbl_inactive') . '</span>'; } function rex_yform_hidden_col($params) { $list = $params['list']; return $list->getValue('hidden') == 1 ? '<span class="text-muted">' . rex_i18n::msg('yform_hidden') . '</span>' : '<span>' . rex_i18n::msg('yform_visible') . '</span>'; }
* @author jan.kristinus[at]redaxo[dot]org Jan Kristinus * @author <a href="http://www.yakamara.de">www.yakamara.de</a> */ echo rex_view::title(rex_i18n::msg('yform')); $page = rex_request('page', 'string', ''); $yform = new rex_yform(); $yform->setHiddenField('page', $page); $yform->setObjectparams('real_field_names', true); $yform->setObjectparams('hide_top_warning_messages', true); $yform->setObjectparams('form_showformafterupdate', 1); $yform->setValueField('upload', array('name' => 'importfile', 'label' => rex_i18n::msg('yform_manager_tableset_import_jsonimportfile'), 'max_size' => '1000', 'types' => '.json', 'required' => 1, 'messages' => array(rex_i18n::msg('yform_manager_table_importset_warning_min'), rex_i18n::msg('yform_manager_table_importset_warning_max'), rex_i18n::msg('yform_manager_table_importset_warning_type'), rex_i18n::msg('yform_manager_table_importset_warning_selectfile')), 'modus' => 'no_save', 'no_db' => 'no_db')); $form = $yform->getForm(); if ($yform->objparams['actions_executed']) { try { $content = file_get_contents(rex_path::addonData('yform', 'uploads/' . $yform->objparams['value_pool']['email']['importfile'])); rex_yform_manager_table_api::importTablesets($content); echo rex_view::success(rex_i18n::msg('yform_manager_tableset_import_success')); } catch (Exception $e) { echo rex_view::warning(rex_i18n::msg('yform_manager_tableset_import_failed', '', $e->getMessage())); } rex_file::delete(rex_path::addonData('yform', 'uploads/' . $yform->objparams['value_pool']['email']['importfile'])); } else { if ($yform->objparams['send']) { echo rex_view::warning(rex_i18n::msg('yform_manager_tableset_import_warning_selectfile')); } } $fragment = new rex_fragment(); $fragment->setVar('class', 'edit', false); $fragment->setVar('title', rex_i18n::msg('yform_manager_tableset_import')); $fragment->setVar('body', $form, false); // $fragment->setVar('buttons', $buttons, false);
public static function importTablesets($tableset_content) { $tableset_content = json_decode($tableset_content, true); foreach ($tableset_content as $table) { if (!isset($table["table"]) || !isset($table["fields"])) { throw new Exception('json format wrong'); } $settable = $table["table"]; $fields = $table["fields"]; rex_yform_manager_table_api::setTable($settable, $fields); } rex_yform_manager_table_api::generateTablesAndFields(); return true; }
if ('[translate:' . $table_name . ']' != rex_i18n::msg($table_name)) { $table_name = rex_i18n::msg($table_name); } $yform_tables[$g_table->getTableName()] = $table_name . ' [' . $g_table->getTableName() . ']'; } $yform = new rex_yform(); $yform->setHiddenField('page', $page); $yform->setObjectparams('real_field_names', true); $yform->setObjectparams('hide_top_warning_messages', true); $yform->setValueField('select', array('table_names', rex_i18n::msg('yform_manager_tables'), $yform_tables, 'multiple' => 1)); $yform->setValidateField('empty', array('table_names', '')); $form = $yform->getForm(); if ($yform->objparams['actions_executed']) { try { $table_names = rex_request("table_names"); $return = rex_yform_manager_table_api::exportTablesets($table_names); $file_name = 'yform_manager_tableset_export_tables_' . date("YmdHis") . '.json'; ob_end_clean(); header('Content-Type: application/json'); header('Charset: UTF-8'); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private", false); header('Content-Disposition: attachment; filename="' . basename($file_name) . '"'); header('Content-Length: ' . strlen($return)); header('Pragma: public'); header('Expires: 0'); header('Content-Transfer-Encoding: binary'); echo $return; exit; } catch (Exception $e) { echo rex_view::warning($this->msg('table_export_failed', '', $e->getMessage()));
foreach ($available_tables as $a_table) { if (!in_array($a_table, $yform_tables)) { $missing_tables[$a_table] = $a_table; } } $yform = new rex_yform(); $yform->setObjectparams('form_showformafterupdate', 1); $yform->setHiddenField('page', $page); $yform->setValueField('select', array('table_name', rex_i18n::msg('yform_table'), $missing_tables)); $yform->setValueField('checkbox', array('convert_id', rex_i18n::msg('yform_manager_migrate_table_id_convert'))); $form = $yform->getForm(); if ($yform->objparams['actions_executed']) { $table_name = $yform->objparams['value_pool']['sql']['table_name']; $convert_id = $yform->objparams['value_pool']['sql']['convert_id']; try { rex_yform_manager_table_api::migrateTable($table_name, $convert_id); // with convert id / auto_increment finder echo rex_view::success(rex_i18n::msg('yform_manager_table_migrated_success')); unset($missing_tables[$table_name]); $yform = new rex_yform(); $yform->setObjectparams('form_showformafterupdate', 1); $yform->setHiddenField('page', $page); $yform->setValueField('select', array('table_name', rex_i18n::msg('yform_table'), $missing_tables)); $yform->setValueField('checkbox', array('convert_id', rex_i18n::msg('yform_manager_migrate_table_id_convert'))); $form = $yform->getForm(); } catch (Exception $e) { echo rex_view::warning(rex_i18n::msg('yform_manager_table_migrated_failed', $table_name, $e->getMessage())); } } echo rex_view::info(rex_i18n::msg('yform_manager_table_migrate_info')); $fragment = new rex_fragment();