Example #1
0
        //
        //====================================================================================================
        /// <summary>
        /// getFieldEditorPreference remote method
        /// </summary>
        /// <param name="cp"></param>
        /// <returns></returns>
        public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
        {
            string result = "";

            try {
                CoreController core = ((CPClass)cp).core;
                if (core.session.isAuthenticated && core.session.isAuthenticatedAdmin())
                {
                    //
                    // Save the site sites
                    //
                    core.wwwFiles.saveFile(DynamicStylesFilename, core.docProperties.getText("SiteStyles"));
                    if (core.docProperties.getBoolean(RequestNameInlineStyles))
                    {
                        //
                        // Inline Styles
                        //
                        core.siteProperties.setProperty("StylesheetSerialNumber", "0");
                    }
                    else
                    {
                        //
                        // Linked Styles
                        // Bump the Style Serial Number so next fetch is not cached
                        //
                        int StyleSN = core.siteProperties.getInteger("StylesheetSerialNumber", 0);
                        StyleSN = StyleSN + 1;
                        core.siteProperties.setProperty("StylesheetSerialNumber", GenericController.encodeText(StyleSN));
                    }
                }
            } catch (Exception ex) {
                cp.Site.ErrorReport(ex);
            }
            return(result);
        }
        //
        //====================================================================================================
        /// <summary>
        /// getFieldEditorPreference remote method
        /// </summary>
        /// <param name="cp"></param>
        /// <returns></returns>
        public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
        {
            string result = "";

            try {
                CoreController core = ((CPClass)cp).core;
                //
                // save custom styles
                if (core.session.isAuthenticatedAdmin())
                {
                    int addonId = core.docProperties.getInteger("AddonID");
                    if (addonId > 0)
                    {
                        AddonModel styleAddon = DbBaseModel.create <AddonModel>(core.cpParent, addonId);
                        if (styleAddon.stylesFilename.content != core.docProperties.getText("CustomStyles"))
                        {
                            styleAddon.stylesFilename.content = core.docProperties.getText("CustomStyles");
                            styleAddon.save(core.cpParent);
                            //
                            // Clear Caches
                            //
                            DbBaseModel.invalidateCacheOfRecord <AddonModel>(core.cpParent, addonId);
                        }
                    }
                }
            } catch (Exception ex) {
                cp.Site.ErrorReport(ex);
            }
            return(result);
        }
Example #3
0
        //
        //====================================================================================================
        /// <summary>
        /// getFieldEditorPreference remote method
        /// </summary>
        /// <param name="cp"></param>
        /// <returns></returns>
        public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
        {
            string result = "";

            try {
                CoreController core = ((CPClass)cp).core;
                //
                // -- send password
                string Emailtext = core.docProperties.getText("email");
                if (!string.IsNullOrEmpty(Emailtext))
                {
                    string sendStatus = "";
                    LoginController.sendPassword(core, Emailtext, ref sendStatus);
                    result += ""
                              + "<div style=\"width:300px;margin:100px auto 0 auto;\">"
                              + "<p>An attempt to send login information for email address '" + Emailtext + "' has been made.</p>"
                              + "<p><a href=\"?" + core.doc.refreshQueryString + "\">Return to the Site.</a></p>"
                              + "</div>";
                    core.doc.continueProcessing = false;
                }
            } catch (Exception ex) {
                cp.Site.ErrorReport(ex);
            }
            return(result);
        }
Example #4
0
        //
        //====================================================================================================
        /// <summary>
        /// addon interface
        /// </summary>
        /// <param name="cp"></param>
        /// <returns></returns>
        public override object Execute(CPBaseClass cp)
        {
            string result = "";

            try {
                CoreController core = ((CPClass)cp).core;
                //
                LogController.logInfo(core, "Housekeep");
                //
                var env         = new HouseKeepEnvironmentModel(core);
                int TimeoutSave = core.db.sqlCommandTimeout;
                core.db.sqlCommandTimeout = 1800;
                //
                // -- hourly tasks
                HourlyTasksClass.housekeep(core, env);
                //
                // -- daily tasks
                if (env.forceHousekeep || env.runDailyTasks)
                {
                    DailyTasksClass.housekeepDaily(core, env);
                }
                core.db.sqlCommandTimeout = TimeoutSave;
            } catch (Exception ex) {
                cp.Site.ErrorReport(ex);
            }
            return(result);
        }
