#include "stdafx.h" #include "globals.h" #include "fstream.h" #include "direct.h" #include <Winbase.h> #include <direct.h> #include "comp.h" #include "ib.h" extern CString rootPath;// = GetGlobal("Root"); extern CString configName;// = GetGlobal("CustomizationList"); extern CString configPath;// = rootPath + "Configs\\" + configName; extern CString cdPath ;// = configPath + "\\CD"; extern CString workspacePath;// = configPath + "\\Workspace"; extern CString cdshellPath; //CString CDout="CD_output"; void CreateHelpMenu (void) { CString root = GetGlobal("Root"); CString config = GetGlobal("CustomizationList"); CString file1 = root + "\\help1.txt"; CString file2 = root + "\\help2.txt"; CString HelpPath = root + "\\Configs\\" + config + "\\Temp\\"; _mkdir (HelpPath); CString HelpMenuFile = HelpPath +"helpMenu.rdf"; CString HelpMenuName = GetGlobal("HelpMenuCommandName"); CString HelpMenuUrl = GetGlobal("HelpMenuCommandURL"); if ( !(HelpMenuName.IsEmpty()) && !(HelpMenuUrl.IsEmpty()) ) { ifstream help1(file1); ifstream help2(file2); ofstream Hlp(HelpMenuFile); char jsprefname[200]; if(!help1) { cout << "cannot open the file \n"; } while (!help1.eof()) { help1.getline(jsprefname,200); Hlp <<jsprefname<<"\n"; } Hlp << " <menuitem label=\"" << HelpMenuName << "\"\n"; Hlp << " position=\"6\"\n"; Hlp << " oncommand=\"openTopWin('" << HelpMenuUrl << "');\" />\n"; // Hlp <<"<menuitem position=\"7\" value=\""<<HelpMenuName<<"\"\n\t"; // Hlp <<"oncommand=\"openTopWin('"<<HelpMenuUrl<<"')\" /> \n\t"; // Hlp <<"<menuseparator position=\"9\" /> \n"; if(!help2) { cout << "cannot open the file \n"; } while (!help2.eof()) { help2.getline(jsprefname,200); Hlp <<jsprefname<<"\n"; } Hlp.close(); } } // This function creates the file "mailaccount.rdf" to customize the Mail account void CreateIspMenu(void) { CString root = GetGlobal("Root"); CString config = GetGlobal("CustomizationList"); CString IspPath = root + "\\Configs\\" + config + "\\Temp\\";//ISpPath=CCKTool\Configs\configname\Temp _mkdir (IspPath); CString ispDomainName = GetGlobal("DomainName"); CString ispPrettyName = GetGlobal("PrettyName"); CString ispLongName = GetGlobal("LongName"); CString ispInServer = GetGlobal("IncomingServer"); CString ispOutServer = GetGlobal("OutgoingServer"); CString ispPortNumber = GetGlobal("PortNumber"); CString serverType; // Determine whether the server type is POP or IMAP CString pop = GetGlobal("pop"); if (pop == "1") serverType = "pop3"; else serverType = "imap"; CString popMessage = GetGlobal("PopMessages"); // check if "leave pop messages on server" option is set if (popMessage == "0") popMessage = "false"; else if (popMessage == "1") popMessage = "true"; // mailaccount.rdf file is created only if values are entered for all the fields in the CCK mail UI if (!( (ispDomainName.IsEmpty()) || (ispPrettyName.IsEmpty()) || (ispLongName.IsEmpty()) || (ispInServer.IsEmpty()) || (ispOutServer.IsEmpty()) || (ispPortNumber.IsEmpty()) )) { CString IspFile = IspPath +"mailaccount.rdf"; ofstream Isp(IspFile); char *shortname; char tempdomain[25]; strcpy(tempdomain,ispDomainName); shortname = strtok(tempdomain,"."); if (!Isp) { cout << "The file cannot be opened \n"; } else { Isp <<"<\?xml version=\"1.0\"\?>\n"; Isp <<"<RDF:RDF\n"; Isp <<" xmlns:NC=\"http://home.netscape.com/NC-rdf#\"\n"; Isp <<" xmlns:RDF=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n\n"; Isp <<"<RDF:Description about=\"NC:ispinfo\">\n"; Isp <<" <NC:providers>\n"; Isp <<" <NC:nsIMsgAccount about=\"domain:" << ispDomainName << "\">\n\n"; Isp <<" <!-- server info -->\n"; Isp <<" <NC:incomingServer>\n"; Isp <<" <NC:nsIMsgIncomingServer>\n"; Isp <<" <NC:prettyName>" << ispPrettyName << "</NC:prettyName>\n"; Isp <<" <NC:hostName>" << ispInServer << "</NC:hostName>\n"; Isp <<" <NC:type>" << serverType << "</NC:type>\n"; Isp <<" <NC:port>" << ispPortNumber << "</NC:port>\n"; Isp <<" <NC:rememberPassword>false</NC:rememberPassword>\n"; if (serverType == "pop3") { Isp <<" <NC:ServerType-pop3>\n"; Isp <<" <NC:nsIPopIncomingServer>\n"; Isp <<" <NC:leaveMessagesOnServer>" << popMessage << "</NC:leaveMessagesOnServer>\n"; Isp <<" <NC:deleteMailLeftOnServer>false</NC:deleteMailLeftOnServer>\n"; Isp <<" </NC:nsIPopIncomingServer>\n"; Isp <<" </NC:ServerType-pop3>\n"; } Isp <<" </NC:nsIMsgIncomingServer>\n"; Isp <<" </NC:incomingServer>\n\n"; Isp <<" <!-- identity defaults -->\n"; Isp <<" <NC:identity>\n"; Isp <<" <NC:nsIMsgIdentity>\n"; Isp <<" <NC:composeHtml>false</NC:composeHtml>\n"; Isp <<" <NC:bccSelf>false</NC:bccSelf>\n"; Isp <<" </NC:nsIMsgIdentity>\n"; Isp <<" </NC:identity>\n\n"; Isp <<" <NC:smtp>\n"; Isp <<" <NC:nsISmtpServer>\n"; Isp <<" <NC:hostname>" << ispOutServer << "</NC:hostname>\n"; Isp <<" </NC:nsISmtpServer>\n"; Isp <<" </NC:smtp>\n\n"; Isp <<" <NC:smtpRequiresUsername>true</NC:smtpRequiresUsername>\n"; Isp <<" <NC:smtpCreateNewServer>ture</NC:smtpCreateNewServer>\n"; Isp <<" <NC:smtpUsePreferredServer>true</NC:smtpUsePreferredServer>\n\n"; Isp <<" <NC:wizardSkipPanels>true</NC:wizardSkipPanels>\n"; Isp <<" <NC:wizardShortName>" << shortname << "</NC:wizardShortName>\n"; Isp <<" <NC:wizardLongName>" << ispLongName << "</NC:wizardLongName>\n"; Isp <<" <NC:wizardShow>true</NC:wizardShow>\n"; Isp <<" <NC:wizardPromote>true</NC:wizardPromote>\n"; Isp <<" <NC:emailProviderName>" << ispDomainName << "</NC:emailProviderName>\n"; Isp <<" <NC:sampleEmail>username@" << ispDomainName << "</NC:sampleEmail>\n"; Isp <<" <NC:sampleUserName>username</NC:sampleUserName>\n"; Isp <<" <NC:emailIDDescription>user name</NC:emailIDDescription>\n"; Isp <<" <NC:emailIDFieldTitle>User name:</NC:emailIDFieldTitle>\n"; Isp <<" <NC:showServerDetailsOnWizardSummary>false</NC:showServerDetailsOnWizardSummary>\n"; Isp <<" </NC:nsIMsgAccount>\n"; Isp <<" </NC:providers>\n"; Isp <<"</RDF:Description>\n\n"; Isp <<"</RDF:RDF>\n"; } Isp.close(); } } // This function creates the file "newsaccount.rdf" to customize the News account void CreateNewsMenu(void) { CString root = GetGlobal("Root"); CString config = GetGlobal("CustomizationList"); CString NewsPath = root + "\\Configs\\" + config + "\\Temp\\";//NewsPath=CCKTool\Configs\configname\Temp _mkdir (NewsPath); CString newsDomainName = GetGlobal("nDomainName"); CString newsPrettyName = GetGlobal("nPrettyName"); CString newsLongName = GetGlobal("nLongName"); CString newsServer = GetGlobal("nServer"); CString newsPortNumber = GetGlobal("nPortNumber"); // newsaccount.rdf file is created only if values are entered for all the fields in the CCK News UI if (!( (newsDomainName.IsEmpty()) || (newsPrettyName.IsEmpty()) || (newsLongName.IsEmpty()) || (newsServer.IsEmpty()) || (newsPortNumber.IsEmpty()) )) { CString NewsFile = NewsPath +"newsaccount.rdf"; ofstream News(NewsFile); char *shortname; char tempdomain[25]; strcpy(tempdomain,newsDomainName); shortname = strtok(tempdomain,"."); if (!News) { cout << "The file cannot be opened \n"; } else { News <<"<\?xml version=\"1.0\"\?>\n"; News <<"<RDF:RDF\n"; News <<" xmlns:NC=\"http://home.netscape.com/NC-rdf#\"\n"; News <<" xmlns:RDF=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n\n"; News <<"<RDF:Description about=\"NC:ispinfo\">\n"; News <<" <NC:providers>\n"; News <<" <NC:nsIMsgAccount about=\"domain:" << newsDomainName << "\">\n\n"; News <<" <!-- server info -->\n"; News <<" <NC:incomingServer>\n"; News <<" <NC:nsIMsgIncomingServer>\n"; News <<" <NC:prettyName>" << newsPrettyName << "</NC:prettyName>\n"; News <<" <NC:hostName>" << newsServer << "</NC:hostName>\n"; News <<" <NC:type>nntp</NC:type>\n"; News <<" <NC:port>" << newsPortNumber << "</NC:port>\n"; News <<" <NC:rememberPassword>false</NC:rememberPassword>\n"; News <<" </NC:nsIMsgIncomingServer>\n"; News <<" </NC:incomingServer>\n\n"; News <<" <!-- identity defaults -->\n"; News <<" <NC:identity>\n"; News <<" <NC:nsIMsgIdentity>\n"; News <<" <NC:composeHtml>false</NC:composeHtml>\n"; News <<" <NC:bccSelf>false</NC:bccSelf>\n"; News <<" </NC:nsIMsgIdentity>\n"; News <<" </NC:identity>\n\n"; News <<" <NC:wizardSkipPanels>true</NC:wizardSkipPanels>\n"; News <<" <NC:wizardShortName>" << shortname << "</NC:wizardShortName>\n"; News <<" <NC:wizardLongName>" << newsLongName << "</NC:wizardLongName>\n"; News <<" <NC:wizardShow>true</NC:wizardShow>\n"; News <<" <NC:wizardPromote>true</NC:wizardPromote>\n"; News <<" <NC:emailProviderName>" << newsDomainName << "</NC:emailProviderName>\n"; News <<" <NC:sampleEmail>username@" << newsDomainName << "</NC:sampleEmail>\n"; News <<" <NC:sampleUserName>username</NC:sampleUserName>\n"; News <<" <NC:emailIDDescription>user name</NC:emailIDDescription>\n"; News <<" <NC:emailIDFieldTitle>User name:</NC:emailIDFieldTitle>\n"; News <<" <NC:showServerDetailsOnWizardSummary>false</NC:showServerDetailsOnWizardSummary>\n"; News <<" </NC:nsIMsgAccount>\n"; News <<" </NC:providers>\n"; News <<"</RDF:Description>\n\n"; News <<"</RDF:RDF>\n"; } News.close(); } }