mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 15:14:58 +00:00
add methods for enabling/disabling an extension
This commit is contained in:
parent
d5a937fbc8
commit
cb9ce2a42f
|
@ -418,7 +418,7 @@ class Settings { /* {{{ */
|
|||
*
|
||||
* @return true/false
|
||||
*/
|
||||
function load($configFilePath) { /* {{{ */
|
||||
public function load($configFilePath) { /* {{{ */
|
||||
$contents = file_get_contents($configFilePath);
|
||||
if(!$contents) {
|
||||
return false;
|
||||
|
@ -714,6 +714,9 @@ class Settings { /* {{{ */
|
|||
foreach($extensions as $extension) {
|
||||
$tmp = $extension->attributes();
|
||||
$extname = strval($tmp['name']);
|
||||
if(isset($tmp['disable']))
|
||||
$disabled = strval($tmp['disable']);
|
||||
$this->_extensions[$extname]['__disable__'] = $disabled=='1' || $disabled == 'true' ? true : false;
|
||||
foreach($extension->children() as $parameter) {
|
||||
$tmp2 = $parameter->attributes();
|
||||
$this->_extensions[$extname][strval($tmp2['name'])] = strval($parameter);
|
||||
|
@ -733,7 +736,7 @@ class Settings { /* {{{ */
|
|||
*
|
||||
* @return true/false
|
||||
*/
|
||||
function setXMLAttributValue($node, $attributName, $attributValue) { /* {{{ */
|
||||
protected function setXMLAttributValue($node, $attributName, $attributValue) { /* {{{ */
|
||||
if (is_bool($attributValue)) {
|
||||
if ($attributValue)
|
||||
$attributValue = "true";
|
||||
|
@ -757,7 +760,7 @@ class Settings { /* {{{ */
|
|||
*
|
||||
* @return SimpleXMLElement
|
||||
*/
|
||||
function getXMLNode($rootNode, $parentNodeName, $name) { /* {{{ */
|
||||
protected function getXMLNode($rootNode, $parentNodeName, $name) { /* {{{ */
|
||||
$node = $rootNode->xpath($parentNodeName . '/' . $name);
|
||||
|
||||
if (empty($node)) {
|
||||
|
@ -777,7 +780,7 @@ class Settings { /* {{{ */
|
|||
*
|
||||
* @return true/false
|
||||
*/
|
||||
function save($configFilePath=NULL) { /* {{{ */
|
||||
public function save($configFilePath=NULL) { /* {{{ */
|
||||
if (is_null($configFilePath))
|
||||
$configFilePath = $this->_configFilePath;
|
||||
|
||||
|
@ -1050,6 +1053,7 @@ class Settings { /* {{{ */
|
|||
// search XML node
|
||||
$extnode = $extnodes->addChild('extension');
|
||||
$this->setXMLAttributValue($extnode, 'name', $name);
|
||||
$this->setXMLAttributValue($extnode, 'disable', $extension['__disable__'] ? 'true' : 'false');
|
||||
/* New code saves all parameters of the extension which have been set
|
||||
* in configuration form.
|
||||
*/
|
||||
|
@ -1082,7 +1086,7 @@ class Settings { /* {{{ */
|
|||
* search and return Config File Path
|
||||
* @return NULL|string Config File Path
|
||||
*/
|
||||
function searchConfigFilePath() { /* {{{ */
|
||||
protected function searchConfigFilePath() { /* {{{ */
|
||||
$configFilePath = null;
|
||||
|
||||
if($configDir = Settings::getConfigDir()) {
|
||||
|
@ -1139,7 +1143,7 @@ class Settings { /* {{{ */
|
|||
*
|
||||
* @return string
|
||||
*/
|
||||
function curPageURL() { /* {{{ */
|
||||
protected function curPageURL() { /* {{{ */
|
||||
$pageURL = 'http';
|
||||
|
||||
if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {
|
||||
|
@ -1164,7 +1168,7 @@ class Settings { /* {{{ */
|
|||
* @param string $file name of file to search
|
||||
* @return string path where file was found
|
||||
*/
|
||||
function findInIncPath($file) { /* {{{ */
|
||||
protected function findInIncPath($file) { /* {{{ */
|
||||
$incarr = explode(PATH_SEPARATOR, ini_get('include_path'));
|
||||
$found = '';
|
||||
foreach($incarr as $path) {
|
||||
|
@ -1180,7 +1184,7 @@ class Settings { /* {{{ */
|
|||
*
|
||||
* @return array
|
||||
*/
|
||||
function check($minversion) { /* {{{ */
|
||||
public function check($minversion) { /* {{{ */
|
||||
// suggestion rootdir
|
||||
if (file_exists("../inc/inc.Settings.php"))
|
||||
$rootDir = realpath ("../inc/inc.Settings.php");
|
||||
|
@ -1425,7 +1429,7 @@ class Settings { /* {{{ */
|
|||
* @return array
|
||||
*
|
||||
*/
|
||||
function checkSystem() { /* {{{ */
|
||||
public function checkSystem() { /* {{{ */
|
||||
// result
|
||||
$result = array();
|
||||
|
||||
|
@ -1512,6 +1516,43 @@ class Settings { /* {{{ */
|
|||
return $result;
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Check if extension is disabled
|
||||
*
|
||||
* @param string $extname name of extension
|
||||
* @return true if extension is disabled
|
||||
*/
|
||||
public function extensionIsDisabled($extname) { /* {{{ */
|
||||
if(array_key_exists($extname, $this->_extensions))
|
||||
return $this->_extensions[$extname]['__disable__'];
|
||||
|
||||
return false;
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Set extension enabled
|
||||
*
|
||||
* @param string $extname name of extension
|
||||
* @return
|
||||
*/
|
||||
public function enableExtension($extname) { /* {{{ */
|
||||
if(!array_key_exists($extname, $this->_extensions))
|
||||
$this->_extensions[$extname] = array();
|
||||
$this->_extensions[$extname]['__disable__'] = false;
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Set extension enabled
|
||||
*
|
||||
* @param string $extname name of extension
|
||||
* @return
|
||||
*/
|
||||
public function disableExtension($extname) { /* {{{ */
|
||||
if(!array_key_exists($extname, $this->_extensions))
|
||||
$this->_extensions[$extname] = array();
|
||||
$this->_extensions[$extname]['__disable__'] = true;
|
||||
} /* }}} */
|
||||
|
||||
} /* }}} */
|
||||
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue
Block a user