* @package Combodo\iTop\Application\UI\Base\Layout\PageContent * @since 3.0.0 */ class PageContentFactory { /** * Make a standard empty PageContent layout for backoffice pages. * * @return \Combodo\iTop\Application\UI\Base\Layout\PageContent\PageContent */ public static function MakeStandardEmpty() { return new PageContent(); } /** * Make a standard object details page with the form in the middle and the logs / activity in the side panel * * @see cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX * * @param \DBObject $oObject * @param string $sMode Mode the object is being displayed (view, edit, create, ...), default is view. * * since 3.1.1 params for navigation in basket * @param string $sBasketFilter filter to find list of objects in basket * @param array $aBasketList list of id of objects in basket * @param string $sBackUrl url to go back to list of ojects in basket * @param string $sPostedFieldsForBackUrl fields to post for come back to main page * * * @return \Combodo\iTop\Application\UI\Base\Layout\PageContent\PageContentWithSideContent * @throws \CoreException */ public static function MakeForObjectDetails(DBObject $oObject, string $sMode = cmdbAbstractObject::DEFAULT_DISPLAY_MODE, $sBasketFilter = null, $aBasketList = [], $sBackUrl = null, $sPostedFieldsForBackUrl = "") { $oLayout = new PageContentWithSideContent(); if ($sBasketFilter != null) { $oNavigationBlock = BasketUIBlockFactory::MakeStandard($oObject, $sBasketFilter, $aBasketList, $sBackUrl, $sPostedFieldsForBackUrl); if ($oNavigationBlock != null) { $oLayout->AddSubBlock($oNavigationBlock); } } // Add object activity layout $oActivityPanel = ActivityPanelFactory::MakeForObjectDetails($oObject, $sMode); $oLayout->AddSideBlock($oActivityPanel); return $oLayout; } }