Remove channel cloud files from file system when
the channel is removed
This commit is contained in:
parent
f3789b1aeb
commit
406e97c9ad
@ -207,6 +207,7 @@ function account_remove($account_id,$local = true,$unset_session=true) {
|
|||||||
intval($account_id)
|
intval($account_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
if ($unset_session) {
|
if ($unset_session) {
|
||||||
unset($_SESSION['authenticated']);
|
unset($_SESSION['authenticated']);
|
||||||
unset($_SESSION['uid']);
|
unset($_SESSION['uid']);
|
||||||
@ -216,6 +217,28 @@ function account_remove($account_id,$local = true,$unset_session=true) {
|
|||||||
return $r;
|
return $r;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// recursively delete a directory
|
||||||
|
function rrmdir($path)
|
||||||
|
{
|
||||||
|
if (is_dir($path) === true)
|
||||||
|
{
|
||||||
|
$files = array_diff(scandir($path), array('.', '..'));
|
||||||
|
|
||||||
|
foreach ($files as $file)
|
||||||
|
{
|
||||||
|
rrmdir(realpath($path) . '/' . $file);
|
||||||
|
}
|
||||||
|
|
||||||
|
return rmdir($path);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (is_file($path) === true)
|
||||||
|
{
|
||||||
|
return unlink($path);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
function channel_remove($channel_id, $local = true, $unset_session=true) {
|
function channel_remove($channel_id, $local = true, $unset_session=true) {
|
||||||
|
|
||||||
@ -311,6 +334,19 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
|
|||||||
dbesc($channel['channel_hash'])
|
dbesc($channel['channel_hash'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//remove from file system
|
||||||
|
$r = q("select channel_address from channel where channel_id = %d",
|
||||||
|
intval($channel_id)
|
||||||
|
);
|
||||||
|
if($r)
|
||||||
|
$channel_address = $r[0]['channel_address'] ;
|
||||||
|
if ($channel_address !== '') {
|
||||||
|
$f = 'store/' . $channel_address.'/';
|
||||||
|
logger ('delete '. $f);
|
||||||
|
if(is_dir($f))
|
||||||
|
@rrmdir($f);
|
||||||
|
}
|
||||||
|
|
||||||
proc_run('php','include/directory.php',$channel_id);
|
proc_run('php','include/directory.php',$channel_id);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user