first part of plugin setting
This commit is contained in:
		@@ -5,11 +5,20 @@ ini_set( 'display_errors','1');
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
//setup
 | 
					//setup
 | 
				
			||||||
parse_str($_SERVER['QUERY_STRING'], $params);
 | 
					parse_str($_SERVER['QUERY_STRING'], $params);
 | 
				
			||||||
$urlSes = str_replace((!empty ($params['url']) ? $params['url'] : ""), "", str_replace('https://' . $_SERVER['HTTP_HOST'], "", $_SERVER['REQUEST_URI']));
 | 
					if (defined ("BASEDIR")) {
 | 
				
			||||||
 | 
						$urlSes = BASEDIR;
 | 
				
			||||||
 | 
					} else {
 | 
				
			||||||
 | 
						$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
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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', [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user