protected function renderContent() { $content = $this->renderTitleContent(); $content .= '<ul class="configuration-list">'; $modules = Module::getModuleObjects(); $moduleClassNamesAndLabels = array(); foreach ($modules as $module) { $moduleTreeMenuItems = $module->getDesignerMenuItems(); if ($module->isEnabled() && !empty($moduleTreeMenuItems)) { $moduleClassNamesAndLabels[get_class($module)] = $module::getModuleLabelByTypeAndLanguage('Plural'); } } asort($moduleClassNamesAndLabels); foreach ($moduleClassNamesAndLabels as $moduleClassName => $label) { if (RightsUtil::canUserAccessModule($moduleClassName, Yii::app()->user->userModel)) { $route = $this->moduleId . '/' . $this->controllerId . '/modulesMenu/'; $content .= ZurmoHtml::openTag('li'); $content .= '<h4>' . $label . '</h4>'; $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Configure')), Yii::app()->createUrl($route, array('moduleClassName' => $moduleClassName)), array('class' => 'white-button')); $content .= ZurmoHtml::closeTag('li'); } } $content .= '</ul>'; return $content; }
protected function resolveLabelAndWrap() { if ($this->wrapLabel()) { return ZurmoHtml::wrapLabel($this->getLabel(), 'button-label'); } return $this->getLabel(); }
/** * Render a test button. This link calls a modal * popup. * @return The element's content as a string. */ protected function renderTestButton() { $content = '<span>'; $content .= ZurmoHtml::ajaxLink(ZurmoHtml::wrapLabel(Zurmo::t('EmailMessagesModule', 'Send Test Email')), Yii::app()->createUrl('emailMessages/default/sendTestMessage/', array()), static::resolveAjaxOptionsForTestEmailSettings($this->form->getId()), array('id' => 'SendATestEmailToButton', 'class' => 'EmailTestingButton z-button')); $content .= '</span>'; return $content; }
protected function renderContent() { $nextPageUrl = Yii::app()->createUrl($this->moduleId . '/' . $this->controllerId . '/checkSystem/'); $content = '<div class="MetadataView">'; $content .= '<table><tr><td>'; $content .= Zurmo::t('InstallModule', 'Welcome to Zurmo. Before getting started, we need some information ' . 'on the database. You will need to know the following items before proceeding:'); $content .= '<br/>'; $content .= '<br/>'; $content .= '<ul>'; $content .= '<li>' . Zurmo::t('InstallModule', 'Database host') . '</li>'; $content .= '<li>' . Zurmo::t('InstallModule', 'Database admin username') . '</li>'; $content .= '<li>' . Zurmo::t('InstallModule', 'Database admin password') . '</li>'; $content .= '<li>' . Zurmo::t('InstallModule', 'Database name') . '</li>'; $content .= '<li>' . Zurmo::t('InstallModule', 'Database username') . '</li>'; $content .= '<li>' . Zurmo::t('InstallModule', 'Database password') . '</li>'; $content .= '<li>' . Zurmo::t('InstallModule', 'Memcache host') . '</li>'; $content .= '<li>' . Zurmo::t('InstallModule', 'Memcache port number') . '</li>'; $content .= '</ul>'; $content .= Zurmo::t('InstallModule', 'In all likelihood, these items were supplied to you by your Web Host. ' . 'If you do not have this information, then you will need to contact ' . 'them before you can continue. If you\'re all ready...'); $content .= '<br/><br/>'; $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('InstallModule', 'Click to start')), $nextPageUrl, array('class' => 'z-button')); $content .= '</td></tr></table>'; $content .= '</div>'; return $content; }
protected function renderActionBarContent() { $currentPageUrl = Yii::app()->createUrl($this->moduleId . '/' . $this->controllerId . '/runDiagnostic/'); $content = '<br/><br/>'; $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('InstallModule', 'Recheck System')), $currentPageUrl, array('class' => 'z-button')); return $content; }
/** * @return string */ protected function resolveLabelAndWrap() { if ($this->wrapLabel()) { $content = ZurmoHtml::tag('i', array('class' => 'icon-create'), ''); return $content . ZurmoHtml::wrapLabel($this->getLabel(), 'button-label'); } return $this->getLabel(); }
/** * @param string $message * @return string */ public static function renderWarningBoxByMessage($message) { assert('$message != null && is_string($message)'); $content = ZurmoHtml::wrapLabel(' ', 'ui-icon ui-icon-info') . $message; $innerContent = ZurmoHtml::tag('p', array(), $content); $innerDiv = ZurmoHtml::tag('div', array('class' => 'ui-state-warning ui-corner-all'), $innerContent); return ZurmoHtml::tag('div', array('class' => 'ui-widget'), $innerDiv); }
protected function renderContent() { $url = Yii::app()->createUrl('/users/default/edit', array('id' => $this->userId)); $content = '<div class="' . $this->getIconName() . '">'; $content .= $this->getMessageContent(); $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel($this->getCreateLinkDisplayLabel()), $url, array('class' => 'z-button green-button')); $content .= '</div>'; return $content; }
protected function renderContent() { $params = array('label' => $this->getCreateLinkDisplayLabel()); $url = Yii::app()->createUrl($this->resolveUrl(), array('id' => Yii::app()->user->userModel->id, 'redirectUrl' => $this->redirectUrl)); $content = '<div class="' . $this->getIconName() . '">'; $content .= $this->getMessageContent(); $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel($this->getCreateLinkDisplayLabel()), $url, array('class' => 'z-button green-button')); $content .= '</div>'; return $content; }
/** * Render a test button. This link calls a modal * popup. * @return The element's content as a string. */ protected function renderTestButton() { $id = 'testImapConnection'; $content = '<span>'; $params = array(); $this->resolveParamsFromModel($this->model, $params); $content .= ZurmoHtml::ajaxLink(ZurmoHtml::wrapLabel(Zurmo::t('ZurmoModule', 'Test Connection')), Yii::app()->createUrl('emailMessages/default/testImapConnection/', $params), static::resolveAjaxOptionsForTestEmailSettings($this->form->getId()), array('id' => $id, 'class' => 'EmailTestingButton z-button')); $content .= '</span>'; return $content; }
/** * @return string */ protected function renderContent() { $params = array('label' => $this->getCreateLinkDisplayLabel()); $url = Yii::app()->createUrl('/sendGrid/default/configurationEditOutbound'); $content = '<div class="' . $this->getIconName() . '">'; $content .= $this->getMessageContent(); $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel($this->getCreateLinkDisplayLabel()), $url, array('class' => 'z-button green-button')); $content .= '</div>'; return $content; }
/** * This function overrides the run method from CJuiDatePicker and fixes the jQuery issue for the Datepicker showing * wrong language in the portlet views popup. */ public function run() { list($name, $id) = $this->resolveNameID(); if (isset($this->htmlOptions['id'])) { $id = $this->htmlOptions['id']; } else { $this->htmlOptions['id'] = $id; } if (isset($this->htmlOptions['name'])) { $name = $this->htmlOptions['name']; } else { $this->htmlOptions['name'] = $name; } if (!isset($this->options['currentText'])) { $this->options['currentText'] = ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Now')); } if (!isset($this->options['closeText'])) { $this->options['closeText'] = ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Done')); } if ($this->flat === false) { if ($this->hasModel()) { echo ZurmoHtml::activeTextField($this->model, $this->attribute, $this->htmlOptions); } else { echo ZurmoHtml::textField($name, $this->value, $this->htmlOptions); } } else { if ($this->hasModel()) { echo ZurmoHtml::activeHiddenField($this->model, $this->attribute, $this->htmlOptions); $attribute = $this->attribute; $this->options['defaultDate'] = $this->model->{$attribute}; } else { echo ZurmoHtml::hiddenField($name, $this->value, $this->htmlOptions); $this->options['defaultDate'] = $this->value; } if (!isset($this->options['onSelect'])) { $this->options['onSelect'] = "js:function( selectedDate ) { jQuery('#{$id}').val(selectedDate);}"; // Not Coding Standard } $id = $this->htmlOptions['id'] = $this->htmlOptions['id'] . '_container'; $this->htmlOptions['name'] = $this->htmlOptions['name'] . '_container'; echo ZurmoHtml::tag('div', $this->htmlOptions, ''); } $options = CJavaScript::encode($this->options); $js = "jQuery('#{$id}').datepicker({$options});"; if ($this->language != '' && $this->language != 'en') { $this->registerScriptFile($this->i18nScriptFile); $js = "jQuery(function(){jQuery('#{$id}').datepicker(jQuery.extend({showMonthAfterYear:false}, jQuery.datepicker.regional['{$this->language}'], {$options}));})"; } $cs = Yii::app()->getClientScript(); if (isset($this->defaultOptions)) { $this->registerScriptFile($this->i18nScriptFile); $cs->registerScript(__CLASS__, $this->defaultOptions !== null ? 'jQuery.datepicker.setDefaults(' . CJavaScript::encode($this->defaultOptions) . ');' : ''); } $cs->registerScript(__CLASS__ . '#' . $id, $js); }
protected function renderContent() { $url = $this->getCreateMeetingUrl(); $content = ZurmoHtml::openTag('div', array('class' => $this->getIconName())); $content .= $this->getMessageContent(); if (RightsUtil::doesUserHaveAllowByRightName('MeetingsModule', MeetingsModule::getCreateRight(), Yii::app()->user->userModel)) { $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel($this->getCreateLinkDisplayLabel()), $url, array('class' => 'z-button green-button')); } $content .= ZurmoHtml::closeTag('div'); return $content; }
public static function renderFluidContent($content) { assert('$content == null || is_string($content)'); if ($content != null) { // Begin Not Coding Standard Yii::app()->clientScript->registerScript('TruncateTitleText', "\n \$(function() {\n \$('.truncated-title').ThreeDots({ max_rows:1 });\n });"); // End Not Coding Standard $innerContent = ZurmoHtml::wrapLabel(strip_tags($content), 'ellipsis-content'); $content = ZurmoHtml::wrapLabel($innerContent, 'truncated-title'); return $content; } }
protected function renderActionBarContent() { $failedIndexId = CheckServicesUtil::CHECK_FAILED; $requiredIndexId = ServiceHelper::REQUIRED_SERVICE; $currentPageUrl = Yii::app()->createUrl($this->moduleId . '/' . $this->controllerId . '/checkSystem/'); $nextPageUrl = Yii::app()->createUrl($this->moduleId . '/' . $this->controllerId . '/settings/'); $content = ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('InstallModule', 'Recheck System')), $currentPageUrl, array('class' => 'default-btn')); if (count($this->checkResultsDisplayData[$failedIndexId][$requiredIndexId]) == 0) { $content .= ' <span class="install-or">' . Zurmo::t('Core', 'or') . '</span> '; $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Continue')), $nextPageUrl, array('class' => 'z-button')); } return $content; }
protected function renderContent() { $this->renderScripts(); $hiddenInputName = $this->formModelClassName . '[' . DynamicSearchForm::DYNAMIC_NAME . '][' . $this->rowNumber . '][structurePosition]'; $hiddenInputId = $this->formModelClassName . '_' . DynamicSearchForm::DYNAMIC_NAME . '_' . $this->rowNumber . '_structurePosition'; $idInputHtmlOptions = array('id' => $hiddenInputId, 'class' => 'structure-position'); $content = '<div>'; $content .= ZurmoHtml::wrapLabel($this->rowNumber + 1 . '.', 'dynamic-search-row-number-label'); $content .= $this->renderAttributeDropDownContent(); $content .= ZurmoHtml::hiddenField($hiddenInputName, $this->rowNumber + 1, $idInputHtmlOptions); $content .= ZurmoHtml::tag('div', array('id' => $this->getInputsDivId(), 'class' => 'criteria-value-container'), $this->inputContent); $content .= '</div>'; $content .= ZurmoHtml::link('—', '#', array('class' => 'remove-extra-dynamic-search-row-link')); return $content; }
public static function renderStatusTextContent(Mission $mission) { if ($mission->status == Mission::STATUS_AVAILABLE) { return ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Available'), 'mission-status'); } elseif ($mission->status == Mission::STATUS_TAKEN) { return ZurmoHtml::wrapLabel(Zurmo::t('Core', 'In Progress'), 'mission-status'); } elseif ($mission->status == Mission::STATUS_COMPLETED) { return ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Awaiting Acceptance'), 'mission-status'); } elseif ($mission->status == Mission::STATUS_REJECTED) { return ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Rejected'), 'mission-status'); } elseif ($mission->status == Mission::STATUS_ACCEPTED) { return ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Accepted'), 'mission-status'); } else { throw new NotSupportedException(); } }
protected function renderContent() { $content = $this->renderTitleContent(); $content .= '<ul class="configuration-list">'; $modules = Module::getModuleObjects(); foreach ($modules as $module) { $moduleTreeMenuItems = $module->getDesignerMenuItems(); if ($module->isEnabled() && !empty($moduleTreeMenuItems)) { $route = $this->moduleId . '/' . $this->controllerId . '/modulesMenu/'; $content .= '<li>'; $content .= '<h4>' . Zurmo::t('DesignerModule', $module::getModuleLabelByTypeAndLanguage('Plural')) . '</h4>'; $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('DesignerModule', 'Configure')), Yii::app()->createUrl($route, array('moduleClassName' => get_class($module)))); $content .= '</li>'; } } $content .= '</ul>'; return $content; }
protected function renderContent() { $imagePath = Yii::app()->themeManager->baseUrl . '/default/images/ajax-loader.gif'; $progressBarImageContent = ZurmoHtml::image($imagePath, 'Progress Bar'); $cs = Yii::app()->getClientScript(); $cs->registerScriptFile($cs->getCoreScriptUrl() . '/jquery.min.js', CClientScript::POS_END); $demoDataUrl = Yii::app()->createUrl($this->moduleId . '/' . $this->controllerId . '/installDemoData/'); $loginUrl = Yii::app()->createUrl('zurmo/default'); $content = '<div class="MetadataView">'; $content .= '<table><tr><td>'; $content .= '<div id="demo-data-table" style="display:none;">'; $content .= '<table><tr><td>'; $content .= Zurmo::t('InstallModule', 'The next step is to install the demo data.'); $content .= '<br/><br/>'; $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('InstallModule', 'Click Here to install the demo data')), $demoDataUrl, array('class' => 'z-button')); $content .= '</td></tr></table>'; $content .= '</div>'; $content .= '<div id="complete-table" style="display:none;">'; $content .= '<table><tr><td>'; $content .= Zurmo::t('InstallModule', 'Congratulations! The installation of Zurmo is complete.'); $content .= '<br/>'; $content .= '<br/>'; $content .= Zurmo::t('InstallModule', 'Click below to go to the login page. The username is <b>super</b>'); $content .= '<br/><br/>'; $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('InstallModule', 'Sign in')), $loginUrl, array('class' => 'z-button')); $content .= '</td></tr></table>'; $content .= '</div>'; $content .= '<div id="progress-table">'; $content .= '<table><tr><td class="progress-bar">'; $content .= Zurmo::t('InstallModule', 'Installation in progress. Please wait.'); $content .= '<br/>'; $content .= $progressBarImageContent; $content .= '<br/>'; $content .= '</td></tr></table>'; $content .= '</div>'; $content .= Zurmo::t('InstallModule', 'Installation Output:'); $content .= '<div id="logging-table">'; $content .= '</div>'; $content .= '</td></tr></table>'; $content .= '</div>'; return $content; }
protected static function renderTreeListViewNode(&$content, $data, $indent) { assert('is_string($content)'); assert('is_array($data)'); foreach ($data as $node) { $content .= '<tr>'; $content .= '<td class="level-' . $indent . '">'; $content .= $node['link']; $content .= '</td>'; $content .= '<td>'; $content .= '</td>'; $content .= '<td>'; if (isset($node['route']) && $node['route'] != null && static::shouldRenderConfigureLink()) { $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Configure')), $node['route'], array('class' => 'white-button')); } $content .= '</td>'; $content .= '</tr>'; if (isset($node['children'])) { static::renderTreeListViewNode($content, $node['children'], $indent + 1); } } }
protected function renderContent() { $content = '<div>'; $content .= $this->renderTitleContent(); $content .= '<ul class="configuration-list">'; foreach ($this->editableMetadataCollection as $item) { //todo: make sure the route has attributeTypeName as well as attributeName $link = ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Configure')), Yii::app()->createUrl('/' . $this->moduleId . '/' . $this->controllerId . '/layoutEdit', array('viewClassName' => $item['viewClassName'], 'moduleClassName' => $this->moduleClassName)), array('class' => 'white-button')); $content .= '<li>'; $content .= '<h4>' . $item['titleLabel'] . '</h4>'; $content .= $link; $content .= '</li>'; } $content .= '</ul>'; $actionElementContent = $this->renderActionElementBar(false); if ($actionElementContent != null) { $content .= '<div class="view-toolbar-container clearfix"><div class="form-toolbar">'; $content .= $actionElementContent; $content .= '</div></div>'; } $content .= '</div>'; return $content; }
protected function renderCancelLink() { $route = Yii::app()->createUrl($this->moduleId . '/' . $this->controllerId . '/moduleLayoutsList/', array('moduleClassName' => $this->moduleClassName)); return ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Cancel')), $route, array('class' => 'cancel-button')); }
protected function renderOperationDescriptionContent() { $highlight = $this->renderOperationHighlight(); $message = $this->renderOperationMessage(); $description = $highlight . $message; return ZurmoHtml::wrapLabel($description, 'operation-description'); }
protected static function renderConfigureLinkContent($url, $id) { assert('is_string($url) || $url == null'); assert('is_string($id)'); return ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Configure')), $url, array('id' => $id, 'class' => 'white-button')); }
protected function renderContent() { $failedIndexId = CheckServicesUtil::CHECK_FAILED; $passedIndexId = CheckServicesUtil::CHECK_PASSED; $warningIndexId = CheckServicesUtil::CHECK_WARNING; $requiredIndexId = ServiceHelper::REQUIRED_SERVICE; $optionalIndexId = ServiceHelper::OPTIONAL_SERVICE; $content = '<div class="MetadataView">'; $content .= '<table>'; $content .= '<tr><td>'; $content .= Zurmo::t('InstallModule', 'Below you will find the results of the system check. If any required ' . 'services are not setup correctly, you will need to make sure they are ' . 'installed correctly before you can continue.'); $content .= '<br/><br/>'; $content .= Zurmo::t('InstallModule', 'It is highly recommended that all optional services are installed and ' . 'working before continuing.'); $content .= '<br/><br/>'; if (count($this->checkResultsDisplayData[$failedIndexId]) > 0) { if (count($this->checkResultsDisplayData[$failedIndexId][$requiredIndexId]) > 0) { $content .= $this->renderServiceGroupDisplayByServiceDataAndCheckResult(Zurmo::t('InstallModule', 'Failed Required Services'), $this->checkResultsDisplayData[$failedIndexId][$requiredIndexId], '<span class="fail">' . Zurmo::t('InstallModule', 'FAIL') . '</span>'); $content .= '<br/><br/>'; } if (count($this->checkResultsDisplayData[$failedIndexId][$optionalIndexId]) > 0) { $content .= $this->renderServiceGroupDisplayByServiceDataAndCheckResult(Zurmo::t('InstallModule', 'Failed Optional Services'), $this->checkResultsDisplayData[$failedIndexId][$optionalIndexId], '<span class="fail">' . Zurmo::t('InstallModule', 'FAIL') . '</span>'); $content .= '<br/>'; } } if (count($this->checkResultsDisplayData[$warningIndexId]) > 0) { $content .= $this->renderServiceGroupDisplayByServiceDataAndCheckResult(Zurmo::t('InstallModule', 'Service Status Partially Known'), $this->checkResultsDisplayData[$warningIndexId], '<span class="warning">' . Zurmo::t('Core', 'WARNING') . '</span>'); $content .= '<br/>'; } if (count($this->checkResultsDisplayData[$passedIndexId]) > 0) { $content .= $this->renderServiceGroupDisplayByServiceDataAndCheckResult(Zurmo::t('InstallModule', 'Correctly Installed Services'), $this->checkResultsDisplayData[$passedIndexId], '<span class="pass">' . Zurmo::t('InstallModule', 'PASS') . '</span>'); } $content .= ZurmoHtml::link(ZurmoHtml::wrapLabel(Zurmo::t('InstallModule', 'Recheck System')), '#', array('onclick' => 'window.location.reload()', 'class' => 'z-button')); $content .= '</td></tr></table>'; $content .= '</div>'; return $content; }
/** * @param Notification $notification * @return string */ public static function renderListViewContent(Notification $notification) { $content = strval($notification); if ($content != null) { $content = '<b>' . $content . '</b>'; } if ($notification->notificationMessage->id > 0) { if ($notification->notificationMessage->htmlContent != null) { $content .= ZurmoHtml::wrapLabel(Yii::app()->format->raw($notification->notificationMessage->htmlContent), "last-comment"); } elseif ($notification->notificationMessage->textContent != null) { $content .= ZurmoHtml::wrapLabel(Yii::app()->format->text($notification->notificationMessage->textContent), "last-comment"); } } $content .= ZurmoHtml::tag('span', array('class' => 'list-item-details'), DateTimeUtil::getTimeSinceDisplayContent($notification->createdDateTime)); return $content; }
protected function getUnreadCount() { if (!isset($this->params['unread'])) { return null; } return ZurmoHtml::wrapLabel($this->params['unread'], 'unread-count'); }
protected function renderOperationDescriptionContent() { $highlight = ZurmoHtml::tag('em', array(), Zurmo::t('Core', 'Mass Delete is not reversable.')); $message = ZurmoHtml::tag('strong', array(), $highlight) . '<br />' . '<strong>' . $this->selectedRecordCount . '</strong> ' . Zurmo::t('ProductTemplatesModule', 'ProductTemplatesModuleSingularLabel|ProductTemplatesModulePluralLabel', array_merge(array($this->selectedRecordCount), LabelUtil::getTranslationParamsForAllModules())) . ' ' . Zurmo::t('Core', 'selected for removal.'); return ZurmoHtml::wrapLabel($message, 'operation-description'); }
protected static function makeLastCompletedRunEncodedContentByJobLog($jobLog) { assert('$jobLog instanceof JobLog || $jobLog == null'); if ($jobLog == null) { return ZurmoHtml::wrapLabel(Zurmo::t('Core', 'Never'), 'jobHasNeverRun'); } if ($jobLog != null && $jobLog->status == JobLog::STATUS_COMPLETE_WITH_ERROR) { $content = DateTimeUtil::convertDbFormattedDateTimeToLocaleFormattedDisplay($jobLog->createdDateTime); $content .= ' ' . Zurmo::t('JobsManagerModule', '[with errors]'); $content = ZurmoHtml::wrapLabel($content, 'jobHasErrors'); } else { $content = DateTimeUtil::convertDbFormattedDateTimeToLocaleFormattedDisplay($jobLog->createdDateTime); $content = ZurmoHtml::wrapLabel($content, 'jobRanSuccessfully'); } return $content; }
protected function renderOperationDescriptionContent() { $highlight = ZurmoHtml::tag('em', array(), Zurmo::t('EmailMessagesModule', 'There is no primary email associated with {contactName}. Please add one to continue.', array('{contactName}' => strval($this->model)))); $message = ZurmoHtml::tag('strong', array(), $highlight); return ZurmoHtml::wrapLabel($message, 'operation-description'); }