mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-08 23:59:28 +00:00
023e0fc934
- Renamed uploadExtension to installExtension in application/controllers/system/extensions/CLI_Manager.php - Adapted controller system/extensions/Manager.php to use FHC_Controller functionalities - Changed controller system/extensions/Manager->uploadExtension to get parameters from HTTP post and HTTP file - Changed view system/extensions/manager.php to use templates/FHC-Header, ajaxlib, tablewidget, phrases and the CI upload library - Added new column type array to application/widgets/TableWidget.php - Added new type boolean to the public/js/AjaxLib.js result when checked by the hasData method - Added new JS public/js/ExtensionsManager.js that contains the extensions manager JS - Added new view system/extensions/tableWidget.php to display the extensions manager TableWidget
103 lines
2.2 KiB
PHP
103 lines
2.2 KiB
PHP
<?php
|
|
|
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
/**
|
|
*
|
|
*/
|
|
class Manager extends Auth_Controller
|
|
{
|
|
/**
|
|
*
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct(
|
|
array(
|
|
'index' => 'system/extensions:r',
|
|
'toggleExtension' => 'system/extensions:rw',
|
|
'delExtension' => 'system/extensions:rw',
|
|
'uploadExtension' => 'system/extensions:rw'
|
|
)
|
|
);
|
|
|
|
// Loads the form helper
|
|
$this->load->helper('form');
|
|
|
|
// Loads WidgetLib
|
|
$this->load->library('WidgetLib');
|
|
|
|
// Loads the extensions library
|
|
$this->load->library('ExtensionsLib');
|
|
|
|
$this->loadPhrases(
|
|
array(
|
|
'extensions'
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public function index()
|
|
{
|
|
$viewData = array(
|
|
'extensions' => $this->extensionslib->getInstalledExtensions()
|
|
);
|
|
|
|
$this->load->view('system/extensions/manager.php', $viewData);
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public function toggleExtension()
|
|
{
|
|
$toggleExtension = false;
|
|
|
|
$extension_id = $this->input->post('extension_id');
|
|
$enabled = $this->input->post('enabled');
|
|
|
|
if ($enabled === true)
|
|
{
|
|
$toggleExtension = $this->extensionslib->enableExtension($extension_id);
|
|
}
|
|
else
|
|
{
|
|
$toggleExtension = $this->extensionslib->disableExtension($extension_id);
|
|
}
|
|
|
|
$this->outputJsonSuccess($toggleExtension);
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public function delExtension()
|
|
{
|
|
$extension_id = $this->input->post('extension_id');
|
|
|
|
$delExtension = $this->extensionslib->delExtension($extension_id);
|
|
|
|
$this->outputJsonSuccess($delExtension);
|
|
}
|
|
|
|
/**
|
|
* Installiert eine Extension.
|
|
* Es wird davon ausgegangen, dass die Extension ueber einen Fileupload hochgeladen wird.
|
|
* alternativ kann hier auch der Name und Filename uebergeben werden um die installation ueber
|
|
* die Commandline ohne Upload durchzufuehren.
|
|
* @param $extensioName string Name der Extension
|
|
* @param $filename Url Encoded Pfad zum tgz File der Extension
|
|
* @param $perform_sql boolean ob die SQL Befehle ausgeführt werden
|
|
*/
|
|
public function uploadExtension()
|
|
{
|
|
$performSql = $this->input->post('performSql');
|
|
|
|
$this->extensionslib->installExtension(null, null, $performSql);
|
|
}
|
|
}
|
|
|