I get this error when I try to add a graphic version of 2370

This is the place to report bugs and get support. When posting in this forum, please always provide as much detail as possible.

Please do not report problems with a custom build or custom code in this forum. If you are producing your own build from the source code and have problems or questions, ask in the developer forum, do not report it as a bug.

This is the place to report bugs and get support

When posting in this forum, please try to provide as many relevant details as possible. Particularly the following:

  • What operating system were you running when the bug appeared?
  • What database platform is your site using?
  • What version of mojoPortal are you running?
  • What version of .NET do you use?
  • What steps are necessary to reproduce the issue? Compare expected results vs actual results.
Please do not report problems with a custom build or custom code in this forum. If you are producing your own build from the source code and have problems or questions, ask in the developer forum.
This thread is closed to new posts. You must sign in to post in the forums.
10/10/2011 9:01:43 AM
Gravatar
Total Posts 28

I get this error when I try to add a graphic version of 2370

Hi;

I get this error when I try to add a graphic version of 2370.
folders will not open them up.
constantly turning the hourglass.

 

2011-10-10 16:51:06,859 INFO (null) - (null) - (null) - mojoPortal.Web.WebTaskManager - deserialized WebTaskManager task
2011-10-10 16:51:06,868 INFO 192.168.2.80 - tr-TR - /dpedefence/HtmlEdit.aspx?mid=21&pageid=16 - mojoPortal.Web.WebTaskManager - Queued WebTaskManager on a new thread
2011-10-10 16:51:07,091 INFO (null) - (null) - (null) - mojoPortal.Business.WebHelpers.IndexWriterTask - deserialized IndexWriterTask task
2011-10-10 16:51:07,150 INFO (null) - (null) - (null) - mojoPortal.Business.WebHelpers.IndexWriterTask - Queued IndexWriterTask on a new thread
2011-10-10 16:51:58,215 INFO (null) - (null) - (null) - mojoPortal.Business.WebHelpers.IndexWriterTask - started IndexWriterTask task
2011-10-10 16:52:07,180 INFO (null) - (null) - (null) - mojoPortal.Web.WebTaskManager - started WebTaskManager task
2011-10-10 16:52:18,827 ERROR 192.168.2.80 - tr-TR - /dpedefence/Services/jqueryFileTreeMediaBrowser.ashx?type=image - mojoPortal.Web.Global -  Referrer(http://localhost/dpedefence/Dialog/FileDialog.aspx?ed=tmc&type=image) useragent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1
System.NullReferenceException: Object reference not set to an instance of an object.
   at mojoPortal.Web.Services.jqueryFileTreeMediaBrowser.RenderFileTree(HttpContext context)
   at mojoPortal.Web.Services.jqueryFileTreeMediaBrowser.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

10/10/2011 11:19:09 AM
Gravatar
Total Posts 18439

Re: I get this error when I try to add a graphic version of 2370

Is it a build you made from source code or is it from the official release?

The version number is only about the database schema, if you got the source code from the repository before the official release of version 2.3.7.0 it could have that version number because the schema changes were already in the repository but the code may have changed before the the final release of version 2.3.7.0

Hope that helps,

Joe

10/10/2011 11:40:26 AM
Gravatar
Total Posts 28

Re: I get this error when I try to add a graphic version of 2370

Hi Joe

According to this re-compile the code.
<p> <img src="~/Data/Sites/1/logos/mojofacethumb.jpg" alt="Smile" /> </ p>
<p> <</ p>
but the picture does not come in this way is.

he also disappears when you have made.
<p> <img src="/atisoft_net/Data/Sites/1/logos/mojofacethumb.jpg" alt="Smile" /> </ p>
<p> <</ p>

 

 

 

//  Author:                     Joe Audette
//  Created:                    2009-08-16
//  Last Modified:              2010-03-15
//
// The use and distribution terms for this software are covered by the
// Common Public License 1.0 (http://opensource.org/licenses/cpl.php)
// which can be found in the file CPL.TXT at the root of this distribution.
// By using this software in any fashion, you are agreeing to be bound by
// the terms of this license.
//
// You must not remove this notice, or any other, from this software.

using Resources;
using System;
using System.Collections.Generic;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using System.Web.Services.Protocols;
using mojoPortal.Business;
using mojoPortal.Business.WebHelpers;
using mojoPortal.Web.Framework;
using log4net;

namespace mojoPortal.Web.Services{
    /// <summary>
    /// Returns html fragments representing folders and files.
    /// Used for populating the jQueryFileTree using the MCEFileDialog.aspx page which is used in TinyMCE editor
    /// http://plugins.jquery.com/project/filetree
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class jqueryFileTreeMediaBrowser : IHttpHandler
    {
        private static readonly ILog log = LogManager.GetLogger(typeof(jqueryFileTreeMediaBrowser));
        private SiteSettings siteSettings = null;
        private SiteUser currentUser = null;
        private string rootDir = string.Empty;
        private string currentDir = string.Empty;
        private string type = "image";
        private string serverName = string.Empty;
        private bool canView = false;
        private string allowedExtensions = string.Empty;
        private Page page = new Page();

        public void ProcessRequest(HttpContext context)
        {
            LoadSettings(context);

            if (!canView)
            {
                context.Response.Write("<span class='txterror'>" + context.Server.HtmlEncode(Resource.AccessDeniedLabel) + "</span>");
                return;
            }
           
            RenderFileTree(context);

        }

        private void LoadSettings(HttpContext context)
        {
            siteSettings = CacheHelper.GetCurrentSiteSettings();
            if (siteSettings == null) { return; }

            //if (!(WebUser.IsInRoles(siteSettings.GeneralBrowseAndUploadRoles))) { return; }

            //this is only used to resolve the paths since httphandler does not have it built in
           
            page.AppRelativeVirtualPath = context.Request.AppRelativeCurrentExecutionFilePath;


            if (WebUser.IsAdminOrContentAdmin)
            {
                if (WebConfigSettings.ForceAdminsToUseMediaFolder)
                {
                    rootDir = page.ResolveUrl("~/Data/Sites/" + siteSettings.SiteId.ToInvariantString() + "/media/");
                }
                else
                {
                    if ((WebConfigSettings.AllowAdminsToUseDataFolder)&&(WebUser.IsAdmin))
                    {
                        rootDir = page.ResolveUrl("~/Data/");
                    }
                    else
                    {
                        rootDir = page.ResolveUrl("~/Data/Sites/" + siteSettings.SiteId.ToInvariantString() + "/");
                    }
                }
                allowedExtensions = WebConfigSettings.AllowedUploadFileExtensions;
                canView = true;
            }
            else if (WebUser.IsInRoles(siteSettings.GeneralBrowseAndUploadRoles))
            {
                rootDir = page.ResolveUrl("~/Data/Sites/" + siteSettings.SiteId.ToInvariantString() + "/media/");
                allowedExtensions = WebConfigSettings.AllowedUploadFileExtensions;
                canView = true;

            }
            else if (WebUser.IsInRoles(siteSettings.UserFilesBrowseAndUploadRoles))
            {
                currentUser = SiteUtils.GetCurrentSiteUser();
                if (currentUser == null) { return; }

                rootDir = page.ResolveUrl("~/Data/Sites/" + siteSettings.SiteId.ToInvariantString() + "/userfiles/" + currentUser.UserId.ToInvariantString() + "/");
                allowedExtensions = WebConfigSettings.AllowedLessPriveledgedUserUploadFileExtensions;
                canView = true;
            }

            if (!canView) { return; }

            if (!Directory.Exists(context.Server.MapPath(rootDir)))
            {
                try
                {
                    Directory.CreateDirectory(context.Server.MapPath(rootDir));

                }
                catch (IOException ex)
                {
                    log.Error("failed to create the directory " + rootDir, ex);
                    canView = false;
                    return;
                }

            }

            currentDir = rootDir;

            if (context.Request.Params.Get("dir") != null)
            {
                string requestedDir = context.Server.UrlDecode(context.Request.Params.Get("dir"));
               
                if (requestedDir == "/Pages/")
                {
                    currentDir = requestedDir;
                }
                else
                {
                    if (IsChildDirectory(context, requestedDir)) { currentDir = requestedDir; }
                }
            }

            ResolveType(context);

           

        }

        private void RenderFileTree(HttpContext context)
        {
           
            context.Response.Write("<ul class=\"jqueryFileTree\" style=\"display: none;\">\n");

            if (type == "file")
            {
                //this allows browsingpages in the links browser
                if (currentDir == "/Pages/")
                {
                    //context.Response.Write("\t<li class=\"directory expanded\"><a href=\"#\" rel=\"" + "Pages" + "/\">" + context.Server.HtmlEncode(Resource.PageBrowseNode) + "</a></li>\n");
                    RenderPages(context);
                }
                else if(currentDir == rootDir)
                {
                    context.Response.Write("\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + "/Pages" + "/\">" + context.Server.HtmlEncode(Resource.PageBrowseNode) + "</a></li>\n");
                }
            }

            if (!(currentDir == "/Pages/"))
            {
                DirectoryInfo currentDirectory = new DirectoryInfo(context.Server.MapPath(currentDir));

                foreach (DirectoryInfo subDirectory in currentDirectory.GetDirectories())
                {
                    if (subDirectory.Name == ".svn") { continue; }

                    context.Response.Write("\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + currentDir + subDirectory.Name + "/\">" + subDirectory.Name + "</a></li>\n");
                }

           
                foreach (FileInfo fileInfo in currentDirectory.GetFiles())
                {
                    if ((type == "image") && (!fileInfo.IsWebImageFile())) { continue; }

                    if ((type == "media") && (!fileInfo.IsAllowedMediaFile())) { continue; }

                    if ((type == "file") && (!fileInfo.IsAllowedUploadBrowseFile(allowedExtensions))) { continue; }

                    string ext = "";
                    if (fileInfo.Extension.Length > 1) { ext = fileInfo.Extension.Substring(1).ToLower(); }
                    context.Response.Write("\t<li class=\"file ext_" + ext + "\"><a href=\"#\" rel=\"" + currentDir + fileInfo.Name + "\">" + fileInfo.Name + "</a></li>\n");
                }
            }
           
            context.Response.Write("</ul>");
            //context.Response.Write("<input type='hidden' name='hdnCurrentServerDir' id='hdnCurrentServerDir' value='" + currentDir + "' /> ");

        }

        private void RenderPages(HttpContext context)
        {
            serverName = WebUtils.GetHostName();
            string serverPort = context.Request.ServerVariables["SERVER_PORT"];
            if ((serverPort != "80") && (serverPort != "443"))
            {
                serverName += ":" + serverPort;
            }

            SiteMapDataSource siteMapDataSource = new SiteMapDataSource();

            siteMapDataSource.SiteMapProvider = "mojosite" + siteSettings.SiteId.ToInvariantString();

            SiteMapNode siteMapNode = siteMapDataSource.Provider.RootNode;

            RenderSiteMapNodes(context, siteMapNode, string.Empty);

        }

        private void RenderSiteMapNodes(
            HttpContext context,
            SiteMapNode siteMapNode,
            string pagePrefix)
        {
            mojoSiteMapNode mojoNode = (mojoSiteMapNode)siteMapNode;

            if (!mojoNode.IsRootNode)
            {
                if (WebUser.IsInRoles(mojoNode.ViewRoles))
                {
                    if (mojoNode.ParentId > -1) pagePrefix += "-";

                    //context.Response.Write("\t<li class=\"file ext_txt\"><a href=\"#\" rel=\"" + mojoNode.Url.Replace("~/", "/") + "\">" + pagePrefix + mojoNode.Title + "</a></li>\n");
                    context.Response.Write("\t<li class=\"file ext_txt\"><a href=\"#\" rel=\"" + page.ResolveUrl(mojoNode.Url) + "\">" + pagePrefix + mojoNode.Title + "</a></li>\n");

                    //XmlNode oFileNode = XmlUtil.AppendElement(listNode, "File");
                    //XmlUtil.SetAttribute(oFileNode, "name", pagePrefix + mojoNode.Title);
                    //XmlUtil.SetAttribute(oFileNode, "size", 1.ToString(CultureInfo.InvariantCulture));

                    //XmlUtil.SetAttribute(oFileNode, "url", Page.ResolveUrl(mojoNode.Url));


                }
            }


            foreach (SiteMapNode childNode in mojoNode.ChildNodes)
            {
                //recurse to populate children
                RenderSiteMapNodes(context, childNode, pagePrefix);

            }


        }

        private bool IsChildDirectory(HttpContext context, string requestedDirectory)
        {
            if(string.IsNullOrEmpty(requestedDirectory)){ return false; }
            if (!Directory.Exists(context.Server.MapPath(requestedDirectory))) { return false; }

            DirectoryInfo rootDirectoryInfo = new DirectoryInfo(context.Server.MapPath(rootDir));
            DirectoryInfo requestedDirectoryInfo = new DirectoryInfo(context.Server.MapPath(requestedDirectory));
            return IOHelper.IsDecendentDirectory(rootDirectoryInfo, requestedDirectoryInfo);
        }

        private void ResolveType(HttpContext context)
        {
            string requestedType = "image";
            if (context.Request.QueryString["type"] != null)
            {
                requestedType = context.Request.QueryString["type"];
            }

            switch (requestedType)
            {
                case "media":
                    type = "media";
                    break;

                case "file":
                    type = "file";
                    break;

                case "image":
                default:
                    type = "image";
                    break;

            }

        }

       


        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

10/10/2011 11:43:52 AM
Gravatar
Total Posts 28

Re: I get this error when I try to add a graphic version of 2370

Hi Joe;
This code I malfunctioned.
does not open the folders inside.

 

 

//  Author:                     Joe Audette
//  Created:                    2009-08-16
// Last Modified:              2010-03-15
//
// The use and distribution terms for this software are covered by the
// Common Public License 1.0 (http://opensource.org/licenses/cpl.php)
// which can be found in the file CPL.TXT at the root of this distribution.
// By using this software in any fashion, you are agreeing to be bound by
// the terms of this license.
//
// You must not remove this notice, or any other, from this software.

using Resources;
using System;
using System.Collections.Generic;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using System.Web.Services.Protocols;
using mojoPortal.Business;
using mojoPortal.Business.WebHelpers;
using mojoPortal.FileSystem;
using mojoPortal.Web.Framework;
using log4net;

namespace mojoPortal.Web.Services
{
    /// <summary>
    /// Returns html fragments representing folders and files.
    /// Used for populating the jQueryFileTree using the MCEFileDialog.aspx page which is used in TinyMCE editor
    /// http://plugins.jquery.com/project/filetree
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class jqueryFileTreeMediaBrowser : IHttpHandler
    {
        private static readonly ILog log = LogManager.GetLogger(typeof(jqueryFileTreeMediaBrowser));
        private SiteSettings siteSettings = null;
        private SiteUser currentUser = null;
        private string rootDir = string.Empty;
        private string currentDir = string.Empty;
        private string type = "image";
        private string serverName = string.Empty;
        private bool canView = false;
        private string allowedExtensions = string.Empty;
        private Page page = new Page();
        IFileSystem fileSystem = null;

        public void ProcessRequest(HttpContext context)
        {
            LoadSettings(context);

            if ((!canView)||(fileSystem == null))
            {
                context.Response.Write("<span class='txterror'>" + context.Server.HtmlEncode(Resource.AccessDeniedLabel) + "</span>");
                return;
            }
           
            RenderFileTree(context);

        }

        private void LoadSettings(HttpContext context)
        {
            siteSettings = CacheHelper.GetCurrentSiteSettings();
            if (siteSettings == null) { return; }

            //this is only used to resolve the paths since httphandler does not have it built in
           
            page.AppRelativeVirtualPath = context.Request.AppRelativeCurrentExecutionFilePath;

            FileSystemProvider p = FileSystemManager.Providers[WebConfigSettings.FileSystemProvider];
            if (p == null)
            {
                log.Error("Could not load file system provider " + WebConfigSettings.FileSystemProvider);
                return;
            }

            fileSystem = p.GetFileSystem();
            if (fileSystem == null)
            {
                log.Error("Could not load file system from provider " + WebConfigSettings.FileSystemProvider);
                return;
            }

            rootDir = fileSystem.VirtualRoot.Replace("~",string.Empty);

            if (WebUser.IsAdminOrContentAdmin)
            {
                allowedExtensions = WebConfigSettings.AllowedUploadFileExtensions;
                canView = true;
            }
            else if (WebUser.IsInRoles(siteSettings.GeneralBrowseAndUploadRoles))
            {
                allowedExtensions = WebConfigSettings.AllowedUploadFileExtensions;
                canView = true;

            }
            else if (WebUser.IsInRoles(siteSettings.UserFilesBrowseAndUploadRoles))
            {
                currentUser = SiteUtils.GetCurrentSiteUser();
                if (currentUser == null) { return; }
                allowedExtensions = WebConfigSettings.AllowedLessPriveledgedUserUploadFileExtensions;
                canView = true;
            }

            if (!canView) { return; }

            currentDir = rootDir;

            if (context.Request.Params.Get("dir") != null)
            {
                string requestedDir = context.Server.UrlDecode(context.Request.Params.Get("dir"));
               
                if (requestedDir == "/Pages/")
                {
                    currentDir = requestedDir;
                }
                else
                {
                    if (IsChildDirectory(context, requestedDir)) { currentDir = requestedDir; ; }
                }
            }

            ResolveType(context);

        }

        private void RenderFileTree(HttpContext context)
        {
           
            context.Response.Write("<ul class=\"jqueryFileTree\" style=\"display: none;\">\n");

            if (type == "file")
            {
                //this allows browsingpages in the links browser
                if (currentDir == "/Pages/")
                {
                    RenderPages(context);
                }
                else if((currentDir == rootDir)||(currentDir == "~" + rootDir))
                {
                    context.Response.Write("\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + "/Pages" + "/\">" + context.Server.HtmlEncode(Resource.PageBrowseNode) + "</a></li>\n");
                }
            }

            if (!(currentDir == "/Pages/"))
            {
                IEnumerable<WebFolder> folders = fileSystem.GetFolderList(currentDir);
                foreach (WebFolder folder in folders)
                {
                    context.Response.Write("\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + currentDir.Replace("~", string.Empty) + folder.Name + "/\">" + folder.Name + "</a></li>\n");
                }

                IEnumerable<WebFile> files = fileSystem.GetFileList(currentDir);
                foreach (WebFile fileInfo in files)
                {
                    if ((type == "image") && (!fileInfo.IsWebImageFile())) { continue; }

                    if ((type == "media") && (!fileInfo.IsAllowedMediaFile())) { continue; }

                    if ((type == "file") && (!fileInfo.IsAllowedUploadBrowseFile(allowedExtensions))) { continue; }

                    string ext = "";
                    if (fileInfo.Extension.Length > 1) { ext = fileInfo.Extension.Substring(1).ToLower(); }
                    context.Response.Write("\t<li class=\"file ext_" + ext + "\"><a href=\"#\" rel=\"" + fileSystem.FileBaseUrl + currentDir.Replace("~", string.Empty) + fileInfo.Name + "\">" + fileInfo.Name + "</a></li>\n");
                }

            }
           
            context.Response.Write("</ul>");
          
        }

        private void RenderPages(HttpContext context)
        {
            serverName = WebUtils.GetHostName();
            string serverPort = context.Request.ServerVariables["SERVER_PORT"];
            if ((serverPort != "80") && (serverPort != "443"))
            {
                serverName += ":" + serverPort;
            }

            SiteMapDataSource siteMapDataSource = new SiteMapDataSource();

            siteMapDataSource.SiteMapProvider = "mojosite" + siteSettings.SiteId.ToInvariantString();

            SiteMapNode siteMapNode = siteMapDataSource.Provider.RootNode;

            RenderSiteMapNodes(context, siteMapNode, string.Empty);

        }

        private void RenderSiteMapNodes(
            HttpContext context,
            SiteMapNode siteMapNode,
            string pagePrefix)
        {
            mojoSiteMapNode mojoNode = (mojoSiteMapNode)siteMapNode;

            if (!mojoNode.IsRootNode)
            {
                if (WebUser.IsInRoles(mojoNode.ViewRoles))
                {
                    if (mojoNode.ParentId > -1) pagePrefix += "-";
                    context.Response.Write("\t<li class=\"file ext_txt\"><a href=\"#\" rel=\"" + page.ResolveUrl(mojoNode.Url) + "\">" + pagePrefix + mojoNode.Title + "</a></li>\n");

                }
            }

            foreach (SiteMapNode childNode in mojoNode.ChildNodes)
            {
                //recurse to populate children
                RenderSiteMapNodes(context, childNode, pagePrefix);

            }

        }

        private bool IsChildDirectory(HttpContext context, string requestedDirectory)
        {
            return WebFolder.IsDecendentVirtualPath(fileSystem.VirtualRoot, requestedDirectory);
        }

        private void ResolveType(HttpContext context)
        {
            string requestedType = "image";
            if (context.Request.QueryString["type"] != null)
            {
                requestedType = context.Request.QueryString["type"];
            }

            switch (requestedType)
            {
                case "media":
                    type = "media";
                    break;

                case "file":
                    type = "file";
                    break;

                case "image":
                default:
                    type = "image";
                    break;

            }

        }

       


        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

10/10/2011 11:59:58 AM
Gravatar
Total Posts 18439

Re: I get this error when I try to add a graphic version of 2370

Hi,

<p> <img src="~/Data/Sites/1/logos/mojofacethumb.jpg" alt="Smile" /> </ p>
<p> <</ p>
but the picture does not come in this way is.

 

he also disappears when you have made.
<p> <img src="/atisoft_net/Data/Sites/1/logos/mojofacethumb.jpg" alt="Smile" /> </ p>

~/ syntax only works in server side C# code it doesn't work in html

/atisoft_net/Data/Sites/1/logos/mojofacethumb.jpg

should work as an url for an image in html assuming your site is running in a sub folder at http://localhost/atisoft_net/ or http://somedomain/atisoft_net/  and if the file exists and permissions on the file are good.

I have no idea why you posted the source code. If you think there is a mistake in the code then point out the mistake. 

Make sure your folders on disk do not have spaces in the names and make sure the files don't have spaces in the names.

Best,

Joe

10/10/2011 1:34:00 PM
Gravatar
Total Posts 28

Re: I get this error when I try to add a graphic version of 2370

Hi Joe;

localhost I'm doing my work.
2367 version was not an annoyance to
I installed the version of 2370, there was such an annoyance.
I'm doing, but I could not find an error in one place.
Thank you for taking the time to
best regards,

10/10/2011 3:29:11 PM
Gravatar
Total Posts 18439

Re: I get this error when I try to add a graphic version of 2370

Ok, I will investigate further and post again after I look into it.

Best,

Joe

10/10/2011 4:06:53 PM
Gravatar
Total Posts 28

Re: I get this error when I try to add a graphic version of 2370

Hello again, Joe
Localhost permitted was set up to version 2367. (Inetpub Folder)
I ran through the 2370 version of the Microsoft Webmatrix.
action resolved the problems when you have made here.
operations need to make over webmatrix.
Thank you, best regards,

10/10/2011 5:13:34 PM
Gravatar
Total Posts 18439

Re: I get this error when I try to add a graphic version of 2370

Hi,

This is now fixed in the source code repository and I also patched the 2.3.7.0 release. If you download the release package again, the only file that changed since the previous updates is mojoPortal.Web.dll

Thanks for reporting this bug!

Best,

Joe

10/11/2011 2:15:26 AM
Gravatar
Total Posts 28

Re: I get this error when I try to add a graphic version of 2370

Hello Joe
First of all, thank you for his help
I downloaded and installed the latest version,
This error giderilmişti, 2367 as the updated version of the 2370
also do not have a problem there.
Thank you again for everything
I offer my best regards!

10/11/2011 12:21:43 PM
Gravatar
Total Posts 1203
Proud member of the mojoPortal team

Help support mojoPortal!
Add-on modules

Re: I get this error when I try to add a graphic version of 2370

Hi Joe, I haven't been able to understand this thread very well. Would you mind posting a brief layman's description of the bug you fixed and how to reproduce it? I just need to decide whether I should redeploy mojoPortal.Web.dll to get the fix.

Thanks,
Jamie

You must sign in to post in the forums. This thread is closed to new posts.