Exemplo n.º 1
0
    private void editModule(string recordId)
    {
        var obj = new PigeonCms.ModuleType();
        LblOk.Text = "";
        LblErr.Text = "";

        clearForm();
        base.CurrentKey = recordId;

        obj = new ModuleTypeManager().GetByFullName(base.CurrentKey);
        obj2form(obj);

        MultiView1.ActiveViewIndex = (int)ViewIndex.EditModule;
    }
Exemplo n.º 2
0
    /// <summary>
    /// loads the right params list for current module
    /// </summary>
    /// <param name="moduleId"></param>
    public void LoadParams(Module currentModule)
    {
        PigeonCms.ModuleType modType = null;
        PigeonCms.ModuleType viewType = null;

        try
        {
            modType = currentModule.ModuleType;
        }
        catch (Exception ex)
        {
            Tracer.Log("LoadParams(): error loading module params", TracerItemType.Error, ex);
        }

        TxtCssFile.Text = currentModule.CssFile;
        TxtCssClass.Text = currentModule.CssClass;
        TxtSystemMessagesTo.Text = currentModule.SystemMessagesTo;
        Utility.SetDropByValue(DropUseCache, ((int)currentModule.UseCache).ToString());
        Utility.SetDropByValue(DropUseLog, ((int)currentModule.UseLog).ToString());
        ChkDirectEditMode.Checked = currentModule.DirectEditMode;
        ChkDirectEditMode.Enabled = true;
        if (!modType.AllowDirectEditMode)
        {
            ChkDirectEditMode.Enabled = false;
        }

        List<ResLabel> labelsList;  //localized labels for module params
        labelsList = LabelsProvider.GetLabelsByResourceSet(currentModule.ModuleFullName);
        if (!string.IsNullOrEmpty(currentModule.CurrView))
        {
            //loads current view specific params
            viewType = new ModuleTypeManager().GetByFullName(
                currentModule.ModuleFullName, currentModule.CurrView.Replace(".ascx", ".xml"));
        }

        //clear previous params list
        while (PanelParams.Controls.Count > 0)
        {
            PanelParams.Controls.RemoveAt(0);
        }
        FormBuilder.RenderParamsOnPanel(PanelParams, currentModule.Params, modType.Params, labelsList);
        if (viewType != null)
            FormBuilder.RenderParamsOnPanel(PanelParams, currentModule.Params, viewType.Params, labelsList);
    }
Exemplo n.º 3
0
    private void loadDropsModuleTypes()
    {
        try
        {
            DropModuleTypesFilter.Items.Clear();
            DropModuleTypesFilter.Items.Add(new ListItem(Utility.GetLabel("LblSelectModule", "Select module"), ""));

            ModuleTypeFilter filter = new ModuleTypeFilter();
            List<ModuleType> recordList = new ModuleTypeManager(true).GetByFilter(filter, "FullName");
            foreach (ModuleType record1 in recordList)
            {
                DropModuleTypesFilter.Items.Add(
                    new ListItem(record1.FullName, record1.FullName));
            }
        }
        catch (Exception ex)
        {
            LblErr.Text = ex.ToString();
        }
    }
