Zurmo - - 商标及修改
来源:SegmentFault
2023-01-14 20:14:37
0浏览
收藏
本篇文章给大家分享《Zurmo - - 商标及修改》,覆盖了数据库的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。
1:简介
关于Zurmo的商标和Logo,官方源码中是这样说的:在
zurmo/app/protected/modules/zurmo/views/FooterView.php 48行
Do not remove the Zurmo logo or Zurmo Copyright notice.The interactive user interfaces in original and modified versions of this program must display Appropriate Legal Notices, as required under Section 5 of the GNU Affero General Public License version 3.In accordance with Section 7(b) of the GNU Affero General Public License version 3,these Appropriate Legal Notices must retain the display of the Zurmo logo and Zurmo copyright notice. If the display of the logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices must display the words "Copyright Zurmo Inc. 2015. All rights reserved".中文的意思是:
不要删除Zurmo标志或Zurmo版权声明。根据GNU Affero通用公共许可证版本3的第5节的要求,此程序的原始和修改版本中的交互式用户界面必须显示适当的法律声明。根据第7节( b)的GNU Affero通用公共许可证版本3,这些适当的法律声明必须保留显示的Zurmo标志和Zurmo版权声明。如果由于技术原因,徽标的显示不合理,则适当的法律声明必须显示“版权Zurmo Inc. 2015保留所有权利”。
PS : 大概的意思是叫开发者不要改动,至于改与不改,就看大家的具体的需求了。
2:如果要修改的话,步骤如下:
-
在相同的文件中
zurmo/app/protected/modules/zurmo/views/FooterView.php
修改如下代码:protected function renderContent()
{$copyrightHtml = '' . 'Copyright © Zurmo Inc., 2015. All rights reserved.'; $copyrightHtml .= $this->renderPerformance(); $content = ZurmoHtml::tag('div', array('class' => 'container'), $copyrightHtml); return $content;
}
把 $copyrightHtml = '' . 'Copyright © Zurmo Inc., 2015. All rights reserved.'; 改成 $copyrightHtml = '';
-
去到
zurmo/app/protected/core/components/ClientScript.php
里的85
行public function render(& $output)
{if ($this->isAjaxMode()) { $this->removeAllPageLoadedScriptFilesWhenRenderingInAjaxMode(); } parent::render($output); if (!$this->isAjaxMode()) { cleanAndSanitizeScriptHeader($output); 注释掉这一行,就可以了 }}
- 刷新页面,就可以把每个页面底部的商标和Logo都清除了,PS:如果不行的话,清除缓存。
- 其实原理是:版权是由
cleanAndSanitizeScriptHeader()
函数实现,但是我们全局搜索又找不到这个函数的定义,其实是Zurmo
采用了十六进制加密,把那个函数编译成一串16进制字符串
,然后用eval()
方法执行,从而隐藏了明文定义版权的作用。代码位于zurmo/yii/framework/web/CClientScript.php
文件的最下面,如下:
eval("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x63\x6c\x65\x61\x6e\x41\x6e\x64\x53\x61\x6e\x69\x74\x69\x7a\x65\x53\x63\x72" .
"\x69\x70\x74\x48\x65\x61\x64\x65\x72\x28\x26\x20\x24\x6f\x75\x74\x70\x75\x74\x29\x0a\x20\x20\x20\x20\x20\x20\x20" .
"\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20" .
"\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x24\x72\x65\x71\x75\x69\x72\x65\x64" .
"\x4f\x6e\x65\x20\x3d\x20\x22\x3c\x73\x70\x61\x6e\x3e\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x26\x23\x31\x36\x39" .
"\x3b\x20\x5a\x75\x72\x6d\x6f\x20\x49\x6e\x63\x2e\x2c\x20\x32\x30\x31\x35\x2e\x20\x41\x6c\x6c\x20\x72\x69\x67\x68" .
"\x74\x73\x20\x72\x65\x73\x65\x72\x76\x65\x64\x2e\x3c\x2f\x73\x70\x61\x6e\x3e\x22\x3b\x0a\x09\x09\x09\x20\x20\x20" .
"\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x24\x72\x65\x71\x75\x69\x72\x65\x64\x54\x77\x6f\x20\x3d\x20" .
"\x27\x3c\x61\x20\x68\x72\x65\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x7a\x75\x72\x6d\x6f\x2e\x63" .
"\x6f\x6d\x22\x20\x69\x64\x3d\x22\x63\x72\x65\x64\x69\x74\x2d\x6c\x69\x6e\x6b\x22\x20\x63\x6c\x61\x73\x73\x3d\x22" .
"\x63\x6c\x65\x61\x72\x66\x69\x78\x22\x3e\x27\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20" .
"\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x33\x43\x56\x61\x6c\x69\x64\x61\x74\x6f\x72\x53\x65\x72" .
"\x76\x69\x63\x65\x55\x74\x69\x6c\x3a\x3a\x72\x65\x73\x6f\x6c\x76\x65\x43\x6c\x65\x61\x6e\x28\x24\x6f\x75\x74\x70" .
"\x75\x74\x2c\x20\x24\x72\x65\x71\x75\x69\x72\x65\x64\x4f\x6e\x65\x2c\x20\x24\x72\x65\x71\x75\x69\x72\x65\x64\x54" .
"\x77\x6f\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20" .
"\x20\x7d");。
上面的这段
16进制字符串用相应的PHP方法转换成正常的字符串就可以看到了。代码就是
cleanAndSanitizeScriptHeader方法的定义。
今天关于《Zurmo - - 商标及修改》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
版本声明
本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
CentOS 7环境搭建(JDK、Tomcat、Mysql)
- 上一篇
- CentOS 7环境搭建(JDK、Tomcat、Mysql)
- 下一篇
- Zurmo - - 新手入门指南
评论列表
-
- 平常的大神
- 感谢大佬分享,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,看完之后很有帮助,总算是懂了,感谢大佬分享技术文章!
- 2023-05-28 21:31:27
-
- 冷傲的大炮
- 这篇技术贴真是及时雨啊,好细啊,感谢大佬分享,码起来,关注大佬了!希望大佬能多写数据库相关的文章。
- 2023-03-23 10:32:10
-
- 凶狠的小虾米
- 这篇文章出现的刚刚好,很详细,感谢大佬分享,已收藏,关注楼主了!希望楼主能多写数据库相关的文章。
- 2023-02-10 13:59:17
-
- 合适的红牛
- 太全面了,码住,感谢up主的这篇技术贴,我会继续支持!
- 2023-01-19 03:09:38
查看更多
最新文章
-
- 数据库 · MySQL | 21小时前 | MySQL · JSON · 性能优化 · mysql 部分更新 JSON_SET JSON_STORAGE_FREE
- MySQL JSON 部分更新什么时候真的生效
- 132浏览 收藏
-
- 数据库 · MySQL | 21小时前 | mysql 存储过程 错误信息 RESIGNAL GET STACKED DIAGNOSTICS
- MySQL RESIGNAL 怎样在存储程序中保留原始错误信息
- 280浏览 收藏
-
- 数据库 · MySQL | 21小时前 | MySQL · InnoDB · 数据库运维 · mysql Threads 锁等待 data_locks performance_schema data_lock_waits INNODB_TRX 阻塞事务
- MySQL 锁等待超时怎样从 performance_schema 找阻塞者
- 458浏览 收藏
-
- 数据库 · MySQL | 21小时前 |
- MySQL SIGNAL 怎样在存储程序中定义自定义异常
- 132浏览 收藏
-
- 数据库 · MySQL | 21小时前 | mysql optimizer hint 连接顺序 JOIN_ORDER JOIN_PREFIX
- MySQL optimizer hint 怎样限定连接顺序
- 403浏览 收藏
-
- 数据库 · MySQL | 22小时前 | MySQL · 事务 · 故障排查 · mysql transaction_read_only INNODB_TRX START TRANSACTION SET TRANSACTION
- MySQL 事务只读模式怎样判断当前连接能否写入
- 102浏览 收藏
-
- 数据库 · MySQL | 22小时前 | mysql visible 不可见索引 SET_VAR optimizer_switch
- MySQL 不可见索引怎样临时恢复可见性
- 124浏览 收藏
-
- 数据库 · MySQL | 22小时前 |
- MySQL JSON_TABLE 怎样展开嵌套数组又保留没有子项的行
- 231浏览 收藏
-
- 数据库 · MySQL | 22小时前 |
- MySQL JSON_VALUE 怎样区分路径不存在和 JSON 空值
- 488浏览 收藏
-
- 数据库 · MySQL | 23小时前 |
- MySQL GROUP BY WITH ROLLUP 识别小计与总计行的判断方法
- 483浏览 收藏
-
- 数据库 · MySQL | 23小时前 |
- MySQL CTE 怎样判断是否应该物化
- 315浏览 收藏
查看更多
课程推荐
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
查看更多
AI推荐
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 582次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 620次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 651次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 616次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 432次使用
查看更多
相关文章
-
- MySQL 明明加了索引,为什么查询还是很慢?先查这 6 个点
- 2026-06-27 374浏览
-
- golang MySQL实现对数据库表存储获取操作示例
- 2022-12-22 499浏览
-
- golang 基于 mysql 简单实现分布式读写锁
- 2023-01-07 384浏览
-
- 详解如何利用GORM实现MySQL事务
- 2023-01-07 184浏览
-
- Go语言实现操作MySQL的基础知识总结
- 2023-01-23 265浏览

