本文整理汇总了PHP中Portlet::savePortlets方法的典型用法代码示例。如果您正苦于以下问题:PHP Portlet::savePortlets方法的具体用法?PHP Portlet::savePortlets怎么用?PHP Portlet::savePortlets使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Portlet
的用法示例。
在下文中一共展示了Portlet::savePortlets方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testSaveCollectionUsingDefaultMetadata
/**
* @depends testSavePortlet
*/
public function testSaveCollectionUsingDefaultMetadata()
{
$user = User::getByUserName('billy');
$params = array('test' => 'test');
$portlets = Portlet::getByLayoutIdAndUserSortedByColumnIdAndPosition('abc', $user->id, $params);
$this->assertEmpty($portlets);
$defaultMetadata = array('global' => array('columns' => array(array('rows' => array(array('type' => 'RssReader'), array('type' => 'RssReader'))), array('rows' => array(array('type' => 'RssReader'), array('type' => 'RssReader'))))));
$portletCollection = Portlet::makePortletsUsingMetadataSortedByColumnIdAndPosition('abc', $defaultMetadata, $user, $params);
$this->assertNotEmpty($portletCollection);
$testCount = 0;
foreach ($portletCollection as $column => $columns) {
foreach ($columns as $position => $portlet) {
$testCount++;
}
}
$this->assertEquals($testCount, 4);
Portlet::savePortlets($portletCollection);
$portletCollection = Portlet::getByLayoutIdAndUserSortedByColumnIdAndPosition('abc', $user->id, $params);
$this->assertNotEmpty($portletCollection);
$testCount = 0;
foreach ($portletCollection as $column => $columns) {
foreach ($columns as $position => $portlet) {
$this->assertEquals($portlet->params, $params);
$testCount++;
}
}
$this->assertEquals($testCount, 4);
}
示例2: getPortlets
/**
* Override to allow for making a default set of portlets
* via metadata optional.
*
*/
protected function getPortlets($uniqueLayoutId, $metadata)
{
assert('is_string($uniqueLayoutId)');
assert('is_array($metadata)');
$portlets = Portlet::getByLayoutIdAndUserSortedByColumnIdAndPosition($uniqueLayoutId, Yii::app()->user->userModel->id, $this->params);
if (empty($portlets) && $this->isDefaultDashboard) {
$portlets = Portlet::makePortletsUsingMetadataSortedByColumnIdAndPosition($uniqueLayoutId, $metadata, Yii::app()->user->userModel, $this->params);
Portlet::savePortlets($portlets);
}
return PortletsSecurityUtil::resolvePortletsForCurrentUser($portlets);
}
示例3: getPortlets
protected function getPortlets($uniqueLayoutId, $metadata)
{
assert('is_string($uniqueLayoutId)');
assert('is_array($metadata)');
$portlets = Portlet::getByLayoutIdAndUserSortedByColumnIdAndPosition($uniqueLayoutId, Yii::app()->user->userModel->id, $this->params);
if (empty($portlets)) {
$portlets = Portlet::makePortletsUsingMetadataSortedByColumnIdAndPosition($uniqueLayoutId, $metadata, Yii::app()->user->userModel, $this->params);
Portlet::savePortlets($portlets);
}
return $portlets;
}
示例4: testPushLayoutToUsers
public function testPushLayoutToUsers()
{
$super = Yii::app()->user->userModel;
//Make and Get Five Users
$users = UserTestHelper::generateBasicUsers(5);
$this->assertEquals(5, count($users));
//Remove first portlet from Super's ContactDetailsAndRelationsView
$defaultLayoutId = 'Contact' . PushDashboardUtil::DETAILS_AND_RELATIONS_VIEW;
$defaultPortlets = Portlet::getByLayoutIdAndUserSortedById($defaultLayoutId, $super->id);
if (empty($defaultPortlets)) {
$metadata = ContactDetailsAndRelationsView::getDefaultMetadata();
$portletCollection = Portlet::makePortletsUsingMetadataSortedByColumnIdAndPosition($defaultLayoutId, $metadata, $super, null);
$this->assertNotEmpty($portletCollection);
Portlet::savePortlets($portletCollection);
$defaultPortlets = Portlet::getByLayoutIdAndUserSortedById($defaultLayoutId, $super->id);
}
$this->assertTrue(count($defaultPortlets) > 0);
foreach ($defaultPortlets as $portlet) {
$portlet->delete();
break;
}
$defaultPortlets = Portlet::getByLayoutIdAndUserSortedById($defaultLayoutId, $super->id);
$deafultPortletViews = array();
foreach ($defaultPortlets as $portlet) {
$deafultPortletViews[] = $portlet->viewType;
}
//Push super's default ContactDetailsAndRelationsView to five users
$userIds = array();
foreach ($users as $user) {
$userIds[] = $user->id;
}
$groupsAndUsers = array();
$groupsAndUsers['groups'] = array();
$groupsAndUsers['users'] = $userIds;
PushDashboardUtil::pushLayoutToUsers(new Contact(false), $groupsAndUsers);
//Validate portlets of five user's ContactDetailsAndRelationsView with super's ContactDetailsAndRelationsView
foreach ($users as $user) {
$userPortlets = Portlet::getByLayoutIdAndUserSortedById($defaultLayoutId, $user->id);
$this->assertEquals(count($defaultPortlets), count($userPortlets));
foreach ($userPortlets as $portlet) {
$this->assertTrue(in_array($portlet->viewType, $deafultPortletViews));
}
}
}