public function getOriginalAvatar() { jimport('joomla.filesystem.file'); $config = DiscussHelper::getConfig(); if ($config->get('layout_avatarIntegration') == 'jfbconnect') { $integrate = new DiscussIntegrate(); $hasAvatar = $integrate->jfbconnect($this); if ($hasAvatar) { return false; } } else { if ($config->get('layout_avatarIntegration') != 'default') { return false; } } $path = JPATH_ROOT . '/' . trim($config->get('main_avatarpath'), DIRECTORY_SEPARATOR); // If original image doesn't exist, skip this if (!JFile::exists($path . '/original_' . $this->avatar)) { return false; } $path = trim($config->get('main_avatarpath'), '/') . '/' . 'original_' . $this->avatar; $uri = rtrim(JURI::root(), '/'); $uri .= '/' . $path; return $uri; }
/** * 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'); }