Example #5
0
        //
        //====================================================================================================
        /// <summary>
        /// getFieldEditorPreference remote method
        /// </summary>
        /// <param name="cp"></param>
        /// <returns></returns>
        public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
        {
            string result = "";

            try {
                CoreController core = ((CPClass)cp).core;
                //
                // ----- Redirect with RC and RI
                //
                core.doc.redirectContentID = core.docProperties.getInteger(rnRedirectContentId);
                core.doc.redirectRecordID  = core.docProperties.getInteger(rnRedirectRecordId);
                if (core.doc.redirectContentID != 0 && core.doc.redirectRecordID != 0)
                {
                    string ContentName = MetadataController.getContentNameByID(core, core.doc.redirectContentID);
                    if (!string.IsNullOrEmpty(ContentName))
                    {
                        core.webServer.redirectByRecord_ReturnStatus(ContentName, core.doc.redirectRecordID, "");
                        result = "";
                        core.doc.continueProcessing = false;
                    }
                }
            } catch (Exception ex) {
                cp.Site.ErrorReport(ex);
            }
            return(result);
        }
Example #6
0
        //
        //====================================================================================================
        /// <summary>
        /// Add meta data for favicon to meta data
        /// </summary>
        /// <param name="cp"></param>
        /// <returns></returns>
        public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
        {
            string result = "";

            try {
                CoreController core     = ((CPClass)cp).core;
                string         Filename = core.siteProperties.getText("FaviconFilename", "");
                if (string.IsNullOrEmpty(Filename))
                {
                    //
                    // no favicon, 404 the call
                    //
                    core.webServer.setResponseStatus(WebServerController.httpResponseStatus404_NotFound);
                    core.webServer.setResponseContentType("image/gif");
                    core.doc.continueProcessing = false;
                    return(string.Empty);
                }
                else
                {
                    core.doc.continueProcessing = false;
                    return(core.webServer.redirect(GenericController.getCdnFileLink(core, Filename), "favicon request", false, false));
                }
            } catch (Exception ex) {
                cp.Site.ErrorReport(ex);
            }
            return(result);
        }
Example #7
0
    public void Awake()
    {
        this._core = GameObject.Find("Core").GetComponent <CoreController>();

        // Collisions
        this._colliders = new List <Collider2D>();

        // Set material
        this._paradoxMaterial = GetComponent <util_material>();
        this._paradoxMaterial.setMaterial(new Material(Shader.Find("Paradox_outline_shader")));

        // Setup RESET
        this._reset = GetComponent <util_resetable>();
        this._reset.saveObject();

        // Set default movement
        this._body          = GetComponent <Rigidbody2D>();
        this._body.bodyType = RigidbodyType2D.Kinematic;
        this._body.useFullKinematicContacts = true;

        // Setup drag util
        this.drag = ScriptableObject.CreateInstance <util_drag>();
        this.drag.setup(this._body);

        // SETUP game object
        this.tag = "paradox_object";
        this.gameObject.layer = 11;

        this.setMaterialColor(this._defaultColor);
    }
 public static void housekeep(CoreController core, HouseKeepEnvironmentModel env)
 {
     try {
         //
         // ContentWatchListRules with bad ContentWatchID
         //
         LogController.logInfo(core, "Deleting ContentWatchList Rules with bad ContentWatchID.");
         string sql = "delete ccContentWatchListRules"
                      + " From ccContentWatchListRules"
                      + " LEFT JOIN ccContentWatch on ccContentWatch.ID=ccContentWatchListRules.ContentWatchID"
                      + " WHERE (ccContentWatch.ID is null)";
         core.db.executeNonQuery(sql);
         //
         // ContentWatchListRules with bad ContentWatchListID
         //
         LogController.logInfo(core, "Deleting ContentWatchList Rules with bad ContentWatchListID.");
         sql = "delete ccContentWatchListRules"
               + " From ccContentWatchListRules"
               + " LEFT JOIN ccContentWatchLists on ccContentWatchLists.ID=ccContentWatchListRules.ContentWatchListID"
               + " WHERE (ccContentWatchLists.ID is null)";
         core.db.executeNonQuery(sql);
     } catch (Exception ex) {
         LogController.logError(core, ex);
     }
 }
