View source
<?php
define('GETID3_RECOMMEND_VERSION', '1.8.2');
function getid3_help($section, $arg) {
switch ($section) {
case 'admin/settings/getid3':
$help = '<p>' . t("To use this module you'll need to <a href='!download-link'>download the library</a> from the <a href='!info-link'>getID3 website</a> and extract the contents into the module's getid3 directory. Currently, the recommended version of the getID3 library is %recommended-version.", array(
'!download-link' => url('http://prdownloads.sourceforge.net/getid3'),
'!info-link' => url('http://getid3.org/'),
'%recommended-version' => GETID3_RECOMMEND_VERSION,
)) . '</p>';
return $help;
}
}
function getid3_load($display_warning = TRUE) {
$getid3_path = getid3_get_path();
if (file_exists($getid3_path . '/getid3.php') && file_exists($getid3_path . '/write.php')) {
if (!defined('GETID3_HELPERAPPSDIR')) {
define('GETID3_HELPERAPPSDIR', realpath($getid3_path . '/../helperapps') . '/');
}
include_once $getid3_path . '/getid3.php';
$getid3 = new getID3();
require_once $getid3_path . '/write.php';
return method_exists($getid3, 'version') || defined('GETID3_VERSION');
}
elseif ($display_warning) {
drupal_set_message(t("The getID3() module cannot find the getID3 library used to read and write ID3 tags. The site administrator will need to verify that it is installed and then update the <a href='!admin-settings-audio-getid3'>settings</a>.", array(
'!admin-settings-audio-getid3' => url('admin/settings/getid3'),
)), 'error', FALSE);
}
return FALSE;
}
function &getid3_instance() {
$id3 = NULL;
if (getid3_load()) {
$id3 = new getID3();
$id3->option_md5_data = FALSE;
$id3->option_md5_data_source = FALSE;
$id3->encoding = 'UTF-8';
}
return $id3;
}
function &getid3_analyze($path) {
$info = array();
if ($id3 =& getid3_instance()) {
$info = $id3
->analyze($path);
unset($id3);
}
return $info;
}
function getid3_menu() {
$items['admin/settings/getid3'] = array(
'title' => 'getID3()',
'description' => 'Configure settings associated with getID3().',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'getid3_admin_settings_form',
NULL,
),
'access arguments' => array(
'administer site configuration',
),
'file' => 'getid3.admin.inc',
);
return $items;
}
function getid3_get_path() {
return variable_get('getid3_path', 'sites/all/libraries/getid3/getid3');
}
function getid3_get_version() {
if (getid3_load(FALSE)) {
$getid3 = new getID3();
if (method_exists($getid3, 'version')) {
return $getid3
->version();
}
if (defined('GETID3_VERSION')) {
return GETID3_VERSION;
}
}
return NULL;
}