本文整理汇总了PHP中EB::jomsocial方法的典型用法代码示例。如果您正苦于以下问题:PHP EB::jomsocial方法的具体用法?PHP EB::jomsocial怎么用?PHP EB::jomsocial使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EB
的用法示例。
在下文中一共展示了EB::jomsocial方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: exists
/**
* Determines if JomSocial Exists
*
* @since 5.0
* @access public
* @param string
* @return
*/
public function exists()
{
if (!EB::jomsocial()->exists()) {
return false;
}
return true;
}
示例2: getPermalink
public function getPermalink()
{
$exists = EB::jomsocial()->exists();
if (!$exists) {
return;
}
return $this->event->getLink();
}
示例3: getLink
/**
* Retrieves the profile link
*
* @since 5.0
* @access public
* @param string
* @return
*/
public function getLink()
{
if (!EB::jomsocial()->exists()) {
return parent::getLink();
}
$link = CRoute::_('index.php?option=com_community&view=profile&userid=' . $this->profile->id);
return $link;
}
示例4: getAvatar
public function getAvatar($profile)
{
$jomsocial = EB::jomsocial();
if (!$jomsocial->exists()) {
return false;
}
$user = CFactory::getUser($profile->id);
$avatar = $user->getThumbAvatar();
return $avatar;
}
示例5: html
/**
* Displays the friend link for the author
*
* @since 5.0
* @access public
* @param string
* @return
*/
public function html(EasyBlogTableProfile $author)
{
// Do not display the link if the user is trying to view his own post
if ($author->id == $this->my->id) {
return;
}
if ($this->config->get('integrations_easysocial_friends')) {
return EB::easysocial()->getFriendsHtml($author->id);
}
if ($this->config->get('main_jomsocial_friends')) {
return EB::jomsocial()->getFriendsHtml($author->id);
}
return;
}
示例6: html
/**
* Displays the html code for sending a message to a friend
*
* @since 5.0
* @access public
* @param string
* @return
*/
public function html(EasyBlogTableProfile $author)
{
// Why would they want to send a message to themselves.
if ($this->my->id == $author->id) {
return;
}
// Ensure that JomSocial really exists
if ($this->config->get('main_jomsocial_messaging') && EB::jomsocial()->exists()) {
return EB::jomsocial()->getMessagingHtml($author->id);
}
// Ensure that JomSocial really exists
if ($this->config->get('integrations_easysocial_conversations') && EB::easysocial()->exists()) {
return EB::easysocial()->getMessagingHtml($author->id);
}
}
示例7: store
/**
* Override parent's implementation of store
*
* @since 4.0
* @access public
* @param string
* @return
*/
public function store($updateNulls = false)
{
if (!$this->created) {
$this->created = EB::date()->toSql();
}
// Generate an alias if alias is empty
if (!$this->alias) {
$this->alias = EBR::normalizePermalink($this->title);
}
$my = JFactory::getUser();
// Add point integrations for new categories
if ($this->id == 0 && $my->id > 0) {
EB::loadLanguages();
// Integrations with EasyDiscuss
EB::easydiscuss()->log('easyblog.new.category', $my->id, JText::sprintf('COM_EASYBLOG_EASYDISCUSS_HISTORY_NEW_CATEGORY', $this->title));
EB::easydiscuss()->addPoint('easyblog.new.category', $my->id);
EB::easydiscuss()->addBadge('easyblog.new.category', $my->id);
// AlphaUserPoints
EB::aup()->assign('plgaup_easyblog_add_category', '', 'easyblog_add_category_' . $this->id, JText::sprintf('COM_EASYBLOG_AUP_NEW_CATEGORY_CREATED', $this->title));
// JomSocial integrations
EB::jomsocial()->assignPoints('com_easyblog.category.add', $my->id);
// Assign EasySocial points
EB::easysocial()->assignPoints('category.create', $my->id);
}
// Figure out the proper nested set model
if ($this->id == 0 && $this->lft == 0) {
// No parent id, we use the current lft,rgt
if ($this->parent_id) {
$left = $this->getLeft($this->parent_id);
$this->lft = $left;
$this->rgt = $this->lft + 1;
// Update parent's right
$this->updateRight($left);
$this->updateLeft($left);
} else {
$this->lft = $this->getLeft() + 1;
$this->rgt = $this->lft + 1;
}
}
if ($this->id == 0) {
// new cats. we need to store the ordering.
$this->ordering = $this->getOrdering($this->parent_id) + 1;
}
$isNew = !$this->id ? true : false;
$state = parent::store();
return $state;
}
示例8: getPostNavigation
/**
* Retrieves the next post in line
*
* @since 5.0
* @access public
* @param string
* @return
*/
public function getPostNavigation(EasyBlogPost $post, $navigationType)
{
$db = EB::db();
$my = JFactory::getUser();
$config = EB::config();
$keys = array('prev', 'next');
$nav = new stdClass();
// Get the active menu
$active = JFactory::getApplication()->getMenu()->getActive();
$catAccess = array();
$queryInclude = '';
$teamId = $post->getTeamAssociation();
$author = $post->getAuthor();
// // If there is an active menu for EasyBlog, check if there's any filtering by categories
// if ($active) {
// $cats = EB::getCategoryInclusion($active->params->get('inclusion'));
// if ($cats && !is_array($cats)) {
// $cats = array($cats);
// }
// $catAccess['include'] = $cats;
// }
// // sql for category access
// $catLib = EB::category();
// $catAccessSQL = $catLib->genAccessSQL( 'a.`id`', $catAccess);
foreach ($keys as $key) {
$query = array();
$query[] = 'SELECT a.`id`, a.`title`';
$query[] = ' FROM `#__easyblog_post` AS `a`';
$query[] = ' WHERE a.`published` = ' . $db->Quote(EASYBLOG_POST_PUBLISHED);
$query[] = ' AND a.`state` = ' . $db->Quote(EASYBLOG_POST_NORMAL);
// EasySocial integrations
$query[] = EB::easysocial()->buildPrivacyQuery('a');
// Jomsocial integrations
$query[] = EB::jomsocial()->buildPrivacyQuery();
// Blog privacy settings
if ($my->guest) {
$query[] = 'AND a.' . $db->qn('access') . '=' . $db->Quote(BLOG_PRIVACY_PUBLIC);
}
// Exclude private categories
// $query[] = 'AND (' . $catAccessSQL . ')';
// If the current menu is blogger mode, we need to respect this by only loading author related items
$isBloggerMode = EBR::isBloggerMode();
if ($isBloggerMode !== false) {
$query[] = 'AND a.' . $db->qn('created_by') . '=' . $db->Quote($isBloggerMode);
$query[] = 'AND a.' . $db->qn('source_type') . '=' . $db->Quote(EASYBLOG_POST_SOURCE_SITEWIDE);
}
// Filter the next / previous link by team
if ($navigationType == 'team' && $teamId) {
$query[] = 'AND (a.' . $db->qn('source_type') . '=' . $db->Quote(EASYBLOG_POST_SOURCE_TEAM) . ' AND a.' . $db->qn('source_id') . '=' . $db->Quote($teamId) . ')';
}
// Filter the next / previous by author
if ($navigationType == 'author') {
$query[] = 'AND a.' . $db->qn('created_by') . '=' . $db->Quote($author->id);
$query[] = 'AND a.' . $db->qn('source_type') . '=' . $db->Quote(EASYBLOG_POST_SOURCE_SITEWIDE);
}
// Filter the next / previous post items from site wide
if ($navigationType == 'site') {
$query[] = 'AND a.' . $db->qn('source_type') . '=' . $db->Quote(EASYBLOG_POST_SOURCE_SITEWIDE);
}
// When language filter is enabled, we need to detect the appropriate contents
$filterLanguage = JFactory::getApplication()->getLanguageFilter();
if ($filterLanguage) {
$query[] = EBR::getLanguageQuery('AND', 'a.language');
}
if ($key == 'prev') {
$query[] = ' AND a.`created` < ' . $db->Quote($post->created);
$query[] = ' ORDER BY a.`created` DESC';
}
if ($key == 'next') {
$query[] = ' AND a.`created` > ' . $db->Quote($post->created);
$query[] = ' ORDER BY a.`created` ASC';
}
$query[] = 'LIMIT 1';
$query = implode(' ', $query);
$db->setQuery($query);
$result = $db->loadObject();
$nav->{$key} = $result;
}
return $nav;
}
示例9: delete
/**
* Overrides the parent's delete method
*
* @since 4.0
* @access public
* @param string
* @return
*/
public function delete($pk = null)
{
// Try to delete the comment item first
$state = parent::delete($pk);
// Get the current logged in user
$my = JFactory::getUser();
// Remove comment's stream
$this->removeStream();
if ($this->created_by != 0 && $this->published == '1') {
// Get the blog post
$post = $this->getBlog();
// Load language
EB::loadLanguages();
$config = EB::config();
// Integrations with EasyDiscuss
EB::easydiscuss()->log('easyblog.delete.comment', $this->created_by, JText::sprintf('COM_EASYBLOG_EASYDISCUSS_HISTORY_DELETE_COMMENT', $post->title));
EB::easydiscuss()->addPoint('easyblog.delete.comment', $this->created_by);
EB::easydiscuss()->addBadge('easyblog.delete.comment', $this->created_by);
// AlphaUserPoints
EB::aup()->assign('plgaup_easyblog_delete_comment', $this->created_by, JText::_('COM_EASYBLOG_AUP_COMMENT_DELETED'));
// Assign EasySocial points
EB::easysocial()->assignPoints('comments.remove', $this->created_by);
// Deduct points from the comment author
EB::jomsocial()->assignPoints('com_easyblog.comments.remove', $this->created_by);
// Deduct points from the blog post author
if ($my->id != $post->created_by) {
// Deduct EasySocial points
EB::easysocial()->assignPoints('comments.remove.author', $post->created_by);
// JomSocial
EB::jomsocial()->assignPoints('com_easyblog.comments.removeblogger', $post->created_by);
// AUP
EB::aup()->assignPoints('plgaup_easyblog_delete_comment_blogger', $post->created_by, JText::sprintf('COM_EASYBLOG_AUP_COMMENT_DELETED_BLOGGER', $url, $post->title));
}
}
return $state;
}
示例10: getArchivePostByMonth
/**
* Retrieves a list of blog posts by specific month
*
* @since 5.0
* @access public
* @param string
* @return
*/
public function getArchivePostByMonth($month = '', $year = '', $showPrivate = false)
{
$db = EB::db();
$user = JFactory::getUser();
$config = EB::config();
// used for privacy
$queryWhere = '';
$queryExclude = '';
$queryExcludePending = '';
$excludeCats = array();
if ($user->id == 0) {
$showPrivate = false;
}
// Blog privacy setting
// @integrations: jomsocial privacy
$privateBlog = '';
if (EB::easysocial()->exists() && $config->get('integrations_easysocial_privacy') && !EB::isSiteAdmin()) {
$esPrivacyQuery = EB::easysocial()->buildPrivacyQuery('a');
$privateBlog .= $esPrivacyQuery;
} else {
if ($config->get('main_jomsocial_privacy') && EB::jomsocial()->exists() && !EB::isSiteAdmin()) {
$friendsModel = CFactory::getModel('Friends');
$friends = $friendsModel->getFriendIds($user->id);
// Insert query here.
$privateBlog .= ' AND (';
$privateBlog .= ' (a.`access`= 0 ) OR';
$privateBlog .= ' ( (a.`access` = 20) AND (' . $db->Quote($user->id) . ' > 0 ) ) OR';
if (!$friends) {
$privateBlog .= ' ( (a.`access` = 30) AND ( 1 = 2 ) ) OR';
} else {
$privateBlog .= ' ( (a.`access` = 30) AND ( a.' . $db->nameQuote('created_by') . ' IN (' . implode(',', $friends) . ') ) ) OR';
}
$privateBlog .= ' ( (a.`access` = 40) AND ( a.' . $db->nameQuote('created_by') . '=' . $user->id . ') )';
$privateBlog .= ' )';
} else {
if ($user->id == 0) {
$privateBlog .= ' AND a.`access` = ' . $db->Quote(0);
}
}
}
// Join the query ?
$privateBlog = $showPrivate ? '' : $privateBlog;
$isJSGrpPluginInstalled = false;
$isJSGrpPluginInstalled = JPluginHelper::isEnabled('system', 'groupeasyblog');
$isEventPluginInstalled = JPluginHelper::isEnabled('system', 'eventeasyblog');
$isJSInstalled = false;
// need to check if the site installed jomsocial.
if (EB::jomsocial()->exists()) {
$isJSInstalled = true;
}
$includeJSGrp = $isJSGrpPluginInstalled && $isJSInstalled ? true : false;
$includeJSEvent = $isEventPluginInstalled && $isJSInstalled ? true : false;
// contribution type sql
$contributor = EB::contributor();
$contributeSQL = ' AND ( (a.`source_type` = ' . $db->Quote(EASYBLOG_POST_SOURCE_SITEWIDE) . ') ';
if ($config->get('main_includeteamblogpost')) {
$contributeSQL .= $contributor::genAccessSQL(EASYBLOG_POST_SOURCE_TEAM, 'a');
}
if ($includeJSEvent) {
$contributeSQL .= $contributor::genAccessSQL(EASYBLOG_POST_SOURCE_JOMSOCIAL_EVENT, 'a');
}
if ($includeJSGrp) {
$contributeSQL .= $contributor::genAccessSQL(EASYBLOG_POST_SOURCE_JOMSOCIAL_GROUP, 'a');
}
if (EB::easysocial()->exists()) {
$contributeSQL .= $contributor::genAccessSQL(EASYBLOG_POST_SOURCE_EASYSOCIAL_GROUP, 'a');
$contributeSQL .= $contributor::genAccessSQL(EASYBLOG_POST_SOURCE_EASYSOCIAL_EVENT, 'a');
}
$contributeSQL .= ')';
$queryWhere .= $contributeSQL;
//get teamblogs id.
$query = '';
$extraSQL = '';
// If this is on blogger mode, we need to only pick items from the blogger.
$blogger = EBR::isBloggerMode();
if ($blogger !== false) {
$extraSQL = ' AND a.`created_by` = ' . $db->Quote($blogger);
}
$tzoffset = EB::date()->getOffSet(true);
$query = 'SELECT a.*, DAY( DATE_ADD(a.`created`, INTERVAL ' . $tzoffset . ' HOUR) ) AS day,';
$query .= ' MONTH( DATE_ADD(a.`created`, INTERVAL ' . $tzoffset . ' HOUR) ) AS month,';
$query .= ' YEAR( DATE_ADD(a.`created`, INTERVAL ' . $tzoffset . ' HOUR) ) AS year ';
$query .= ' FROM ' . $db->nameQuote('#__easyblog_post') . ' as a';
$query .= ' WHERE a.`published` = ' . $db->Quote(EASYBLOG_POST_PUBLISHED) . ' ';
$query .= ' AND a.' . $db->quoteName('state') . ' = ' . $db->Quote(EASYBLOG_POST_NORMAL) . ' ';
$query .= $privateBlog . ' ';
$query .= ' AND (a.`created` > ' . $db->Quote($year . '-' . $month . '-01 00:00:00') . ' AND a.`created` < ' . $db->Quote($year . '-' . $month . '-31 23:59:59') . ') ';
// If do not display private posts, we need to append additional queries here.
if (!$showPrivate) {
// sql for category access
$catLib = EB::category();
$catAccessSQL = $catLib->genAccessSQL('a.`id`');
//.........这里部分代码省略.........
示例11: getPosts
/**
* Retrieve a list of blog posts from a specific list of categories
*
* @since 4.0
* @access public
* @param string
* @return
*/
public function getPosts($categories, $limit = null)
{
$db = EB::db();
$my = JFactory::getUser();
$config = EB::config();
// Determines if this is currently on blogger mode
$isBloggerMode = EasyBlogRouter::isBloggerMode();
// use in generating category access sql
$catAccess = array();
$catAccess['include'] = $categories;
$isJSGrpPluginInstalled = false;
$isJSGrpPluginInstalled = JPluginHelper::isEnabled('system', 'groupeasyblog');
$isEventPluginInstalled = JPluginHelper::isEnabled('system', 'eventeasyblog');
$isJSInstalled = false;
// need to check if the site installed jomsocial.
if (EB::jomsocial()->exists()) {
$isJSInstalled = true;
}
$includeJSGrp = $isJSGrpPluginInstalled && $isJSInstalled ? true : false;
$includeJSEvent = $isEventPluginInstalled && $isJSInstalled ? true : false;
// contribution type sql
$contributor = EB::contributor();
$contributeSQL = ' AND ( (a.`source_type` = ' . $db->Quote(EASYBLOG_POST_SOURCE_SITEWIDE) . ') ';
if ($config->get('main_includeteamblogpost')) {
$contributeSQL .= $contributor::genAccessSQL(EASYBLOG_POST_SOURCE_TEAM, 'a');
}
if ($includeJSEvent) {
$contributeSQL .= $contributor::genAccessSQL(EASYBLOG_POST_SOURCE_JOMSOCIAL_EVENT, 'a');
}
if ($includeJSGrp) {
$contributeSQL .= $contributor::genAccessSQL(EASYBLOG_POST_SOURCE_JOMSOCIAL_GROUP, 'a');
}
// Test if easysocial exists on the site
if (EB::easysocial()->exists()) {
$contributeSQL .= $contributor::genAccessSQL(EASYBLOG_POST_SOURCE_EASYSOCIAL_GROUP, 'a');
$contributeSQL .= $contributor::genAccessSQL(EASYBLOG_POST_SOURCE_EASYSOCIAL_EVENT, 'a');
}
$contributeSQL .= ')';
$query = array();
$query[] = 'SELECT a.* FROM ' . $db->quoteName('#__easyblog_post') . ' AS a';
// Build the WHERE clauses
$query[] = 'WHERE a.' . $db->quoteName('published') . '=' . $db->Quote(EASYBLOG_POST_PUBLISHED);
$query[] = 'AND a.' . $db->quoteName('state') . '=' . $db->Quote(EASYBLOG_POST_NORMAL);
// If this is on blogger mode, fetch items created by the current author only
if ($isBloggerMode !== false) {
$query[] = ' AND a.' . $db->quoteName('created_by') . '=' . $db->Quote($isBloggerMode);
} else {
// Get the author id based on the category menu
$authorId = EB::getCategoryMenuBloggerId();
if ($authorId) {
$query[] = ' AND a.' . $db->quoteName('created_by') . '=' . $db->Quote($authorId);
}
}
//sql for blog contribution
$query[] = $contributeSQL;
// sql for category access
$catLib = EB::category();
$catAccessSQL = $catLib->genAccessSQL('a.`id`', $catAccess);
$query[] = 'AND (' . $catAccessSQL . ')';
// If user is a guest, ensure that they can really view the blog post
if ($this->my->guest) {
$query[] = 'AND a.' . $db->quoteName('access') . '=' . $db->Quote(BLOG_PRIVACY_PUBLIC);
}
// Ensure that the blog posts is available site wide
// $query[] = 'AND a.' . $db->quoteName('source_id') . '=' . $db->Quote('0');
// Filter by language
$language = EB::getCurrentLanguage();
if ($language) {
$query[] = 'AND (a.' . $db->quoteName('language') . '=' . $db->Quote($language) . ' OR a.' . $db->quoteName('language') . '=' . $db->Quote('*') . ' OR a.' . $db->quoteName('language') . '=' . $db->Quote('') . ')';
}
// Ordering options
$ordering = $config->get('layout_postsort', 'DESC');
// Order the posts
$query[] = 'ORDER BY a.' . $db->quoteName('created') . ' ' . $ordering;
// Set the pagination
if (!is_null($limit)) {
// Glue back the sql queries into a single string.
$queryCount = implode(' ', $query);
$queryCount = str_ireplace('SELECT a.*', 'SELECT COUNT(1)', $queryCount);
$db->setQuery($queryCount);
$count = $db->loadResult();
$limit = $limit == 0 ? $this->getState('limit') : $limit;
$limitstart = $this->input->get('limitstart', $this->getState('limitstart'), 'int');
// Set the limit
$query[] = 'LIMIT ' . $limitstart . ',' . $limit;
$this->_pagination = EB::pagination($count, $limitstart, $limit);
}
// Glue back the sql queries into a single string.
$query = implode(' ', $query);
// Debug
// echo str_ireplace('#__', 'jos_', $query);exit;
$db->setQuery($query);
//.........这里部分代码省略.........
示例12: listAssociates
/**
* Renders a list of associates the author has to the site
*
* @since 5.0
* @access public
* @param string
* @return
*/
public function listAssociates()
{
// Associates may compromise of teams, groups, events etc.
$associates = array('teams' => array(), 'events' => array(), 'groups' => array());
// @TODO: Check if the user is really allowed to use this
if (!$this->my->id) {
return $this->ajax->reject(JText::_('COM_EASYBLOG_NOT_ALLOWED'));
}
// Get a list of selected items
$source_id = $this->input->get('source_id', 0, 'int');
$source_type = $this->input->get('source_type', '', 'default');
// List teams the user joined on the site
$model = EB::model('TeamBlogs');
$teams = $model->getTeamJoined($this->my->id);
if ($teams) {
foreach ($teams as $team) {
$obj = new stdClass();
$obj->title = $team->title;
$obj->source_id = $team->id;
$obj->source_type = EASYBLOG_POST_SOURCE_TEAM;
$obj->type = 'team';
$obj->avatar = $team->getAvatar();
$associates['teams'][] = $obj;
}
}
// EasySocial groups
$groups = EB::easysocial()->getGroups();
$events = EB::easysocial()->getEvents();
// List groups the user joined on the site
$groups = array_merge($groups, EB::jomsocial()->getGroups());
$events = array_merge($events, EB::jomsocial()->getEvents());
// Assign them into the main object.
$associates['groups'] = $groups;
$associates['events'] = $events;
$template = EB::template();
$template->set('source_id', $source_id);
$template->set('source_type', $source_type);
$template->set('associates', $associates);
$output = $template->output('site/composer/form/associates');
return $this->ajax->resolve($output);
}
示例13: setFeatured
/**
* Sets this post as a featured post
*
* @since 5.0
* @access public
* @param string
* @return
*/
public function setFeatured()
{
$model = EB::model('Featured');
$state = $model->makeFeatured(EBLOG_FEATURED_BLOG, $this->id);
if (!$state) {
return false;
}
// @EasySocial Integrations
EB::easysocial()->createFeaturedBlogStream($this);
// @JomSocial Integrations
EB::jomsocial()->createFeaturedBlogStream($this);
// Notify author of the blog post that their blog post is featured on the site
$this->notify(false, 0, true);
return true;
}
示例14: upload
/**
* Uploads a user avatar
*
* @since 4.0
* @access public
* @param string
* @return
*/
public function upload($fileData, $userId = false)
{
jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');
// Check if the user is allowed to upload avatar
$acl = EB::acl();
// Ensure that the user really has access to upload avatar
if (!$acl->get('upload_avatar')) {
$this->setError('COM_EASYBLOG_NO_PERMISSION_TO_UPLOAD_AVATAR');
return false;
}
// Get the current user
$user = JFactory::getUser();
// If there is userId passed, means this is from backend.
// We cannot get the current logged in user because it will always be the admin.
if ($userId) {
$user = JFactory::getUser($userId);
}
$app = JFactory::getApplication();
$config = EB::config();
$path = $config->get('main_avatarpath');
$path = rtrim($path, '/');
$relativePath = $path;
$absolutePath = JPATH_ROOT . '/' . $path;
// If the absolute path does not exist, create it first
if (!JFolder::exists($absolutePath)) {
JFolder::create($absolutePath);
// Copy the index.html file over to this new folder
JFile::copy(JPATH_ROOT . '/components/com_easyblog/index.html', $absolutePath . '/index.html');
}
// The file data should have a name
if (!isset($fileData['name'])) {
return false;
}
// Generate a better name for the file
$fileData['name'] = $user->id . '_' . JFile::makeSafe($fileData['name']);
// Get the relative path
$relativeFile = $relativePath . '/' . $fileData['name'];
// Get the absolute file path
$absoluteFile = $absolutePath . '/' . $fileData['name'];
// Test if the file is upload-able
$message = '';
if (!EB::image()->canUpload($fileData, $message)) {
$this->setError($message);
return false;
}
// Determines if the web server is generating errors
if ($fileData['error'] != 0) {
$this->setError($fileData['error']);
return false;
}
// We need to delete the old avatar
$profile = EB::user($user->id);
// Get the old avatar
$oldAvatar = $profile->avatar;
$isNew = false;
// Delete the old avatar first
if ($oldAvatar != 'default.png' && $oldAvatar != 'default_blogger.png') {
$session = JFactory::getSession();
$sessionId = $session->getToken();
$oldAvatarPath = $absolutePath . '/' . $oldAvatar;
if (JFile::exists($oldAvatarPath)) {
JFile::delete($oldAvatarPath);
}
} else {
$isNew = true;
}
$width = EBLOG_AVATAR_LARGE_WIDTH;
$height = EBLOG_AVATAR_LARGE_HEIGHT;
$image = EB::simpleimage();
$image->load($fileData['tmp_name']);
$image->resizeToFill($width, $height);
$image->save($absoluteFile, $image->type);
if ($isNew && $config->get('main_jomsocial_userpoint')) {
EB::jomsocial()->assignPoints('com_easyblog.avatar.upload', $user->id);
}
return $fileData['name'];
}
示例15: store
//.........这里部分代码省略.........
}
// @rule: Process badword filters for content here.
$blockedWord = EasyBlogHelper::getHelper('String')->hasBlockedWords($this->intro . $this->content);
if ($blockedWord !== false) {
$this->setError(JText::sprintf('COM_EASYBLOG_BLOG_POST_CONTAIN_BLOCKED_WORDS', $blockedWord));
return false;
}
// @rule: Test for the empty-ness
if (empty($this->intro) && empty($this->content)) {
$this->setError(JText::_('COM_EASYBLOG_DASHBOARD_SAVE_CONTENT_ERROR'));
}
$state = parent::store();
$source = JRequest::getVar('blog_contribute_source', 'easyblog');
// if this is blog edit, then we should see the column isnew to determine
// whether the post is really new or not.
if (!$isNew) {
$isNew = $this->isnew;
}
// this one is needed for the trigger to work properly.
$this->isnew = $isNew;
// @trigger: onAfterSave
$this->triggerAfterSave();
// @task: If auto featured is enabled, we need to feature the blog post automatically since the blogger is featured.
if ($config->get('main_autofeatured', 0) && EB::isFeatured('blogger', $this->created_by) && !EB::isFeatured('post', $this->id)) {
// just call the model file will do as we do not want to create stream on featured action at this migration.
$modelF = EB::model('Featured');
$modelF->makeFeatured('post', $this->id);
}
// @task: This is when the blog is either created or updated.
if ($source == 'easyblog' && $state && $this->published == EASYBLOG_POST_PUBLISHED && $log) {
$category = EB::table('Category');
$category->load($this->category_id);
$easysocial = EasyBlogHelper::getHelper('EasySocial');
if ($category->private == 0) {
// @rule: Add new stream item in jomsocial
EB::jomsocial()->addBlogActivity($this, $isNew);
}
// @rule: Add stream for easysocial
if ($config->get('integrations_easysocial_stream_newpost') && $easysocial->exists() && $isNew) {
$easysocial->createBlogStream($this, $isNew);
}
// update privacy in easysocial.
if ($config->get('integrations_easysocial_privacy') && $easysocial->exists()) {
$easysocial->updateBlogPrivacy($this);
}
}
if ($source == 'easyblog' && $state && $this->published == EASYBLOG_POST_PUBLISHED && $isNew && $log) {
// @rule: Send email notifications out to subscribers.
$author = EB::user($this->created_by);
// Ping pingomatic
EB::pingomatic()->ping($this);
// Assign EasySocial points
$easysocial = EasyBlogHelper::getHelper('EasySocial');
if ($easysocial->exists()) {
$easysocial->assignPoints('blog.create', $this->created_by);
}
// @rule: Add userpoints for jomsocial
if ($config->get('main_jomsocial_userpoint')) {
$path = JPATH_ROOT . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_community' . DIRECTORY_SEPARATOR . 'libraries' . DIRECTORY_SEPARATOR . 'userpoints.php';
if (JFile::exists($path)) {
require_once $path;
CUserPoints::assignPoint('com_easyblog.blog.add', $this->created_by);
}
}
$link = $this->getExternalBlogLink('index.php?option=com_easyblog&view=entry&id=' . $this->id);
// @rule: Add notifications for jomsocial 2.6
if ($config->get('integrations_jomsocial_notification_blog')) {
// Get list of users who subscribed to this blog.
$target = $this->getRegisteredSubscribers('new', array($this->created_by));
EasyBlogHelper::getHelper('JomSocial')->addNotification(JText::sprintf('COM_EASYBLOG_JOMSOCIAL_NOTIFICATIONS_NEW_BLOG', str_replace("administrator/", "", $author->getProfileLink()), $author->getName(), $link, $this->title), 'easyblog_new_blog', $target, $author, $link);
}
// Get list of users who subscribed to this blog.
// @rule: Add notifications for easysocial
if ($config->get('integrations_easysocial_notifications_newpost') && $easysocial->exists()) {
$easysocial->notifySubscribers($this, 'new.post');
}
// @rule: Add indexer for easysocial
if ($config->get('integrations_easysocial_indexer_newpost') && $easysocial->exists()) {
$easysocial->addIndexerNewBlog($this);
}
// @rule: Integrations with EasyDiscuss
EasyBlogHelper::getHelper('EasyDiscuss')->log('easyblog.new.blog', $this->created_by, JText::sprintf('COM_EASYBLOG_EASYDISCUSS_HISTORY_NEW_BLOG', $this->title));
EasyBlogHelper::getHelper('EasyDiscuss')->addPoint('easyblog.new.blog', $this->created_by);
EasyBlogHelper::getHelper('EasyDiscuss')->addBadge('easyblog.new.blog', $this->created_by);
// Assign badge for users that report blog post.
// Only give points if the viewer is viewing another person's blog post.
EasyBlogHelper::getHelper('EasySocial')->assignBadge('blog.create', JText::_('COM_EASYBLOG_EASYSOCIAL_BADGE_CREATE_BLOG_POST'));
if ($config->get('integrations_easydiscuss_notification_blog')) {
// Get list of users who subscribed to this blog.
$target = $this->getRegisteredSubscribers('new', array($this->created_by));
EasyBlogHelper::getHelper('EasyDiscuss')->addNotification($this, JText::sprintf('COM_EASYBLOG_EASYDISCUSS_NOTIFICATIONS_NEW_BLOG', $author->getName(), $this->title), EBLOG_NOTIFICATIONS_TYPE_BLOG, $target, $this->created_by, $link);
}
// AUP
EB::aup()->assignPoints('plgaup_easyblog_add_blog', $this->created_by, JText::sprintf('COM_EASYBLOG_AUP_NEW_BLOG_CREATED', $this->getPermalink(), $this->title));
// Update the isnew column so that if user edits this entry again, it doesn't send any notifications the second time.
$this->isnew = $this->published && $this->isnew ? 0 : 1;
$this->store(false);
}
return $state;
}