同步操作将从 xiezunjin/DocHub 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package modelsimport ("fmt""io/ioutil""time""github.com/TruthHun/DocHub/helper")//文档备注,用于侵权文档等的部分内容的预览展示,并在文档预览页面挂上跳转购买正版的导购链接;同时对于一些开源书籍,也可以一面提供站内文档的下载,一面引导用户购买正版。type DocumentRemark struct {Id int `orm:"column(Id)"` //document_store表中的ID,当前台页面查询文档的备注的时候,以DsId作为document_remark表中的主键进行查询Content string `orm:"column(Content);size(5120);default()"` //备注内容内容AllowDownload bool `orm:"column(AllowDownload);default(true)"` //是否允许下载文档Status bool `orm:"column(Status);default(true)"` //备注状态,true表示显示,false表示隐藏TimeCreate int `orm:"column(TimeCreate);default(0)"` //创建时间}//注意:这里处理GetParseContentByDocId,其他基本上是模板内容的形式//{$title}:文档的标题//{$md5}:文档的md5//{$share}:文档的分享时间//{$uid}:文档的上传用户//{$username}:文档分享用户名//{$sitename}:站点名称//根据文档id获取文档的备注//@param id document_store表中的ID[TODO:注意!!!!(这里加TODO,主要是为了在IDE上更显眼)]//@return rm 文档备注//@return err 文档错误func (this *DocumentRemark) GetParseContentByDocId(docid interface{}) (rm DocumentRemark, err error) {err = O.QueryTable(TableDocRemark).Filter("Id", docid).One(&rm)return}//获取内容模板//@param DsId 文档DsId//@return rm 生成的文档备注模板func (this *DocumentRemark) GetContentTplByDsId(DsId int) (rm DocumentRemark) {rm.Id = DsIdif err := O.Read(&rm); err != nil || rm.Id == 0 {return this.GetDefaultTpl(DsId)}return rm}//获取文档备注模板//@param DsId 文档DsId//@return rm 生成的文档备注模板func (this *DocumentRemark) GetDefaultTpl(DsId int) (rm DocumentRemark) {rm.Id = DsIdrm.Status = falserm.AllowDownload = truerm.TimeCreate = 0if bytes, err := ioutil.ReadFile("./conf/remarktpl.html"); err != nil {rm.Content = fmt.Sprintf("模板文件打开失败:%v", err.Error())} else {rm.Content = string(bytes)}return}//根据dsid判断文档是否已存在备注func (this *DocumentRemark) IsRemark(dsid interface{}) bool {var rm = DocumentRemark{Id: helper.Interface2Int(dsid)}if rm.Id > 0 {if O.Read(&rm); rm.TimeCreate > 0 {return true}}return false}//新增或更改内容,如果TimeCreate为0,表示新增,否则表示更新//@param rm 备注内容//@return err 返回错误,nil表示成功func (this *DocumentRemark) Insert(rm DocumentRemark) (err error) {if rm.TimeCreate == 0 {rm.TimeCreate = int(time.Now().Unix())_, err = O.Insert(&rm)} else {_, err = O.Update(&rm)}return err}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。