本文整理汇总了PHP中Foundry::stream方法的典型用法代码示例。如果您正苦于以下问题:PHP Foundry::stream方法的具体用法?PHP Foundry::stream怎么用?PHP Foundry::stream使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Foundry
的用法示例。
在下文中一共展示了Foundry::stream方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createCommentStream
/**
* Creates a new stream for new comments in EasyBlog
*
* @since 1.0
* @access public
* @param string
* @return
*/
public function createCommentStream($comment, $blog)
{
if (!$this->config->get('integrations_easysocial_stream_newcomment')) {
return false;
}
if (!$this->exists()) {
return false;
}
$stream = Foundry::stream();
$template = $stream->getTemplate();
// Get the stream template
$template->setActor($comment->created_by, SOCIAL_TYPE_USER);
$template->setContext($comment->id, 'blog');
$template->setContent($comment->comment);
$template->setVerb('create.comment');
$template->setPublicStream('easyblog.blog.view');
$state = $stream->add($template);
return $state;
}
示例2: onUserLogin
/**
* Triggered when user logs into the site
*
* @since 1.0
* @access public
* @return
*/
public function onUserLogin($user, $options = array())
{
// Include main file.
jimport('joomla.filesystem.file');
$path = JPATH_ADMINISTRATOR . '/components/com_easysocial/includes/foundry.php';
if (!JFile::exists($path)) {
return;
}
// Include the foundry engine
require_once $path;
// Load the language string.
Foundry::language()->load('plg_user_easysocial', JPATH_ADMINISTRATOR);
// Check if Foundry exists
if (!Foundry::exists()) {
Foundry::language()->loadSite();
echo JText::_('COM_EASYSOCIAL_FOUNDRY_DEPENDENCY_MISSING');
return;
}
if (isset($user['status']) && $user['status'] && $user['type'] == 'Joomla') {
//successful logged in.
$my = JUser::getInstance();
if ($id = intval(JUserHelper::getUserId($user['username']))) {
$my->load($id);
}
$config = Foundry::config();
$app = Foundry::table('App');
$app->load(array('element' => 'users', 'group' => SOCIAL_TYPE_USER));
$appParams = $app->getParams();
$addStream = false;
if ($appParams->get('stream_login', true)) {
$addStream = true;
}
// do not add stream when user login from backend.
$mainframe = JFactory::getApplication();
// If this is the admin area, skip this.
if ($mainframe->isAdmin()) {
return;
}
// Only proceed if we need to add the stream
if ($addStream) {
$model = Foundry::model('Users');
// Get the last login time the user previously logged in.
$lastLogin = $model->getLastLogin($my->id);
if ($lastLogin) {
$lastLogin->count = Foundry::isJoomla25() ? $lastLogin->count + 1 : $lastLogin->count;
if ($lastLogin->count >= 2 && $lastLogin->limit < $lastLogin->time) {
$addStream = false;
}
}
}
if ($addStream) {
$myUser = Foundry::user($my->id);
$stream = Foundry::stream();
$template = $stream->getTemplate();
$template->setActor($my->id, SOCIAL_TYPE_USER);
$template->setContext($my->id, SOCIAL_TYPE_USERS);
$template->setVerb('login');
// Set the stream to be public
$template->setAccess('core.view');
// Add the new template.
$stream->add($template);
}
}
}
示例3: pushActivity
public function pushActivity($actor_id, $act_type, $act_subtype, $act_description, $act_link, $act_title, $act_access)
{
if ($actor_id != 0) {
$myUser = Foundry::user($actor_id);
}
$stream = Foundry::stream();
$template = $stream->getTemplate();
$template->setActor($actor_id, SOCIAL_TYPE_USER);
$template->setContext($actor_id, SOCIAL_TYPE_USERS);
$template->setVerb('invite');
$template->setType(SOCIAL_STREAM_DISPLAY_MINI);
if ($actor_id != 0) {
$userProfileLink = '<a href="' . $myUser->getPermalink() . '">' . $myUser->getName() . '</a>';
$title = $userProfileLink . " " . $act_description;
} else {
$title = "A guest " . $act_description;
}
$template->setTitle($title);
$template->setAggregate(false);
$template->setPublicStream('core.view');
$stream->add($template);
return true;
}
示例4: store
/**
* Store information about activity.
*
* <code>
* $userId = 1;
* $content = "...";
*
* $activity = new Prism\Integration\Activity\EasySocial($userId, $content);
* $activity->store();
* </code>
*
* @throws \RuntimeException
*/
public function store()
{
// Retrieve the stream library.
$stream = \Foundry::stream();
// Retrieve the stream template.
$template = $stream->getTemplate();
// Set the actor that is generating this stream item.
$template->setActor($this->actorId, $this->actorType);
// Set the context type of this stream item.
$template->setContext($this->contextId, $this->contextType);
// Set the title.
$template->setTitle($this->title);
// Set the content.
$template->setContent($this->content);
// Set the verb / action for this stream item.
// Example verbs: add, edit , create , update , delete.
$template->setVerb($this->verb);
// Set the type of the stream, whether it should be rendered in full mode or mini mode.
// Mini mode does not have a header and does not actions on the stream.
// Example types: full,mini
$template->setType($this->type);
$template->setSiteWide($this->siteWide);
// Set target ID.
if ($this->targetId > 0) {
$template->setTarget($this->targetId);
}
$stream->add($template);
}
示例5: pushToEasySocialActivity
function pushToEasySocialActivity($actor_id, $act_type, $act_subtype = '', $act_description = '', $act_link = '', $act_title = '', $act_access)
{
require_once JPATH_ROOT . '/administrator/components/com_easysocial/includes/foundry.php';
if ($actor_id != 0) {
$myUser = Foundry::user($actor_id);
}
$stream = Foundry::stream();
$template = $stream->getTemplate();
$template->setActor($actor_id, SOCIAL_TYPE_USER);
$template->setContext($actor_id, SOCIAL_TYPE_USERS);
$template->setVerb('invite');
$template->setType(SOCIAL_STREAM_DISPLAY_MINI);
if ($actor_id != 0) {
$userProfileLink = '<a href="' . $myUser->getPermalink() . '">' . $myUser->getName() . '</a>';
$title = $userProfileLink . " " . $act_description;
} else {
$title = "A guest " . $act_description;
}
$template->setTitle($title);
$template->setAggregate(false);
$template->setPublicStream('core.view');
$stream->add($template);
return true;
}
示例6: stream_activity
/**
* Streams activity to selected extension stream. The parameters should include required values based on extension as associative array
*
* <ul>
* <li>command: command for jomsocial activity, mostly component_name.action</li>
* <li>title: title of the stream</li>
* <li>description: short description. if full text is passed it will be stripped upto length <code>$params['length']</code></li>
* <li>length: max length of the activity description</li>
* <li>href: url of the stream</li>
* <li>icon: icon to be used for mighty touch stream</li>
* <li>component: component name i.e.com_yourcomponentname</li>
* <li>group: group name for touch stream. ex. Articles</li>
* </ul>
*
* @param string $system Component to stream
* @param int $userid User id
* @param array $params params based on component type
*/
public static function stream_activity($system, $userid, $params = array())
{
switch ($system) {
case 'jomsocial':
$api = JPATH_ROOT . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'core.php';
if (file_exists($api) && !empty($params['title']) && !empty($params['command'])) {
include_once $api;
CFactory::load('libraries', 'activities');
$act = new stdClass();
$act->cmd = 'wall.write';
$act->target = 0;
$act->app = 'wall';
$act->cid = 0;
$act->comment_id = CActivities::COMMENT_SELF;
$act->like_id = CActivities::LIKE_SELF;
$act->actor = $userid;
$act->title = $params['title'];
$act->comment_type = $params['command'];
$act->like_type = $params['command'];
$act->access = 0;
if (!empty($params['description']) && !empty($params['length'])) {
$content = CJFunctions::substrws($params['description'], $params['length']);
if (!empty($params['href'])) {
$act->content = $content . '
<div style="margin-top: 5px;">
<div style="float: right; font-weight: bold; font-size: 12px;">
<a href="' . $params['href'] . '">' . JText::_('COM_CJLIB_READ_MORE') . '</a>
</div>
<div style="clear: both;"></div>
</div>';
} else {
$act->content = $content;
}
}
CActivityStream::add($act);
}
break;
case 'cb':
global $_CB_framework, $_CB_database, $ueConfig, $mainframe;
$api = JPATH_ADMINISTRATOR . '/components/com_comprofiler/plugin.foundation.php';
if (!is_file($api)) {
return;
}
require_once $api;
cbimport('cb.database');
cbimport('cb.tables');
cbimport('cb.field');
cbimport('language.front');
$activity = new cbactivityActivity($_CB_database);
$activity->set('user_id', (int) $userid);
$activity->set('type', 'profile');
$activity->set('subtype', 'registration');
$activity->set('title', 'has joined [sitename_linked]');
$activity->set('icon', 'nameplate');
$activity->set('date', cbactivityClass::getUTCDate());
$activity->store();
break;
case 'easysocial':
$api = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_easysocial' . DS . 'includes' . DS . 'foundry.php';
if (file_exists($api)) {
require_once $api;
$stream = Foundry::stream();
$template = $stream->getTemplate();
$content = $params['length'] > 0 ? CJFunctions::substrws($params['description'], $params['length']) : $params['description'];
$template->setActor($userid, 'user');
$template->setContext($params['item_id'], $params['context']);
$template->setTitle($params['title']);
$template->setContent($content);
$template->setVerb('create');
// $template->setSideWide( true );
$template->setType('full');
$stream->add($template);
}
break;
}
}
示例7: deleteActivity
public function deleteActivity($app, $activity)
{
switch ($app) {
case 'cjforum':
break;
case 'jomsocial':
break;
case 'easysocial':
$api = JPATH_ADMINISTRATOR . '/components/com_easysocial/includes/foundry.php';
if (file_exists($api)) {
require_once $api;
Foundry::stream()->delete($activity->id, $activity->type);
}
break;
}
}
示例8: deleteDiscussStream
public function deleteDiscussStream($post)
{
if (!$this->exists() || !$this->config->get('integration_easysocial_activity_new_question')) {
return;
}
$stream = Foundry::stream();
$state = $stream->delete($post->id, 'discuss');
return $state;
}
示例9: voteStream
/**
* Creates a new stream for new likes
*
* @since 1.0
* @access public
* @param string
* @return
*/
public function voteStream($post)
{
if (!$this->exists() || !$this->config->get('integration_easysocial_activity_vote')) {
return;
}
$stream = Foundry::stream();
$template = $stream->getTemplate();
// The actor should always be the person that is voting.
$my = Foundry::user();
// Get the stream template
$template->setActor($my->id, SOCIAL_TYPE_USER);
$template->setContext($post->id, 'discuss', $post);
$template->setContent($post->title);
$template->setVerb('vote');
$template->setPublicStream('core.view');
$state = $stream->add($template);
return $state;
}
示例10: removeComment
public function removeComment( $comment )
{
if( !$this->exists() )
{
return false;
}
if( !empty( $comment->params->social->stream ) )
{
$stream = Foundry::stream();
$stream->delete( $comment->id, 'komento', $comment->created_by );
}
if( !empty( $comment->params->social->target ) )
{
$commentTable = Foundry::table( 'comments' );
$state = $commentTable->load( $comment->params->social->target );
if( $state )
{
$commentTable->delete();
}
}
if( !empty( $comment->params->social->source ) )
{
$commentTable = Foundry::table( 'comments' );
$state = $commentTable->load( $comment->params->social->source );
if( $state )
{
$commentTable->delete();
}
}
}
示例11: store
/**
* Store information about activity.
*
* <code>
* $userId = 1;
* $content = "...";
*
* $activity = new ITPrismIntegrateActivityEasySocial($userId, $content);
* $activity->store();
* </code>
*
* @param string $content
*
* @throws Exception
*/
public function store($content = "")
{
if (!empty($content)) {
$this->content = $content;
}
if (!$this->contextId) {
throw new Exception(JText::_("LIB_ITPRISM_ERROR_INVALID_EASYSOCIAL_CONTEXT_ID"));
}
// Retrieve the stream library.
$stream = Foundry::stream();
// Retrieve the stream template.
$template = $stream->getTemplate();
// Set the actor that is generating this stream item.
$template->setActor($this->actorId, $this->actorType);
// Set the context type of this stream item.
$template->setContext($this->contextId, $this->contextType);
// Set the title.
$template->setTitle($this->title);
// Set the content.
$template->setContent($this->content);
// Set the verb / action for this stream item.
// Example verbs: add, edit , create , update , delete.
$template->setVerb($this->verb);
// Set the type of the stream, whether it should be rendered in full mode or mini mode.
// Mini mode does not have a header and does not actions on the stream.
// Example types: full,mini
$template->setType($this->type);
$template->setSiteWide($this->siteWide);
// Set target ID.
if (!empty($this->targetId)) {
$template->setTarget($this->targetId);
}
$stream->add($template);
}