Example #9
0
 public static void housekeep(CoreController core, HouseKeepEnvironmentModel env)
 {
     try {
         //
         LogController.logInfo(core, "Housekeep, grouprules");
         //
         //
         // GroupRules with bad ContentID
         //   Handled record by record removed to prevent CDEF reload
         //
         LogController.logInfo(core, "Deleting Group Rules with bad ContentID.");
         string sql = "Select ccGroupRules.ID"
                      + " From ccGroupRules LEFT JOIN ccContent on ccContent.ID=ccGroupRules.ContentID"
                      + " WHERE (ccContent.ID is null)";
         using (var csData = new CsModel(core)) {
             csData.openSql(sql);
             while (csData.ok())
             {
                 MetadataController.deleteContentRecord(core, "Group Rules", csData.getInteger("ID"));
                 csData.goNext();
             }
         }
         //
         // GroupRules with bad GroupID
         //
         LogController.logInfo(core, "Deleting Group Rules with bad GroupID.");
         sql = "delete ccGroupRules"
               + " From ccGroupRules"
               + " LEFT JOIN ccgroups on ccgroups.ID=ccGroupRules.GroupID"
               + " WHERE (ccgroups.ID is null)";
         core.db.executeNonQuery(sql);
     } catch (Exception ex) {
         LogController.logError(core, ex);
     }
 }
Example #10
0
 void Awake()
 {
     DontDestroyOnLoad(gameObject);
     instance         = this;
     gameController   = GetComponent <GameController>();
     playerController = GetComponent <PlayerController>();
 }
Example #11
0
 //
 //====================================================================================================
 /// <summary>
 /// execute an sql command on a given datasource and save the result as csv in a cdn file
 /// </summary>
 /// <param name="cp"></param>
 /// <returns></returns>
 public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
 {
     try {
         CoreController core = ((CPClass)cp).core;
         //
         LogController.logTrace(core, "ExportCsvClass.execute, sql [" + cp.Doc.GetText("sql") + "]");
         //
         string dataSource = cp.Doc.GetText("datasource");
         using (var db = cp.DbNew(dataSource)) {
             //
             // -- no way to know how big this is. 30 minute timeout
             db.SQLTimeout = 1800;
             using (DataTable dt = db.ExecuteQuery(cp.Doc.GetText("sql"))) {
                 string result = dt.toCsv();
                 //
                 LogController.logTrace(core, "ExportCsvClass.execute, result [" + (result.Length > 100 ? result.Substring(0, 100) : result) + "]");
                 //
                 return(result);
             }
         }
     } catch (Exception ex) {
         cp.Site.ErrorReport(ex);
     }
     return("");
 }
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.CompareTag("EnemySpark"))
     {
         SparkController spark = collision.gameObject.GetComponent <SparkController>();
         if (spark.energy - energy <= 0)
         {
             Destroy(collision.gameObject);
         }
         if (energy - spark.energy <= 0)
         {
             Destroy(gameObject);
         }
         energy -= spark.energy;
     }
     else if (collision.gameObject.CompareTag("PlayerCore"))
     {
         CoreController playerCore = collision.gameObject.GetComponent <CoreController>();
         playerCore.GetDamage(energy);
         Destroy(gameObject);
     }
     else if (collision.gameObject.CompareTag("EnemyCore"))
     {
         EnemyCoreController enemyCore = collision.gameObject.GetComponent <EnemyCoreController>();
         enemyCore.GetDamage(energy);
         Destroy(gameObject);
     }
 }
Example #13
0
        private void Server_ClientConnected(object sender, ServerClientEventArgs e)
        {
            //var simulator = new SimulatorController(e.Client); // Old
            ICoreController simulator = new CoreController(e.Client);

            simulator.Start();
        }
        //
        //====================================================================================================
        /// <summary>
        /// get ServerConfig, returning only the server data section without specific serverConfig.app
        /// </summary>
        /// <param name="cp"></param>
        /// <param name="recordId"></param>
        public static ServerConfigModel getObject(CoreController core)
        {
            ServerConfigModel returnModel = null;

            try {
                //
                // ----- read/create serverConfig
                string JSONTemp = core.programDataFiles.readFileText("config.json");
                if (string.IsNullOrEmpty(JSONTemp))
                {
                    //
                    // for now it fails, maybe later let it autobuild a local cluster
                    //
                    returnModel = new ServerConfigModel();
                    core.programDataFiles.saveFile("config.json", SerializeObject(returnModel));
                }
                else
                {
                    returnModel = DeserializeObject <ServerConfigModel>(JSONTemp);
                }
            } catch (Exception ex) {
                LogController.logError(core, ex, "exception in serverConfigModel.getObject");
            }
            return(returnModel);
        }
