Step by step introduction (General)
Hi,
backup your files!
Step by step introduction:
avatar.inc.php
replace this file with the file from the ZIP archive.
functions.inc.php
add new function (no specific line):
/** * Returns the avatar image by user id * * @param int user_id * @return array [path, filename, path/filename] or false if not exists */ function getAvatar($user_id) { $avatar_images_path = 'images/avatars/'; $fileIterator = new FilesystemIterator($avatar_images_path); $regexFileFilterIterator = new RegexIterator($fileIterator, "/\D+(".preg_quote(intval($user_id), '/')."(_\d+)?\.(jpg|gif|png|jpeg)$)/i", RegexIterator::GET_MATCH); $regexFileFilterIterator->rewind(); $filename = ($regexFileFilterIterator->valid() && count($regexFileFilterIterator->current()) > 1) ? $regexFileFilterIterator->current()[1] : false; if ($filename === false || !file_exists($avatar_images_path.$filename)) return false; return array($avatar_images_path, $filename, $avatar_images_path.$filename); }
entry.inc.php
look for this code part (line 54ff)
if($settings['avatars']==2) { if(file_exists('images/avatars/'.$entrydata['user_id'].'.jpg')) $avatar['image'] = 'images/avatars/'.$entrydata['user_id'].'.jpg'; elseif(file_exists('images/avatars/'.$entrydata['user_id'].'.png')) $avatar['image'] = 'images/avatars/'.$entrydata['user_id'].'.png'; elseif(file_exists('images/avatars/'.$entrydata['user_id'].'.gif')) $avatar['image'] = 'images/avatars/'.$entrydata['user_id'].'.gif'; if(isset($avatar)) { $image_info = getimagesize($avatar['image']); $avatar['width'] = $image_info[0]; $avatar['height'] = $image_info[1]; $smarty->assign('avatar', $avatar); } }
and replace it by the new code:
if($settings['avatars']==2) { $avatarInfo = getAvatar($entrydata['user_id']); $avatar['image'] = $avatarInfo === false ? false : $avatarInfo[2]; if(isset($avatar) && $avatar['image'] !== false) { $image_info = getimagesize($avatar['image']); $avatar['width'] = $image_info[0]; $avatar['height'] = $image_info[1]; $smarty->assign('avatar', $avatar); } }
thread.inc.php
Look for this code part (line 133ff)
if($settings['avatars']==2) { if(file_exists('images/avatars/'.$data['user_id'].'.jpg')) $avatar['image'] = 'images/avatars/'.$data['user_id'].'.jpg'; elseif(file_exists('images/avatars/'.$data['user_id'].'.png')) $avatar['image'] = 'images/avatars/'.$data['user_id'].'.png'; elseif(file_exists('images/avatars/'.$data['user_id'].'.gif')) $avatar['image'] = 'images/avatars/'.$data['user_id'].'.gif'; if(isset($avatar)) { $image_info = getimagesize($avatar['image']); $avatar['width'] = $image_info[0]; $avatar['height'] = $image_info[1]; $data['avatar'] = $avatar; unset($avatar); } }
and replace it by
if($settings['avatars']==2){ $avatarInfo = getAvatar($data['user_id']); $avatar['image'] = $avatarInfo === false ? false : $avatarInfo[2]; if(isset($avatar) && $avatar['image'] !== false) { $image_info = getimagesize($avatar['image']); $avatar['width'] = $image_info[0]; $avatar['height'] = $image_info[1]; $data['avatar'] = $avatar; unset($avatar); } }
user.inc.php
Look for this code part (line 256ff)
if($settings['avatars']>0) { if(file_exists('images/avatars/'.$id.'.jpg')) $avatar['image'] = 'images/avatars/'.$id.'.jpg'; elseif(file_exists('images/avatars/'.$id.'.png')) $avatar['image'] = 'images/avatars/'.$id.'.png'; elseif(file_exists('images/avatars/'.$id.'.gif')) $avatar['image'] = 'images/avatars/'.$id.'.gif'; if(isset($avatar)) { $image_info = getimagesize($avatar['image']); $avatar['width'] = $image_info[0]; $avatar['height'] = $image_info[1]; $smarty->assign('avatar', $avatar); } }
and replace it by
if($settings['avatars']>0) { $avatarInfo = getAvatar($id); $avatar['image'] = $avatarInfo === false ? false : $avatarInfo[2]; if(isset($avatar) && $avatar['image'] !== false) { $image_info = getimagesize($avatar['image']); $avatar['width'] = $image_info[0]; $avatar['height'] = $image_info[1]; $smarty->assign('avatar', $avatar); } }
user.inc.php
Look for this code part (line 462ff)
if($settings['avatars']>0) { if(file_exists('images/avatars/'.$_SESSION[$settings['session_prefix'].'user_id'].'.jpg')) $avatar['image'] = 'images/avatars/'.$_SESSION[$settings['session_prefix'].'user_id'].'.jpg'; elseif(file_exists('images/avatars/'.$_SESSION[$settings['session_prefix'].'user_id'].'.png')) $avatar['image'] = 'images/avatars/'.$_SESSION[$settings['session_prefix'].'user_id'].'.png'; elseif(file_exists('images/avatars/'.$_SESSION[$settings['session_prefix'].'user_id'].'.gif')) $avatar['image'] = 'images/avatars/'.$_SESSION[$settings['session_prefix'].'user_id'].'.gif'; if(isset($avatar)) { $image_info = getimagesize($avatar['image']); $avatar['width'] = $image_info[0]; $avatar['height'] = $image_info[1]; $smarty->assign('avatar', $avatar); } }
and replace it by
if($settings['avatars']>0) { $avatarInfo = getAvatar($_SESSION[$settings['session_prefix'].'user_id']); $avatar['image'] = $avatarInfo === false ? false : $avatarInfo[2]; if(isset($avatar) && $avatar['image'] !== false) { $image_info = getimagesize($avatar['image']); $avatar['width'] = $image_info[0]; $avatar['height'] = $image_info[1]; $smarty->assign('avatar', $avatar); } }
regards
Micha
--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences