public static String ToAppAdmin( IMember user, IMemberApp app ) { String ownerPath = Link.GetMemberPathPrefix( user ); String appName = strUtil.TrimEnd( app.AppInfo.TypeName, "App" ); String controller = appName + "/Admin/" + appName; return Link.AppendApp( app.AppOid, controller, "Index", -1, ownerPath ); }
public static String ToAppAdmin( IMember user, IMemberApp app ) { String ownerPath = LinkHelper.GetMemberPathPrefix( user ); String appName = strUtil.TrimEnd( app.AppInfo.TypeName, "App" ); String controller = appName + MvcConfig.Instance.UrlSeparator + "Admin" + MvcConfig.Instance.UrlSeparator + appName; return LinkHelper.AppendApp( app.AppOid, controller, "Index", -1, ownerPath ); }
// 生成频道的全部html private void makeHtml( MvcContext ctx, IMemberApp mApp, String staticPath ) { ContentApp app = initApp( ctx, mApp ); setStaticPath( app, staticPath ); HtmlController controller = ControllerFactory.FindController( typeof( HtmlController ), ctx ) as HtmlController; controller.MakeAll(); }
private String getNameAndUrl( IMemberApp app ) { String iconPath = strUtil.Join( sys.Path.Img, "app/s" ); iconPath = strUtil.Join( iconPath, app.AppInfo.TypeFullName ) + ".png"; if (app.IsStop == 1) return ("<span class=\"stop\"><img src=\"" + iconPath + "\"/> " + app.Name + "</span>"); return string.Format( "<a href=\"{1}\"><img src=\"{2}\"/> {0}</a>", app.Name, alink.ToAppAdmin( ctx.viewer.obj, app ), iconPath ); }
//------------------------------------------------------------------------------------------------------------------------------------------ public static String clearUrl( IMemberApp app, MvcContext ctx, IMember owner ) { String appUrl = alink.ToUserAppFull( app ); String ownerPath = Link.GetMemberPathPrefix( owner.GetType().FullName, owner.Url ); ownerPath = ownerPath.TrimStart( '/' ); return clearUrl( appUrl, ownerPath, ctx ); }
private String getPermission( IMemberApp app ) { if (app.AccessStatus == (int)AccessStatus.Public) return lang( "statusPublic" ); if (app.AccessStatus == (int)AccessStatus.Friend) return lang( "statusFriend" ); if (app.AccessStatus == (int)AccessStatus.Private) return lang( "statusPrivate" ); return lang( "statusPublic" ); }
public static void UpdateAccessStatus( IMemberApp app, AccessStatus accessStatus ) { Type t = Entity.New( app.AppInfo.TypeFullName ).GetType(); IAccessStatus objApp = ndb.findById( t, app.AppOid ) as IAccessStatus; if (objApp != null) { objApp.AccessStatus = (int)accessStatus; db.update( objApp, "AccessStatus" ); } }
private void bindAppEdit( IMemberApp app ) { set( "appInfo.Type", app.AppInfo.Name ); set( "appInfo.Description", app.AppInfo.Description ); set( "app.Name", app.Name ); set( "app.OrderId", app.OrderId ); //set( "app.AccessStatus", AccessStatusUtil.GetRadioList( app.AccessStatus ) ); //set( "viewer.MenuAdmin", t2( new MenuAdminController().Index ) ); }
private object getAppStateAdmin( IMemberApp app ) { if (app.IsStop == 1) return string.Format( "<span href='{0}' class=\"putCmd cmd\">" + lang( "startApp" ) + "</span>", to( Start, app.Id ) ); return string.Format( "<span href='{0}' class=\"putCmd cmd\">" + lang( "stopApp" ) + "</span>", to( Stop, app.Id ) ); }
public virtual void Delete( IMemberApp app, String rawAppUrl ) { db.delete( (IEntity)app ); // 删除应用本身 Type t = ObjectContext.Instance.TypeList[app.AppInfo.TypeFullName]; ndb.delete( t, app.AppOid ); menuService.RemoveMenuByApp( app, rawAppUrl ); }
public static void UpdateAccessStatus(IMemberApp app, AccessStatus accessStatus) { Type t = Entity.New(app.AppInfo.TypeFullName).GetType(); IAccessStatus objApp = ndb.findById(t, app.AppOid) as IAccessStatus; if (objApp != null) { objApp.AccessStatus = (int)accessStatus; db.update(objApp, "AccessStatus"); } }
//---------------------------------------------------------------------------------------------------------------- public static String ToUserAppFull(IMemberApp app) { String strApp = strUtil.TrimEnd(app.AppInfo.TypeName, "App"); if (MvcConfig.Instance.IsUrlToLower) { strApp = strApp.ToLower(); } return(getAppLink(app.OwnerType, app.OwnerUrl, strApp, app.AppOid)); }
//---------------------------------------------------------------------------------------------------------------- public void ViewUrl(int id) { IMemberApp app = getApp(id); String url = alink.ToUserAppFull(app); url = strUtil.Join(ctx.url.SiteUrl, url); set("app.Name", app.Name); set("app.Url", url); }
public void Start(int id) { IMemberApp app = getApp(id); String appUrl = UrlConverter.clearUrl(app, ctx); userAppService.Start(app, appUrl); log(SiteLogString.StartApp(), app); //echoRedirect( lang( "opok" ), Index ); echoRedirectPart(lang("opok"), to(Index), 0); }
public void Delete(int id) { IMemberApp app = getApp(id); String appUrl = UrlConverter.clearUrl(app, ctx); userAppService.Delete(app, appUrl); log(SiteLogString.DeleteApp(), app); echoRedirect(lang("opok"), Index); }
private IMemberApp createContentApp(MvcContext ctx, String appName, String appUrl, String themeId) { IMember owner = ctx.owner.obj; NewsInstaller x = ObjectContext.Create <NewsInstaller>(); IMemberApp mapp = x.Install(ctx, owner, appName, wojilu.Common.AppBase.AccessStatus.Public, themeId, appUrl); // 初始化权限,否则无法访问 base.initAppPermission(mapp); return(mapp); }
public void RemoveMenuByApp(IMemberApp app, String rawAppUrl) { IMenu menu = FindByApp(rawAppUrl); if (menu != null) { // 删除一个菜单 Delete(menu); updateDefaultMenu(menu); } }
public static String clearUrl(IMemberApp app, MvcContext ctx) { String appUrl = alink.ToUserAppFull(app); IMember owner = ctx.owner.obj; String ownerPath = Link.GetMemberPathPrefix(owner.GetType().FullName, owner.Url); ownerPath = ownerPath.TrimStart('/'); return(clearUrl(appUrl, ownerPath, ctx)); }
public Boolean IsAppRunning(MvcContext ctx) { GroupAppService userAppService = new GroupAppService(); IMemberApp app = userAppService.GetByApp((IApp)ctx.app.obj); if (app == null || app.IsStop == 1) { throw ctx.ex(HttpStatus.NotFound_404, lang.get("exAppNotFound")); } return(app.IsStop == 0); }
public virtual Boolean IsAppRunning(MvcContext ctx) { UserAppService userAppService = new UserAppService(); IMemberApp app = userAppService.GetByApp((IApp)ctx.app.obj); if (app == null || app.IsStop == 1) { return(false); } return(true); }
// 初始化当前app private ContentApp initApp( MvcContext ctx, IMemberApp mapp ) { IAppContext context = new AppContext(); int appId = mapp.AppOid; context.Id = appId; ContentApp app = ContentApp.findById( appId ); context.obj = app; context.setAppType( app.GetType() ); ctx.utils.setAppContext( context ); return app; }
private object getAppStateAdmin(IMemberApp app) { if (app.IsStop == 1) { return(string.Format( "<span href='{0}' class=\"putCmd cmd\">" + lang("startApp") + "</span>", to(Start, app.Id))); } return (string.Format( "<span href='{0}' class=\"putCmd cmd\">" + lang("stopApp") + "</span>", to(Stop, app.Id))); }
private String getNameAndUrl(IMemberApp app) { String iconPath = strUtil.Join(sys.Path.Img, "app/s"); iconPath = strUtil.Join(iconPath, app.AppInfo.TypeFullName) + ".png"; if (app.IsStop == 1) { return("<span class=\"stop\"><img src=\"" + iconPath + "\"/> " + app.Name + "</span>"); } return(string.Format("<a href=\"{1}\"><img src=\"{2}\"/> {0}</a>", app.Name, alink.ToAppAdmin(ctx.viewer.obj, app), iconPath)); }
public virtual void Update(long id) { IMemberApp app = getApp(id); String appUrl = UrlConverter.clearUrl(app, ctx); String name = ctx.Post("Name"); userAppService.Update(app, name, appUrl); log(SiteLogString.UpdateApp(), app); echoToParentPart(lang("opok"), to(Index), 0); }
private String getLeftSiteNameAndUrl(IMemberApp app) { String iconPath = strUtil.Join(sys.Path.Img, "app/m/"); iconPath = strUtil.Join(iconPath, app.AppInfo.TypeFullName) + ".png"; String icon = string.Format("<img src=\"{0}\" />", iconPath); if (app.IsStop == 1) { return("<span class='stop'>" + icon + " " + app.Name + "</span>"); } return(string.Format("<a href='{1}'>{2} {0}</a>", app.Name, alink.ToAppAdmin(Site.Instance, app), icon)); }
public Boolean IsAppRunning(MvcContext ctx) { UserAppService userAppService = new UserAppService(); IMemberApp app = userAppService.GetByApp((IApp)ctx.app.obj); if (app == null || app.IsStop == 1) { ctx.utils.endMsg(lang.get("exAppNotFound"), HttpStatus.NotFound_404); return(false); } return(true); }
public void MakeHtml( MvcContext ctx, IMemberApp portalApp, IMemberApp newsApp ) { // 1) 修改News的菜单 updateStaticMenu( "news" ); // 2) 生成静态页面 makeHtml( ctx, portalApp, "index.htm" ); makeHtml( ctx, newsApp, "news/index.htm" ); // 3) 启动生成静态页面的job startJob( "wojilu.Web.Controller.Content.Htmls.HtmlJob" ); startJob( "wojilu.Web.Controller.Content.Htmls.HomeHtmlJob" ); }
private String getNameAndUrl( IMemberApp app, Boolean isFrm ) { String iconPath = strUtil.Join( sys.Path.Img, "app/m/" ); iconPath = strUtil.Join( iconPath, app.AppInfo.TypeFullName ) + ".png"; String icon = string.Format( "<img src=\"{0}\" />", iconPath ); if (app.IsStop == 1) return ("<span class='stop'>" + icon + " " + app.Name + "</span>"); //return string.Format( "<a href='{1}'>{0}</a> <a href='{2}' style='color:#666'>发表</a>", app.Name, Link.ToAppAdmin( ctx.owner.obj, app ), Link.ToAppAdminAdd( ctx.owner.obj, app ) ); String frmStr = isFrm ? "class=\"frmLink\" loadTo=\"uaMain\" nolayout=1" : ""; return string.Format( "<a href=\"{1}\" {3}>{2} {0}</a>", app.Name, alink.ToAppAdmin( ctx.owner.obj, app ), icon, frmStr ); }
public void MakeHtml(MvcContext ctx, IMemberApp portalApp, IMemberApp newsApp) { // 1) 修改News的菜单 updateStaticMenu("news"); // 2) 生成静态页面 makeHtml(ctx, portalApp, "index.htm"); makeHtml(ctx, newsApp, "news/index.htm"); // 3) 启动生成静态页面的job startJob("wojilu.Web.Controller.Content.Htmls.HtmlJob"); startJob("wojilu.Web.Controller.Content.Htmls.HomeHtmlJob"); }
private DownloadApp createApp(MvcContext ctx, String appName) { IMember owner = ctx.owner.obj; User creator = ctx.viewer.obj as User; IMemberApp app = installService.Install(typeof(DownloadApp), owner, creator, appName) as IMemberApp; // 初始化权限,否则无法访问 base.initAppPermission(app); DownloadApp obj = DownloadApp.findById(app.AppOid); return(obj); }
// 初始化当前app private ContentApp initApp(MvcContext ctx, IMemberApp mapp) { IAppContext context = new AppContext(); int appId = mapp.AppOid; context.Id = appId; ContentApp app = ContentApp.findById(appId); context.obj = app; context.setAppType(app.GetType()); ctx.utils.setAppContext(context); return(app); }
public virtual void Stop(long id) { IMemberApp app = getApp(id); String appUrl = UrlConverter.clearUrl(app, ctx); logger.Info("stoped app url : " + appUrl); userAppService.Stop(app, appUrl); log(SiteLogString.StopApp(), app); //redirect( Index ); //echoRedirect( lang( "opok" ), Index ); echoRedirectPart(lang("opok"), to(Index), 0); }
private ForumApp createFirstForum(MvcContext ctx, String appName) { IMember owner = ctx.owner.obj; User creator = ctx.viewer.obj as User; IMemberApp mapp = installService.Install(typeof(ForumApp), owner, creator, appName); // 初始化权限,否则无法访问 base.initAppPermission(mapp); ForumApp app = ForumApp.findById(mapp.AppOid); createBoardList(ctx, app); return(app); }
public IMemberApp Install(MvcContext ctx, IMember owner, String appName, AccessStatus accessStatus) { this.ctx = ctx; this.appName = appName; this.user = ctx.viewer.obj as User; this.owner = owner; setService(ctx); IMemberApp app = createPortalApp(); createLayout(); return(app); }
private String getPermission(IMemberApp app) { if (app.AccessStatus == (int)AccessStatus.Public) { return(lang("statusPublic")); } if (app.AccessStatus == (int)AccessStatus.Friend) { return(lang("statusFriend")); } if (app.AccessStatus == (int)AccessStatus.Private) { return(lang("statusPrivate")); } return(lang("statusPublic")); }
private Type getMemberAppType(IMember owner) { foreach (KeyValuePair <String, Type> kv in ObjectContext.Instance.TypeList) { if (rft.IsInterface(kv.Value, typeof(IMemberApp))) { IMemberApp obj = ObjectContext.Create <IMemberApp>(kv.Value); if (obj.OwnerType == owner.GetType().FullName) { return(kv.Value); } } } return(null); }
private void createFullSite() { // 完整安装 CmsInstaller x1 = ObjectContext.Create <CmsInstaller>(); LinkInstaller x2 = ObjectContext.Create <LinkInstaller>(); // 门户首页 IMemberApp mappPortal = x1.CreatePortal(ctx, "首页", "default"); // 新闻 IMemberApp mappNews = x1.CreateNews(ctx, "新闻资讯", "news"); // 论坛 ObjectContext.Create <ForumInstaller>().Init(ctx, "讨论区", "bbs"); // 微博 ObjectContext.Create <MicroblogInstaller>().Init(ctx, "微博", "t"); // 瀑布流 ObjectContext.Create <WaterfallInstaller>().Init(ctx, "图片", "pic"); // 下载 ObjectContext.Create <DownloadInstaller>().Init(ctx, "资源下载", "download"); // 博客 x2.AddBlog(ctx, "博客", "blog"); // 群组 x2.AddGroup(ctx, "群组", "group"); // 用户 x2.AddUser(ctx, "用户列表", "user"); // tag x2.AddTag(ctx, "Tag", "tags"); // 设置安装完毕 config.Instance.Site.IsInstall = true; config.Instance.Site.Update("IsInstall", true); // 生成静态页面 HtmlInstallerHelper htmlHelper = ObjectContext.Create <HtmlInstallerHelper>(); htmlHelper.MakeHtml(ctx, mappPortal, mappNews); }
private String getNameAndUrl(IMemberApp app, Boolean isFrm) { String iconPath = strUtil.Join(sys.Path.Img, "app/m/"); iconPath = strUtil.Join(iconPath, app.AppInfo.TypeFullName) + ".png"; String icon = string.Format("<img src=\"{0}\" />", iconPath); if (app.IsStop == 1) { return("<span class='stop'>" + icon + " " + app.Name + "</span>"); } //return string.Format( "<a href='{1}'>{0}</a> <a href='{2}' style='color:#666'>发表</a>", app.Name, Link.ToAppAdmin( ctx.owner.obj, app ), Link.ToAppAdminAdd( ctx.owner.obj, app ) ); String frmStr = isFrm ? "class=\"frmLink\" loadTo=\"uaMain\" nolayout=1" : ""; return(string.Format("<a href=\"{1}\" {3}>{2} {0}</a>", app.Name, alink.ToAppAdmin(ctx.owner.obj, app), icon, frmStr)); }
public void SavePermission(int id) { Boolean isUserPrivacyClose = Component.IsClose(typeof(UserPrivacy)); if (isUserPrivacyClose) { echo("对不起,本功能已经停用"); return; } //--------------------------------------------------------- AccessStatus accs = AccessStatusUtil.GetPostValue(ctx.PostInt("AccessStatus")); IMemberApp app = userAppService.FindById(id, ctx.owner.Id); userAppService.UpdateAccessStatus(app, accs); echoToParentPart(lang("opok")); }
public void Add(int id) { if (id > 0) { SpiderImport item = importService.GetById(id); if (item == null) { echoRedirect(lang("exDataNotFound")); return; } set("itemJson", Json.ToString(new ImportJson(item))); } else { set("itemJson", "{Id:0}"); } set("step3Action", to(Save)); set("returnUrl", to(List)); List <SpiderTemplate> list = templateService.GetAll(); checkboxList("dataSrc", list, "SiteName=Id", null); //dataTarget List <ContentApp> apps = ContentApp.find("OwnerType=:otype").set("otype", typeof(Site).FullName).list(); IBlock block = getBlock("apps"); foreach (ContentApp app in apps) { block.Set("appId", app.Id); IMemberApp ma = appService.GetByApp(app); if (ma == null) { continue; } block.Set("appName", ma.Name); List <ContentSection> sections = ContentSection.find("AppId=" + app.Id).list(); block.Set("dataTarget", Html.CheckBoxList(sections, "dataTarget", "Title", "Id", null)); block.Next(); } }
private void createCmsSite() { CmsInstaller x1 = ObjectContext.Create <CmsInstaller>(); LinkInstaller x2 = ObjectContext.Create <LinkInstaller>(); // 门户首页 IMemberApp mappPortal = x1.CreatePortal(ctx, "首页", "default"); // 新闻 IMemberApp mappNews = x1.CreateNews(ctx, "新闻资讯", "news"); // 设置安装完毕 updateSiteDone(); // 生成静态页面 HtmlInstallerHelper htmlHelper = ObjectContext.Create <HtmlInstallerHelper>(); htmlHelper.MakeHtml(ctx, mappPortal, mappNews); }
//--------------------------------- /// <summary> /// 安装app /// </summary> /// <returns></returns> protected IMemberApp createApp() { int installerId = 4; AppInstaller installer = installerService.GetById(installerId); IMember owner = this.owner; User creator = this.user; String name = appName; IMemberApp mapp = appService.Add(creator, owner, name, installer.Id, AccessStatus.Public); String appUrl = UrlConverter.clearUrl(mapp, ctx, this.owner); IMenu menu = menuService.AddMenuByApp(mapp, name, "", appUrl); ContentApp newApp = ContentApp.findById(mapp.AppOid); this.app = newApp; return(mapp); }
private IMemberApp createPortal(User user) { IMemberApp memberApp = createApp(user); createLayout(); this.createSection("我的头像", 12, 14, "11"); this.createSection("我的信息", 5, 10, "11"); this.createSection("最近访客", 8, 13, "11"); this.createSection("我的状态", 13, 15, "12"); this.createSection("我的动态", 7, 12, "12"); this.createSection("我的博客", 11, 17, "12"); this.createSection("留言板", 14, 16, "12"); this.createSection("我的好友", 9, 13, "13"); this.createSection("我的图片", 10, 3, "13"); return(memberApp); }
public IMenu AddMenuByApp( IMemberApp app, String name, String friendUrl, String rawAppUrl ) { Boolean isFirst = this.GetList( app.OwnerId ).Count == 0; IMenu menu = New(); menu.OwnerId = app.OwnerId; menu.OwnerUrl = app.OwnerUrl; menu.OwnerType = app.OwnerType; menu.Creator = app.Creator; menu.Name = name; menu.Url = friendUrl; if (isFirst) menu.Url = "default"; menu.RawUrl = rawAppUrl; menu.Created = DateTime.Now; db.insert( menu ); return menu; }
public virtual IMenu AddMenuByApp( IMemberApp app, String name, String friendUrl, String rawAppUrl ) { Boolean isFirst = this.GetList(Site.Instance).Count == 0; IMenu menu = new SiteMenu(); menu.OwnerId = app.OwnerId; menu.OwnerUrl = app.OwnerUrl; menu.OwnerType = app.OwnerType; menu.Creator = app.Creator; menu.Name = name; menu.Url = friendUrl; if (isFirst) menu.Url = "default"; menu.RawUrl = rawAppUrl; menu.Created = DateTime.Now; Insert( menu ); updateRoute( menu ); return menu; }
private String getLeftSiteNameAndUrl( IMemberApp app ) { String iconPath = strUtil.Join( sys.Path.Img, "app/m/" ); iconPath = strUtil.Join( iconPath, app.AppInfo.TypeFullName ) + ".png"; String icon = string.Format( "<img src=\"{0}\" />", iconPath ); if (app.IsStop == 1) { return ("<span class='stop'>" + icon + " " + app.Name + "</span>"); } return string.Format( "<a href='{1}' class='frmLink' loadto='adminMainBody' nolayout=1>{2} {0}</a>", app.Name, alink.ToAppAdmin( Site.Instance, app ), icon ); }
private String getSiteNameAndUrl( IMemberApp app ) { if (app.IsStop == 1) { return ("<span class='stop'>" + app.Name + "</span>"); } return string.Format( "<a href='{1}'>{0}</a>", app.Name, alink.ToAppAdmin( Site.Instance, app ) ); }
public void RemoveMenuByApp( IMemberApp app, String rawAppUrl ) { IMenu menu = FindByApp( rawAppUrl ); if (menu != null) { ((SiteMenu)menu).delete(); updateDefaultMenu( menu ); } }
public override void log( String msg, IMemberApp app ) { String dataInfo = "{Id:" + app.Id + ", Name:'" + app.Name + "'}"; logService.Add( (User)ctx.viewer.obj, msg, dataInfo, app.GetType().FullName, ctx.Ip ); }
private String getNameAndUrl( IMemberApp app, IMember owner ) { if (app.IsStop == 1) return ("<span class='stop'>" + app.Name + "</span>"); return string.Format( "<a href='{1}'>{0}</a>", app.Name, alink.ToAppAdmin( owner, app ) ); }
private static void intiAppPermission( IMemberApp app ) { AppRole.InitSiteFront( app.Id ); AppAdminRole.InitSiteAdmin( app.Id ); }
public virtual void log( String msg, IMemberApp app ) { }
//----------------------------------------------------------------------------------------- public static String ToUserAppFull( IMemberApp app ) { String strApp = strUtil.TrimEnd( app.AppInfo.TypeName, "App" ); // 1) link map String controller = strApp + "/" + strApp; String x = LinkMap.To( app.OwnerType, app.OwnerUrl, controller, "Index", app.Id ); if (x != null) return x; // 2) if (MvcConfig.Instance.IsUrlToLower) { strApp = strApp.ToLower(); } return getAppLink( app.OwnerType, app.OwnerUrl, strApp, app.AppOid ); }
private String getAppState( IMemberApp app ) { if (app.IsStop == 1) return lang( "stopped" ); return lang( "running" ); }
private object getStatusStyle( IMemberApp app ) { if (app.IsStop == 1) { return "stop"; } return ""; }
public virtual void UpdateAccessStatus( IMemberApp app, AccessStatus accessStatus ) { app.AccessStatus = (int)accessStatus; db.update( (IEntity)app, "AccessStatus" ); AppFactory.UpdateAccessStatus( app, accessStatus ); }
private Boolean isAdded( IMemberApp app, IList addedList ) { foreach (AppInstaller info in addedList) { if (app.AppInfo.Id == info.Id) { return true; } } return false; }
public void UpdateMenuByApp( IMemberApp app, String rawAppUrl ) { IMenu menu = FindByApp( rawAppUrl ); if (menu != null) { UpdateName( menu, app.Name ); } }
private void UpdateByStop( IMemberApp app ) { app.IsStop = 1; db.update( (IEntity)app, "IsStop" ); }
//---------------------------------------------------------------------------------------------------------------- public static String ToUserAppFull( IMemberApp app ) { String strApp = strUtil.TrimEnd( app.AppInfo.TypeName, "App" ); return getAppLink( app.OwnerType, app.OwnerUrl, strApp, app.AppOid ); }