/// <summary>Gets all modified MediaWiki messages (to be more precise, all messages that are
 /// contained in database), loads them into site.messages PageList (both titles and texts)
 /// and dumps them to XML file.</summary>
 /// <param name="forceLoad">If true, the messages are updated unconditionally. Otherwise
 /// the messages are updated only if they are outdated.</param>
 public void GetModifiedMediaWikiMessages(bool forceLoad)
 {
     if (messages == null)
         messages = new PageList(this);
     string filePathName = "Cache" + Path.DirectorySeparatorChar +
         HttpUtility.UrlEncode(site.Replace("://", ".")) + ".mw_db_msg.xml";
     if (forceLoad == false && File.Exists(filePathName) &&
         (DateTime.Now - File.GetLastWriteTime(filePathName)).Days <= 90) {
         messages.FillAndLoadFromXMLDump(filePathName);
         return;
     }
     Console.WriteLine(Bot.Msg("Updating MediaWiki messages dump. Please, wait..."));
     PageList pl = new PageList(this);
     bool prevBotQueryState = botQuery;
     botQuery = false;	// backward compatibility requirement
     pl.FillFromAllPages("!", 8, false, 100000);
     botQuery = prevBotQueryState;
     File.Delete(filePathName);
     pl.SaveXMLDumpToFile(filePathName);
     messages.FillAndLoadFromXMLDump(filePathName);
     Console.WriteLine(Bot.Msg("MediaWiki messages dump updated successfully."));
 }
 /// <summary>Gets all MediaWiki messages and dumps them to XML file. This function is
 /// obsolete, it won't work with current versions of MediaWiki software.</summary>
 /// <param name="forceLoad">If true, the messages are updated unconditionally. Otherwise
 /// the messages are updated only if they are outdated.</param>
 public void GetMediaWikiMessages(bool forceLoad)
 {
     if (messages == null)
         messages = new PageList(this);
     string filePathName = "Cache" + Path.DirectorySeparatorChar +
         HttpUtility.UrlEncode(site.Replace("://", ".")) + ".xml";
     if (forceLoad == false && File.Exists(filePathName) &&
         (DateTime.Now - File.GetLastWriteTime(filePathName)).Days <= 90) {
         messages.FillAndLoadFromXMLDump(filePathName);
         return;
     }
     Bot.LogEvent(Bot.Msg("Updating MediaWiki messages dump. Please, wait..."));
     PageList pl = new PageList(this);
     pl.FillFromAllPages("!", 8, false, 100000);
     File.Delete(filePathName);
     pl.SaveXMLDumpToFile(filePathName);
     messages.FillAndLoadFromXMLDump(filePathName);
     Bot.LogEvent(Bot.Msg("MediaWiki messages dump updated successfully."));
 }
        /// <summary>Gets all MediaWiki messages and dumps it to XML file.</summary>
        /// <param name="forceLoad">If true, the messages are forced to be updated.</param>
        public void GetMediaWikiMessages(bool forceLoad)
        {
            if (forceLoad == false)
                messages = new PageList(this);
                string filePathName = "Cache/" + HttpUtility.UrlEncode(site.Replace('/','_').Replace(':','_'))+ ".xml";

            if (forceLoad == false && File.Exists(filePathName) &&
                (DateTime.Now - File.GetLastWriteTime(filePathName)).Days  <= 90) {
                messages.FillAndLoadFromXMLDump(filePathName);
                return;
            }
            Console.WriteLine("Updating MediaWiki messages dump. Please, wait...");
            PageList pl = new PageList(this);
            pl.FillFromAllPages("!", 8, false, 10000);
            File.Delete(filePathName);
            pl.SaveXMLDumpToFile(filePathName);
            Console.WriteLine("MediaWiki messages dump updated successfully.");
            messages.FillAndLoadFromXMLDump(filePathName);
        }