#1399 fixed
This commit is contained in:
parent
fe297e01c2
commit
ab756824ae
1 changed files with 27 additions and 18 deletions
|
@ -97,55 +97,64 @@ if(is_null($r)){
|
||||||
}
|
}
|
||||||
$parid = $r;
|
$parid = $r;
|
||||||
|
|
||||||
|
function addMdata($key, $val){
|
||||||
|
global $mdata, $titleHaveSet;
|
||||||
|
if(!is_null($val)){
|
||||||
|
$mdata[$key] = addslashes($val);
|
||||||
|
if($key == 'dc:title') $titleHaveSet = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$stdin = fopen('php://stdin', 'r');
|
$stdin = fopen('php://stdin', 'r');
|
||||||
while($filename = fgets($stdin, 2048)){
|
while($filename = fgets($stdin, 2048)){
|
||||||
$filename = rtrim($filename);
|
$filename = rtrim($filename);
|
||||||
echo "$filename: ";
|
echo "$filename: ";
|
||||||
set_time_limit(30);
|
set_time_limit(30);
|
||||||
$ia = GetAllFileInfo("$filename", 'mp3');
|
$infoFromFile = GetAllFileInfo("$filename", 'mp3');
|
||||||
if(PEAR::isError($ia)){ _err($ia, $filename); continue; }
|
if(PEAR::isError($infoFromFile)){ _err($infoFromFile, $filename); continue; }
|
||||||
if(!$ia['fileformat']){ echo "???\n"; continue; }
|
if(!$infoFromFile['fileformat']){ echo "???\n"; continue; }
|
||||||
if(!$ia['bitrate']){ echo "not audio?\n"; continue; }
|
if(!$infoFromFile['bitrate']){ echo "not audio?\n"; continue; }
|
||||||
|
|
||||||
$mdata = array();
|
$mdata = array();
|
||||||
|
$titleHaveSet = FALSE;
|
||||||
foreach($flds as $k1=>$fn1){
|
foreach($flds as $k1=>$fn1){
|
||||||
if(is_null($fn1)) continue;
|
if(is_null($fn1)) continue;
|
||||||
list($fn, $v) = array($fn1, $ia[$k1]);
|
list($fn, $v) = array($fn1, $infoFromFile[$k1]);
|
||||||
if(is_array($fn1)){
|
if(is_array($fn1)){
|
||||||
$k0 = $k1;
|
$k0 = $k1;
|
||||||
if($k0=='tags') $k1=$ia['tags'][0];
|
if($k0=='tags') $k1=$infoFromFile['tags'][0];
|
||||||
list($fn, $v) = array($fn1, $ia[$k1]);
|
list($fn, $v) = array($fn1, $infoFromFile[$k1]);
|
||||||
foreach($fn1 as $k2=>$fn2){
|
foreach($fn1 as $k2=>$fn2){
|
||||||
if(is_null($fn2)) continue;
|
if(is_null($fn2)) continue;
|
||||||
if(!isset($ia[$k1][$k2])) continue;
|
if(!isset($infoFromFile[$k1][$k2])) continue;
|
||||||
switch($k0){
|
switch($k0){
|
||||||
case"tags":
|
case"tags":
|
||||||
list($fn, $v) = array($fn2, $ia[$k1][$k2]['data']);
|
list($fn, $v) = array($fn2, $infoFromFile[$k1][$k2]['data']);
|
||||||
$enc = $ia[$k1][$k2]['encoding'];
|
$enc = $infoFromFile[$k1][$k2]['encoding'];
|
||||||
if($enc != 'UTF-8' && $enc != 'ISO-8859-1'){
|
if($enc != 'UTF-8' && $enc != 'ISO-8859-1'){
|
||||||
echo " Warning: wrong encoding '$enc' in $fn2.\n";
|
echo " Warning: wrong encoding '$enc' in $fn2.\n";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case"comments":
|
case"comments":
|
||||||
list($fn, $v) = array($fn2, $ia[$k1][$k2][0]);
|
list($fn, $v) = array($fn2, $infoFromFile[$k1][$k2][0]);
|
||||||
break;
|
break;
|
||||||
default;
|
default;
|
||||||
list($fn, $v) = array($fn2, $ia[$k1][$k2]);
|
list($fn, $v) = array($fn2, $infoFromFile[$k1][$k2]);
|
||||||
}
|
}
|
||||||
# if(is_array($fn)) var_dump($fn);
|
addMdata($fn, $v);
|
||||||
if(!is_null($v)) $mdata[$fn] = addslashes($v);
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
switch($fn){
|
switch($fn){
|
||||||
case"dcterms:extent":
|
case"dcterms:extent":
|
||||||
list($fn, $v) = array($fn1, round($ia[$k1], 6));
|
list($fn, $v) = array($fn1, round($infoFromFile[$k1], 6));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
list($fn, $v) = array($fn1, $ia[$k1]);
|
list($fn, $v) = array($fn1, $infoFromFile[$k1]);
|
||||||
}
|
}
|
||||||
if(!is_null($v)) $mdata[$fn] = addslashes($v);
|
addMdata($fn, $v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(!$titleHaveSet) addMdata('dc:title', basename($filename));
|
||||||
|
|
||||||
if(!$testonly){
|
if(!$testonly){
|
||||||
$r = $gb->bsPutFile($parid, $mdata['ls:filename'], "$filename", "$storageServerPath/var/emptyMdata.xml", NULL, 'audioclip');
|
$r = $gb->bsPutFile($parid, $mdata['ls:filename'], "$filename", "$storageServerPath/var/emptyMdata.xml", NULL, 'audioclip');
|
||||||
|
@ -156,7 +165,7 @@ while($filename = fgets($stdin, 2048)){
|
||||||
if(PEAR::isError($r)){ _err($r, $filename); echo var_export($mdata)."\n"; continue; }
|
if(PEAR::isError($r)){ _err($r, $filename); echo var_export($mdata)."\n"; continue; }
|
||||||
}else{
|
}else{
|
||||||
var_dump($mdata); echo"======================= ";
|
var_dump($mdata); echo"======================= ";
|
||||||
# var_dump($ia); echo"======================= ";
|
# var_dump($infoFromFile); echo"======================= ";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "OK\n";
|
echo "OK\n";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue