Пример #1
0
        private void CopyRepository(Kooboo.CMS.Content.Models.Repository sourceRepository, string name)
        {
            var repositoryManager = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager;
            var repository        = repositoryManager.Get(name);

            if (repository == null)
            {
                repositoryManager.Copy(sourceRepository, name);
            }
        }
Пример #2
0
 public getRepositoryInfoResponse GetRepositoryInfo(getRepositoryInfoRequest request)
 {
     var repository = new Kooboo.CMS.Content.Models.Repository(request.repositoryId).AsActual();
     if (repository != null)
     {
         var repositoryInfo = ToRepositoryInfo(repository);
         return new getRepositoryInfoResponse(repositoryInfo);
     }
     else
     {
         throw new FaultException<cmisFaultType>(ModelHelper.CreateFault(enumServiceException.objectNotFound));
     }
 }
Пример #3
0
        public string Generate(Kooboo.CMS.Content.Models.Repository repository, Models.DataRuleSetting dataRule, bool inlineEdit)
        {
            if (dataRule.DataRule is DataRuleBase)
            {
                var dataRuleBase = (DataRuleBase)dataRule.DataRule;
                var schema       = (dataRuleBase.GetSchema(repository)).AsActual();


                string html       = @"
#foreach($item in $ViewBag.{0})
#each
	<li{2}>{1}</li>
#before

#after

#between

#odd

#even

#nodata

#beforeall
	<ul class=""list"">
#afterall
	</ul>
#end";
                var    titleField = schema.GetSummarizeColumn();
                var    editItem   = "";
                var    linkHtml   = string.Format("<a class='title' href='$Url.FrontUrl().PageUrl(\"{1}/detail\",\"%{{UserKey = $item.UserKey}}\")'>$item.{0}</a>", titleField.Name, schema.Name);
                if (inlineEdit)
                {
                    editItem = "  $ViewHelper.Edit($item)";
                    linkHtml = string.Format("<a class='title' href='$Url.FrontUrl().PageUrl(\"{1}/detail\",\"%{{UserKey = $item.UserKey}}\")' $ViewHelper.Edit($item,\"{0}\")>$item.{0}</a>", titleField.Name, schema.Name);
                }

                var snippet = string.Format(html, dataRule.DataName, linkHtml, editItem);
                if (dataRule.DataRule.EnablePaging.Value)
                {
                    snippet += Environment.NewLine + string.Format(@"
<div class=""pager"">
$Html.FrontHtml().Pager($ViewBag.{0})
</div>", dataRule.DataName);
                }
                return(snippet);
            }
            return(string.Empty);
        }
Пример #4
0
        public virtual ActionResult ImportRepository(string siteName, ImportRepositoryModel model, string @return)
        {
            var data = new JsonResultData(ModelState);

            var site = new Site(siteName).AsActual();

            if (site != null && ModelState.IsValid)
            {
                data.RunWithTry((resultData) =>
                {
                    Kooboo.CMS.Content.Models.Repository repository = null;
                    if (Request.Files.Count > 0)
                    {
                        repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Repository, Request.Files[0].InputStream);
                    }
                    else
                    {
                        repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Repository, model.File);
                    }

                    var oldRepository = site.Repository;
                    if (repository != null)
                    {
                        site.Repository = repository.Name;
                        ServiceFactory.SiteManager.Update(site);
                    }
                    try
                    {
                        if (model.DeleteTheOldRepository)
                        {
                            repository = new Kooboo.CMS.Content.Models.Repository(oldRepository);
                            if (!Kooboo.CMS.Sites.Services.ServiceFactory.SiteManager.IfTheRepositoryUsedByOtherSites(site, oldRepository))
                            {
                                Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Remove(repository);
                            }
                            ;
                        }
                    }
                    catch (Exception e)
                    {
                        Kooboo.HealthMonitoring.Log.LogException(e);
                    }

                    resultData.RedirectUrl = @return;
                });
            }

            return(Json(data));
        }
Пример #5
0
        public virtual ActionResult ImportRepository(string siteName, ImportRepositoryModel model, bool uploadNew)
        {
            var entry = new JsonResultEntry();

            try
            {
                var site = new Site(siteName).AsActual();

                if (site != null && ModelState.IsValid)
                {
                    Kooboo.CMS.Content.Models.Repository repository = null;
                    if (uploadNew)
                    {
                        if (!Request.Files[0].FileName.EndsWith(".zip"))
                        {
                            throw new KoobooException("Please upload an zip file".Localize());
                        }

                        repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Name, Request.Files[0].InputStream);
                    }
                    else
                    {
                        repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Name, model.File);
                    }

                    if (repository != null)
                    {
                        site.Repository = repository.Name;
                        ServiceFactory.SiteManager.Update(site);
                    }
                }
                else
                {
                    entry.AddModelState(ModelState);
                }
            }
            catch (Exception e)
            {
                entry.AddException(e);
            }
            return(Json(entry));
        }
Пример #6
0
        public virtual ActionResult ImportRepository(string siteName, ImportRepositoryModel model, string @return)
        {
            var data = new JsonResultData(ModelState);

            var site = new Site(siteName).AsActual();
            if (site != null && ModelState.IsValid)
            {
                data.RunWithTry((resultData) =>
                    {
                        Kooboo.CMS.Content.Models.Repository repository = null;
                        if (Request.Files.Count > 0)
                        {
                            repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Repository, Request.Files[0].InputStream);
                        }
                        else
                        {
                            repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Repository, model.File);
                        }

                        var oldRepository = site.Repository;
                        if (repository != null)
                        {
                            site.Repository = repository.Name;
                            ServiceFactory.SiteManager.Update(site);
                        }
                        try
                        {
                            if (model.DeleteTheOldRepository)
                            {
                                repository = new Kooboo.CMS.Content.Models.Repository(oldRepository);
                                if (!Kooboo.CMS.Sites.Services.ServiceFactory.SiteManager.IfTheRepositoryUsedByOtherSites(site, oldRepository))
                                {
                                    Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Remove(repository);
                                };
                            }
                        }
                        catch (Exception e)
                        {
                            Kooboo.HealthMonitoring.Log.LogException(e);
                        }

                        resultData.RedirectUrl = @return;
                    });
            }

            return Json(data);
        }