Example #15
0
        //
        //========================================================================
        //
        public static void requestDownload(CoreController core, int customReportId)
        {
            //
            // Request the download
            //
            var customReport = DbBaseModel.create <CustomReportModel>(core.cpParent, customReportId);

            if (customReport != null)
            {
                var ExportCSVAddon = DbBaseModel.create <AddonModel>(core.cpParent, addonGuidExportCSV);
                if (ExportCSVAddon == null)
                {
                    LogController.logError(core, new GenericException("ExportCSV addon not found. Task could not be added to task queue."));
                }
                else
                {
                    var docProperties = new Dictionary <string, string> {
                        { "sql", customReport.sqlQuery },
                        { "datasource", "default" }
                    };
                    var cmdDetail = new TaskModel.CmdDetailClass {
                        addonId   = ExportCSVAddon.id,
                        addonName = ExportCSVAddon.name,
                        args      = docProperties
                    };
                    string ExportFilename = "CustomReport_" + customReport.id.ToString("00000000") + ".csv";
                    string reportName     = customReport.name ?? "#" + customReport.id;
                    TaskSchedulerController.addTaskToQueue(core, cmdDetail, false, "Custom Report, " + reportName, ExportFilename);
                }
            }
        }
Example #16
0
 //
 public static string get(CoreController core)
 {
     try {
         StringBuilderLegacyController result_reset = new StringBuilderLegacyController();
         result_reset.add(AdminUIController.getHeaderTitleDescription("IIS Reset", "Reset the webserver."));
         //
         // Process the form
         //
         string Button = core.docProperties.getText("button");
         if (Button == ButtonIISReset)
         {
             //
             //
             //
             LogController.logDebug(core, "Restarting IIS");
             core.webServer.redirect("" + cdnPrefix + "Popup/WaitForIISReset.htm", "Redirect to iis reset");
             Thread.Sleep(2000);
             var cmdDetail = new TaskModel.CmdDetailClass {
                 addonId   = 0,
                 addonName = "GetForm_IISReset",
                 args      = new Dictionary <string, string>()
             };
             TaskSchedulerController.addTaskToQueue(core, cmdDetail, false);
         }
         //
         // Display form
         //
         return(AdminUIController.getToolForm(core, result_reset.text, ButtonCancel + "," + ButtonIISReset));
     } catch (Exception ex) {
         LogController.logError(core, ex);
         return(string.Empty);
     }
 }
Example #17
0
        //
        //====================================================================================================
        /// <summary>
        /// get configuration and assign an application
        /// </summary>
        /// <param name="cp"></param>
        /// <param name="recordId"></param>
        public static AppConfigModel getObject(CoreController core, ServerConfigModel serverConfig, string appName)
        {
            AppConfigModel returnModel = null;

            try {
                if (!string.IsNullOrEmpty(appName))
                {
                    if (!serverConfig.apps.ContainsKey(appName.ToLowerInvariant()))
                    {
                        //
                        // -- application not configured
                        returnModel = null;
                        throw new GenericException("application [" + appName + "] was not found in this server group.");
                    }
                    else
                    {
                        //
                        // -- return config object from serverConfig
                        returnModel = (AppConfigModel)serverConfig.apps[appName.ToLowerInvariant()];
                    }
                }
            } catch (Exception ex) {
                LogController.logFatal(core, ex, "exception in serverConfigModel.getObject");
                throw;
            }
            return(returnModel);
        }
Example #18
0
 //
 //====================================================================================================
 /// <summary>
 /// getFieldEditorPreference remote method
 /// </summary>
 /// <param name="cp"></param>
 /// <returns></returns>
 public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
 {
     try {
         CoreController core = ((CPClass)cp).core;
         //
         // -- Email click detected
         EmailDropModel emailDrop = DbBaseModel.create <EmailDropModel>(core.cpParent, core.docProperties.getInteger(rnEmailClickFlag));
         if (emailDrop != null)
         {
             PersonModel recipient = DbBaseModel.create <PersonModel>(core.cpParent, core.docProperties.getInteger(rnEmailMemberId));
             if (recipient != null)
             {
                 EmailLogModel log = DbBaseModel.addDefault <EmailLogModel>(core.cpParent);
                 log.name        = "User " + recipient.name + " clicked link from email drop " + emailDrop.name + " at " + core.doc.profileStartTime.ToString();
                 log.emailDropId = emailDrop.id;
                 log.emailId     = emailDrop.emailId;
                 log.memberId    = recipient.id;
                 log.logType     = EmailLogTypeClick;
                 log.visitId     = cp.Visit.Id;
                 log.save(cp);
             }
         }
     } catch (Exception ex) {
         cp.Site.ErrorReport(ex);
     }
     return("");
 }
