mimedetect.admin.inc in MimeDetect 6
File
mimedetect.admin.inc
View source
<?php
function mimedetect_settings() {
if (extension_loaded('fileinfo')) {
$form['file'] = array(
'#value' => t("The MimeDetect module is using PHP's fileinfo extension to detect MIME types. There are no settings for the extension."),
);
}
else {
$form['file'] = array(
'#type' => 'fieldset',
'#title' => t("UNIX 'file' command"),
);
$form['file']['mimedetect_enable_file_binary'] = array(
'#type' => 'checkbox',
'#title' => t("Use UNIX 'file' command to detect mime type?"),
'#description' => t("The UNIX 'file' command will be used for mime detection only if the PHP Fileinfo extension is not installed or fails to load."),
'#default_value' => variable_get('mimedetect_enable_file_binary', FALSE),
);
$form['file']['mimedetect_file_binary'] = array(
'#type' => 'textfield',
'#title' => t("Path to the 'file' command"),
'#description' => t("The path to the executable 'file' binary."),
'#default_value' => variable_get('mimedetect_file_binary', '/usr/bin/file'),
);
$form = system_settings_form($form);
}
return $form;
}
function mimedetect_settings_validate($form_id, &$form_state) {
if ($form_state['values']['mimedetect_enable_file_binary']) {
if (empty($form_state['values']['mimedetect_file_binary'])) {
form_set_error('mimedetect_file_binary', t("You must specify the path to the 'file' binary if it is enabled."));
}
if (!is_executable($form_state['values']['mimedetect_file_binary'])) {
if (!file_exists($form_state['values']['mimedetect_file_binary'])) {
form_set_error('mimedetect_file_binary', t("The path %path does not exist or is not readable by your webserver.", array(
'%path' => $form_state['values']['mimedetect_file_binary'],
)));
}
else {
form_set_error('mimedetect_file_binary', t("%path is not executable by your webserver.", array(
'%path' => $form_state['values']['mimedetect_file_binary'],
)));
}
}
}
}