ГлавнаяПоддержкаБлог
Главная arrow Исходные тексты arrow function.js/Все функции
function.js/Все функции
Оглавление
function.js/Все функции
Функции работы с адресами, макросами
Учетные записи, Inspector, WordEditor
Перенос текста, квотирование
Параметры шаблона, xml
Конвертирование, HTML, rule
Форматирование, вложения
Инициализация пользователя, регистрация
Hidden message, xml параметры
function InitNewUserIfNeed(){
try{

 var verr = RegRead(GetReestrPath()+'InstalledVersion')+'';
 if(verr.length>5){return}

   fso = glob("Scripting.FileSystemObject");
/*   var d1 = func.DirAppData.replace(/\\[^\\]+\\$/gi, "");
   var d2 = func.DirAppData.replace(/\\$/gi, "");

 func.WaitShow(4, 'Create folder ['+d2+']', 'Initialization Potolook environment');
 func.ProcessMessages();

   if(!fso.FolderExists(d1)){ fso.CreateFolder(d1); }
   if(!fso.FolderExists(d2)){ fso.CreateFolder(d2); }

 func.WaitShow(4, 'Copying files...');
 func.ProcessMessages();

   fso.CopyFile(func.path+'Common\\AppData\\*.*', func.DirAppData);
*/
   var d1 = func.DirMyDocuments+MYDOCS_DIR;
   var d2 = func.DirMyDocuments+MYDOCS_DIR+'\\Templates';
   var d3 = func.DirMyDocuments+MYDOCS_DIR+'\\Scripts';
   var d4 = func.DirMyDocuments+MYDOCS_DIR+'\\Themes';

 func.WaitShow(4, 'Create folders ['+d1+']');
 func.ProcessMessages();

   if(!fso.FolderExists(d1)){ fso.CreateFolder(d1); }
   if(!fso.FolderExists(d2)){ fso.CreateFolder(d2); }
   if(!fso.FolderExists(d3)){ fso.CreateFolder(d3); }
   if(!fso.FolderExists(d4)){ fso.CreateFolder(d4); }

 func.WaitShow(4, 'Copying files...');
 func.ProcessMessages();

   fso.CopyFolder(func.path+'Common\\Templates', d2);
   fso.CopyFolder(func.path+'Common\\Scripts', d3);
   fso.CopyFolder(func.path+'Common\\Themes', d4);

 func.WaitShow(4, 'Move registry data...');
 func.ProcessMessages();

    var key1 = 'Software\\Positic\\Potolook\\';
    var Names = func.RegistryGetValueNames(key1, 2).split('\r\n');
    if(Names){
     var Sh = glob('WScript.Shell');
     var key = 'HKLM\\' + key1;
     var keyTo = 'HKCU\\' + key1;
     for(var i=0;i<Names.length;i++){
      var cv = Sh.RegRead(key+Names[i]);
      try{
        cv = cv.replace(/\[MyDocuments\]/, func.DirMyDocuments);
      }catch(e){}
      if((cv+"").length==1){
        Sh.RegWrite(keyTo+Names[i], cv, "REG_DWORD");
      }else{
        Sh.RegWrite(keyTo+Names[i], cv/*, "REG_SZ"*/);
      }
     }
     Sh = null;
    }

    var key1 = 'Software\\Positic\\Potolook\\Themes\\';
    var Names = func.RegistryGetValueNames(key1, 2).split('\r\n');
    if(Names){
     var Sh = glob('WScript.Shell');
     var key = 'HKLM\\' + key1;
     var keyTo = 'HKCU\\' + key1;
     for(var i=0;i<Names.length;i++){
      var cv = Sh.RegRead(key+Names[i]);
      try{
        cv = cv.replace(/\[MyDocuments\]/, func.DirMyDocuments);
      }catch(e){}
      if((cv+"").length==1){
        Sh.RegWrite(keyTo+Names[i], cv, "REG_DWORD");
      }else{
        Sh.RegWrite(keyTo+Names[i], cv/*, "REG_SZ"*/);
      }
     }
     Sh = null;
    }
    func.WaitClose();    
    glob("REG_MODULES_NEED") = 1;
 return(false)
}catch(e){
   func.WaitClose();
   return(e.message)
}
}

