Maintenance for a few modules (#42)

This commit is contained in:
WM
2018-08-27 02:32:32 +02:00
committed by Sebastian Kinne
parent 13b3c40d76
commit a5d7d19cd5
161 changed files with 16954 additions and 10056 deletions

View File

@@ -1,147 +1,143 @@
<?php namespace pineapple;
putenv('LD_LIBRARY_PATH='.getenv('LD_LIBRARY_PATH').':/sd/lib:/sd/usr/lib');
putenv('PATH='.getenv('PATH').':/sd/usr/bin:/sd/usr/sbin');
class LogManager extends Module
{
public function route()
public function route()
{
switch ($this->request->action) {
case 'refreshInfo':
$this->refreshInfo();
break;
case 'refreshFilesList':
case 'refreshInfo':
$this->refreshInfo();
break;
case 'refreshFilesList':
$this->refreshFilesList();
break;
case 'downloadFilesList':
$this->downloadFilesList();
break;
case 'deleteFilesList':
$this->deleteFilesList();
break;
case 'downloadFilesList':
$this->downloadFilesList();
break;
case 'deleteFilesList':
$this->deleteFilesList();
break;
case 'viewModuleFile':
$this->viewModuleFile();
break;
case 'deleteModuleFile':
$this->deleteModuleFile();
break;
case 'downloadModuleFile':
$this->downloadModuleFile();
break;
case 'downloadModuleFile':
$this->downloadModuleFile();
break;
}
}
private function dataSize($path)
{
$blah = exec( "/usr/bin/du -sch $path | tail -1 | awk {'print $1'}" );
return $blah;
}
private function dataSize($path)
{
$blah = exec("/usr/bin/du -sch $path | tail -1 | awk {'print $1'}");
return $blah;
}
protected function refreshInfo()
{
$moduleInfo = @json_decode(file_get_contents("/pineapple/modules/LogManager/module.info"));
$this->response = array('title' => $moduleInfo->title, 'version' => $moduleInfo->version);
}
protected function refreshInfo()
{
$moduleInfo = @json_decode(file_get_contents("/pineapple/modules/LogManager/module.info"));
$this->response = array('title' => $moduleInfo->title, 'version' => $moduleInfo->version);
}
private function downloadFilesList()
{
$files = $this->request->files;
private function downloadFilesList()
{
$files = $this->request->files;
exec("mkdir /tmp/dl/");
foreach($files as $file)
{
exec("cp ".$file." /tmp/dl/");
}
exec("cd /tmp/dl/ && tar -czf /tmp/files.tar.gz *");
exec("rm -rf /tmp/dl/");
exec("mkdir /tmp/dl/");
foreach ($files as $file) {
exec("cp ".$file." /tmp/dl/");
}
exec("cd /tmp/dl/ && tar -czf /tmp/files.tar.gz *");
exec("rm -rf /tmp/dl/");
$this->response = array("download" => $this->downloadFile("/tmp/files.tar.gz"));
}
$this->response = array("download" => $this->downloadFile("/tmp/files.tar.gz"));
}
private function deleteFilesList()
{
$files = $this->request->files;
private function deleteFilesList()
{
$files = $this->request->files;
foreach($files as $file)
{
exec("rm -rf ".$file);
}
}
foreach ($files as $file) {
exec("rm -rf ".$file);
}
}
private function refreshFilesList()
{
$modules = array();
foreach(glob('/pineapple/modules/*/log/*') as $file)
{
$module = array();
$module['file'] = basename($file);
$module['path'] = $file;
$module['size'] = $this->dataSize($file);
$module['title'] = explode("/", dirname($file))[3];
$module['date'] = gmdate("F d Y H:i:s", filemtime($file));
$module['timestamp'] = filemtime($file);
$modules[] = $module;
}
private function refreshFilesList()
{
$modules = array();
foreach (glob('/pineapple/modules/*/log/*') as $file) {
$module = array();
$module['file'] = basename($file);
$module['path'] = $file;
$module['size'] = $this->dataSize($file);
$module['title'] = explode("/", dirname($file))[3];
$module['date'] = gmdate("F d Y H:i:s", filemtime($file));
$module['timestamp'] = filemtime($file);
$modules[] = $module;
}
foreach(glob('/pineapple/modules/*/dump/*') as $file)
{
$module = array();
$module['file'] = basename($file);
$module['path'] = $file;
$module['size'] = $this->dataSize($file);
$module['title'] = explode("/", dirname($file))[3];
$module['date'] = gmdate("F d Y H:i:s", filemtime($file));
$module['timestamp'] = filemtime($file);
$modules[] = $module;
}
foreach (glob('/pineapple/modules/*/dump/*') as $file) {
$module = array();
$module['file'] = basename($file);
$module['path'] = $file;
$module['size'] = $this->dataSize($file);
$module['title'] = explode("/", dirname($file))[3];
$module['date'] = gmdate("F d Y H:i:s", filemtime($file));
$module['timestamp'] = filemtime($file);
$modules[] = $module;
}
foreach(glob('/pineapple/modules/*/scan/*') as $file)
{
$module = array();
$module['file'] = basename($file);
$module['path'] = $file;
$module['size'] = $this->dataSize($file);
$module['title'] = explode("/", dirname($file))[3];
$module['date'] = gmdate("F d Y H:i:s", filemtime($file));
$module['timestamp'] = filemtime($file);
$modules[] = $module;
}
foreach (glob('/pineapple/modules/*/scan/*') as $file) {
$module = array();
$module['file'] = basename($file);
$module['path'] = $file;
$module['size'] = $this->dataSize($file);
$module['title'] = explode("/", dirname($file))[3];
$module['date'] = gmdate("F d Y H:i:s", filemtime($file));
$module['timestamp'] = filemtime($file);
$modules[] = $module;
}
foreach(glob('/pineapple/modules/*/capture/*') as $file)
{
$module = array();
$module['file'] = basename($file);
$module['path'] = $file;
$module['size'] = $this->dataSize($file);
$module['title'] = explode("/", dirname($file))[3];
$module['date'] = gmdate("F d Y H:i:s", filemtime($file));
$module['timestamp'] = filemtime($file);
$modules[] = $module;
}
foreach (glob('/pineapple/modules/*/capture/*') as $file) {
$module = array();
$module['file'] = basename($file);
$module['path'] = $file;
$module['size'] = $this->dataSize($file);
$module['title'] = explode("/", dirname($file))[3];
$module['date'] = gmdate("F d Y H:i:s", filemtime($file));
$module['timestamp'] = filemtime($file);
$modules[] = $module;
}
usort($modules, create_function('$a, $b','if($a["timestamp"] == $b["timestamp"]) return 0; return ($a["timestamp"] > $b["timestamp"]) ? -1 : 1;'));
usort($modules, create_function('$a, $b', 'if($a["timestamp"] == $b["timestamp"]) return 0; return ($a["timestamp"] > $b["timestamp"]) ? -1 : 1;'));
$this->response = array("files" => $modules);
}
$this->response = array("files" => $modules);
}
private function viewModuleFile()
{
$log_date = gmdate("F d Y H:i:s", filemtime($this->request->file));
exec ("strings ".$this->request->file, $output);
private function viewModuleFile()
{
$log_date = gmdate("F d Y H:i:s", filemtime($this->request->file));
exec("strings ".$this->request->file, $output);
if(!empty($output))
$this->response = array("output" => implode("\n", $output), "date" => $log_date, "name" => basename($this->request->file));
else
$this->response = array("output" => "Empty file...", "date" => $log_date, "name" => basename($this->request->file));
}
if (!empty($output)) {
$this->response = array("output" => implode("\n", $output), "date" => $log_date, "name" => basename($this->request->file));
} else {
$this->response = array("output" => "Empty file...", "date" => $log_date, "name" => basename($this->request->file));
}
}
private function deleteModuleFile()
{
exec("rm -rf ".$this->request->file);
}
private function deleteModuleFile()
{
exec("rm -rf ".$this->request->file);
}
private function downloadModuleFile()
{
$this->response = array("download" => $this->downloadFile($this->request->file));
}
private function downloadModuleFile()
{
$this->response = array("download" => $this->downloadFile($this->request->file));
}
}

View File

@@ -2,17 +2,17 @@ registerController('LogManager_Controller', ['$api', '$scope', '$rootScope', '$i
$scope.title = "Loading...";
$scope.version = "Loading...";
$scope.refreshInfo = (function() {
$scope.refreshInfo = (function() {
$api.request({
module: 'LogManager',
action: "refreshInfo"
}, function(response) {
$scope.title = response.title;
$scope.version = "v"+response.version;
})
});
module: 'LogManager',
action: "refreshInfo"
}, function(response) {
$scope.title = response.title;
$scope.version = "v" + response.version;
})
});
$scope.refreshInfo();
$scope.refreshInfo();
}]);
@@ -27,89 +27,93 @@ registerController('LogManager_FilesController', ['$api', '$scope', '$rootScope'
$scope.updateSelectedFiles = (function() {
$scope.selectedFilesArray = [];
angular.forEach($scope.selectedFiles, function(key,value) { if(key) { $scope.selectedFilesArray.push(value); } });
angular.forEach($scope.selectedFiles, function(key, value) {
if (key) {
$scope.selectedFilesArray.push(value);
}
});
});
$scope.updateAllSelectedFiles = (function() {
$scope.selectedFilesArray = [];
if($scope.selectedAll)
{
angular.forEach($scope.files, function(key,value) { $scope.selectedFilesArray.push(key.path); $scope.selectedFiles[key.path] = true; });
if ($scope.selectedAll) {
angular.forEach($scope.files, function(key, value) {
$scope.selectedFilesArray.push(key.path);
$scope.selectedFiles[key.path] = true;
});
$scope.selectedAll = true;
}
else
{
$scope.selectedAll = false;
$scope.selectedFiles = {};
} else {
$scope.selectedAll = false;
$scope.selectedFiles = {};
}
});
$scope.refreshFilesList = (function() {
$api.request({
module: "LogManager",
action: "refreshFilesList"
}, function(response) {
$scope.files = response.files;
})
});
$scope.refreshFilesList = (function() {
$api.request({
module: "LogManager",
action: "refreshFilesList"
}, function(response) {
$scope.files = response.files;
})
});
$scope.downloadFilesList = (function() {
$api.request({
module: "LogManager",
action: "downloadFilesList",
files: $scope.selectedFilesArray
}, function(response) {
module: "LogManager",
action: "downloadFilesList",
files: $scope.selectedFilesArray
}, function(response) {
if (response.error === undefined) {
window.location = '/api/?download=' + response.download;
window.location = '/api/?download=' + response.download;
}
})
});
})
});
$scope.deleteFilesList = (function() {
$api.request({
module: "LogManager",
action: "deleteFilesList",
files: $scope.selectedFilesArray
}, function(response) {
module: "LogManager",
action: "deleteFilesList",
files: $scope.selectedFilesArray
}, function(response) {
$scope.refreshFilesList();
$scope.selectedFiles = {};
$scope.updateSelectedFiles();
})
});
})
});
$scope.viewFile = (function(param) {
$api.request({
module: "LogManager",
action: "viewModuleFile",
file: param
}, function(response) {
$scope.fileOutput = response.output;
$scope.fileDate = response.date;
$scope.fileName = response.name;
})
});
$scope.viewFile = (function(param) {
$api.request({
module: "LogManager",
action: "viewModuleFile",
file: param
}, function(response) {
$scope.fileOutput = response.output;
$scope.fileDate = response.date;
$scope.fileName = response.name;
})
});
$scope.deleteFile = (function(param) {
$api.request({
module: "LogManager",
action: "deleteModuleFile",
file: param
}, function(response) {
$scope.refreshFilesList();
})
});
$scope.deleteFile = (function(param) {
$api.request({
module: "LogManager",
action: "deleteModuleFile",
file: param
}, function(response) {
$scope.refreshFilesList();
})
});
$scope.downloadFile = (function(param) {
$api.request({
module: 'LogManager',
action: 'downloadModuleFile',
file: param
}, function(response) {
if (response.error === undefined) {
window.location = '/api/?download=' + response.download;
}
});
});
$api.request({
module: 'LogManager',
action: 'downloadModuleFile',
file: param
}, function(response) {
if (response.error === undefined) {
window.location = '/api/?download=' + response.download;
}
});
});
$scope.refreshFilesList();

View File

@@ -6,5 +6,5 @@
"tetra"
],
"title": "Log Manager",
"version": "1.2"
"version": "1.3"
}