Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 /**
  * 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');
 }