563 lines
12 KiB
HTML
563 lines
12 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
|
|
<TITLE>Content Feedback</TITLE>
|
|
</HEAD>
|
|
<OBJECT ID=pchealth classid=CLSID:FC7D9E02-3F9E-11d3-93C0-00C04F72DAF7></OBJECT>
|
|
|
|
<LINK ID=Stylesheet_Ref1 href="css/PCHealth.css" rel=STYLESHEET type=text/css>
|
|
<LINK ID=Stylesheet_Ref2 href="css/Viewer.css" rel=STYLESHEET type=text/css>
|
|
|
|
<SCRIPT LANGUAGE=javascript>
|
|
|
|
var aDesktopApp = [
|
|
"Accessibility",
|
|
"Add New Hardware",
|
|
"Add/Remove Programs",
|
|
"Automatic Updates",
|
|
"Calculator",
|
|
"Control Panel",
|
|
"Date/Time",
|
|
"Display",
|
|
"Dial-Up Networking",
|
|
"File and Folder Management",
|
|
"Gaming Options",
|
|
"Getting Started",
|
|
"HelpCenter",
|
|
"Imaging",
|
|
"Internet Options",
|
|
"Internet Explorer",
|
|
"Keyboard",
|
|
"Modems",
|
|
"Mouse",
|
|
"Netmeeting",
|
|
"Notepad",
|
|
"Outlook Express",
|
|
"Paint",
|
|
"Power Options",
|
|
"Printers",
|
|
"Regional Settings",
|
|
"Scanners and Cameras",
|
|
"Scheduled Tasks",
|
|
"Search",
|
|
"System",
|
|
"System Restore",
|
|
"Taskbar and Start Menu",
|
|
"Telephony",
|
|
"User Accounts",
|
|
"Windows Media Player",
|
|
"Windows Movie Maker",
|
|
"Wordpad",
|
|
"END"
|
|
];
|
|
|
|
var aServerApp = [
|
|
"Accessibilities",
|
|
"ACME Setup",
|
|
"Active Setup",
|
|
"ADC",
|
|
"Agent",
|
|
"Canon",
|
|
"CDO",
|
|
"CFM/Cannon/Ricoh/ Scanner",
|
|
"CMAK",
|
|
"Com+",
|
|
"Compatibility Details",
|
|
"Core",
|
|
"CTMA/Comtrol",
|
|
"DEV Webadmin NNTP Help",
|
|
"DEV Wedadmin SMTP Help",
|
|
"Digi International",
|
|
"DirectX 7.0",
|
|
"Discover Tour",
|
|
"DOS Help",
|
|
"DPA Auth Package",
|
|
"Drivers",
|
|
"DSM",
|
|
"Eicon",
|
|
"Epson",
|
|
"Equinox",
|
|
"Exchange Intro (in win toc)",
|
|
"Front page",
|
|
"FrontPage Server Extensions -snap in",
|
|
"Fujitsu",
|
|
"FX!32",
|
|
"FX!33",
|
|
"Group Policy Editor",
|
|
"HCL",
|
|
"Hewlitt-Packard helpfile",
|
|
"IBM Trackpoint",
|
|
"IBM/Unimodem",
|
|
"IE Browser",
|
|
"IE Eula (license agreement)",
|
|
"IE Technical Support",
|
|
"IIS",
|
|
"Indexing Service",
|
|
"Inoculan",
|
|
"Internet Connection Wizard",
|
|
"Java Permissions",
|
|
"Java Security",
|
|
"Java VM",
|
|
"Kodak DC120",
|
|
"Kodak DC200",
|
|
"Kodak DC25",
|
|
"Lexmark",
|
|
"MDAC",
|
|
"Media Player",
|
|
"Microgate/WAN",
|
|
"Microtek",
|
|
"MMC Core",
|
|
"MS Chat",
|
|
"MSMQ",
|
|
"MSN",
|
|
"MSReport",
|
|
"MTS",
|
|
"Multimedia",
|
|
"NetMeeting 3.0",
|
|
"NetMeeting/Intel Connection Advisor S/W",
|
|
"Network Monitor",
|
|
"NNTP - snap-in",
|
|
"NNTP documentation",
|
|
"Not in 2000.3",
|
|
"ODBC Desktop Database Drivers 3.5 (Jet)/Core",
|
|
"ODBC Desktop Database Drivers 3.6/Core",
|
|
"ODBC for Oracle/Core",
|
|
"ODBC/Core",
|
|
"OLE DB/Core",
|
|
"Outlook Express",
|
|
"Peer/Comtrol",
|
|
"Portmon/Comtrol",
|
|
"Printing",
|
|
"Radius",
|
|
"RAS/Routing",
|
|
"Ratings",
|
|
"Readme",
|
|
"Release Notes",
|
|
"Scripting",
|
|
"Security",
|
|
"Setup",
|
|
"Shell",
|
|
"Shell Help",
|
|
"SMTP",
|
|
"SMTP documentation",
|
|
"SMTP snap-in",
|
|
"SQL",
|
|
"SQL & ODBC",
|
|
"SQL Server Client Configuration",
|
|
"SQL/Oracle",
|
|
"Stallion",
|
|
"Storm",
|
|
"SW",
|
|
"TTS/Speech API",
|
|
"UI",
|
|
"UMAX",
|
|
"Under Investigation",
|
|
"Unimodem",
|
|
"User Settings",
|
|
"Visual FoxPro",
|
|
"VSS/Comtrol",
|
|
"Wallet",
|
|
"WCOM/Comtrol",
|
|
"Web Publishing Wizard",
|
|
"WebAdmin",
|
|
"Webadmin NNTP Help",
|
|
"Wedadmin SMTP Help",
|
|
"Win2KDev",
|
|
"Win32 Client",
|
|
"Win9x Client",
|
|
"Windows Media Services",
|
|
"Windows Update",
|
|
"Xerox",
|
|
"END"
|
|
];
|
|
|
|
var aConsumerApp = aDesktopApp;
|
|
var aProfessionalApp = aDesktopApp;
|
|
var aServerApp = aServerApp;
|
|
var aAdvancedServerApp = aServerApp;
|
|
var aDataCenterApp = aServerApp;
|
|
|
|
var UL_MODE_BACKGROUND = 0x00000000;
|
|
var UL_MODE_FOREGROUND = 0x00000001;
|
|
var DATASPEC_FILE = "\\pchealth\\helpctr\\config\\feedback.xml"
|
|
var SAVE_FILE = "\\temp\\result.xml"
|
|
|
|
function VerifyForm()
|
|
{
|
|
var ErrorString = "";
|
|
|
|
//
|
|
// Verify the first question
|
|
//
|
|
if (document.feedback.betaid.value == "")
|
|
{
|
|
ErrorString += "Please provide us with a Beta ID.\n";
|
|
}
|
|
|
|
//
|
|
// Verify the second question
|
|
//
|
|
if (document.feedback.emailadd.value == "")
|
|
{
|
|
ErrorString += "Please provide us with an email.\n";
|
|
}
|
|
|
|
//
|
|
// Verify the third question
|
|
//
|
|
if (!document.feedback.answer[0].checked &&
|
|
!document.feedback.answer[1].checked &&
|
|
!document.feedback.answer[2].checked)
|
|
{
|
|
ErrorString += "Please tell us if the information answered your question.\n";
|
|
}
|
|
|
|
//
|
|
// Verify the fourth question
|
|
//
|
|
if (!document.feedback.find[0].checked &&
|
|
!document.feedback.find[1].checked &&
|
|
!document.feedback.find[2].checked)
|
|
{
|
|
ErrorString += "Please tell us if the information was easy to find.\n";
|
|
}
|
|
|
|
if (ErrorString == "")
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
alert("We are missing some information :\n\n" + ErrorString);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function DataUploadProgress(DataUploadPtr, done, total)
|
|
{
|
|
document.all.Progress.innerHTML = "Uploading data : " + (done / total) * 100 + "% done";
|
|
}
|
|
|
|
function DataUploadStatusChange(job, status)
|
|
{
|
|
var strStatus;
|
|
|
|
switch(job.status)
|
|
{
|
|
case 0 : strStatus = "Not Active"; break;
|
|
case 1 : strStatus = "Active"; break;
|
|
case 2 : strStatus = "Suspended"; break;
|
|
case 3 : strStatus = "Transmitting"; break;
|
|
case 4 : strStatus = "Aborted"; break;
|
|
case 5 : strStatus = "Failed"; break;
|
|
case 6 : strStatus = "Completed"; break;
|
|
case 7 : strStatus = "Deleted"; break;
|
|
};
|
|
|
|
document.all.Progress.innerHTML = "Status : " + strStatus;
|
|
}
|
|
|
|
|
|
function DataCollectionComplete(DataCollectionPtr, hresult)
|
|
{
|
|
var oFSO;
|
|
var oIncident;
|
|
var oDict;
|
|
var folderWindir;
|
|
var strDataspec;
|
|
var oResultFile;
|
|
var oUL;
|
|
var oJob;
|
|
|
|
//
|
|
// check if there is an error
|
|
//
|
|
if ((hresult != 0) || (DataCollectionPtr.Status != 3))
|
|
{
|
|
var ErrMsg;
|
|
|
|
ErrMsg = "Error while collecting data : " + hresult + "\n";
|
|
switch (DataCollectionPtr.Status)
|
|
{
|
|
case 0 : ErrMsg += "Not Active"; break;
|
|
case 1 : ErrMsg += "Collecting"; break;
|
|
case 2 : ErrMsg += "Failed"; break;
|
|
case 4 : ErrMsg += "No Delta"; break;
|
|
case 5 : ErrMsg += "Comparing"; break;
|
|
}
|
|
alert(ErrMsg);
|
|
return;
|
|
}
|
|
|
|
//
|
|
// Create the incident object
|
|
//
|
|
oIncident = pchealth.CreateObject_Incident();
|
|
|
|
//
|
|
// Save the machine data
|
|
//
|
|
oIncident.MachineSnapshot = DataCollectionPtr.MachineData_GetStream();
|
|
|
|
//
|
|
// Save the session information
|
|
//
|
|
var temp = pchealth.HelpSession.VisitedHelpPages(0);
|
|
oIncident.SelfHelpTrace = pchealth.HelpSession.VisitedHelpPages(0);
|
|
|
|
//
|
|
// Get the dictionary object
|
|
//
|
|
oDict = oIncident.Misc
|
|
|
|
//
|
|
// Save the beta id or email name
|
|
//
|
|
oDict.Add("BetaID", document.feedback.betaid.value);
|
|
|
|
//
|
|
// Save the answer question
|
|
//
|
|
if (document.feedback.answer[0].checked)
|
|
oDict.Add("AnswerQuestion", "YES");
|
|
else if (document.feedback.answer[1].checked)
|
|
oDict.Add("AnswerQuestion", "NO");
|
|
else if (document.feedback.answer[2].checked)
|
|
oDict.Add("AnswerQuestion", "DOESNOTAPPLY");
|
|
oDict.Add("AnswerQuestionComment", document.feedback.answercomment.value);
|
|
|
|
//
|
|
// Save the easy to find question
|
|
//
|
|
if (document.feedback.answer[0].checked)
|
|
oDict.Add("FindQuestion", "YES");
|
|
else if (document.feedback.answer[1].checked)
|
|
oDict.Add("FindQuestion", "NO");
|
|
else if (document.feedback.answer[2].checked)
|
|
oDict.Add("FindQuestion", "IDONTKNOW");
|
|
oDict.Add("FindQuestionComment", document.feedback.findcomment.value);
|
|
|
|
//
|
|
// Save the SKU
|
|
//
|
|
oDict.Add("MachineSKU", pchealth.UserSettings.MachineSKU);
|
|
oDict.Add("CurrentSKU", pchealth.UserSettings.CurrentSKU);
|
|
|
|
//
|
|
// Save the language
|
|
//
|
|
oDict.Add("MachineLang", pchealth.UserSettings.MachineLanguage);
|
|
oDict.Add("CurrentLang", pchealth.UserSettings.CurrentLanguage);
|
|
|
|
//
|
|
// Save the application
|
|
//
|
|
oDict.Add("Application", document.feedback.application.value);
|
|
|
|
//
|
|
// Save the HelpCtr build
|
|
//
|
|
oDict.Add("HCBUILDNUM", "Undefined");
|
|
|
|
//
|
|
// Save the blob
|
|
//
|
|
oFSO = new ActiveXObject("Scripting.FileSystemObject");
|
|
folderWindir = oFSO.GetSpecialFolder(0);
|
|
strDataspec = folderWindir.Path + SAVE_FILE;
|
|
pchealth.CopyStreamToFile(strDataspec, oIncident.GetXMLAsStream());
|
|
|
|
//
|
|
// create the upload library
|
|
//
|
|
oUL = new ActiveXObject( "UploadManager.MPCUpload" );
|
|
|
|
//
|
|
// Create a job
|
|
//
|
|
oJob = oUL.CreateJob();
|
|
oJob.Sig = ""; // Generate ID automatically.
|
|
oJob.Server = "http://lameerror/hclame/uploadserver.dll";
|
|
oJob.ProviderID = "hclame";
|
|
oJob.Mode = UL_MODE_FOREGROUND;
|
|
// oJob.Mode = UL_MODE_BACKGROUND;
|
|
// oJob.History = 2; // 2 = Keep Log and Data
|
|
oJob.Compressed = false;
|
|
oJob.PersistToDisk = true;
|
|
oJob.GetDataFromFile( strDataspec );
|
|
|
|
oJob.onStatusChange = DataUploadStatusChange;
|
|
oJob.onProgressChange = DataUploadProgress;
|
|
|
|
//
|
|
// Upload it
|
|
//
|
|
oJob.ActivateAsync();
|
|
}
|
|
|
|
function DataCollectionProgress(DataCollectionPtr, done, total)
|
|
{
|
|
document.all.Progress.innerHTML = "Collecting data : " + (done / total) * 100 + "% done";
|
|
}
|
|
|
|
function CollectSystemInfo()
|
|
{
|
|
var oFSO;
|
|
var folderWindir;
|
|
var strDataspec;
|
|
var oDC;
|
|
|
|
// Create the file system object
|
|
oFSO = new ActiveXObject("Scripting.FileSystemObject");
|
|
|
|
// Locate the dataspec file
|
|
folderWindir = oFSO.GetSpecialFolder(0);
|
|
strDataspec = folderWindir.Path + DATASPEC_FILE;
|
|
|
|
// Create the data collection object and collect the data
|
|
oDC = pchealth.CreateObject_DataCollection();
|
|
oDC.MachineData_Dataspec = strDataspec;
|
|
oDC.onComplete = DataCollectionComplete;
|
|
oDC.onProgress = DataCollectionProgress;
|
|
oDC.ExecuteASync();
|
|
}
|
|
|
|
function SubmitFeedback()
|
|
{
|
|
if (VerifyForm())
|
|
{
|
|
//
|
|
// Save the email and beta id
|
|
//
|
|
WshShell.RegWrite("HKCU\\Software\\Microsoft\\PCHealth\\HelpCtr\\UserSettings\\HelpComments\\BetaID", document.feedback.betaid.value);
|
|
WshShell.RegWrite("HKCU\\Software\\Microsoft\\PCHealth\\HelpCtr\\UserSettings\\HelpComments\\Email", document.feedback.emailadd.value);
|
|
|
|
//
|
|
// Collect the system information
|
|
//
|
|
CollectSystemInfo();
|
|
}
|
|
}
|
|
|
|
function AddApps(aAppArray)
|
|
{
|
|
var iIndex;
|
|
|
|
// Empty the list
|
|
document.feedback.application.length = 0;
|
|
|
|
// Add the new items
|
|
for(iIndex = 0; aAppArray[iIndex] != "END"; iIndex++)
|
|
{
|
|
var newElem = document.createElement("OPTION");
|
|
newElem.text = aAppArray[iIndex];
|
|
newElem.value = aAppArray[iIndex];
|
|
document.feedback.application.add(newElem);
|
|
}
|
|
}
|
|
|
|
function Consumer()
|
|
{
|
|
AddApps(aConsumerApp);
|
|
}
|
|
|
|
function Professional()
|
|
{
|
|
AddApps(aProfessionalApp);
|
|
}
|
|
|
|
function Server()
|
|
{
|
|
AddApps(aServerApp);
|
|
}
|
|
|
|
function AdvancedServer()
|
|
{
|
|
AddApps(aAdvancedServerApp);
|
|
}
|
|
|
|
function DataCenter()
|
|
{
|
|
AddApps(aDataCenterApp);
|
|
}
|
|
|
|
</SCRIPT>
|
|
|
|
<BODY>
|
|
<FONT FACE="ARIAL" size=2 color=navy>
|
|
<H2>Help Center Feedback</H2>
|
|
<form NAME="feedback">
|
|
<P>
|
|
<STRONG>1. Beta ID</STRONG>
|
|
<INPUT id=betaid name=betaid>
|
|
</P>
|
|
<P>
|
|
<STRONG>2. Email Address </STRONG>
|
|
<INPUT id=emailadd name=emailadd>
|
|
</P>
|
|
<P>
|
|
<STRONG>3. Did the information in this article help answer your question?</STRONG><BR>
|
|
<INPUT name="answer" type=radio>Yes
|
|
<INPUT name="answer" type=radio>No
|
|
<INPUT name="answer" type=radio>Does not apply<BR>
|
|
Comments :<BR><TEXTAREA name=answercomment style="HEIGHT: 127px; WIDTH: 356px"></TEXTAREA>
|
|
</P>
|
|
|
|
<P>
|
|
<STRONG>4. Was this topic easy to find?</STRONG><BR>
|
|
<INPUT name="find" type=radio>Yes
|
|
<INPUT name="find" type=radio>No
|
|
<INPUT name="find" type=radio>I don't know<BR>
|
|
Comments :<BR><TEXTAREA name=findcomment style="HEIGHT: 127px; WIDTH: 356px"></TEXTAREA>
|
|
</P>
|
|
<P>
|
|
<STRONG>5. Which application does this feedback apply to?</STRONG>
|
|
</P>
|
|
<P>
|
|
<STRONG><SELECT name=application style="HEIGHT: 22px; WIDTH: 211px">
|
|
</SELECT>
|
|
</P>
|
|
<div id=Progress >
|
|
<P>
|
|
<INPUT id=submit1 name=submit1 type=button value="Submit Feedback" onclick="SubmitFeedback()">
|
|
</P>
|
|
</form></DIV></STRONG>
|
|
|
|
<SCRIPT language=jscript>
|
|
|
|
//
|
|
// Populate the form with the previously saved betaid and email address
|
|
//
|
|
var WshShell = new ActiveXObject("WScript.Shell");
|
|
|
|
try
|
|
{
|
|
document.feedback.betaid.value = WshShell.RegRead("HKCU\\Software\\Microsoft\\PCHealth\\HelpCtr\\UserSettings\\HelpComments\\BetaID");
|
|
document.feedback.emailadd.value = WshShell.RegRead("HKCU\\Software\\Microsoft\\PCHealth\\HelpCtr\\UserSettings\\HelpComments\\Email");
|
|
}
|
|
catch(e)
|
|
{
|
|
WshShell.RegWrite("HKCU\\Software\\Microsoft\\PCHealth\\HelpCtr\\UserSettings\\HelpComments\\BetaID", "");
|
|
WshShell.RegWrite("HKCU\\Software\\Microsoft\\PCHealth\\HelpCtr\\UserSettings\\HelpComments\\Email", "");
|
|
}
|
|
|
|
//
|
|
// Populate the app drop down list based on the user's current SKU
|
|
//
|
|
if (pchealth.UserSettings.CurrentSKU == "Personal" || pchealth.UserSettings.CurrentSKU == "Personal_64")
|
|
Consumer();
|
|
else if (pchealth.UserSettings.CurrentSKU == "Professional" || pchealth.UserSettings.CurrentSKU == "Professional_64")
|
|
Professional();
|
|
else if (pchealth.UserSettings.CurrentSKU == "Server" || pchealth.UserSettings.CurrentSKU == "Server_64")
|
|
Server();
|
|
else if (pchealth.UserSettings.CurrentSKU == "AdvServer" || pchealth.UserSettings.CurrentSKU == "AdvServer_64")
|
|
AdvancedServer();
|
|
else if (pchealth.UserSettings.CurrentSKU == "DataCenter" || pchealth.UserSettings.CurrentSKU == "DataCenter_64")
|
|
DataCenter();
|
|
|
|
</SCRIPT>
|
|
|
|
|
|
</BODY>
|
|
</HTML>
|