File size: 2.61Kb
<?php
defined('PHPFOX') or exit('NO DICE!');
class Admincp_Component_Controller_Maintain_Removefile extends Phpfox_Component {
public function process() {
$aFiles = Admincp_Service_Maintain_Deletefiles::instance()->getListFiles();
$ssh = $this->request()->get('ssh');
if (count($aFiles) && $ssh){
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=delete_file.sh");
foreach ($aFiles as $sFile){
echo 'rm -rf ' . dirname(PHPFOX_DIR) . PHPFOX_DS . $sFile . "\n";
}
exit();
}
$currentHostName = Phpfox::getParam('core.ftp_host_name');
$currentPort = Phpfox::getParam('core.ftp_port');
$currentUsername = Phpfox::getParam('core.ftp_user_name');
$currentPassword = Phpfox::getParam('core.ftp_password');
$aVals = $this->request()->get('val');
if (count($aFiles) && isset($aVals['submit'])){
$manager = new \Core\Installation\Manager($aVals);
if ($manager->verifyFtpAccount()) {
try {
foreach ($aFiles as $sFile){
$manager->deleteFile(dirname(PHPFOX_DIR) . PHPFOX_DS . $sFile, true);
}
} catch (\Exception $ex) {
if (PHPFOX_DEBUG) {
throw new \Exception($ex->getMessage(), $ex->getCode(), $ex);
}
return \Phpfox_Error::set($ex->getMessage());
}
} else {
return Phpfox_Error::set(_p('Your ftp account don\'t work'));
}
Phpfox::addMessage(_p("All old files deleted"));
$this->url()->send('admincp.maintain.removefile');
}
$this->template()->setTitle(_p("Remove files no longer used"))
->setSectionTitle(_p("Remove files no longer used"))
->assign([
'aFiles' => $aFiles,
'site_path' => dirname(PHPFOX_DIR) . PHPFOX_DS,
'currentHostName' => $currentHostName,
'currentPort' => $currentPort,
'currentUsername' => $currentUsername,
'currentPassword' => $currentPassword,
])
->setHeader([
'bootstrap.min.css' => "style_css",
'bootstrap.min.js' => "static_script"
]);
return null;
}
public function clean() {
(($sPlugin = Phpfox_Plugin::get('admincp.component_controller_maintain_removefile_clean')) ? eval($sPlugin) : false);
}
}