function RegisterDefaultModulesIfNeed(){
  try{
    if(!glob("REG_MODULES_NEED")) return;
    func.WaitShow(4, 'Register modules...');
    func.ProcessMessages();

      var WshShell = glob("WScript.Shell")
      WshShell.Run('WScript.exe "'+func.path+'Modules\\CompressAttachments\\CompressAtt.js" install silent', 0, true)
      WshShell.Run('WScript.exe "'+func.path+'Modules\\MailList\\MailList.js" install silent', 0, true)
      WshShell.Run('WScript.exe "'+func.path+'Modules\\MoveDuplicates\\MoveDuplicates.js" install silent', 0, true)
      WshShell.Run('WScript.exe "'+func.path+'Modules\\SelectTemplate\\SelectTemplate.js" install silent', 0, true)
      WshShell.Run('WScript.exe "'+func.path+'Modules\\ReplyWithTemplate\\ReplyWithTemplate.js" install silent', 0, true)
      WshShell.Run('WScript.exe "'+func.path+'Modules\\MassMail\\MassMail.js" install silent', 0, true)
      WshShell.Run('WScript.exe "'+func.path+'Modules\\Resender\\Resender.js" install silent', 0, true)
      WshShell.Run('WScript.exe "'+func.path+'Modules\\Reminder\\Reminder.js" install silent', 0, true)
      WshShell = null;

    func.WaitClose();
  }catch(e){}
}

function ClipboardData(){
 return(func.GetClipboard());
/*
 var result = '';
 var _ie = new ActiveXObject("PosScript.IeUI");
 try{
  _ie.Init();
  _ie.LoadFromURL("about:blank");
  result = _ie.Document.parentWindow.clipboardData.getData("Text");
  _ie.Quit();
  _ie = null;
 }catch(e){
  try{_ie.Quit();}catch(e){}
  _ie = null;
 }
 return(result)*/
}

function AddHeader(SafeItemObject, HeaderName, ValueHeader){
 try{
  var hTag = SafeItemObject.GetIDsFromNames("{00020386-0000-0000-C000-000000000046}", HeaderName)
  hTag = hTag|0x1E
  SafeItemObject.Fields(hTag) = ValueHeader;
 }catch(e){}
}

function PathFromFile(FileName){
 return(FileName.replace(/\\[\w]+\.[\w]+$/gi, "\\"))
}

function GetFolderOptions(OutlookFolder, NoCreate){
 var SaveLocation = RegRead(GetReestrPath()+'SaveLocation', -1);
 SaveLocation = SaveLocation<0?SaveLocation=0:SaveLocation;

 var SaveLocation_NS = RegRead(GetReestrPath()+'SaveLocation_NS');
 SaveLocation_NS = SaveLocation_NS?SaveLocation_NS:'Potolook Options&'+GetUserInfo()+'\r\n'+
                                                'Potolook Options';

 var SaveLocation_NS_Pos = RegRead(GetReestrPath()+'SaveLocation_NS_Pos', -1);
 SaveLocation_NS_Pos = SaveLocation_NS_Pos==-1?SaveLocation_NS_Pos=0:SaveLocation_NS_Pos;

 var CurrentNS = SaveLocation_NS.split('\r\n')[SaveLocation_NS_Pos]

 var IDFolderType = RegRead(GetReestrPath()+'IDFolderType', 0);

 var TextOptions = '', FileName = '';
 switch(SaveLocation){
 case 0:
        var chm;
        if(chm=GetHiddenMessageForFolder(OutlookFolder, CurrentNS)){
         TextOptions = chm.Body;
        }else{
         alert(printf(KeepErr3, [OutlookFolder.Name]), 1);
         return;
        }
        break;
 case 1:
        var SaveLocation_FolderID = '';
        if(SaveLocation_FolderID = RegRead(GetReestrPath()+'SaveLocation_FolderID')){
         var Folder;
         if(Folder = func.Application.GetNameSpace("MAPI").GetFolderFromID(SaveLocation_FolderID.split(':')[0],
                                                               SaveLocation_FolderID.split(':')[1])){
          var chm;
          if(chm=GetHiddenMessageForFolder(Folder, CurrentNS)){
           TextOptions = chm.Body;
          }
         }else{
          alert(printf(KeepErr2,[RegRead(GetReestrPath()+'SaveLocation_FolderName')]), 1)
          return;
         }
        }else{
         alert(printf(KeepErr1, [OutlookFolder.Name]), 1);
         return;
        }
        break;
 case 2:
        FileName = RegRead(GetReestrPath()+'SaveLocation_FileName');
        if(!FileExists(FileName)){
         if(func.Quest('', FileName+TE_FileNotExists, 1+2)==mrOk){
          try{
           glob("Scripting.FileSystemObject").CreateTextFile(FileName,true);
          }catch(e){
           alert(e.message, 1);
           return;
          }
         }else{
          return;
         }
        }
        TextOptions = LoadFromFile(FileName);
        break;
 }
 var xmlObj = GetXMLDoc(TextOptions);

 return([xmlObj, OutlookFolder, chm, FileName, IDFolderType])
}

