PHPCMS出错Call to undefined function sitename()

时间:2022-06-01 19:49:55

一站点使用PHPCMS V9.4.2,因很久未升级,在使用后台的在线升级,升级到9.5.4后,出现“Call to undefined function sitename()”错误(注原模板未升级),原因因新版本删除掉了sitename($siteid)函数,而模板中仍调用了此函数,例如mamber下的header.html

<title>{L('member','','member').L('manage_center')} - {sitename($siteid)}</title>

解决方法是,将原来版本的函数复制了放在原来的文件里

根目录\phpcms\libs\functions\global.func.php

约1420行,添加

/**
* 获取站点名称
* @param $sitename 站点名
*/
function sitename($siteid) {
    static $sitelist;
    if(empty($sitelist)) $sitelist = getcache('sitelist','commons');
    return $sitelist[$siteid]['name'];
}
觉得PHPCMS不应该这么不负责任,如果觉得原来的函数存在安全问题,用新函数替代,那么在老的函数里对新函数再调用一次就行了,反正用来缓存机制,不影响速度,算起来也算向下兼容了啊。