Example #19
0
        //
        //====================================================================================================
        /// <summary>
        /// Return robots.exe. NOTE - this route requires an exception added to web.config
        /// </summary>
        /// <param name="cp"></param>
        /// <returns></returns>
        public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
        {
            string result = "";

            try {
                CoreController core = ((CPClass)cp).core;
                //
                // -- Robots.txt
                string Filename = "config/RobotsTxtBase.txt";
                //
                // set this way because the preferences page needs a filename in a site property (enhance later)
                core.siteProperties.setProperty("RobotsTxtFilename", Filename);
                result = core.cdnFiles.readFileText(Filename);
                if (string.IsNullOrEmpty(result))
                {
                    //
                    // save default robots.txt
                    //
                    result = "User-agent: *\r\nDisallow: /admin/\r\nDisallow: /images/";
                    core.wwwFiles.saveFile(Filename, result);
                }
                result += core.addonCache.robotsTxt;
                core.webServer.setResponseContentType("text/plain");
                core.doc.continueProcessing = false;
            } catch (Exception ex) {
                cp.Site.ErrorReport(ex);
            }
            return(result);
        }
Example #20
0
        public async void ValidCore()
        {
            CoreController controller = new CoreController();
            var            result     = await controller.Index();

            Assert.IsType <ViewResult>(result);
        }
Example #21
0
    // Use this for initialization
    public void Awake()
    {
        this._material = new Material(Shader.Find("Char_shader"));

        this._renderer = GetComponent <SpriteRenderer>();
        this._renderer.sharedMaterial = this._material;

        this._animator = GetComponent <Animator>();
        if (this._animator != null)
        {
            this._animator.speed = 0f;
        }

        this._deathAnimator = this.deathObject.GetComponent <Animator>();
        this._deathAnimator.SetInteger("isDead", 0);

        this._boxCollider           = GetComponent <BoxCollider2D>();
        this._boxCollider.isTrigger = true;

        this._core = GameObject.Find("Core").GetComponent <CoreController>();

        this.name             = "logic_target";
        this.gameObject.layer = 12;

        this.updateColors();
    }
Example #22
0
        static void Main(string[] args)
        {
            //Initializes the program
            CoreController coreLogic = new CoreController();

            coreLogic.Start();
        }
Example #23
0
        /// <summary>
        /// Gets and stores components for further use
        /// </summary>
        protected virtual void Initialization()
        {
            _character              = GetComponent <Character>();
            _controller             = GetComponent <CoreController>();
            _characterBasicMovement = GetComponent <CharacterHorizontalMovement>();
            //_characterGravity = GetComponent<CharacterGravity> ();
            _spriteRenderer = GetComponent <SpriteRenderer>();
            //_health = GetComponent<Health> ();
            _animator = _character._animator;
            //_sceneCamera = _character.SceneCamera;
            _inputManager       = _character.LinkedInputManager;
            _state              = _character.CharacterState;
            _movement           = _character.MovementState;
            _condition          = _character.ConditionState;
            _abilityInitialized = true;
            if (_animator != null)
            {
                InitializeAnimatorParameters();
            }

            if (_character._userProfiler != null)
            {
                _userProfiler = _character._userProfiler;
            }
        }
Example #24
0
        public CoreControllerTests()
        {
            m_coreLinkMock = new Mock <ICoreLink>();
            ICoreLink coreLink = m_coreLinkMock.Object;

            m_controller = new CoreController(coreLink, TimeoutMs / 5);
        }
