From c1f1611f498429d4da7d7d0f09a20f8333a9dbac Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Sun, 24 Feb 2013 05:57:49 -0500
Subject: [PATCH] - Fixed FS#2702 - custom app vhost conf not taken.

---
 interface/web/admin/software_package_install.php |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/interface/web/admin/software_package_install.php b/interface/web/admin/software_package_install.php
index 3013eb1..f838177 100644
--- a/interface/web/admin/software_package_install.php
+++ b/interface/web/admin/software_package_install.php
@@ -38,7 +38,7 @@
 if(!$app->auth->is_admin()) die('only allowed for administrators.');
 
 $package_name = $app->db->quote($_REQUEST['package']);
-$install_server_id = intval($_REQUEST['server_id']);
+$install_server_id = $app->functions->intval($_REQUEST['server_id']);
 $install_key = $app->db->quote(trim($_REQUEST['install_key']));
 
 $package = $app->db->queryOneRecord("SELECT * FROM software_package WHERE package_name = '$package_name'");
@@ -89,14 +89,47 @@
 													'database_password' => md5(mt_rand()),
 													'database_host' => 'localhost');
 			$package_config_str = $app->ini_parser->get_ini_string($package_config_array);
+			$package['package_config'] = $package_config_str;
 			$app->db->datalogUpdate('software_package', "package_config = '".$app->db->quote($package_config_str)."'", 'package_id',$package['package_id']);
 		}
+	}
+	
+	//* If the packages requires a remote user
+	if($package['package_remote_functions'] != '') {
+		
+		if(trim($package['package_config']) != '') {
+			$package_config_array = $app->ini_parser->parse_ini_string(stripslashes($package['package_config']));
+		}
+		
+		if(!isset($package_config_array['remote_api'])) {
+			$remote_user = 'ispapp'.$package['package_id'];
+			$remote_password = md5(mt_rand());
+			$remote_functions = $app->db->quote($package['package_remote_functions']);
+			
+			$package_config_array['remote_api'] = array(
+													'remote_hostname'	=> $_SERVER['HTTP_HOST'],
+													'remote_user' 		=> $remote_user,
+													'remote_password' 	=> $remote_password
+														);
+
+			$package_config_str = $app->ini_parser->get_ini_string($package_config_array);
+			$package['package_config'] = $package_config_str;
+			$remote_password_md5 = md5($remote_password);
+			$app->db->datalogUpdate('software_package', "package_config = '".$app->db->quote($package_config_str)."'", 'package_id',$package['package_id']);
+			
+			$sql = "INSERT INTO `remote_user` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `remote_username`, `remote_password`, `remote_functions`) VALUES
+					(1, 1, 'riud', 'riud', '', '$remote_user', '$remote_password_md5', '$remote_functions');";
+			
+			$app->db->query($sql);
+			
+		}
+	
 	}
 	
 	//* Add the record to start the install process
 	$insert_data = "(package_name, server_id, software_update_id, status) VALUES ('$package_name', '$install_server_id', '$software_update_id','installing')";
 	$app->db->datalogInsert('software_update_inst', $insert_data, 'software_update_inst_id');
-	$message_ok = 'Starting package installation '."<a href=\"#\" onClick=\"submitForm('pageForm','admin/software_package_list.php');\">".$app->lng('next')."</a>";
+	$message_ok = 'Starting package installation '."<a href=\"#\" onclick=\"submitForm('pageForm','admin/software_package_list.php');\">".$app->lng('next')."</a>";
 	
 }
 

--
Gitblit v1.9.1