Exemplo n.º 4
0
        /// <summary>
        /// install additional components (modules, themes, etc)
        /// </summary>
        /// <param name="sourceFolder">
        /// absolute path of source folder ex:c:\..\..\..\installation\tmp\modulename
        /// with unpacked installation files and folders
        /// </param>
        public static void Install(string sourceFolder)
        {
            DbProviderFactory myProv = Database.ProviderFactory;
            DbTransaction myTrans = null;
            DbConnection myConn = myProv.CreateConnection();
            DbDataReader myRd = null;
            DbCommand myCmd = myConn.CreateCommand();
            string sqlQuery = ""; ;

            ModuleType moduleType = new ModuleType();

            try
            {
                moduleType = new ModuleTypeManager().GetByPath(sourceFolder, "install.xml");

                //execute sql install
                if (moduleType.InstallQueries.Count > 0)
                {
                    try
                    {
                        myConn.ConnectionString = Database.ConnString;
                        myConn.Open();
                        myCmd.Connection = myConn;
                        myTrans = myConn.BeginTransaction();
                        myCmd.Transaction = myTrans;

                        foreach (string query in moduleType.InstallQueries)
                        {
                            sqlQuery += Database.ParseSql(query);
                        }
                        Database.ExecuteQuery(myRd, myCmd, sqlQuery);
                    }
                    catch (Exception ex)
                    {
                        myTrans.Rollback();
                        throw ex;
                    }
                    finally
                    {
                        myTrans.Dispose();
                        myConn.Dispose();
                    }
                }

                string currFolder;
                string destFolder;
                //code folder
                currFolder = Path.Combine(sourceFolder, "_install\\code");
                destFolder = HttpContext.Current.Request.MapPath("~/App_Code/modules/"+ moduleType.FullName);
                if (Directory.Exists(currFolder))
                    Utility.CopyFolder(currFolder, destFolder);
                //admin folder
                currFolder = Path.Combine(sourceFolder, "_install\\admin");
                destFolder = HttpContext.Current.Request.MapPath("~/Admin/" + moduleType.FullName);
                if (Directory.Exists(currFolder))
                    Utility.CopyFolder(currFolder, destFolder);
                //module folders
                currFolder = Path.Combine(sourceFolder, "");
                destFolder = HttpContext.Current.Request.MapPath("~/Modules/" + moduleType.FullName);
                if (Directory.Exists(currFolder))
                    Utility.CopyFolder(currFolder, destFolder);
            }
            catch (Exception e)
            {
                PigeonCms.Tracer.Log("Error installing " + sourceFolder + ": " + e.ToString(), TracerItemType.Error);
                throw e;
            }
            finally
            {

            }
        }
Exemplo n.º 5
0
    private void loadDropsModuleTypes()
    {
        try
        {
            DropNewItem.Items.Clear();
            DropNewItem.Items.Add(new ListItem(
                PigeonCms.Utility.GetLabel("LblCreateNew", "Create new"), ""));

            DropModuleTypes.Items.Clear();

            DropModuleTypesFilter.Items.Clear();
            DropModuleTypesFilter.Items.Add(new ListItem(Utility.GetLabel("LblSelectModule", "Select module"), ""));

            //add all content type except .Module
            foreach (string item in Enum.GetNames(typeof(PigeonCms.MenuContentType)))
            {
                int value = (int)Enum.Parse(typeof(PigeonCms.MenuContentType), item);
                if (value != (int)PigeonCms.MenuContentType.Module)
                {
                    DropNewItem.Items.Add(
                        new ListItem(item, value.ToString()));
                    DropModuleTypes.Items.Add(
                        new ListItem(item, value.ToString()));
                }
            }
            //add all installed modules in list
            //ModuleTypeFilter filter = new ModuleTypeFilter();
            //List<ModuleType> recordList = new ModuleTypeManager().GetByFilter(filter, "FullName");
            Dictionary<string, string> recordList = new ModuleTypeManager(true).GetList();
            foreach (var record1 in recordList)
            {
                DropNewItem.Items.Add(
                    new ListItem(record1.Key, record1.Value));
                DropModuleTypes.Items.Add(
                    new ListItem(record1.Key, record1.Value));
                DropModuleTypesFilter.Items.Add(
                    new ListItem(record1.Key, record1.Value));

                //new ListItem(record1.FullName, record1.FullName)
            }
        }
        catch (Exception ex)
        {
            LitErr.Text = RenderError(ex.ToString());
        }
    }