Example #25
0
        //
        //====================================================================================================
        /// <summary>
        /// getFieldEditorPreference remote method
        /// </summary>
        /// <param name="cp"></param>
        /// <returns></returns>
        public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
        {
            string result = "";

            try {
                CoreController core = ((CPClass)cp).core;
                //
                core.doc.addRefreshQueryString(RequestNameHardCodedPage, HardCodedPageSiteExplorer);
                string LinkObjectName = core.docProperties.getText("LinkObjectName");
                if (!string.IsNullOrEmpty(LinkObjectName))
                {
                    //
                    // Open a page compatible with a dialog
                    //
                    core.doc.addRefreshQueryString("LinkObjectName", LinkObjectName);
                    core.html.addTitle("Site Explorer");
                    core.doc.setMetaContent(0, 0);
                    string copy = core.addon.execute(AddonModel.createByUniqueName(core.cpParent, "Site Explorer"), new CPUtilsBaseClass.addonExecuteContext {
                        addonType           = CPUtilsBaseClass.addonContext.ContextPage,
                        errorContextMessage = "processing site explorer response"
                    });
                    core.html.addScriptCode_onLoad("document.body.style.overflow='scroll';", "Site Explorer");
                    string htmlBodyTag = "<body class=\"container-fluid ccBodyAdmin ccCon\" style=\"overflow:scroll\">";
                    string htmlBody    = ""
                                         + GenericController.nop(core.html.getPanelHeader("Contensive Site Explorer")) + "\r<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr><td>"
                                         + GenericController.nop(copy) + "\r</td></tr></table>"
                                         + "";
                    result = core.html.getHtmlDoc(htmlBody, htmlBodyTag, false, false);
                    core.doc.continueProcessing = false;
                }
            } catch (Exception ex) {
                cp.Site.ErrorReport(ex);
            }
            return(result);
        }
 //
 //====================================================================================================
 /// <summary>
 /// Delete stale visit properties (older than 24 hrs)
 /// </summary>
 /// <param name="core"></param>
 public static void housekeep(CoreController core)
 {
     try {
         //
         LogController.logInfo(core, "Housekeep, visitproperites");
         //
         {
             //
             // Visit Properties with no visits
             string sql = "delete ccproperties from ccproperties left join ccvisits on ccvisits.id=ccproperties.keyid where (ccproperties.typeid=1) and (ccvisits.id is null)";
             core.db.sqlCommandTimeout = 180;
             Task.Run(() => core.db.executeNonQueryAsync(sql));
         }
         {
             //
             // -- delete properties of visits over 1 hour old
             string sql = "delete from ccproperties from ccproperties p left join  ccvisits v on (v.id=p.keyid and p.typeid=1) where v.lastvisittime<dateadd(hour, -1, getdate())";
             core.db.sqlCommandTimeout = 180;
             Task.Run(() => core.db.executeNonQueryAsync(sql));
         }
         {
             //
             // -- fallback, delete all visit properties over 24 hours old
             string sql = "delete from ccProperties where (TypeID=1)and(dateAdded<dateadd(hour, -24, getdate()))";
             core.db.sqlCommandTimeout = 180;
             Task.Run(() => core.db.executeNonQueryAsync(sql));
         }
     } catch (Exception ex) {
         LogController.logError(core, ex);
     }
 }
        //
        //====================================================================================================
        /// <summary>
        /// getFieldEditorPreference remote method
        /// </summary>
        /// <param name="cp"></param>
        /// <returns></returns>
        public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
        {
            string result = "";

            try {
                CoreController core = ((CPClass)cp).core;

                string         ArgList = core.docProperties.getText("args");
                string[]       Args    = ArgList.Split('&');
                GoogleDataType gd      = new GoogleDataType();
                gd.IsEmpty = true;
                for (var Ptr = 0; Ptr <= Args.GetUpperBound(0); Ptr++)
                {
                    string[] ArgNameValue  = Args[Ptr].Split('=');
                    string   PropertyName  = ArgNameValue[0];
                    string   PropertyValue = "";
                    if (ArgNameValue.GetUpperBound(0) > 0)
                    {
                        PropertyValue = ArgNameValue[1];
                    }
                    core.visitProperty.setProperty(PropertyName, PropertyValue);
                }
                result = RemoteQueryController.format(core, gd, RemoteQueryController.RemoteFormatEnum.RemoteFormatJsonNameValue);
                result = HtmlController.encodeHtml(result);
            } catch (Exception ex) {
                cp.Site.ErrorReport(ex);
            }
            return(result);
        }
        //====================================================================================================
        //
        public static void housekeep(CoreController core, HouseKeepEnvironmentModel env)
        {
            try {
                //
                LogController.logInfo(core, "Housekeep, viewingsummary");
                //
                //
                // -- there is a bug and I need to move on.
                return;

                //
                // Page View Summary
                //
                {
                    DateTime datePtr = default;
                    using (var csData = new CsModel(core)) {
                        if (!csData.openSql(core.db.getSQLSelect("ccviewingsummary", "DateNumber", "TimeDuration=24 and DateNumber>=" + env.oldestVisitSummaryWeCareAbout.Date.ToOADate(), "DateNumber Desc", "", 1)))
                        {
                            datePtr = env.oldestVisitSummaryWeCareAbout;
                        }
                        else
                        {
                            datePtr = DateTime.MinValue.AddDays(csData.getInteger("DateNumber"));
                        }
                    }
                    if (datePtr < env.oldestVisitSummaryWeCareAbout)
                    {
                        datePtr = env.oldestVisitSummaryWeCareAbout;
                    }
                    pageViewSummary(core, datePtr, env.yesterday, 24, core.siteProperties.dataBuildVersion, env.oldestVisitSummaryWeCareAbout);
                }
            } catch (Exception ex) {
                LogController.logError(core, ex);
            }
        }
