tbrehm
2012-10-15 49df59c9fb814834bfca91fc8efc0f2248b6a0e5
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>";
   
}