release 1.0.2
This commit is contained in:
@@ -1 +1,66 @@
|
||||
<?php function get_avatars($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone){$starttime=microtime(true);$sqlmsg='';$sqlerr=0;$count=0;try{check_shutdown($timezone);usleep($slowmode);$tsfilelist=$ts3->channelFileList($cid="0",$cpw="",$path="/");}catch(Exception $e){if($e->getCode()!=1281){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"get_avatars 1:",$e->getCode(),': ',"Error by getting Avatarlist: ",$e->getMessage(),"\n";$sqlmsg.=$e->getCode().': '."Error by getting Avatarlist: ".$e->getMessage();$sqlerr++;}}$fsfilelist=opendir(substr(__DIR__,0,-4).'avatars/');while(false!==($fsfile=readdir($fsfilelist))){if($fsfile!='.'&&$fsfile!='..'){$fsfilelistarray[$fsfile]=filemtime(substr(__DIR__,0,-4).'avatars/'.$fsfile);}}if(isset($tsfilelist)){foreach($tsfilelist as $tsfile){$fullfilename='/'.$tsfile['name'];$uuidasbase16=substr($tsfile['name'],7);if(!isset($fsfilelistarray[$uuidasbase16.'.png'])||$tsfile['datetime']>$fsfilelistarray[$uuidasbase16.'.png']){if(substr($tsfile['name'],0,7)=='avatar_'){try{check_shutdown($timezone);usleep($slowmode);$avatar=$ts3->transferInitDownload($clientftfid="5",$cid="0",$name=$fullfilename,$cpw="",$seekpos=0);$transfer=TeamSpeak3::factory("filetransfer://".$avatar["host"].":".$avatar["port"]);$tsfile=$transfer->download($avatar["ftkey"],$avatar["size"]);$avatarfilepath=substr(__DIR__,0,-4).'avatars/'.$uuidasbase16.'.png';echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"Download avatar: ",$fullfilename,"\n";file_put_contents($avatarfilepath,$tsfile);$count++;}catch(Exception $e){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"get_avatars 2:",$e->getCode(),': ',"Error by download Avatar: ",$e->getMessage(),"\n";$sqlmsg.=$e->getCode().': '."Error by download Avatar: ".$e->getMessage();$sqlerr++;}}}}}$buildtime=microtime(true)- $starttime;if($sqlerr==0){if($mysqlcon->exec("UPDATE $dbname.job_log SET status='0', runtime='$buildtime' WHERE id='$jobid'")===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"get_avatars 3:",print_r($mysqlcon->errorInfo()),"\n";}}else{if($mysqlcon->exec("UPDATE $dbname.job_log SET status='1', err_msg='$sqlmsg', runtime='$buildtime' WHERE id='$jobid'")===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"get_avatars 4:",print_r($mysqlcon->errorInfo()),"\n";}}}?>
|
||||
<?PHP
|
||||
function get_avatars($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$logpath) {
|
||||
$starttime = microtime(true);
|
||||
$sqlmsg = '';
|
||||
$sqlerr = 0;
|
||||
$count = 0;
|
||||
|
||||
try {
|
||||
check_shutdown($timezone); usleep($slowmode);
|
||||
$tsfilelist = $ts3->channelFileList($cid="0", $cpw="", $path="/");
|
||||
} catch (Exception $e) {
|
||||
if ($e->getCode() != 1281) {
|
||||
enter_logfile($logpath,$timezone,2,"get_avatars 1:".$e->getCode().': '."Error while getting avatarlist: ".$e->getMessage());
|
||||
$sqlmsg .= $e->getCode() . ': ' . "Error while getting avatarlist: " . $e->getMessage();
|
||||
$sqlerr++;
|
||||
}
|
||||
}
|
||||
$fsfilelist = opendir(substr(__DIR__,0,-4).'avatars/');
|
||||
while (false !== ($fsfile = readdir($fsfilelist))) {
|
||||
if ($fsfile != '.' && $fsfile != '..') {
|
||||
$fsfilelistarray[$fsfile] = filemtime(substr(__DIR__,0,-4).'avatars/'.$fsfile);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($tsfilelist)) {
|
||||
foreach($tsfilelist as $tsfile) {
|
||||
$fullfilename = '/'.$tsfile['name'];
|
||||
$uuidasbase16 = substr($tsfile['name'],7);
|
||||
if (!isset($fsfilelistarray[$uuidasbase16.'.png']) || $tsfile['datetime']>$fsfilelistarray[$uuidasbase16.'.png']) {
|
||||
if (substr($tsfile['name'],0,7) == 'avatar_') {
|
||||
try {
|
||||
check_shutdown($timezone); usleep($slowmode);
|
||||
$avatar = $ts3->transferInitDownload($clientftfid="5",$cid="0",$name=$fullfilename,$cpw="", $seekpos=0);
|
||||
$transfer = TeamSpeak3::factory("filetransfer://" . $avatar["host"] . ":" . $avatar["port"]);
|
||||
$tsfile = $transfer->download($avatar["ftkey"], $avatar["size"]);
|
||||
$avatarfilepath = substr(__DIR__,0,-4).'avatars/'.$uuidasbase16.'.png';
|
||||
enter_logfile($logpath,$timezone,5,"Download avatar: ".$fullfilename);
|
||||
if(file_put_contents($avatarfilepath, $tsfile) === false) {
|
||||
enter_logfile($logpath,$timezone,2,"Error while writing out the avatar. Please check the permission for the folder 'avatars'");
|
||||
}
|
||||
$count++;
|
||||
}
|
||||
catch (Exception $e) {
|
||||
enter_logfile($logpath,$timezone,2,"get_avatars 2:".$e->getCode().': '."Error while downloading avatar: ".$e->getMessage());
|
||||
$sqlmsg .= $e->getCode() . ': ' . "Error while downloading avatar: " . $e->getMessage();
|
||||
$sqlerr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$buildtime = microtime(true) - $starttime;
|
||||
if ($buildtime < 0) { $buildtime = 0; }
|
||||
|
||||
if ($sqlerr == 0) {
|
||||
if($mysqlcon->exec("UPDATE $dbname.job_log SET status='0', runtime='$buildtime' WHERE id='$jobid'") === false) {
|
||||
enter_logfile($logpath,$timezone,2,"get_avatars 3:".print_r($mysqlcon->errorInfo()));
|
||||
}
|
||||
} else {
|
||||
if($mysqlcon->exec("UPDATE $dbname.job_log SET status='1', err_msg='$sqlmsg', runtime='$buildtime' WHERE id='$jobid'") === false) {
|
||||
enter_logfile($logpath,$timezone,2,"get_avatars 4:".print_r($mysqlcon->errorInfo()));
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user