diff --git a/lib/util.php b/lib/util.php index 13966b2dd6..086372a780 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1933,12 +1933,40 @@ function common_confirmation_code($bits) function common_markup_to_html($c) { + $c = preg_replace('/%%user.(\w+)%%/e', "common_user_property('\\1')", $c); $c = preg_replace('/%%action.(\w+)%%/e', "common_local_url('\\1')", $c); $c = preg_replace('/%%doc.(\w+)%%/e', "common_local_url('doc', array('title'=>'\\1'))", $c); $c = preg_replace('/%%(\w+).(\w+)%%/e', 'common_config(\'\\1\', \'\\2\')', $c); return Markdown($c); } +function common_user_property($property) +{ + $profile = Profile::current(); + + if (empty($profile)) { + return null; + } + + switch ($property) { + case 'profileurl': + case 'nickname': + case 'fullname': + case 'location': + case 'bio': + return $profile->$property; + break; + case 'avatar': + return $profile->getAvatar(AVATAR_STREAM_SIZE); + break; + case 'bestname': + return $profile->getBestName(); + break; + default: + return null; + } +} + function common_profile_uri($profile) { if (!$profile) {