本文整理汇总了PHP中Streams::beingSavedQuery方法的典型用法代码示例。如果您正苦于以下问题:PHP Streams::beingSavedQuery方法的具体用法?PHP Streams::beingSavedQuery怎么用?PHP Streams::beingSavedQuery使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Streams
的用法示例。
在下文中一共展示了Streams::beingSavedQuery方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Streams_after_Users_User_saveExecute
//.........这里部分代码省略.........
$stream = Streams::fetchOne($user->id, $user->id, $name);
if (!$stream) {
// it shouldn't really be in the db yet
$stream = new Streams_Stream();
$stream->publisherId = $user->id;
$stream->name = $name;
}
$stream->type = $p->expect($name, "type");
$stream->title = $p->expect($name, "title");
$stream->content = $p->get($name, "content", '');
// usually empty
$stream->readLevel = $p->get($name, 'readLevel', Streams_Stream::$DEFAULTS['readLevel']);
$stream->writeLevel = $p->get($name, 'writeLevel', Streams_Stream::$DEFAULTS['writeLevel']);
$stream->adminLevel = $p->get($name, 'adminLevel', Streams_Stream::$DEFAULTS['adminLevel']);
if ($name === "Streams/user/icon") {
$sizes = Q_Config::expect('Users', 'icon', 'sizes');
sort($sizes);
$stream->setAttribute('sizes', $sizes);
$stream->icon = $user->iconUrl();
}
if (isset($values[$name])) {
$stream->content = $values[$name];
}
$stream->save();
// this also inserts avatars
$o = array('userId' => $user->id, 'skipAccess' => true);
$so = $p->get($name, "subscribe", array());
if ($so === false) {
$stream->join($o);
} else {
$stream->subscribe(array_merge($o, $so));
}
}
// Save a greeting stream, to be edited
$communityId = Users::communityId();
Streams::create($user->id, $user->id, "Streams/greeting", array('name' => "Streams/greeting/{$communityId}"));
// Create some standard labels
$label = new Users_Label();
$label->userId = $user->id;
$label->label = 'Streams/invited';
$label->icon = 'labels/Streams/invited';
$label->title = 'People I invited';
$label->save(true);
$label2 = new Users_Label();
$label2->userId = $user->id;
$label2->label = 'Streams/invitedMe';
$label2->icon = 'labels/Streams/invitedMe';
$label2->title = 'Who invited me';
$label2->save(true);
// By default, users they invite should see their full name
$access = new Streams_Access();
$access->publisherId = $user->id;
$access->streamName = 'Streams/user/firstName';
$access->ofUserId = '';
$access->ofContactLabel = 'Streams/invited';
$access->grantedByUserId = $user->id;
$access->readLevel = Streams::$READ_LEVEL['content'];
$access->writeLevel = -1;
$access->adminLevel = -1;
$access->save();
$access = new Streams_Access();
$access->publisherId = $user->id;
$access->streamName = 'Streams/user/lastName';
$access->ofUserId = '';
$access->ofContactLabel = 'Streams/invited';
$access->grantedByUserId = $user->id;
$access->readLevel = Streams::$READ_LEVEL['content'];
$access->writeLevel = -1;
$access->adminLevel = -1;
$access->save();
// NOTE: the above saving of access caused Streams::updateAvatar to run,
// insert a Streams_Avatar row for the new user, and properly configure it.
} else {
if ($modifiedFields) {
if ($updates) {
Streams_Avatar::update()->set($updates)->where(array('publisherId' => $user->id))->execute();
}
foreach ($modifiedFields as $field => $value) {
$name = Q_Config::get('Streams', 'onUpdate', 'Users_User', $field, null);
if (!$name) {
continue;
}
$stream = isset(Streams::$beingSaved[$field]) ? Streams::$beingSaved[$field] : Streams::fetchOne($user->id, $user->id, $name);
if (!$stream) {
// it should probably already be in the db
continue;
}
$stream->content = $value;
if ($name === "Streams/user/icon") {
$sizes = Q_Config::expect('Users', 'icon', 'sizes');
sort($sizes);
$attributes = $stream->attributes;
$stream->setAttribute('sizes', $sizes);
$stream->icon = $changes['icon'] = $user->iconUrl();
}
Streams::$beingSavedQuery = $stream->changed($user->id);
}
}
}
}