Пример #1
0
       $entry_type_info: TYPE_INFO
  */
$folder_query = $App->login->folder_query();
/** @var $folder FOLDER */
$folder = $folder_query->object_at_id(read_var('id'));
if (!isset($folder)) {
    $Env->redirect_local('select_folder.php?page_name=' . urlencode($Env->url(Url_part_name | Url_part_ext)));
} else {
    if ($App->login->is_allowed(Privilege_set_entry, Privilege_create, $folder)) {
        $class_name = $App->final_class_name('ENTRY_FORM', 'webcore/forms/object_in_folder_form.php', $entry_type_info->id);
        /** @var $form ENTRY_FORM */
        $form = new $class_name($folder);
        $entry = $folder->new_object($entry_type_info->id);
        include_once 'webcore/util/options.php';
        $opt_stay_on_page = new STORED_OPTION($App, "stay_on_{$entry_type_info->id}_page");
        $opt_stay_on_page->add_argument('id', $folder->id);
        $form->process_new($entry);
        if ($form->committed()) {
            if ($form->is_field('quick_save') && $form->value_for('quick_save')) {
                $Env->redirect_local($entry_type_info->edit_page . '?id=' . $entry->id);
            } else {
                if ($opt_stay_on_page->value()) {
                    $url = new URL($folder->home_page());
                    $url->replace_name_and_extension($Env->url(Url_part_file_name));
                    $url->add_argument('last_id', $entry->id);
                    $Env->redirect_local($url->as_text());
                } else {
                    $Env->redirect_local($entry->home_page());
                }
            }
        }
Пример #2
0
       $entry_type_info: TYPE_INFO
  */
$id = read_var('id');
$folder_query = $App->login->folder_query();
$folder = $folder_query->folder_for_entry_at_id($id);
if (isset($folder)) {
    $entry_query = $folder->entry_query();
    $entry = $entry_query->object_at_id($id);
}
if (isset($entry) && $App->login->is_allowed(Privilege_set_entry, Privilege_create, $folder)) {
    $class_name = $App->final_class_name('ENTRY_FORM', 'webcore/forms/object_in_folder_form.php', $entry_type_info->id);
    /** @var ENTRY_FORM $form */
    $form = new $class_name($folder);
    include_once 'webcore/util/options.php';
    $opt_stay_on_page = new STORED_OPTION($App, "stay_on_{$entry_type_info->id}_page");
    $opt_stay_on_page->add_argument('id', $entry->id);
    $form->process_clone($entry);
    if ($form->committed()) {
        if ($form->is_field('quick_save') && $form->value_for('quick_save')) {
            $Env->redirect_local($entry_type_info->edit_page . '?id=' . $entry->id);
        } else {
            if ($opt_stay_on_page->value()) {
                $url = new URL($entry->home_page());
                $url->replace_name_and_extension($Env->url(Url_part_file_name));
                $url->replace_argument('last_id', $entry->id);
                $Env->redirect_local($url->as_text());
            } else {
                $Env->redirect_local($entry->home_page());
            }
        }
    }