Example #1
0
         $_SESSION['selected_fields'] = $_REQUEST['selected_fields'];
         unset($_REQUEST['redirect_url']);
         $suffix = ".m_update";
     } else {
         $suffix = ".manage";
     }
 }
 //
 // Add edp files to the product
 //
 if ($mode == 'update_file') {
     if (!empty($_REQUEST['product_file'])) {
         if (empty($_REQUEST['product_file']['folder_id'])) {
             $_REQUEST['product_file']['folder_id'] = null;
         }
         $file_id = fn_update_product_file($_REQUEST['product_file'], $_REQUEST['file_id'], DESCR_SL);
     }
     $suffix = ".update?product_id={$_REQUEST['product_id']}";
 }
 //
 // Add edp folder to the product
 //
 if ($mode == 'update_folder') {
     if (!empty($_REQUEST['product_file_folder'])) {
         $folder_id = fn_update_product_file_folder($_REQUEST['product_file_folder'], $_REQUEST['folder_id'], DESCR_SL);
     }
     $suffix = ".update?product_id={$_REQUEST['product_id']}";
 }
 if ($mode == 'export_range') {
     if (!empty($_REQUEST['product_ids'])) {
         if (empty($_SESSION['export_ranges'])) {
function fn_exim_import_file($product_id, $filename, $path, $delete_files = 'N')
{
    $path = fn_get_files_dir_path() . fn_normalize_path($path);
    // Clean up the directory above if flag is set
    if ($delete_files == 'Y') {
        fn_delete_product_file_folders(0, $product_id);
        fn_delete_product_files(0, $product_id);
    }
    // Check if we have several files
    $files = fn_explode(',', $filename);
    $folders = array();
    // Create folders
    foreach ($files as $file) {
        if (strpos($file, '/') !== false) {
            list($folder) = fn_explode('/', $file);
            if (!isset($folders[$folder])) {
                $folder_data = array('product_id' => $product_id, 'folder_name' => $folder);
                $folders[$folder] = fn_update_product_file_folder($folder_data, 0);
            }
        }
    }
    // Copy files
    foreach ($files as $file) {
        if (strpos($file, '/') !== false) {
            list($folder_name, $file) = fn_explode('/', $file);
        } else {
            $folder_name = '';
        }
        if (strpos($file, '#') !== false) {
            list($f, $pr) = fn_explode('#', $file);
        } else {
            $f = $file;
            $pr = '';
        }
        $file = fn_find_file($path, $f);
        if (!empty($file)) {
            $uploads = array('file_base_file' => array($file), 'type_base_file' => array('server'));
            if (!empty($pr)) {
                $preview = fn_find_file($path, $pr);
                if (!empty($preview)) {
                    $uploads['file_file_preview'] = array($preview);
                    $uploads['type_file_preview'] = array('server');
                }
            } else {
                $uploads['file_file_preview'] = "";
                $uploads['type_file_preview'] = "";
            }
            $_REQUEST = fn_array_merge($_REQUEST, $uploads);
            // not good to add data to $_REQUEST
            $file_data = array('product_id' => $product_id);
            if (!empty($folder_name)) {
                $file_data['folder_id'] = $folders[$folder_name];
            }
            if (fn_update_product_file($file_data, 0) == false) {
                return false;
            }
        }
    }
    return true;
}