Index: fckeditor.admin.inc =================================================================== --- fckeditor.admin.inc (revision 4462) +++ fckeditor.admin.inc (working copy) @@ -765,12 +765,28 @@ $filebrowsers['webfm'] = t('Web File Manager'); } - $form['fckeditor_upload_settings']['filebrowser'] = array( + $form['fckeditor_upload_settings']['link_filebrowser'] = array( '#type' => 'select', - '#title' => t('File browser type'), - '#default_value' => !empty($profile->settings['filebrowser']) ? $profile->settings['filebrowser'] : 'none', + '#title' => t('File browser type for Links'), + '#default_value' => !empty($profile->settings['link_filebrowser']) ? $profile->settings['link_filebrowser'] : 'none', '#options' => $filebrowsers, - '#description' => t('Select the file browser that you would like to use to upload files, images and flash movies.'), + '#description' => t('Select the file browser that you would like to use to upload files.'), + ); + + $form['fckeditor_upload_settings']['image_filebrowser'] = array( + '#type' => 'select', + '#title' => t('File browser type for Images'), + '#default_value' => !empty($profile->settings['image_filebrowser']) ? $profile->settings['image_filebrowser'] : 'none', + '#options' => $filebrowsers, + '#description' => t('Select the file browser that you would like to use to upload images.'), + ); + + $form['fckeditor_upload_settings']['flash_filebrowser'] = array( + '#type' => 'select', + '#title' => t('File browser type for Flash'), + '#default_value' => !empty($profile->settings['flash_filebrowser']) ? $profile->settings['flash_filebrowser'] : 'none', + '#options' => array('none' => t('None'), 'builtin' => t('Built-in file browser'), 'imce' => t('IMCE'), 'webfm' => t('Web File Manager')), //ImageBrowser doesn't support Flash files, do don't give the option + '#description' => t('Select the file browser that you would like to use to upload flash movies.'), ); $form['fckeditor_upload_settings']['quickupload'] = array( Index: fckeditor.install =================================================================== --- fckeditor.install (revision 4462) +++ fckeditor.install (working copy) @@ -401,7 +401,7 @@ $profiles = fckeditor_profile_load(); foreach ($profiles as $profile) { - if ((isset($profile->settings['filebrowser']) && $profile->settings['filebrowser'] == 'builtin') || (isset($profile->settings['quickupload']) && $profile->settings['quickupload'] == 't')) { + if ((isset($profile->settings['link_filebrowser']) && $profile->settings['link_filebrowser'] == 'builtin') || (isset($profile->settings['image_filebrowser']) && $profile->settings['image_filebrowser'] == 'builtin') || (isset($profile->settings['flash_filebrowser']) && $profile->settings['flash_filebrowser'] == 'builtin') || (isset($profile->settings['quickupload']) && $profile->settings['quickupload'] == 't')) { return $profile->name; } } Index: fckeditor.module =================================================================== --- fckeditor.module (revision 4462) +++ fckeditor.module (working copy) @@ -660,21 +660,33 @@ // add code for filebrowser for users that have access if (user_access('allow fckeditor file uploads')==1) { - $filebrowser = !empty($conf['filebrowser']) ? $conf['filebrowser'] : 'none'; - if ($filebrowser == 'imce' && !module_exists('imce')) { - $filebrowser = 'none'; - } - if ($filebrowser == 'ib' && !module_exists('imagebrowser')) { - $filebrowser = 'none'; - } - if ($filebrowser == 'webfm' && !module_exists('webfm_popup')) { - $filebrowser = 'none'; + $filebrowser = array(); + $filebrowser['link'] = !empty($conf['link_filebrowser']) ? $conf['link_filebrowser'] : 'none'; + $filebrowser['image'] = !empty($conf['image_filebrowser']) ? $conf['image_filebrowser'] : 'none'; + $filebrowser['flash'] = !empty($conf['flash_filebrowser']) ? $conf['flash_filebrowser'] : 'none'; + + $builtin = false; + + foreach ($filebrowser as $type => $setting) { + if ($setting == 'imce' && !module_exists('imce')) { + $filebrowser[$type] = 'none'; + } + if ($setting == 'ib' && !module_exists('imagebrowser')) { + $filebrowser[$type] = 'none'; + } + if ($setting == 'webfm' && !module_exists('webfm_popup')) { + $filebrowser[$type] = 'none'; + } + if ($setting == 'builtin') { + $builtin = true; + } } + $quickupload = (!empty($conf['quickupload']) && $conf['quickupload'] == 't'); // load variables used by both quick upload and filebrowser // and assure that the $_SESSION variables are loaded - if ($quickupload || $filebrowser == 'builtin') { + if ($quickupload || $builtin) { if (file_exists($editor_local_path ."/editor/filemanager/connectors/php/connector.php")) { $connector_path = $editor_path ."/editor/filemanager/connectors/php/connector.php" ; } @@ -718,54 +730,44 @@ $js .= $js_id .".Config['ImageUpload'] = false;\n"; $js .= $js_id .".Config['FlashUpload'] = false;\n"; } - - switch ($filebrowser) { - case 'imce': - $js .= $js_id .".Config['LinkBrowser']= true;\n"; - $js .= $js_id .".Config['ImageBrowser']= true;\n"; - $js .= $js_id .".Config['FlashBrowser']= true;\n"; - $js .= $js_id .".Config['LinkBrowserURL']= '". $host ."index.php?q=imce&app=FCKEditor|url@txtLnkUrl,txtUrl';\n"; - $js .= $js_id .".Config['ImageBrowserURL']= '". $host ."index.php?q=imce&app=FCKEditor|url@txtUrl|width@txtWidth|height@txtHeight';\n"; - $js .= $js_id .".Config['FlashBrowserURL']= '". $host ."index.php?q=imce&app=FCKEditor|url@txtUrl';\n"; - break; - - case 'webfm': - $js .= $js_id .".Config['LinkBrowser']= true;\n"; - $js .= $js_id .".Config['ImageBrowser']= true;\n"; - $js .= $js_id .".Config['FlashBrowser']= true;\n"; - $js .= $js_id .".Config['ImageDlgHideLink']= true;\n"; - $js .= $js_id .".Config['LinkBrowserURL']= '". $host ."index.php?q=webfm_popup&url=txtUrl';\n"; - $js .= $js_id .".Config['ImageBrowserURL']= '". $host ."index.php?q=webfm_popup&url=txtUrl';\n"; - $js .= $js_id .".Config['FlashBrowserURL']= '". $host ."index.php?q=webfm_popup&url=txtUrl';\n"; - break; - - case 'builtin': - $js .= $js_id .".Config['LinkBrowser'] = true;\n"; - $js .= $js_id .".Config['ImageBrowser'] = true;\n"; - $js .= $js_id .".Config['FlashBrowser'] = true;\n"; - $js .= $js_id .".Config['LinkBrowserURL'] = '". $editor_path ."/editor/filemanager/browser/default/browser.html?Connector=". $connector_path ."&ServerPath=". $files_path ."';\n"; - $js .= $js_id .".Config['ImageBrowserURL'] = '". $editor_path ."/editor/filemanager/browser/default/browser.html?Type=Image&Connector=". $connector_path ."&ServerPath=". $files_path ."';\n"; - $js .= $js_id .".Config['FlashBrowserURL'] = '". $editor_path ."/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=". $connector_path ."&ServerPath=". $files_path ."';\n"; - break; - - case 'ib': - $js .= $js_id .".Config['ImageBrowser']= true;\n"; - $js .= $js_id .".Config['LinkBrowser']= true;\n"; - $js .= $js_id .".Config['FlashBrowser']= false;\n"; - $js .= $js_id .".Config['ImageBrowserURL']= '". $host ."index.php?q=imagebrowser/view/browser&app=FCKEditor';\n"; - $js .= $js_id .".Config['LinkBrowserURL']= '". $host ."index.php?q=imagebrowser/view/browser&app=FCKEditor';\n"; - $js .= $js_id .".Config['ImageBrowserWindowWidth']= '680';"; - $js .= $js_id .".Config['ImageBrowserWindowHeight'] = '439';"; - $js .= $js_id .".Config['LinkBrowserWindowWidth']= '680';"; - $js .= $js_id .".Config['LinkBrowserWindowHeight'] = '439';"; - break; - - default: - case 'none': - $js .= $js_id .".Config['LinkBrowser'] = false;\n"; - $js .= $js_id .".Config['ImageBrowser'] = false;\n"; - $js .= $js_id .".Config['FlashBrowser'] = false;\n"; - break; + + if (isset($filebrowser['link']) && $filebrowser['link'] != 'none') { + $js .= $js_id .".Config['LinkBrowser']= true;\n"; + switch ($filebrowser['link']) { + case 'imce' : $js .= $js_id .".Config['LinkBrowserURL']= '". $host ."index.php?q=imce&app=FCKEditor|url@txtLnkUrl,txtUrl';\n"; + case 'webfm' : $js .= $js_id .".Config['LinkBrowserURL']= '". $host ."index.php?q=webfm_popup&url=txtUrl';\n"; break; + case 'ib' : $js .= $js_id .".Config['LinkBrowserURL']= '". $host ."index.php?q=webfm_popup&url=txtUrl';\n"; break; + default : $js .= $js_id .".Config['LinkBrowserURL'] = '". $editor_path ."/editor/filemanager/browser/default/browser.html?Connector=". $connector_path ."&ServerPath=". $files_path ."';\n"; break; + } + } + else { + $js .= $js_id .".Config['LinkBrowser']= false;\n"; + } + + if (isset($filebrowser['image']) && $filebrowser['image'] != 'none') { + $js .= $js_id .".Config['ImageBrowser']= true;\n"; + switch ($filebrowser['image']) { + case 'imce' : $js .= $js_id .".Config['ImageBrowserURL']= '". $host ."index.php?q=imce&app=FCKEditor|url@txtUrl|width@txtWidth|height@txtHeight';\n"; break; + case 'webfm' : $js .= $js_id .".Config['ImageBrowserURL']= '". $host ."index.php?q=webfm_popup&url=txtUrl';\n"; break; + case 'ib' : $js .= $js_id .".Config['ImageBrowserURL']= '". $host ."index.php?q=imagebrowser/view/browser&app=FCKEditor';\n"; break; + default : $js .= $js_id .".Config['ImageBrowserURL'] = '". $editor_path ."/editor/filemanager/browser/default/browser.html?Type=Image&Connector=". $connector_path ."&ServerPath=". $files_path ."';\n"; break; + } + } + else { + $js .= $js_id .".Config['ImageBrowser']= false;\n"; + } + + //ImageBrowser doesn't support Flash, so don't allow it to be set + if (isset($filebrowser['flash']) && $filebrowser['flash'] != 'none' && $filebrowser['flash'] != 'ib') { + $js .= $js_id .".Config['FlashBrowser']= true;\n"; + switch ($filebrowser['flash']) { + case 'imce' : $js .= $js_id .".Config['FlashBrowserURL']= '". $host ."index.php?q=imce&app=FCKEditor|url@txtUrl';\n"; break; + case 'webfm' : $js .= $js_id .".Config['FlashBrowserURL']= '". $host ."index.php?q=webfm_popup&url=txtUrl';\n"; break; + default : $js .= $js_id .".Config['FlashBrowserURL'] = '". $editor_path ."/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=". $connector_path ."&ServerPath=". $files_path ."';\n"; break; + } + } + else { + $js .= $js_id .".Config['FlashBrowser']= false;\n"; } } else {