X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fprofile.php;h=1a6c1b86836842dc5fb9193d036a91aee3063d74;hb=ab694f121697458dba7599694721f57fb9428184;hp=4b300049f041ffc9f6ae1d162e060203a89b74ad;hpb=937e3c82dba6ab139ec02f38ee978be0761dcc44;p=platal.git diff --git a/modules/profile.php b/modules/profile.php index 4b30004..1a6c1b8 100644 --- a/modules/profile.php +++ b/modules/profile.php @@ -190,6 +190,8 @@ class ProfileModule extends PLModule $new = Env::v('modif') == 'new'; $user = get_user_details($login, S::v('uid'), $view); + $user['freetext'] = preg_replace('/((?:https?|ftp):\/\/(?:&|\.*,*[a-z@0-9~%$£µ&i#\-+=_\/\?])*)/i', + '\\0', $user['freetext']); $title = $user['prenom'] . ' ' . empty($user['nom_usage']) ? $user['nom'] : $user['nom_usage']; $page->assign('xorg_title', $title); @@ -649,8 +651,15 @@ class ProfileModule extends PLModule $adr = trim($adr1); $adr = trim("$adr\n$adr2"); $adr = trim("$adr\n$adr3"); - $adr = explode("\n", quoted_printable_encode(";;$adr;$city;$region;$postcode;$country")); - return implode("\n", array_map('trim', $adr)); + return $this->quoted_printable_encode(";;$adr;$city;$region;$postcode;$country"); + } + + function quoted_printable_encode($text) + { + return implode("\n", + array_map('trim', + explode("\n", + quoted_printable_encode($text)))); } function handler_vcard(&$page, $x = null) @@ -669,11 +678,15 @@ class ProfileModule extends PLModule require_once 'xorg.misc.inc.php'; require_once 'user.func.inc.php'; - $page->register_modifier('qp_enc', 'quoted_printable_encode'); + $page->register_modifier('qp_enc', array($this, 'quoted_printable_encode')); $page->register_function('format_adr', array($this, 'format_adr')); $login = get_user_forlife($x); $user = get_user_details($login); + + if (strlen(trim($user['freetext']))) { + $user['freetext'] = html_entity_decode($user['freetext']); + } // alias virtual $res = XDB::query( @@ -688,7 +701,7 @@ class ProfileModule extends PLModule $user['forlife'].'@'.$globals->mail->domain2); $user['virtualalias'] = $res->fetchOneCell(); - + // get photo $res = XDB::query( "SELECT attach