public function Transcoder::getAllTranscoders in Video 7.2
Retuns all transcoders implemented to work with the video module.
File
- includes/
Transcoder.inc, line 286 - Class file used to wrap the transcoder helper functions.
Class
- Transcoder
- @file Class file used to wrap the transcoder helper functions.
Code
public function getAllTranscoders() {
// Lets find our transcoder classes and build our radio options
// We do this by scanning our transcoders folder
$form = array(
'radios' => array(
'' => t('No transcoder'),
),
'help' => array(),
'admin_settings' => array(),
);
// check inside sub modules
$modules = module_list();
$files = array();
foreach ($modules as $module) {
$module_files = array();
$module_path = drupal_get_path('module', $module) . '/transcoders';
foreach (file_scan_directory($module_path, '/.*\\.inc/') as $filekey => $file) {
$file->module = $module;
// Get filename to retrieve transcoder class name
$filename = explode(".", $file->name);
$file->name = $filename[0];
$module_files[] = $file;
}
$files = array_merge($files, $module_files);
}
foreach ($files as $file) {
module_load_include('inc', $file->module, '/transcoders/' . $file->name);
$focus = new $file->name();
$errorMessage = '';
if (!$focus
->isAvailable($errorMessage)) {
$form['help'][] = t('@name is unavailable: !errormessage', array(
'@name' => $focus
->getName(),
'!errormessage' => $errorMessage,
));
}
else {
$form['radios'][$file->name] = check_plain($focus
->getName());
$form['admin_settings'] = $form['admin_settings'] + $focus
->adminSettings();
}
}
return $form;
}