function SaveFolderOptions(XMLHandler){
 if(!XMLHandler||!XMLHandler[0]){return}

 if(!XMLHandler[3]){
  XMLHandler[2].Fields(CdoPR_BODY) = XMLHandler[0].xml;
  XMLHandler[2].Subject = XMLHandler[2].Subject;
  try{
   XMLHandler[2].Save();
  }catch(e){
   alert(e.message, 1);
   return;
  }
 }else{
  try{
   var ff = glob("Scripting.FileSystemObject").OpenTextFile(XMLHandler[3], 2, true);
   ff.Write(XMLHandler[0].xml)
   ff.Close();
   ff = null;
  }catch(e){
   alert(e.message, 1);
   return;
  }
 }
}

function GetOption(XMLHandler, NameOptions, DefaultValue){
 if(!XMLHandler||!XMLHandler[0]){return}

 var OutlookFolder = XMLHandler[1];
 var FolderNode = GetFolderNode(XMLHandler[0].documentElement, OutlookFolder.StoreID, OutlookFolder.EntryID, XMLHandler[0], XMLHandler[4])
 return(xmlGetProp(FolderNode, NameOptions, DefaultValue, XMLHandler[0]));
}

function SetOption(XMLHandler, NameOptions, ValueOption){
 if(!XMLHandler||!XMLHandler[0]){return}
 var OutlookFolder = XMLHandler[1];
 var FolderNode = GetFolderNode(XMLHandler[0].documentElement, OutlookFolder.StoreID, OutlookFolder.EntryID, XMLHandler[0], XMLHandler[4])

 return(xmlSetProp(FolderNode, NameOptions, ValueOption, XMLHandler[0]));
}

function GetFolderNode(Node, StoreID, EntryID, xmlDoc, IDType){
 var FolderNode;
 var objNodeList = Node.getElementsByTagName('FOLDER');
 for (var i=0; i<objNodeList.length; i++) {
  var attr = objNodeList.item(i).attributes;
   if((!IDType||attr.getNamedItem('storeid').nodeValue==StoreID)
      &&
      attr.getNamedItem('entryid').nodeValue==EntryID
     ){
    FolderNode = objNodeList.item(i);
    break;
   }
 }
 if(!FolderNode){
  var FolderNode = xmlDoc.createElement('FOLDER');

  var attrStoreID = xmlDoc.createAttribute("storeid");
  attrStoreID.value = StoreID

  var attrEntryID = xmlDoc.createAttribute("entryid");
  attrEntryID.value = EntryID

  FolderNode.setAttributeNode(attrStoreID);
  FolderNode.setAttributeNode(attrEntryID);
  Node.appendChild(FolderNode);
 }
 return(FolderNode)
}


 


Загрузить Potolook
 
Плагин Potolook для Microsoft Outlook
Ментальная арифметика для детей
© 2004-2012 Позитик. Все права защищены.

Microsoft®, Outlook® и эмблема Office являются охраняемыми товарными знаками корпорации Майкрософт (Microsoft Corporation) в США и/или других странах.
Копирование и использование материалов разрешается только в случае указания явной гиперссылки на сайт http://www.potolook.ru, как на источник получения информации.

Разработка сайта — "Позитик"

Рейтинг@Mail.ru