first part of plugin setting

This commit is contained in:
Haitem 2020-12-09 14:30:41 +01:00
parent 42443c8b58
commit ee0ebff76a
3 changed files with 40 additions and 11 deletions

View File

@ -5,11 +5,20 @@ ini_set( 'display_errors','1');
//setup //setup
parse_str($_SERVER['QUERY_STRING'], $params); parse_str($_SERVER['QUERY_STRING'], $params);
if (defined ("BASEDIR")) {
$urlSes = BASEDIR;
} else {
$urlSes = str_replace((!empty ($params['url']) ? $params['url'] : ""), "", str_replace('https://' . $_SERVER['HTTP_HOST'], "", $_SERVER['REQUEST_URI'])); $urlSes = str_replace((!empty ($params['url']) ? $params['url'] : ""), "", str_replace('https://' . $_SERVER['HTTP_HOST'], "", $_SERVER['REQUEST_URI']));
}
if (defined ("BASEDIR") && defined ("BASEURL")) {
$domain = str_replace("http://", "", str_replace("https://", "", str_replace(BASEDIR, "", BASEURL)));
} else {
$domain = str_replace("/var/www/", "", $_SERVER['DOCUMENT_ROOT']);
}
session_set_cookie_params( session_set_cookie_params(
1209600, 1209600,
$urlSes, $urlSes,
str_replace("/var/www/", "", $_SERVER['DOCUMENT_ROOT']), $domain,
true, true,
true true
); );

View File

@ -4,20 +4,20 @@ class SettingsManager{
return Db::loadAll ("SELECT * FROM settings"); return Db::loadAll ("SELECT * FROM settings");
} }
static function getByName($settingName, $group = '') { static function getByName($settingName, $type = '') {
if ($group != '') return Db::loadOne("SELECT * FROM settings WHERE name = ? AND group = ?", array($settingName, $group)); if ($type != '') return Db::loadOne("SELECT * FROM settings WHERE name = ? AND type = ?", array($settingName, $type));
return Db::loadOne("SELECT * FROM settings WHERE name = ?", array($settingName)); return Db::loadOne("SELECT * FROM settings WHERE name = ?", array($settingName));
} }
static function getSettingGroup($group) { static function getSettingGroup($type) {
return Db::loadAll("SELECT * FROM settings WHERE group = ?", array($group)); return Db::loadAll("SELECT * FROM settings WHERE type=?", array($type));
} }
public static function create ($name, $value, $group = '') { public static function create ($name, $value, $type = '') {
$setting = array ( $setting = array (
'name' => $name, 'name' => $name,
'value' => $value, 'value' => $value,
'group' => $group, 'type' => $type,
); );
try { try {
Db::add ('settings', $setting); Db::add ('settings', $setting);
@ -27,9 +27,9 @@ class SettingsManager{
} }
} }
public static function update ($name, $value, $group = '') { public static function update ($name, $value, $type = '') {
if ($this.getByName($name)){ if (self::getByName($name)){
$this->create($name, $value, $group); self::create($name, $value, $type);
} else { } else {
try { try {
Db::edit ('settings', [ Db::edit ('settings', [

View File

@ -56,7 +56,27 @@ class Setting extends Template
$rooms = RoomManager::getAllRooms(); $rooms = RoomManager::getAllRooms();
$template->prepare('rooms', $rooms); $template->prepare('rooms', $rooms);
$settingsManager = new SettingsManager();
$dir = $_SERVER['DOCUMENT_ROOT'] . BASEDIR . 'app/plugins/';
$pluginsFiles = array_diff (scandir ($dir), ['..', '.']);
$plugins = array ();
foreach ($pluginsFiles as $key => $pluginFile) {
$status = (strpos ($pluginFile, "!") !== false ? false : true);
if ($status) {
$plugins[$key]['name'] = str_replace ("!", "", str_replace (".php", "", $pluginFile));
$plugins[$key]['slug'] = strtolower ($plugins[$key]['name']);
$result = $settingsManager->getSettingGroup($plugins[$key]['slug']);
if (count ($result) > 0) {
$plugins[$key]['settings'] = $result;
}
}
}
$plugins = Utilities::sortArrayByKey($plugins, 'slug', "desc");
$template->prepare('pluginsSettings', $plugins);
$template->render(); $template->render();
} }