function DisplayBareHeader(WebPage $oPage, $bEditMode = false) { // Standard Header with name, actions menu and history block // if (!$oPage->IsPrintableVersion()) { // Is there a message for this object ?? $aMessages = array(); $aRanks = array(); if (MetaModel::GetConfig()->Get('concurrent_lock_enabled')) { $aLockInfo = iTopOwnershipLock::IsLocked(get_class($this), $this->GetKey()); if ($aLockInfo['locked']) { $aRanks[] = 0; $sName = $aLockInfo['owner']->GetName(); if ($aLockInfo['owner']->Get('contactid') != 0) { $sName .= ' (' . $aLockInfo['owner']->Get('contactid_friendlyname') . ')'; } $aResult['message'] = Dict::Format('UI:CurrentObjectIsLockedBy_User', $sName); $aMessages[] = "<div class=\"header_message message_error\">" . Dict::Format('UI:CurrentObjectIsLockedBy_User', $sName) . "</div>"; } } $sMessageKey = get_class($this) . '::' . $this->GetKey(); if (array_key_exists('obj_messages', $_SESSION) && array_key_exists($sMessageKey, $_SESSION['obj_messages'])) { foreach ($_SESSION['obj_messages'][$sMessageKey] as $sMessageId => $aMessageData) { $sMsgClass = 'message_' . $aMessageData['severity']; $aMessages[] = "<div class=\"header_message {$sMsgClass}\">" . $aMessageData['message'] . "</div>"; $aRanks[] = $aMessageData['rank']; } unset($_SESSION['obj_messages'][$sMessageKey]); } array_multisort($aRanks, $aMessages); foreach ($aMessages as $sMessage) { $oPage->add($sMessage); } } if (!$oPage->IsPrintableVersion()) { // action menu $oSingletonFilter = new DBObjectSearch(get_class($this)); $oSingletonFilter->AddCondition('id', $this->GetKey(), '='); $oBlock = new MenuBlock($oSingletonFilter, 'details', false); $oBlock->Display($oPage, -1); } $oPage->add("<div class=\"page_header\"><h1>" . $this->GetIcon() . " \n"); // Master data sources $bSynchronized = false; $aIcons = array(); if (!$oPage->IsPrintableVersion()) { $oCreatorTask = null; $bCanBeDeletedByTask = false; $bCanBeDeletedByUser = true; $aMasterSources = array(); $aSyncData = $this->GetSynchroData(); if (count($aSyncData) > 0) { $bSynchronized = true; foreach ($aSyncData as $iSourceId => $aSourceData) { $oDataSource = $aSourceData['source']; $oReplica = reset($aSourceData['replica']); // Take the first one! $sApplicationURL = $oDataSource->GetApplicationUrl($this, $oReplica); $sLink = $oDataSource->GetName(); if (!empty($sApplicationURL)) { $sLink = "<a href=\"{$sApplicationURL}\" target=\"_blank\">" . $oDataSource->GetName() . "</a>"; } if ($oReplica->Get('status_dest_creator') == 1) { $oCreatorTask = $oDataSource; $bCreatedByTask = true; } else { $bCreatedByTask = false; } if ($bCreatedByTask) { $sDeletePolicy = $oDataSource->Get('delete_policy'); if ($sDeletePolicy == 'delete' || $sDeletePolicy == 'update_then_delete') { $bCanBeDeletedByTask = true; } $sUserDeletePolicy = $oDataSource->Get('user_delete_policy'); if ($sUserDeletePolicy == 'nobody') { $bCanBeDeletedByUser = false; } elseif ($sUserDeletePolicy == 'administrators' && !UserRights::IsAdministrator()) { $bCanBeDeletedByUser = false; } else { } } $aMasterSources[$iSourceId]['datasource'] = $oDataSource; $aMasterSources[$iSourceId]['url'] = $sLink; $aMasterSources[$iSourceId]['last_synchro'] = $oReplica->Get('status_last_seen'); } if (is_object($oCreatorTask)) { $sTaskUrl = $aMasterSources[$oCreatorTask->GetKey()]['url']; if (!$bCanBeDeletedByUser) { $sTip = "<p>" . Dict::Format('Core:Synchro:TheObjectCannotBeDeletedByUser_Source', $sTaskUrl) . "</p>"; } else { $sTip = "<p>" . Dict::Format('Core:Synchro:TheObjectWasCreatedBy_Source', $sTaskUrl) . "</p>"; } if ($bCanBeDeletedByTask) { $sTip .= "<p>" . Dict::Format('Core:Synchro:TheObjectCanBeDeletedBy_Source', $sTaskUrl) . "</p>"; } } else { $sTip = "<p>" . Dict::S('Core:Synchro:ThisObjectIsSynchronized') . "</p>"; } $sTip .= "<p><b>" . Dict::S('Core:Synchro:ListOfDataSources') . "</b></p>"; foreach ($aMasterSources as $aStruct) { $oDataSource = $aStruct['datasource']; $sLink = $aStruct['url']; $sTip .= "<p style=\"white-space:nowrap\">" . $oDataSource->GetIcon(true, 'style="vertical-align:middle"') . " {$sLink}<br/>"; $sTip .= Dict::S('Core:Synchro:LastSynchro') . '<br/>' . $aStruct['last_synchro'] . "</p>"; } $aIcons[] = ' <img style="vertical-align:middle;" id="synchro_icon" src="../images/locked.png"/>'; $sTip = addslashes($sTip); $oPage->add_ready_script("\$('#synchro_icon').qtip( { content: '{$sTip}', show: 'mouseover', hide: { fixed: true }, style: { name: 'dark', tip: 'leftTop' }, position: { corner: { target: 'rightMiddle', tooltip: 'leftTop' }} } );"); } } $sIcons = implode(' ', $aIcons); $oPage->add(MetaModel::GetName(get_class($this)) . ": <span class=\"hilite\">" . $this->GetName() . "</span>{$sIcons}</h1>\n"); $oPage->add("</div>\n"); }
protected function GetActionsMenu(WebPage $oPage, $aExtraParams) { $oMenuBlock = new MenuBlock($this->oSet->GetFilter(), 'list'); $sHtml = $oMenuBlock->GetRenderContent($oPage, $aExtraParams, $this->iListId); return $sHtml; }
function DisplayBareHeader(WebPage $oPage, $bEditMode = false) { // Standard Header with name, actions menu and history block // // Is there a message for this object ?? $sMessageKey = get_class($this) . '::' . $this->GetKey(); if (array_key_exists('obj_messages', $_SESSION) && array_key_exists($sMessageKey, $_SESSION['obj_messages'])) { $aMessages = array(); $aRanks = array(); foreach ($_SESSION['obj_messages'][$sMessageKey] as $sMessageId => $aMessageData) { $sMsgClass = 'message_' . $aMessageData['severity']; $aMessages[] = "<div class=\"header_message {$sMsgClass}\">" . $aMessageData['message'] . "</div>"; $aRanks[] = $aMessageData['rank']; } array_multisort($aRanks, $aMessages); foreach ($aMessages as $sMessage) { $oPage->add($sMessage); } unset($_SESSION['obj_messages'][$sMessageKey]); } // action menu $oSingletonFilter = new DBObjectSearch(get_class($this)); $oSingletonFilter->AddCondition('id', $this->GetKey(), '='); $oBlock = new MenuBlock($oSingletonFilter, 'details', false); $oBlock->Display($oPage, -1); // Master data sources $sSynchroIcon = ''; $oReplicaSet = $this->GetMasterReplica(); $bSynchronized = false; $oCreatorTask = null; $bCanBeDeletedByTask = false; $bCanBeDeletedByUser = true; $aMasterSources = array(); if ($oReplicaSet->Count() > 0) { $bSynchronized = true; while ($aData = $oReplicaSet->FetchAssoc()) { // Assumption: $aData['datasource'] will not be null because the data source id is always set... $sApplicationURL = $aData['datasource']->GetApplicationUrl($this, $aData['replica']); $sLink = $aData['datasource']->GetName(); if (!empty($sApplicationURL)) { $sLink = "<a href=\"{$sApplicationURL}\" target=\"_blank\">" . $aData['datasource']->GetName() . "</a>"; } if ($aData['replica']->Get('status_dest_creator') == 1) { $oCreatorTask = $aData['datasource']; $bCreatedByTask = true; } else { $bCreatedByTask = false; } if ($bCreatedByTask) { $sDeletePolicy = $aData['datasource']->Get('delete_policy'); if ($sDeletePolicy == 'delete' || $sDeletePolicy == 'update_then_delete') { $bCanBeDeletedByTask = true; } $sUserDeletePolicy = $aData['datasource']->Get('user_delete_policy'); if ($sUserDeletePolicy == 'nobody') { $bCanBeDeletedByUser = false; } elseif ($sUserDeletePolicy == 'administrators' && !UserRights::IsAdministrator()) { $bCanBeDeletedByUser = false; } else { } } $aMasterSources[$aData['datasource']->GetKey()]['datasource'] = $aData['datasource']; $aMasterSources[$aData['datasource']->GetKey()]['url'] = $sLink; $aMasterSources[$aData['datasource']->GetKey()]['last_synchro'] = $aData['replica']->Get('status_last_seen'); } if (is_object($oCreatorTask)) { $sTaskUrl = $aMasterSources[$oCreatorTask->GetKey()]['url']; if (!$bCanBeDeletedByUser) { $sTip = "<p>" . Dict::Format('Core:Synchro:TheObjectCannotBeDeletedByUser_Source', $sTaskUrl) . "</p>"; } else { $sTip = "<p>" . Dict::Format('Core:Synchro:TheObjectWasCreatedBy_Source', $sTaskUrl) . "</p>"; } if ($bCanBeDeletedByTask) { $sTip .= "<p>" . Dict::Format('Core:Synchro:TheObjectCanBeDeletedBy_Source', $sTaskUrl) . "</p>"; } } else { $sTip = "<p>" . Dict::S('Core:Synchro:ThisObjectIsSynchronized') . "</p>"; } $sTip .= "<p><b>" . Dict::S('Core:Synchro:ListOfDataSources') . "</b></p>"; foreach ($aMasterSources as $aStruct) { $oDataSource = $aStruct['datasource']; $sLink = $aStruct['url']; $sTip .= "<p style=\"white-space:nowrap\">" . $oDataSource->GetIcon(true, 'style="vertical-align:middle"') . " {$sLink}<br/>"; $sTip .= Dict::S('Core:Synchro:LastSynchro') . '<br/>' . $aStruct['last_synchro'] . "</p>"; } $sSynchroIcon = ' <img style="vertical-align:middle;" id="synchro_icon" src="../images/locked.png"/>'; $sTip = addslashes($sTip); $oPage->add_ready_script("\$('#synchro_icon').qtip( { content: '{$sTip}', show: 'mouseover', hide: { fixed: true }, style: { name: 'dark', tip: 'leftTop' }, position: { corner: { target: 'rightMiddle', tooltip: 'leftTop' }} } );"); } $oPage->add("<div class=\"page_header\"><h1>" . $this->GetIcon() . " \n"); $sRefreshIcon = ''; if ($_SERVER['REQUEST_METHOD'] == 'GET') { $sRefreshIcon = '<img src="../images/reload.png" style="cursor:pointer;vertical-align:middle;margin-left:1em;" onclick="window.location.reload();" title="' . htmlentities(Dict::S('UI:Button:Refresh'), ENT_QUOTES, 'UTF-8') . '"/>'; } $oPage->add(MetaModel::GetName(get_class($this)) . ": <span class=\"hilite\">" . $this->GetName() . "</span>{$sRefreshIcon} {$sSynchroIcon}</h1>\n"); $oPage->add("</div>\n"); }
<div name="div-block-content-<?php echo $block_model->id; ?> "> <?php echo CHtml::label(Block::getLabel($block_model, 'menu_id'), ''); ?> <?php echo CHtml::dropDownList("Block[menu_id]", $block_model->menu_id, MenuBlock::findMenu(), array('id' => 'Block-menu_id')); ?> <?php echo $form->error($model, 'menu_id'); ?> </div>
$second_level_menus = MenuBlock::getMenuItems($menu['id'], $this->menu_id); if (count($second_level_menus) > 0) { ?> <ul class="menu_level_2"> <?php foreach ($second_level_menus as $second_menu) { ?> <li><a href="<?php echo $second_menu['link']; ?> "><?php echo $second_menu['name']; ?> </a> <?php $third_level_menus = MenuBlock::getMenuItems($second_menu['id'], $this->menu_id); if (count($third_level_menus) > 0) { ?> <ul class="menu_level_3"> <?php foreach ($third_level_menus as $third_menu) { ?> <li><a href="<?php echo $third_menu['link']; ?> "><?php echo $third_menu['name']; ?> </a></li> <?php }