Index: /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/asset.module
===================================================================
--- /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/asset.module	(revision 1173)
+++ /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/asset.module	(working copy)
@@ -67,6 +67,14 @@
       'access' => user_access('administer assets'),
     );
     $items[] = array(
+      'path' => 'admin/settings/asset/formatters',
+      'title' => t('Assets formatters type'),
+      'callback' => 'drupal_get_form',
+      'callback arguments' => 'asset_admin_formatters_settings',
+      'access' => user_access('administer assets'),
+      'type' => MENU_LOCAL_TASK,
+    );
+    $items[] = array(
       'path' => 'admin/settings/asset/file',
       'title' => t('Files'),
       'callback' => 'drupal_get_form',
@@ -72,6 +80,7 @@
       'callback' => 'drupal_get_form',
       'callback arguments' => array('asset_admin_file_settings'),
       'access' => user_access('administer assets'),
+      'type' => MENU_LOCAL_TASK,
     );
   }
   else{
@@ -208,6 +217,29 @@
 }
 
 /**
+ * Menu Callback for admin/settings/asset/formatters
+ */
+function asset_admin_formatters_settings() {
+  $form = array();
+  $options = array();
+  
+  $info_array = module_invoke_all('asset_formatter', 'info');
+  foreach ($info_array as $format => $info) {
+    $options += array($format => $info['name']);
+  }
+  
+ $form['asset_formatters_enabled'] = array(
+  '#type' => 'checkboxes',
+  '#title' => t('Default options'),
+  '#default_value' => variable_get('asset_formatters_enabled', array_keys($options)),
+  '#options' => $options,
+  '#description' => t('Active formatters'),
+);
+  
+  return system_settings_form($form);
+}
+
+/**
  * #after_build handler for asset_file_directory_path form element. Checks the
  * existence of the directory specified in $form_element.
  *
@@ -964,8 +996,10 @@
     case 'load':
       $formats = array();
       if ($asset->type=='file') {
-        $formats[] = 'link';
-        if (strpos($asset->file['filemime'], 'image/') === 0) {
+        if (in_array('link', variable_get('asset_formatters_enabled', ''), true)) {
+          $formats[] = 'link';
+        }
+        if ((in_array('image', variable_get('asset_formatters_enabled', ''), true)) && (strpos($asset->file['filemime'], 'image/') === 0)) {
           $formats[] = 'image';
         }
       }
Index: /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/contrib/asset_bonus/asset_bonus.module
===================================================================
--- /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/contrib/asset_bonus/asset_bonus.module	(revision 1158)
+++ /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/contrib/asset_bonus/asset_bonus.module	(working copy)
@@ -182,10 +182,10 @@
       return $formats;
     
     case 'load':
-      if ($asset->type=='file' && $asset->file['filemime'] == 'audio/mpeg') {
+      if ((in_array('mp3player', variable_get('asset_formatters_enabled', ''), true)) && $asset->type=='file' && $asset->file['filemime'] == 'audio/mpeg') {
         return array('mp3player');
       }
-      elseif ($asset->type=='file' && $asset->file['filemime'] == 'application/x-shockwave-flash') {
+      elseif ((in_array('swfobject', variable_get('asset_formatters_enabled', ''), true)) && $asset->type=='file' && $asset->file['filemime'] == 'application/x-shockwave-flash') {
         return array('swfobject');
       }
           
Index: /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/contrib/asset_emfield/asset_emfield.module
===================================================================
--- /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/contrib/asset_emfield/asset_emfield.module	(revision 1158)
+++ /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/contrib/asset_emfield/asset_emfield.module	(working copy)
@@ -102,7 +102,7 @@
         $formats = array();
         $cck_formats = module_invoke($module, 'field_formatter_info');
         foreach ($cck_formats as $key => $cck_format) {
-          if ($key != 'default') {
+          if ($key != 'default' && (in_array($key, variable_get('asset_formatters_enabled', ''), true))) {
             $formats[] = $key;
           }
         }
Index: /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/modules/asset_imagecache.inc
===================================================================
--- /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/modules/asset_imagecache.inc	(revision 1158)
+++ /home/nquienot/workspace/Rue89/branches/maquette_v2/sites/all/modules/asset/modules/asset_imagecache.inc	(working copy)
@@ -35,7 +35,9 @@
       if ($asset->type=='file' && strpos($asset->file['filemime'], 'image/') === 0) {
         $presets = _imagecache_get_presets();
         foreach ($presets as $id => $name) {
-          $formats[] = $name;
+          if (in_array($name, variable_get('asset_formatters_enabled', ''), true)) {
+            $formats[] = $name;
+          }
         }
       }
       return $formats;
