Ignore:
Timestamp:
Nov 23, 2005 9:29:33 PM (19 years ago)
Author:
scdev
Message:

More bugs and shifting things about.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bin/module_maker/module.cli.php

    r21 r22  
    207207$search['admin_upload_insert'] = '/%ADMIN_UPLOAD_INSERT%/';
    208208$replace['admin_upload_insert'] = '';
    209 $search['admin_upload_insert2'] = '/%ADMIN_UPLOAD_INSERT2%/';
    210 $replace['admin_upload_insert2'] = '';
    211209$search['admin_upload_update'] = '/%ADMIN_UPLOAD_UPDATE%/';
    212210$replace['admin_upload_update'] = '';
    213211
    214212if ($upload_file_capability) {
     213    // Form arguments
    215214    $replace['admin_form_tag_init'] = "<form enctype=\"multipart/form-data\" method=\"post\" action=\"<\x3fphp echo \$_SERVER['PHP_SELF']; \x3f>\">\n<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"<##>\" />";
    216 
     215   
     216    // Include statement.
    217217    $replace['admin_upload_include'] = "require_once 'codebase/lib/Upload.inc.php';\n";
    218218
     219    // Config
    219220    $replace['admin_upload_config'] = <<<E_O_F
    220221
     
    230231E_O_F;
    231232
     233    // Main init.
    232234    $replace['admin_upload_init'] = <<<E_O_F
    233235
     
    238240E_O_F;
    239241
     242    // Delete.
    240243    $replace['admin_upload_del'] = <<<E_O_F
    241244
     
    246249E_O_F;
    247250
     251    // Insert 1.
    248252    $replace['admin_upload_insert'] = <<<E_O_F
    249253
    250         // Upload file.
    251         if (!\$new_files = \$upload->process('<##>')) {
    252             // Upload failed. Reload form, displaying errors.
    253             \$frm =& addRecordForm();
    254             \$frm = array_merge(\$frm, getFormData());
    255             \$nav->addPage(_("Add %ITEM_TITLE%"));
    256             \$main_template = '%ADMIN_FORM_TEMPLATE%';
    257             break;
     254        // Upload files with prepended primary key.
     255        \$new_file = \$upload->process('<##>',  \$%PRIMARY_KEY% . '_' . getFormData('<##>'));
     256
     257        // If file upload errors, redirect to edit operation for the inserted record.
     258        if (\$upload->anyErrors() || false === \$new_file) {
     259            App::dieURL(\$_SERVER['PHP_SELF'] . '?op=edit&%PRIMARY_KEY%=' . \$%PRIMARY_KEY%);
    258260        }
    259261E_O_F;
    260262
    261     $replace['admin_upload_insert2'] = <<<E_O_F
    262 
    263         // Record inserted successfuly. Now we know the primary key, prepend to filename.
    264         \$upload->moveFile(\$new_files[0]['name'], \$%PRIMARY_KEY% . '_' . \$new_files[0]['name']);
    265 E_O_F;
    266 
     263    // Update.
    267264    $replace['admin_upload_update'] = <<<E_O_F
    268265
    269         // Upload new file.
     266        // Upload new files.
    270267        if (getFormData('<##>')) {
    271             if (\$upload->process('<##>',  getFormData('%PRIMARY_KEY%') . '_' . getFormData('<##>'))) {
    272                 // Upload success. Delete old file.
    273                 if ('' != \$upload->getFilenameGlob(getFormData('%PRIMARY_KEY%') . '_*')) {
    274                     \$upload->deleteFile(\$upload->getFilenameGlob(getFormData('%PRIMARY_KEY%') . '_*'));
    275                 }
    276             } else {
    277                 // Upload failed. Reload form, displaying errors.
     268            // Get old file names for deletion.
     269            \$old_file = \$upload->getFilenameGlob(getFormData('%PRIMARY_KEY%') . '_*');
     270            // Process new file upload with prepended primary key.
     271            \$new_file = \$upload->process('<##>',  getFormData('%PRIMARY_KEY%') . '_' . getFormData('<##>'));
     272            if (false === \$new_file || \$upload->anyErrors()) {
     273                // Upload failed. Reload form. Display errors.
    278274                \$frm =& editRecordForm(getFormData('%PRIMARY_KEY%'));
    279275                \$frm = array_merge(\$frm, getFormData());
     
    281277                \$main_template = '%ADMIN_FORM_TEMPLATE%';
    282278                break;
    283             }           
     279            } else {
     280                // Upload succeeded. Delete old files.
     281                if ('' != \$old_file && \$old_file != \$new_file[0]['name']) {
     282                    \$upload->deleteFile(\$old_file);
     283                }
     284            }
    284285        }
    285286E_O_F;
    286 } // End if.
     287} // End upload_file_capability.
    287288
    288289
Note: See TracChangeset for help on using the changeset viewer.