Zend framework 如何在社交引擎上为每个人制作一个活动?
我试图让管理员发布的活动对网络中的每个成员可见,而不仅仅是他们的朋友。 到目前为止,我所能做的是,表流阻止了我的消息公开,它只生成一个概要文件消息。仅在其提要中可见。 有人知道如何强制执行吗 [编辑] 我下面的代码是在我的帐户中拾取推文,我使用我创建的一些设置,如twitter的屏幕名称和在提要上发布推文的用户。 该准则的作用如下: ->检查twitter用户是否有阅读其消息的设置。 ->将其保存在表中 ->理论上,授权每个人阅读这些信息,以太是否是出版商的朋友。 ->添加我也创建的活动Zend framework 如何在社交引擎上为每个人制作一个活动?,zend-framework,socialengine,Zend Framework,Socialengine,我试图让管理员发布的活动对网络中的每个成员可见,而不仅仅是他们的朋友。 到目前为止,我所能做的是,表流阻止了我的消息公开,它只生成一个概要文件消息。仅在其提要中可见。 有人知道如何强制执行吗 [编辑] 我下面的代码是在我的帐户中拾取推文,我使用我创建的一些设置,如twitter的屏幕名称和在提要上发布推文的用户。 该准则的作用如下: ->检查twitter用户是否有阅读其消息的设置。 ->将其保存在表中 ->理论上,授权每个人阅读这些信息,以太是否是出版商的朋友。 ->添加我也创建的活动 $Tw
$TwitterUser = Engine_Api::_ ()->getApi ( 'settings', 'core' )->getSetting ( 'core.twitter.screen_name' );
if ($TwitterUser != '') {
// Ultimo tweet postado
$TwitterUser = Engine_Api::_ ()->getApi ( 'settings', 'core' )->getSetting ( 'core.twitter.screen_name' );
$table = Engine_Api::_ ()->getDbtable ( 'tweets', 'user' );
$query = $table->select ()->order ( 'tweets_id desc')->limit(1);
$lastTweet = $table->fetchRow ( $query );
// Set the configuration parameters
$config = array ('adapter' => 'Zend_Http_Client_Adapter_Socket', 'ssltransport' => 'tls' );
// Instantiate a client object
if (is_null ( $lastTweet )) {
$client = new Zend_Http_Client ( "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=$TwitterUser&count=4&include_rts=1", $config );
} else {
$client = new Zend_Http_Client ( "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=$TwitterUser&include_rts=1&since_id=" . $lastTweet->real_id, $config );
}
// The following request will be sent over a TLS secure connection.
$response = $client->request ();
// Pegando a resposta
$body = json_decode ( $response->getBody () );
if (! empty ( $body )) {
$db = Engine_Api::_()->getDbtable('tweets', 'user')->getAdapter();
$db->beginTransaction();
try
{
$table = Engine_Api::_ ()->getDbtable ( 'users', 'user' );
$twitter_user = $table->fetchRow ( $table->select ()->where ( 'user_id = ?', Engine_Api::_ ()->getApi ( 'settings', 'core' )->getSetting ( 'core.twitter.user_id' ) ) );
$table = Engine_Api::_ ()->getDbtable ( 'tweets', 'user' );
$activityApi = Engine_Api::_ ()->getDbtable ( 'actions', 'activity' );
foreach ( array_reverse($body) as $tweet ) {
$data = explode ( ' ', $tweet->created_at );
$meses = array ('Jan' => '01', 'Fev' => '02', 'Mar' => '03', 'Apr' => '04', 'May' => '05', 'Jun' => '06', 'Jul' => '07', 'Aug' => '08', 'Sep' => '09', 'Oct' => '10', 'Nov' => '11', 'Dec' => '12' );
$tweet_date = $data ['5'] . "-" . $meses [$data [1]] . '-' . $data [2] . " " . $data [3];
$tweet_date = (date ( 'Y-m-d H:i:s', strtotime ( $tweet_date ) ));
$last_tweet = $table->createRow();
$last_tweet->setFromArray(array(
'real_id' => $tweet->id_str,
'user_id' => $tweet->user->id_str,
'screen_name' => $tweet->user->screen_name,
'body' => $tweet->text,
'retweeted' => $tweet->retweeted,
'created_at' => $tweet_date,
'profile_image_url' => $tweet->user->profile_image_url,
'coordinates' => $tweet->coordinates
));
$last_tweet->save();
// Authorizations
$auth = Engine_Api::_()->authorization()->context;
$auth->setAllowed($last_tweet, 'everyone', 'view', true);
$auth->setAllowed($last_tweet, 'everyone', 'comment', true);
$auth->setAllowed($last_tweet, 'everyone', 'likes', true);
$action = $activityApi->addActivity ($twitter_user,$last_tweet, 'post_twitter', $tweet->text);
if( $action ) {
$activityApi->attachActivity($action, $last_tweet);
}
}
// Commit
$db->commit();
} catch ( Exception $e ) {
$db->rollBack ();
throw $e;
}
}
}
没有问题发生,但我正在跟踪的推文可能会被我用来发布它的用户染成红色。您应该在流表中为此操作id创建条目。怎么可能有人回答这个问题?你一点细节也不说。什么网络?什么活动?什么表格流?什么信息?什么饲料?执行什么?什么代码失败了?你期望它做什么?您是否收到错误消息?请帮助我们帮助你!给我们看看codez!伙计,在你做出判断之前,先看看标签!你知道什么是社交引擎吗?如果你对社交引擎编程,你可能会知道我在说什么