Exemplo n.º 6
0
    private bool form2module(PigeonCms.Menu menu, Module currModule)
    {
        bool res = true;
        int dropValue = -1;
        if (int.TryParse(DropModuleTypes.SelectedValue, out dropValue))
        {
            res = false;
        }
        else
        {
            currModule.ModuleNamespace = DropModuleTypes.SelectedItem.Text.Split('.')[0];
            currModule.ModuleName = DropModuleTypes.SelectedItem.Text.Split('.')[1];
            currModule.ModuleParams = FormBuilder.GetParamsString(currModule.ModuleType.Params, ModuleParams1);
            if (!string.IsNullOrEmpty(currModule.CurrView))
            {
                //loads current view specific params
                PigeonCms.ModuleType viewType = null;
                viewType = new ModuleTypeManager().GetByFullName(
                    currModule.ModuleFullName, currModule.CurrView.Replace(".ascx", ".xml"));
                if (viewType != null)
                    currModule.ModuleParams += "|" + FormBuilder.GetParamsString(viewType.Params, ModuleParams1);
            }

            currModule.TitleTranslations = menu.TitleTranslations;
            currModule.ShowTitle = ChkShowModuleTitle.Checked;
            currModule.TemplateBlockName = ModuleHelper.ContentTemplateBlock;
            currModule.MenuSelection = ModulesMenuSelection.MenuContent;
            currModule.CurrView = DropViews.SelectedValue;
            currModule.CssFile = ModuleParams1.CssFile;
            currModule.CssClass = ModuleParams1.CssClass;
            currModule.UseCache = ModuleParams1.UseCache;
            currModule.UseLog = ModuleParams1.UseLog;
            currModule.DirectEditMode = ModuleParams1.DirectEditMode;
            currModule.SystemMessagesTo = ModuleParams1.SystemMessagesTo;
        }
        return res;
    }
Exemplo n.º 7
0
    private void form2obj(Module obj)
    {
        obj.Id = base.CurrentId;
        obj.Content = TxtContent.Text;
        obj.Published = ChkPublished.Checked;
        obj.ShowTitle = ChkShowTitle.Checked;
        obj.IsCore = ChkIsCore.Checked;

        obj.TemplateBlockName = DropTemplateBlockName.SelectedValue;
        obj.MenuSelection = ModulesMenuSelection.NoPages;    //default
        obj.ModulesMenu.Clear();
        obj.ModulesMenuTypes.Clear();
        if (base.CurrentId == 0)
        {
            obj.ModuleNamespace = LitModuleType.Text.Split('.')[0];
            obj.ModuleName = LitModuleType.Text.Split('.')[1];
        }

        if (RadioMenuAll.Checked)
            obj.MenuSelection = ModulesMenuSelection.AllPages;
        else if (RadioMenuNone.Checked)
            obj.MenuSelection = ModulesMenuSelection.NoPages;
        else
        {
            obj.MenuSelection = ModulesMenuSelection.List;
            foreach (ListItem item in ListMenu.Items)
            {
                if (item.Selected)
                {
                    int menuId = 0;
                    if (int.TryParse(item.Value, out menuId))
                        obj.ModulesMenu.Add(menuId);
                    else
                        obj.ModulesMenuTypes.Add(item.Value);
                }
            }
        }

        obj.TitleTranslations.Clear();
        foreach (KeyValuePair<string, string> item in Config.CultureList)
        {
            TextBox t1 = new TextBox();
            t1 = (TextBox)PanelTitle.FindControl("TxtTitle" + item.Value);
            obj.TitleTranslations.Add(item.Key, t1.Text);
        }

        int ordering = 0;
        int.TryParse(DropOrdering.SelectedValue, out ordering);
        obj.Ordering = ordering;

        obj.CurrView = DropViews.SelectedValue;
        obj.CssFile = ModuleParams1.CssFile;
        obj.CssClass = ModuleParams1.CssClass;
        obj.UseCache = ModuleParams1.UseCache;
        obj.UseLog = ModuleParams1.UseLog;
        obj.DirectEditMode = ModuleParams1.DirectEditMode;
        obj.SystemMessagesTo = ModuleParams1.SystemMessagesTo;

        obj.ModuleParams = FormBuilder.GetParamsString(obj.ModuleType.Params, ModuleParams1);
        if (!string.IsNullOrEmpty(obj.CurrView))
        {
            //loads current view specific params
            PigeonCms.ModuleType viewType = null;
            viewType = new ModuleTypeManager().GetByFullName(
                obj.ModuleFullName, obj.CurrView.Replace(".ascx", ".xml"));
            if (viewType != null)
                obj.ModuleParams += "|" + FormBuilder.GetParamsString(viewType.Params, ModuleParams1);
        }

        PermissionsControl1.Form2obj(obj);
    }