Example #29
0
 //
 //====================================================================================================
 /// <summary>
 /// getFieldEditorPreference remote method
 /// </summary>
 /// <param name="cp"></param>
 /// <returns></returns>
 public override object Execute(Contensive.BaseClasses.CPBaseClass cp)
 {
     try {
         CoreController core        = ((CPClass)cp).core;
         int            emailDropId = core.docProperties.getInteger(rnEmailOpenFlag);
         if (emailDropId != 0)
         {
             //
             // -- Email open detected. Log it and redirect to a 1x1 spacer
             EmailDropModel emailDrop = DbBaseModel.create <EmailDropModel>(core.cpParent, emailDropId);
             if (emailDrop != null)
             {
                 PersonModel recipient = DbBaseModel.create <PersonModel>(core.cpParent, core.docProperties.getInteger(rnEmailMemberId));
                 if (recipient != null)
                 {
                     EmailLogModel log = DbBaseModel.addDefault <EmailLogModel>(core.cpParent);
                     log.name        = "User " + recipient.name + " opened email drop " + emailDrop.name + " at " + core.doc.profileStartTime.ToString();
                     log.emailDropId = emailDrop.id;
                     log.emailId     = emailDrop.emailId;
                     log.memberId    = recipient.id;
                     log.logType     = EmailLogTypeOpen;
                     log.visitId     = cp.Visit.Id;
                     log.save(cp);
                 }
             }
         }
         core.webServer.redirect(NonEncodedLink: "" + cdnPrefix + "images/spacer.gif", RedirectReason: "Group Email Open hit, redirecting to a dummy image", IsPageNotFound: false, allowDebugMessage: false);
     } catch (Exception ex) {
         cp.Site.ErrorReport(ex);
     }
     return("");
 }
Example #30
0
 public static void housekeep(CoreController core, HouseKeepEnvironmentModel env)
 {
     try {
         //
         LogController.logInfo(core, "Housekeep, visitors");
         {
             //
             LogController.logInfo(core, "Deleting visitors with no visits");
             //
             core.db.sqlCommandTimeout = 180;
             core.db.executeNonQuery("delete ccVisitors from ccVisitors Left Join ccVisits on ccVisits.VisitorID=ccVisitors.ID where ccVisits.ID is null");
         }
         //
         //
         // delete nocookie visits
         // This must happen after the housekeep summarizing, and no sooner then 48 hours ago so all hits have been summarized before deleting
         //
         if (env.archiveDeleteNoCookie)
         {
             //
             // delete visitors from the non-cookie visits
             //
             LogController.logInfo(core, "Deleting visitors from visits with no cookie support older than Midnight, Two Days Ago");
             string sql = "delete from ccvisitors from ccvisitors r,ccvisits v where r.id=v.visitorid and(v.CookieSupport=0)and(v.LastVisitTime<DATEADD(day,-2,CAST(GETDATE() AS DATE)))";
             core.db.sqlCommandTimeout = 180;
             core.db.executeNonQuery(sql);
         }
     } catch (Exception ex) {
         LogController.logError(core, ex);
     }
 }
 public static void SetTheCoreController( CoreController      TheObject  )
 {
     TheCoreController = TheObject;
 }