Zoph/变更日志
2018 年 1 月 20 日
我今年非常忙碌,很少有时间花在 Zoph 上,但去年 12 月,我终于找到了时间完成我最初为 0.9.6 计划的:对搜索界面和搜索引擎的完全重写。Zoph 中那部分代码大部分已有 10 多年的历史,这些年来变得相当混乱。搜索引擎确实是 Zoph 的核心:如果你在 Zoph 中打开一个相册,在幕后,Zoph 实际上执行的是对该相册中所有照片的搜索。这使得这段代码非常重要,我在进行任何更改之前,都通过自动测试(单元测试)来确保覆盖所有这些代码。
- issue#83 对搜索页面和 Zoph 的核心功能进行完全重写,包括对 Zoph 其他部分的现代化。
- issue#90 添加新地点时显示的错误。
- issue#99 使用 https 时地理定位不起作用。
- 文档更新 - 并非所有文件都使用 Github 的 Markdown 解释器正确显示。
2017 年 4 月 14 日
Zoph 0.9.5 与 MySQL 中的一个重大更改相吻合,该更改导致 Zoph 和其他开源项目中出现许多错误。MySQL 改变了他们处理查询的方式,使他们能够更严格地处理查询。更糟糕的是,MariaDB 没有进行这个更改,所以一开始我无法重现问题。由于工作量很大,我决定推迟 0.9.6 计划的开发,并将此版本作为仅修复错误的版本。在这个版本中,我包含了 Pontus Fröding 的一些错误修复,这真的太好了,感谢 Pontus!
- issue#86 修复了 0.9.5 升级说明中的遗漏。
- issue#87 添加或编辑时有关未找到类的错误。
- issue#88 针对 MySQL 5.7 兼容性的更改。
- 为时间戳提供默认值。
- 添加了 MySQL 5.7 与 SELECT DISTINCT .. ORDER BY 兼容性所需字段。
- 为自动覆盖查询添加 "ORDER BY" 字段。
- 针对 MySQL 5.7 兼容性的更多更改。
- 更新了 SQL 脚本。
- 从数据库中删除了未使用的字段。
- issue#91 将 PHPUnit 类更改为命名空间类命名。
- 修复了导致单元测试提交失败的单元测试问题。
- Pull request#94 在 edit_person 中为模板 showJSwarning 添加命名空间 (由 Pontus Fröding 完成)。
- Pull request#95 在另外两个地方添加模板命名空间 (由 Pontus Fröding 完成)。
- issue#92 修复了数据库连接到 utf-8 的问题。
- issue#93 Pull request#95 使用页面集时修复 "找不到类 pager" 的问题 (由 Pontus Fröding 完成)。
- 对回溯打印进行了一些修改,以简化调试。
- 将相册视图移入模板。
- issue#89 更改了照片页面上“下一个”和“上一个”按钮的外观,并增加了操作链接的大小。
- 小的样式更改。
2017 年 2 月 4 日
Zoph 0.9.5 是新的稳定版本。建议每个人都升级到这个版本。
- issue#68 从 Mapstraction 更改为 Leaflet 作为映射抽象 - 支持 Google Maps、OpenStreetMap 和 MapBox (OpenStreetMap)。
此代码基于 Jason (@JiCiT) 提供的代码。 - issue#80 现在你可以从相册屏幕编辑权限,而无需转到组编辑。
- issue#82 如果找不到照片,Zoph 现在会显示适当的错误消息。
- 修复了在某些情况下管理员可能会无意中删除相册的错误。
- 许多内部更改以迁移到 MVC 架构。
- Zoph 的几个部分被移入模板。
- 添加了更多单元测试 - 自动测试 Zoph。
2016 年 9 月 18 日
Zoph 0.9.4 是新的稳定版本。建议每个人都升级到这个版本。
- 地理编码:Zoph 现在也搜索维基百科。
- issue#67 更改了颜色方案定义以使用一个友好的界面来选择颜色。
- issue#23 管理员用户现在可以为新用户定义默认的首选项。
- issue#24 添加了一个选项,用于自动将权限传播到新创建的相册。
- issue#78 删除了 Yahoo 和 Cloudmade 映射,因为他们不再向公众提供服务。
- issue#78 删除了 Openlayers 映射,因为 Zoph 的实现有错误,并且不再起作用。
- issue#47 照片现在可以从磁盘中删除 (移动到垃圾箱目录)。
- issue#67 添加了一些新的颜色方案。
- 修复了编辑组访问权限时相册下拉列表出现问题。
- 修复了圆圈页面有时会报告未找到$title的问题
- 修复了圆圈页面更改视图的问题
- 修复了在使用配置页面时导致 Firefox 出现错误的问题
- 修复了时间和评分的可折叠细节
- issue#78 修复了管理员用户有时无法查看人员或地点的问题
- issue#77 由 Thomas Weiland 完成的德语翻译中包含大量修复
- 将组显示移至模板
- 将组删除(确认)移至模板
- 将组编辑移至模板
- issue#79 修改递归创建目录,使 Zoph 能够在 open_basedir 环境中运行。
- issue#66 清理 CSS
- 对 Zoph 的外观进行了一些现代化改造
- issue#85 修改了导入过程,以显示更清晰的错误消息
- 添加了重置 CSS
- issue#81 文档更新
- 对单元测试进行了一些修复
- 新增测试
- 将 group_permissions 类重构为 permissions 类
- 重构 prefs 类
- 将首选项页面移至模板
- 修改 prefs 模板以使用标签而不是定义列表
2016 年 6 月 10 日
Zoph 0.9.3 是新的稳定版本。建议所有人升级到此版本
- issue#72 Zoph 现在拥有新的登录屏幕
登录屏幕具有背景照片。其中两张已包含在 Zoph 中。您可以在templates/default/images/backgrounds/中放置您自己的背景。或者,您可以在(配置屏幕上)定义一个专辑,从中将图像用作背景图像。Zoph 将显示随机图像作为背景。 - issue#76 登录屏幕现在会显示有关用户名和/或密码错误的消息,而不是简单地返回到同一个屏幕
- issue#75 Zoph 现在使用 PHP 的密码哈希算法,而不是 MySQL 的。
这包括为每个密码添加一个随机“盐”。这将使解密您的密码变得更加困难,即使您的数据库落入错误手中。用户登录后,旧的哈希值将立即更新为新的哈希值。Zoph 将继续支持旧的密码哈希值,至少到 v0.9.5。 - issue#26 现在可以定义 cookie 过期时间。在 Zoph 的早期版本中,用户在关闭浏览器时将被注销。现在,可以将时间延长至 1 小时、4 小时、8 小时、1 天、1 周或 1 个月。这意味着用户在此期间无需重新登录,即使在浏览器关闭的情况下也是如此。这可能非常方便,但这可能意味着用户在公共电脑上登录 Zoph 后离开。因此,默认值仍然是“会话”,这意味着用户在关闭浏览器时将被注销。
- “新建”页面现在会显示在面包屑中
- 现在,可以向用户授予“查看所有照片”访问权限。这意味着您可以向用户授予所有照片的访问权限,而无需授予他/她管理员权限,也无需在添加专辑时更新用户权限。
- issue#22 现在,可以允许用户创建专辑、类别、人员、圆圈和地点。用户自动拥有将照片放置到他/她创建的专辑、类别、人员、圆圈和地点中的访问权限。
- issue#21现在,可以允许用户删除照片。用户必须至少对包含照片的一个专辑具有“写入”访问权限。
- 删除 zoph.php 上链接中的丑陋尾随空格
- 添加了一种方法,可以在配置页面上根据另一个配置项的状态禁用设置。(这是因为照片专辑作为登录背景依赖于共享功能的启用)。
- 将用户页面移至模板
- 将表单移至单独的类
- 对地点和类别页面进行了一些清理
- 重构操作链接的 HTML
- 修改 createTestData 脚本,使其仅需输入一次密码
- 重新排列单元测试的顺序
- 添加了德语、加拿大英语和荷兰语的翻译
2016 年 4 月 1 日
Zoph 0.9.2 是新的稳定版本。我决定放弃“稳定”和“不稳定”或“功能”版本之间的区别。这意味着建议所有人升级到此版本。
- issue#44 添加了“圆圈”:一种在 Zoph 中对人员进行分组的方式。如果您在 Zoph 中有大量人员,而“人员”页面变得混乱或杂乱,则此功能尤其有用。
- issue#46 可以隐藏圆圈及其成员,以便您可以在概览页面中隐藏仅为一小部分照片添加的人员。
- issue#20 Zoph 已切换到 PDO 类进行数据库访问。这确保了与未来 PHP 的兼容性,因为旧的 mysql 库将很快被弃用。
- issue#32 现在,可以从 Web 导入设置照片的更多属性,包括地图缩放比例。
- issue#60 “下一步”和“上一步”以及页码的链接文本已增大,以提高可用性,尤其是在移动设备上。
- 添加了一个用于修复文件名大小写(由 Jason Taylor 完成)的脚本
- 通过 https 访问 Google 地图(Jason Taylor)
- 从本版本开始,语言文件位于 php 目录中,不再需要单独复制或移动
- issue#49 Zoph 现在支持 MySQL 严格模式
- issue#55 自动完成对人员不起作用
- issue#58 无法更改专辑和类别的排序顺序
- CLI:修复了 Zoph 在 CLI 中存在双空格时尝试导入到当前目录的问题
- 在导入过程中更好地处理文件未找到的问题
- 修复了导致地图无法显示的两个错误
- 修复了面包屑在某些情况下无法正确删除的问题
- 更改了 Exception 类的错误扩展名
- 修复了非管理员用户的登录时间过慢问题
- 提高了人员页面上的性能
- 修复:Google 地图上缺少缩放按钮
- 从导入中删除重复文件(如果您在 CLI 导入中两次指定同一个文件,则会收到错误,现在已过滤掉该错误)
- 修复了添加用户页面上的人员下拉菜单显示为空的问题
- 删除用户时,将其从组中删除
- 修复了地点页面上的未知变量警告
- 允许在创建地图标记时在地名中使用撇号(Jason Taylor)
- 创建了一个全新的查询构建器
- 现在,Zoph 的更多部分可以(并且正在)进行自动测试,这将提高整体质量并减少错误
- Zoph 的许多部分已经过清理,以使代码现代化,使其符合 PHP 的当前状态 - 放弃对 PHP 5.3 和 5.4 的兼容性
- 放弃对 MSIE6/7 的兼容性
- 在 Zoph 的源代码的许多部分添加了文档
- 对源代码的可读性进行了许多更改,例如更一致地使用空格
- 添加了一些调试功能,以便在出现问题时更轻松地进行故障排除
- 更改日志记录,以便在设置为 log::NONE 时显示更少的日志记录。
- 将所有 self:: 引用更改为 static:: 引用。
- 为许多方法添加了函数范围。
- 开始使用命名空间来更好地组织类。
- 更新了 REQUIREMENTS 自述文件中的版本号。
- issue#8 (部分)更改 Zoph 的几个部分以使用模板。
- 对模板系统进行了改进。
- 出于性能原因,将照片访问权限查询修改为视图。
- 更改日志记录,以便可以将 SQL 查询日志记录到文件而无需显示。
- 对地点页面进行了性能改进。
- 添加了调试查询(包括参数)的功能。
2014 年 2 月 21 日
Zoph 0.9.1 是 Zoph 0.9 的第一个功能版本,它展示了 Zoph 0.10 中一些新功能的预览。最重要的更改是将大多数配置项从config.inc.php移动到 Web GUI 中。
- issue#28 通过 webinterface 配置 commit (jeroenrnl)
- 删除了缩略图功能下的显示描述 commit (jeroenrnl)
- 删除了 MIXED_THUMBNAILS 和 THUMB_EXTENSION 设置 commit (jeroenrnl)
- 删除了 DEFAULT_SHOW_ALL 设置 commit (jeroenrnl)
- 删除了 LANG_DIR 配置项 commit (jeroenrnl)
- 稍微更改了 <input> 字段的外观 commit (jeroenrnl)
- 删除了备用密码验证器 commit (jeroenrnl)
- 删除了对 PHP 5.1 的检查 commit (jeroenrnl)
- 添加了 CLI 对配置的支持 commit (jeroenrnl)
- issue#7 添加了一个 favicon commit (jeroenrnl)
- issue#18 在批量编辑页面上添加了“返回”链接 commit (jeroenrnl)
- 添加了一个脚本将配置迁移到新的基于数据库的系统 commit (jeroenrnl)
- issue#8 从 webinterface 中选择模板 commit (jeroenrnl)
- 删除了 MAX_CRUMBS commit (jeroenrnl)
- 简化了 CLI 代码并修复了 --autoadd 中的错误 commit (jeroenrnl)
- issue#34 照片页面上行和列互换 commit (jeroenrnl)
- issue#36 Webimporter 不会导入描述 commit (jeroenrnl)
- issue#37 无法使用鼠标在地图上添加位置 commit (jeroenrnl)
- 修复了一个错误,该错误导致在某些(罕见)情况下,EXIF 信息错误地报告光圈。 commit (jeroenrnl)
- 严格标准警告 commit (jeroenrnl)
- issue#45 HTML 标签内的分页符会导致浏览器渲染错误 commit (jeroenrnl)
- issue#45 在 zophTable 中添加了 selectArray 缓存 commit (jeroenrnl)
- issue#48 在导入期间修复照片评分 commit (jeroenrnl)
- issue#50 Geonames 项目已更改 URL 并需要用户名 commit (jeroenrnl)
- issue#51 修复了自动更正关闭时树显示中的深度 commit (jeroenrnl)
- issue#39 添加了对 session.upload_progress 的支持,作为 APC 的替代方案(PHP 5.4 兼容性) commit (jeroenrnl)
- issue#38 CLI 在查找摄影师时尝试查找上一个参数的值 commit (jeroenrnl)
我在 Zoph 的“内部”进行了相当多的改进。我重构了 Zoph 的许多部分,以创建更干净、更少重复且更强大的代码。我已经引入了单元测试(导致 Zoph 约 20% 的源代码现在通过自动化测试完全测试以发现错误)。作为帮助,我现在使用 Sonar 自动运行这些测试,并分析 Zoph 代码以寻找其他问题。
- issue#29 创建 Zoph 单元测试的第一步 commit (Jeroen Roos)
- Sonar 支持 commit (jeroenrnl)
- 重构映射实现的 PHP 部分 commit (jeroenrnl)
- 将时区相关的全局函数移入类 commit (jeroenrnl)
- TimeZone 对象改进 commit (jeroenrnl)
- 照片页面上调用模板的方式略有更改(完整页面模板现在是“模板”,而部分页面是“块”) commit (jeroenrnl)
- 重构 htmlMimeMail.php commit (jeroenrnl)
- 重构 Mail_mimePart commit (jeroenrnl)
- 重构注释照片、水印照片、image.php commit (jeroenrnl)
- 完成了 MIME 类的重构 commit (jeroenrnl)
- 重构相册、类别、地点、人物、照片 commit (jeroenrnl)
- 重构:getEditArray() + 单元测试 commit (jeroenrnl)
- 进一步重构照片、相册、人物、地点、类别 commit commit (jeroenrnl)
- 重构:将评分从照片对象中移出 commit commit (jeroenrnl)
- 重构:将关系从照片对象移到新的 photoRelations 对象 commit (jeroenrnl)
- 重构:照片对象 commit (jeroenrnl)
- 摆脱了将 session_id 添加到 URL commit (jeroenrnl)
- 将内部数据库引用修改为静态 commit (jeroenrnl)
- 从 require 和 include 语句中删除了方括号 commit (jeroenrnl)
- 将 die() 替换为异常 commit (jeroenrnl)
- 将对象中的 self 引用更改为使用 self:: commit (jeroenrnl)
- 删除了未使用的类 smtp commit (jeroenrnl)
- 使自动加载更加健壮 commit (jeroenrnl)
- 更改自动加载,使其在单元测试中也能正常工作。 commit (jeroenrnl)
- 删除未使用的 RFC822 类 commit (jeroenrnl)
- 将 mailMimePart.inc.php 中的换行符更改为 Unix 风格 commit (jeroenrnl)
- 删除了各种未使用的变量 commit (jeroenrnl)
- 删除了重复的模板 commit (jeroenrnl)
- 删除了 createPulldown() 调用中未使用的 $user。 commit (jeroenrnl)
- 修改了一些查询以提高性能 commit (jeroenrnl)
2012 年 10 月 18 日
Zoph 0.9.0.1 是 Zoph 0.9 的第一个维护版本。它增加了与 MySQL 5.4.4 及更高版本和 PHP 5.4 支持的兼容性。修复了几个错误。
- issue#1 将 TYPE=MyISAM 更改为 ENGINE=MyISAM 以实现与 MySQL > 5.4.4 的兼容性 commit (jeroenrnl)
- issue#2 将 timestamp(14) 更改为 timestamp commit (jeroenrnl)
- issue#3 删除了 PHP 5.4 兼容性的按引用传递 commit (jeroenrnl)
- issue#6 缺少法语翻译 commit (jeroenrnl)
- issue#30 删除有关未定义变量的警告 commit commit commit (jeroenrnl)
- issue#1 已修复:PHP Notice: Array to string conversion commit (jeroenrnl)
- issue#31 修复了地理标记代码中的几个错误 commit (jeroenrnl)
- issue#33 已修复:旋转失败时没有错误消息 commit (jeroenrnl)
- 修复了首选项页面上的一个小布局问题 commit (jeroenrnl)