我的php编码最新的php版本,原始代码:
<?php
function smarty_function_gravatar($params, &$smarty) {
$email = (isset($params['email']) ? trim(strtolower($params['email'])) : '');
$rating = (isset($params['rating']) ? $params['rating'] : 'R');
$url = "https://www.gravatar.com/avatar/".md5($email) . "?r=".$rating;
if(isset($params['default']))
$url .= "&d=".urlencode($params['default']);
if(isset($params['size']))
$url .= "&s=".$params['size'];
if(isset($params['assign'])) {
$smarty->assign($params['assign'], $url);
return;
}
return $url;
}
add_hook('ClientAreaPage', 1, 'smarty_function_gravatar');
从错误日志:
{main} {"exception":"[object] (ArgumentCountError(code: 0): Too few arguments to function smarty_function_gravatar(), 1 passed and exactly 2 expected at /home/myuser/public_html/includes/hooks/avatar.php:3)"} []
请帮助替换php 7.2的新代码
答案 0 :(得分:1)
我只能建议以下内容,我之前从未使用过whmcs,但可能会引用global $smarty;
变量。
变化
function smarty_function_gravatar($params, &$smarty) {
到
function smarty_function_gravatar($params){
global $smarty;