public function getAvatar($isThumb = true) { $config = DiscussHelper::getConfig(); $db = DiscussHelper::getDBO(); static $avatar; if (!$config->get('layout_avatar')) { return false; } $key = $this->id . '_' . (int) $isThumb; if (!isset($avatar[$key])) { $integrate = new DiscussIntegrate(); $field = $integrate->getField($this, $isThumb); //$this->avatarLink = $field[ 'avatarLink' ]; $avatar[$key] = $field['avatarLink']; } $this->avatarLink = $avatar[$key]; return $this->avatarLink; }
/** * Displays the user editing form * * @since 1.0 * @access public * @return */ public function edit($tmpl = null) { require_once DISCUSS_HELPERS . '/integrate.php'; $document = JFactory::getDocument(); $mainframe = JFactory::getApplication(); $user = JFactory::getUser(); $config = DiscussHelper::getConfig(); if (empty($user->id)) { $mainframe->enqueueMessage(JText::_('COM_EASYDISCUSS_YOU_MUST_LOGIN_FIRST'), 'error'); $mainframe->redirect(DiscussRouter::_('index.php?option=com_easydiscuss&view=index')); return false; } $this->setPathway(JText::_('COM_EASYDISCUSS_PROFILE'), DiscussRouter::_('index.php?option=com_easydiscuss&view=profile&id=' . $user->id)); $this->setPathway(JText::_('COM_EASYDISCUSS_EDIT_PROFILE')); //load porfile info and auto save into table if user is not already exist in discuss's user table. $profile = DiscussHelper::getTable('Profile'); $profile->load($user->id); $userparams = DiscussHelper::getRegistry($profile->get('params')); $siteDetails = DiscussHelper::getRegistry($profile->get('site')); $maxSize = ini_get('upload_max_filesize'); $configMaxSize = $config->get('main_upload_maxsize', 0); if ($configMaxSize > 0) { // Backend settings is MB $configMaxSize = $configMaxSize * 1024 * 1204; // We convert to bytes because the function is accepting bytes $configMaxSize = DiscussHelper::getHelper('String')->bytesToSize($configMaxSize); } $avatar_config_path = $config->get('main_avatarpath'); $avatar_config_path = rtrim($avatar_config_path, '/'); $avatar_config_path = JString::str_ireplace('/', DIRECTORY_SEPARATOR, $avatar_config_path); $croppable = false; $allowJFBCAvatarEdit = false; if ($config->get('layout_avatarIntegration') == 'default') { $original = JPATH_ROOT . '/' . rtrim($config->get('main_avatarpath'), '/') . '/' . 'original_' . $profile->avatar; if (JFile::exists($original)) { $size = getimagesize($original); $width = $size[0]; $height = $size[1]; $configAvatarWidth = $config->get('layout_avatarwidth', 160); $configAvatarHeight = $config->get('layout_avatarheight', 160); if ($width >= $configAvatarWidth && $height >= $configAvatarHeight) { $croppable = true; } } } else { if ($config->get('layout_avatarIntegration') == 'jfbconnect') { $integrate = new DiscussIntegrate(); $hasAvatar = $integrate->jfbconnect($profile); if (!$hasAvatar) { $croppable = true; $allowJFBCAvatarEdit = true; } } } $tpl = new DiscussThemes(); $tpl->set('croppable', $croppable); $tpl->set('allowJFBCAvatarEdit', $allowJFBCAvatarEdit); $tpl->set('size', $maxSize); $tpl->set('user', $user); $tpl->set('profile', $profile); $tpl->set('config', $config); $tpl->set('configMaxSize', $configMaxSize); $tpl->set('avatarIntegration', $config->get('layout_avatarIntegration', 'default')); $tpl->set('userparams', $userparams); $tpl->set('siteDetails', $siteDetails); echo $tpl->fetch('form.user.edit.php'); }