dbacc, "INSERT INTO [Account].[dbo].[fPatches] ([title], [notes], [patch_name], [postedby], [time], [ip_poser], [deleted], [only_admin]) VALUES (?,?,?,?,?,?,'0','0')", array($_POST['title'], $_POST['content'], $_POST['patch_name'], $_SESSION['fieme_a_uname'], time(), $_SERVER['REMOTE_ADDR']), array( "Scrollable" => SQLSRV_CURSOR_KEYSET)); } $current_patches_content = ""; $query = sqlsrv_query($fiemecp->dbacc, "SELECT TOP 50 * FROM dbo.fPatches WHERE deleted = 0", array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET)); while ($row = sqlsrv_fetch_array( $query, SQLSRV_FETCH_ASSOC)) { $row['time'] = date("jS M Y \a\\t H:i", $row['time']); eval("\$current_patches_content .= \"" . $template->get("admin.settings.patches.patches.repeat") . "\";"); } eval("\$current_patches = \"" . $template->get("admin.settings.patches.patches") . "\";"); eval("\$add_patch_form = \"" . $template->get("admin.settings.patches.add") . "\";"); eval("\$content = \"" . $template->get("admin.settings.patches.main") . "\";"); } elseif ($settings_page == "configuration") { $content = ""; if (isset($_GET['config'])) { if (!empty($_POST)) { foreach ($_POST as $key=>$value) { if (preg_match("/^s_/i", $key)) { if ($_POST["d$key"] != $value)//If it's changed... { $option_name = substr($key, 2); sqlsrv_query($fiemecp->dbacc, "UPDATE dbo.fSettings SET setting_value = ? WHERE setting_group = ? AND setting_save_name = ?", array($value, $_POST['_save_settings'], $option_name), array( "Scrollable" => SQLSRV_CURSOR_KEYSET)); } } } } $core->refresh_settings($_GET['config']); $query = sqlsrv_query($fiemecp->dbacc, "SELECT * FROM dbo.fSettings WHERE setting_group = ?", array($_GET['config']), array( "Scrollable" => SQLSRV_CURSOR_KEYSET)); if (sqlsrv_num_rows($query) > 0) { $i = 1; $content = "

Editing $_GET[config] settings

"; while ($row = sqlsrv_fetch_array($query)) { if ($row['setting_form_type'] == "text") { $row['setting_form'] = ""; $row['setting_form'] .=""; } elseif ($row['setting_form_type'] == "textarea") { $row['setting_form'] = ""; $row['setting_form'] .=""; } elseif ($row['setting_form_type'] == "radio") { eval("\$test = $row[setting_form];"); $row['setting_form'] = ""; foreach ($test as $option=>$value) { if ($option == $row['setting_value']) { $row['setting_form'] .="$value"; } else { $row['setting_form'] .="$value"; } } $row['setting_form'] .=""; } else { continue; } $content .= "
$row[setting_name]
$row[setting_desc]

$row[setting_form]
"; if ($i == 1) { $i = 2; } else { $i = 1; } } $content .= "
"; } else { $content = "Invalid"; } } else { //get categories $query = sqlsrv_query($fiemecp->dbacc, "SELECT setting_group FROM fSettings GROUP BY setting_group", array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET)); $content = "

Settings:

"; while ($row = sqlsrv_fetch_array($query)) { $content .= "$row[setting_group]
"; } } } elseif ($settings_page == "plugins") { ////////////////////////////////////////////////////////// ///////////ACTIVATE AND INSTALL/////////////////////////// ////////////////////////////////////////////////////////// if (@$_GET['do'] == 'ac') { include FIEME_ROOT . 'cache/plugins'; $plugin_name = @$_GET['what']; //Check that it's all present!! if (file_exists(FIEME_ROOT . "includes/plugins/".$plugin_name.".php")) { require_once FIEME_ROOT . "includes/plugins/".$plugin_name.".php"; if (function_exists($plugin_name."_information") && function_exists($plugin_name."_activate") && function_exists($plugin_name."_deactivate")) { //check compatibility $info = call_user_func($plugin_name . "_information"); if (is_array($info['fieme_rev'])) { foreach($info['fieme_rev'] as $key=>$compat) { $compat = str_replace(".", "\.", str_replace("*", ".*", $compat)); if (preg_match("/^".$compat."/", FIEME_REV)) { $foo = 1; } } } else { $info['fieme_rev'] = str_replace(".", "\.", str_replace("*", ".*", $info['fieme_rev'])); if (preg_match("/^".$info['fieme_rev']."/", FIEME_REV)) { $foo = 1; } } if (isset($foo)) // if it's compatible... { //VALID PLUGIN! Time to add it to the server //Check it's not already added... $query = sqlsrv_query($fiemecp->dbacc, "SELECT * FROM dbo.fPlugins WHERE [plugin_name] = ?", array($plugin_name), array( "Scrollable" => SQLSRV_CURSOR_KEYSET)); if (sqlsrv_num_rows($query) == 0) { sqlsrv_query($fiemecp->dbacc, "INSERT INTO fPlugins ([plugin_name] ,[active]) VALUES (?, '1')", array($plugin_name)); } else { sqlsrv_query($fiemecp->dbacc, "UPDATE fPlugins SET active='1' WHERE plugin_name=?", array($plugin_name)); } call_user_func($plugin_name . "_activate"); header("Location: settings.php?page=plugins"); } else { $error = "The plugin is not compatible with your version of FiemeCP."; } } else { //NOT VALID :(. $error = "The plugin is invalid! Contact the developer!

"; } } else { $error = "Plugin does not exist!

"; } } elseif (@$_GET['do'] == 'install') { include FIEME_ROOT . 'cache/plugins'; $plugin_name = @$_GET['what']; //Check that it's all present!! if (file_exists(FIEME_ROOT . "includes/plugins/".$plugin_name.".php")) { require_once FIEME_ROOT . "includes/plugins/".$plugin_name.".php"; if (function_exists($plugin_name."_information") && function_exists($plugin_name."_activate") && function_exists($plugin_name."_deactivate") && function_exists($plugin_name."_install") && function_exists($plugin_name."_uninstall")) { //check compatibility $info = call_user_func($plugin_name . "_information"); if (is_array($info['fieme_rev'])) { foreach($info['fieme_rev'] as $key=>$compat) { $compat = str_replace(".", "\.", str_replace("*", ".*", $compat)); if (preg_match("/^".$compat."/", FIEME_REV)) { $foo = 1; } } } else { $info['fieme_rev'] = str_replace(".", "\.", str_replace("*", ".*", $info['fieme_rev'])); if (preg_match("/^".$info['fieme_rev']."/", FIEME_REV)) { $foo = 1; } } if (isset($foo)) //if compatible... { //VALID PLUGIN! Time to add it to the server //Check it's not already added... $query = sqlsrv_query($fiemecp->dbacc, "SELECT * FROM dbo.fPlugins WHERE [plugin_name] = ?", array($plugin_name), array( "Scrollable" => SQLSRV_CURSOR_KEYSET)); if (sqlsrv_num_rows($query) == 0) { sqlsrv_query($fiemecp->dbacc, "INSERT INTO fPlugins ([plugin_name] ,[active]) VALUES (?, '1')", array($plugin_name)); } else { sqlsrv_query($fiemecp->dbacc, "UPDATE fPlugins SET active='1' WHERE plugin_name=?", array($plugin_name)); } call_user_func($plugin_name . "_install"); call_user_func($plugin_name . "_activate"); header("Location: settings.php?page=plugins"); } else { $error = "The plugin is not compatible with your version of FiemeCP."; } } else { //NOT VALID :(. $error = "The plugin is invalid! Contact the developer!

"; } } else { $error = "Plugin does not exist!

"; } } ////////////////////////////////////////////////////////// ///////////DEACTIVATE AND UNINSTALL/////////////////////// ////////////////////////////////////////////////////////// elseif (@$_GET['do'] == 'deac') { include FIEME_ROOT . 'cache/plugins'; $plugin_name = @$_GET['what']; //Check that it's all present!! if (file_exists(FIEME_ROOT . "includes/plugins/".$plugin_name.".php")) { require_once FIEME_ROOT . "includes/plugins/".$plugin_name.".php"; if (function_exists($plugin_name."_information") && function_exists($plugin_name."_activate") && function_exists($plugin_name."_deactivate")) { //VALID PLUGIN! Time to add it to the server //Check it's not already added... if (function_exists($plugin_name."_install") && function_exists($plugin_name."_uninstall")) //So, it's been installed... { $towhat = "2"; } else { $towhat = "0"; } $query = sqlsrv_query($fiemecp->dbacc, "SELECT * FROM dbo.fPlugins WHERE [plugin_name] = ?", array($plugin_name), array( "Scrollable" => SQLSRV_CURSOR_KEYSET)); if (sqlsrv_num_rows($query) > 0) { sqlsrv_query($fiemecp->dbacc, "UPDATE fPlugins SET active='$towhat' WHERE plugin_name=?", array($plugin_name)); } call_user_func($plugin_name . "_deactivate"); header("Location: settings.php?page=plugins"); } else { //NOT VALID :(. $error = "The plugin is invalid! Contact the developer!

"; } } else { $error = "Plugin does not exist!

"; } } elseif (@$_GET['do'] == 'uninstall') { include FIEME_ROOT . 'cache/plugins'; $plugin_name = @$_GET['what']; //Check that it's all present!! if (file_exists(FIEME_ROOT . "includes/plugins/".$plugin_name.".php")) { require_once FIEME_ROOT . "includes/plugins/".$plugin_name.".php"; if (function_exists($plugin_name."_information") && function_exists($plugin_name."_activate") && function_exists($plugin_name."_deactivate") && function_exists($plugin_name."_uninstall")) { $query = sqlsrv_query($fiemecp->dbacc, "SELECT * FROM dbo.fPlugins WHERE [plugin_name] = ?", array($plugin_name), array( "Scrollable" => SQLSRV_CURSOR_KEYSET)); if (sqlsrv_num_rows($query) > 0) { $row = sqlsrv_fetch_array($query); sqlsrv_query($fiemecp->dbacc, "UPDATE fPlugins SET active='0' WHERE plugin_name=?", array($plugin_name)); } if ($row['active'] != 2) { call_user_func($plugin_name . "_deactivate"); } call_user_func($plugin_name . "_uninstall"); header("Location: settings.php?page=plugins"); } else { //NOT VALID :(. $error = "The plugin is invalid! Contact the developer!

"; } } else { $error = "Plugin does not exist!

"; } } ////////////////////////////////////////////////////////// ///////////GENERAL /////////////////////////////////////// ////////////////////////////////////////////////////////// elseif (@$_GET['do'] == 'ask_uninstall') { $error = "Are you sure you want to deinstall $_GET[what]? Yes || No

"; } //after edits up there.. $core->update_plugins(); $content = @$error . ""; if ($handle = opendir(FIEME_ROOT.'includes/plugins/')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && preg_match('/\.php$/i', $file)) { $plugin_name = substr($file, 0, strlen($file) - 4); include FIEME_ROOT . 'cache/plugins'; if (isset($p_c['active']["$plugin_name"]) || isset($p_c['deactive']["$plugin_name"])) { if (!function_exists($plugin_name . "_information")) { $na_bi = 1; //not active, but installed require_once FIEME_ROOT.'includes/plugins/'.$file; } //the plugin is activated, because it's already been loaded! $info = call_user_func($plugin_name . "_information"); //check if needs to be installed, deinstalled, or what.. if (function_exists($plugin_name . "_install")) { $a_d = ""; if (isset($na_bi)) { $a_d .= ""; $a_c = "#CCCCFF"; } else { $a_d .= ""; $a_c = "#CCFFCC"; } } else { $a_d = ""; $a_c = "#CCFFCC"; } if (is_array($info['fieme_rev'])) { $required_fieme = ""; foreach ($info['fieme_rev'] as $rev) { if ($required_fieme != "") { $required_fieme .= " // "; } $required_fieme .= $rev; } } else { $required_fieme = $info['fieme_rev']; } $content .= "$a_d
"; } else { //since the plugin name information function is not present, the function is not yet installed! require_once FIEME_ROOT.'includes/plugins/'.$file; $info = call_user_func($plugin_name . "_information"); //check if needs to be installed, deinstalled, or what.. if (function_exists($plugin_name . "_install")) { $a_d = ""; } else { $a_d = ""; } if (is_array($info['fieme_rev'])) { $required_fieme = ""; foreach ($info['fieme_rev'] as $rev) { if ($required_fieme != "") { $required_fieme .= " // "; } $required_fieme .= $rev; } } else { $required_fieme = $info['fieme_rev']; } $content .= "$a_d
"; } } } closedir($handle); } $content .= "
UninstallActivateDeactivateDeactivate
$info[name] $info[version] Active (from: $file)
Created by: $info[created_by] | Fieme Required: $required_fieme
$info[about]
Install & ActivateActivate
$info[name] $info[version] Not running (from: $file)
Created by: $info[created_by] | Fieme Required: $required_fieme
$info[about]
"; } else { //default action eval("\$content = \"" . $template->get("admin.settings.basic.main") . "\";"); $plugin->run_hooks("settings_extra"); } eval("\$links = \"" . $template->get("admin.settings.links") . "\";"); eval("\$page_settings = \"" . $template->get("admin.settings") . "\";"); output_page($page_settings, $settings->dev_mode_admin);