Example #1
0
 /**
  * @deprecated
  */
 function generateAll($f = array())
 {
     rex_yform_manager_table_api::generateTablesAndFields(isset($f['delete_fields']) ? $f['delete_fields'] : false);
 }
Example #2
0
            } 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);
Example #4
0
 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()));
Example #6
0
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();