/** * Run this widget. * This method registers necessary javascript and renders the needed HTML code. */ public function run() { $id = $this->getId(); if (isset($this->htmlOptions['id'])) { $id = $this->htmlOptions['id']; } else { $this->htmlOptions['id'] = $id; } if (empty($this->options)) { $options = ''; } else { $options = CJavaScript::encode($this->options); } if ($this->baseInputNameForSortableCollection != null) { echo ZurmoHtml::hiddenField($this->baseInputNameForSortableCollection); } Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $id, "jQuery('#{$id}').sortable({$options});"); echo ZurmoHtml::openTag($this->tagName, $this->htmlOptions) . "\n"; if (empty($this->items) && $this->showEmptyList) { echo '<li></li>' . "\n"; } foreach ($this->items as $id => $data) { echo strtr($this->itemTemplate, array_merge(array('{id}' => $id), $data)) . "\n"; } echo ZurmoHtml::closeTag($this->tagName); }
protected function renderAfterFormLayout($form) { $element = new SortableContactWebFormAttributesElement($this->model, 'serializedData', $form); $content = $element->render(); $content .= ZurmoHtml::hiddenField('getPlacedAttributeAction', Yii::app()->createUrl('contactWebForms/default/getPlacedAttributeByName')); return $content; }
/** * @return string */ protected function renderAttributeIndexOrDerivedType() { $hiddenInputName = Element::resolveInputNamePrefixIntoString(array_merge($this->inputPrefixData, array('attributeIndexOrDerivedType'))); $hiddenInputId = Element::resolveInputIdPrefixIntoString(array_merge($this->inputPrefixData, array('attributeIndexOrDerivedType'))); $idInputHtmlOptions = array('id' => $hiddenInputId); return ZurmoHtml::hiddenField($hiddenInputName, $this->model->getAttributeIndexOrDerivedType(), $idInputHtmlOptions); }
/** * @return string */ protected function renderRightSideContent() { $hiddenInputId = get_class($this->model) . '_displayAttributes'; $hiddenInputName = get_class($this->model) . '[displayAttributes]'; $idInputHtmlOptions = array('id' => $hiddenInputId); $content = ZurmoHtml::hiddenField($hiddenInputName, null, $idInputHtmlOptions); $content .= $this->form->error($this->model, 'displayAttributes', array('inputID' => $hiddenInputId)); $content .= parent::renderRightSideContent(); 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); }
/** * @return array */ protected function resolveItemsAndContent() { $items = array(); $inputName = Element::resolveInputNamePrefixIntoString(array('SavedWorkflow', 'savedWorkflowIds')); foreach ($this->savedWorkflows as $workflow) { $content = '<div class="dynamic-row">'; $content .= ZurmoHtml::hiddenField($inputName . '[]', $workflow->id); $content .= strval($workflow); $content .= '</div>'; $items[] = array('content' => $content); } return $items; }
protected function renderSelectLink() { if (!$this->shouldRenderSelectLink) { return null; } $cs = Yii::app()->getClientScript(); $cs->registerCoreScript('bbq'); $cs->registerScriptFile(Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('application.core.elements.assets')) . '/Modal.js', CClientScript::POS_END); $this->registerSelectLinkScripts(); $content = ZurmoHtml::openTag('div', array('class' => 'has-model-select')); $content .= ZurmoHtml::hiddenField($this->getIdForHiddenSelectLinkField()); $content .= ZurmoHtml::ajaxLink('<span class="model-select-icon"></span>', Yii::app()->createUrl($this->getSourceUrlForSelectLink(), $this->getSelectLinkUrlParams()), $this->resolveAjaxOptionsForSelectingModel(), array('id' => $this->getWidgetId() . '-select-link')); $content .= ZurmoHtml::closeTag('div'); return $content; }
protected function renderControlEditable() { $cs = Yii::app()->getClientScript(); $cs->registerCoreScript('bbq'); $cs->registerScriptFile(Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('application.core.elements.assets')) . '/Modal.js', CClientScript::POS_END); $this->renderQtipForPreviewImage(); $applyScript = null; if ($this->getApplyLinkId() != null) { $applyScript = "\$('#{$this->getApplyLinkId()}').click();"; } $cs->registerScript(get_class($this), "\n function replaceImageSummary(id, value)\n {\n \$('#' + id).html(value);\n {$applyScript}\n };\n "); $content = ZurmoHtml::tag('div', array('id' => $this->getIdForPreviewDiv()), $this->renderImageDetails()); $content .= $this->registerScriptsForEditAndSelectLinks(); $value = $this->image == null ? null : $this->image->id; $content .= ZurmoHtml::hiddenField($this->getEditableInputName(), $value); return $content; }
/** * Renders the setting as a links. Also adds hidden variable to form to ensure form can get serialized * during an ajax call. * @return A string containing the element's content. */ protected function renderControlEditable() { assert('$this->model instanceof MarketingOverallMetricsForm'); $hiddenInputName = 'marketingMetricsGroupByNotUsedName'; $hiddenInput = ZurmoHtml::hiddenField($hiddenInputName); $content = ''; foreach ($this->getValuesAndLabels() as $value => $label) { $class = $this->form->getId() . 'marketingMetricsGroupByLink'; if ($this->model->{$this->attribute} == $value) { $class .= ' active'; } $content .= ZurmoHtml::link($label, '#', array('data-value' => $value, 'class' => $class)); } $content = ZurmoHtml::tag('div', array('class' => 'pills'), $content); $content = $hiddenInput . $content; return $content; }
protected function renderColumnTypeContent($columnName, $columnType, $attributeIndexOrDerivedType) { assert('is_string($columnName)'); assert('$columnType == "importColumn" || $columnType == "extraColumn"'); $idInputHtmlOptions = array('id' => $this->mappingFormModelClassName . '_' . $columnName . '_type'); $hiddenInputName = $this->mappingFormModelClassName . '[' . $columnName . '][type]'; return ZurmoHtml::hiddenField($hiddenInputName, $columnType, $idInputHtmlOptions); }
/** * Renders content for a list view. Utilizes a CActiveDataprovider * and a CGridView widget. * and form layout. * @return A string containing the element's content. */ protected function renderContent() { $cClipWidget = new CClipWidget(); $cClipWidget->beginClip("ListView"); $cClipWidget->widget($this->getGridViewWidgetPath(), $this->getCGridViewParams()); $cClipWidget->endClip(); $content = null; if ($this->renderViewToolBarDuringRenderContent) { $content .= $this->renderViewToolBar(); } $content .= $cClipWidget->getController()->clips['ListView'] . "\n"; if ($this->getRowsAreSelectable()) { $content .= ZurmoHtml::hiddenField($this->gridId . $this->gridIdSuffix . '-selectedIds', implode(",", $this->selectedIds)) . "\n"; // Not Coding Standard } $this->renderScripts(); return $content; }
protected function renderAfterFormLayout($form) { $content = "<div id='reCaptcha'></div>"; $content .= ZurmoHtml::hiddenField('captchaHash'); $content .= ZurmoHtml::hiddenField('reCaptchaPublicKey', ZurmoConfigurationUtil::getByModuleName('ZurmoModule', 'reCaptchaPublicKey')); $content .= ZurmoHtml::hiddenField($this->hashIndexHiddenField, md5('ContactWebFormEntry' . time())); $content .= ZurmoHtml::hiddenField(ZurmoHttpRequest::EXTERNAL_REQUEST_TOKEN, ZURMO_TOKEN); $content .= ZurmoHtml::hiddenField(self::GOOGLE_WEB_TRACKING_ID_FIELD); return $content; }
/** * @param int $columnCount * @return string */ protected function renderAddExtraColumnContent($columnCount) { assert('is_int($columnCount)'); $idInputHtmlOptions = array('id' => 'columnCounter'); $hiddenInputName = 'columnCounter'; $ajaxOnChangeUrl = Yii::app()->createUrl("import/default/mappingAddExtraMappingRow", array('id' => $this->model->id)); $content = ZurmoHtml::hiddenField($hiddenInputName, $columnCount, $idInputHtmlOptions); // Begin Not Coding Standard $aContent = ZurmoHtml::wrapLink(Zurmo::t('ImportModule', 'Add Field')); $content .= ZurmoHtml::ajaxLink($aContent, $ajaxOnChangeUrl, array('type' => 'GET', 'data' => 'js:\'columnCount=\' + $(\'#columnCounter\').val()', 'complete' => 'js:function(){$("#addExtraColumnButton").removeClass("loading"); $("#addExtraColumnButton").removeClass("loading-ajax-submit");}', 'success' => 'js:function(data){ $(\'#columnCounter\').val(parseInt($(\'#columnCounter\').val()) + 1) $(\'#addExtraColumnButton\').parent().parent().prev().after(data); }'), array('id' => 'addExtraColumnButton', 'class' => 'attachLoading z-button', 'onclick' => 'js:if ($(this).hasClass("loading")) {return false;} $(this).addClass("loading").addClass("loading-ajax-submit"); $(this).makeOrRemoveLoadingSpinner(true, "#" + $(this).attr("id"));')); // End Not Coding Standard return $content; }
/** * @return A|string */ protected function renderTypeContent() { $typeValuesAndLabels = $this->model->getTypeValuesAndLabels($this->isCreatingNewModel(), $this->isAttributeRequired); if (count($typeValuesAndLabels) > 1) { $params = array('inputPrefix' => $this->inputPrefixData, 'typeValuesAndLabels' => $typeValuesAndLabels); $typeElement = new WorkflowActionAttributeTypeStaticDropDownElement($this->model, 'type', $this->form, $params); $typeElement->editableTemplate = '{content}{error}'; return $typeElement->render(); } else { $label = reset($typeValuesAndLabels); $name = Element::resolveInputNamePrefixIntoString($this->inputPrefixData) . '[type]'; $id = Element::resolveInputIdPrefixIntoString($this->inputPrefixData) . 'type'; $htmlOptions = array('id' => $id); $content = ZurmoHtml::tag('span', array(), $label); $content .= ZurmoHtml::hiddenField($name, key($typeValuesAndLabels), $htmlOptions); return $content; } }
/** * Builds hidden operator input. Used in the event there is only one operator available. No reason to show * that in the user interface * @return string */ protected function renderHiddenOperator() { if ($this->model->hasAvailableOperatorsType() && count($this->model->getOperatorValuesAndLabels()) == 1) { $hiddenInputName = Element::resolveInputNamePrefixIntoString(array_merge($this->inputPrefixData, array('operator'))); $hiddenInputId = Element::resolveInputIdPrefixIntoString(array_merge($this->inputPrefixData, array('operator'))); $idInputHtmlOptions = array('id' => $hiddenInputId); $valuesAndLabels = $this->model->getOperatorValuesAndLabels(); return ZurmoHtml::hiddenField($hiddenInputName, key($valuesAndLabels), $idInputHtmlOptions); } }
/** * @return string */ protected function renderActionsContentAndWrapper() { $rowCount = 0; $items = $this->getItemsContent($rowCount); $itemsContent = $this->getSortableListContent($items, ComponentForWorkflowForm::TYPE_ACTIONS); $idInputHtmlOptions = array('id' => static::resolveRowCounterInputId(ComponentForWorkflowForm::TYPE_ACTIONS)); $hiddenInputName = ComponentForWorkflowForm::TYPE_ACTIONS . 'RowCounter'; $droppableAttributesContent = ZurmoHtml::tag('div', array('class' => 'dynamic-rows'), $itemsContent); $content = ZurmoHtml::hiddenField($hiddenInputName, $rowCount, $idInputHtmlOptions); $content .= ZurmoHtml::tag('div', array('class' => 'droppable-dynamic-rows-container ' . ComponentForWorkflowForm::TYPE_ACTIONS), $droppableAttributesContent); return $content; }
protected function getPanelSettingsDisplay($title, $detailViewOnly, $locked, $panelIdName) { assert('is_bool($locked) || $locked == null'); $content = '<div class="panel-settings modal-settings" title="' . Zurmo::t('Core', 'Panel Settings') . '">'; $content .= '<div class="wide form">'; $content .= '<table>'; $content .= TableUtil::getColGroupContent(1); $content .= '<tr>'; $content .= '<th><label>' . Zurmo::t('Core', 'Panel Title') . '</label></th>'; $content .= '<td>' . ZurmoHtml::textField('title_' . $panelIdName, $title, array('class' => 'panel-title settings-form-field')) . ZurmoHtml::hiddenField('locked_' . $panelIdName, $locked, array('class' => 'panel-title settings-form-field')) . '</td>'; $content .= '</tr>'; $content .= '<tr>'; $content .= '<th><label>' . Zurmo::t('Core', 'Detail View Only') . '</label></th>'; $content .= '<td>' . ZurmoHtml::checkBox('detailViewOnly_' . $panelIdName, $detailViewOnly, array('class' => 'panel-title settings-form-field')) . '</td>'; $content .= '</tr>'; $content .= '</table>'; $content .= '<div class="view-toolbar-container clearfix"><div class="form-toolbar">'; $content .= $this->renderSaveModalSettingsButton(); $content .= '</div></div>'; $content .= '</div>'; $content .= '</div>'; return $content; }
/** * @return string */ protected function renderRelatedModelRelationHiddenInputContent() { $hiddenInputName = Element::resolveInputNamePrefixIntoString(array_merge($this->inputPrefixData, array('relatedModelRelation'))); $hiddenInputId = Element::resolveInputIdPrefixIntoString(array_merge($this->inputPrefixData, array('relatedModelRelation'))); $idInputHtmlOptions = array('id' => $hiddenInputId); return ZurmoHtml::hiddenField($hiddenInputName, $this->model->relatedModelRelation, $idInputHtmlOptions); }
public static function renderDynamicSearchAttributeInput($viewClassName, $modelClassName, $formModelClassName, $rowNumber, $attributeIndexOrDerivedType, $searchAttributes = array(), $suffix = null) { assert('is_string($viewClassName)'); assert('is_string($modelClassName)'); assert('is_string($formModelClassName)'); assert('is_int($rowNumber)'); assert('is_string($attributeIndexOrDerivedType) || $attributeIndexOrDerivedType == null'); assert('is_array($searchAttributes)'); assert('is_string($suffix) || $suffix == null'); $content = null; if (count(explode(FormModelUtil::RELATION_DELIMITER, $attributeIndexOrDerivedType)) > 1) { $model = new $modelClassName(false); $nestedAttributes = explode(FormModelUtil::RELATION_DELIMITER, $attributeIndexOrDerivedType); $inputPrefix = array($formModelClassName, DynamicSearchForm::DYNAMIC_NAME, $rowNumber); $totalNestedCount = count($nestedAttributes); $processCount = 1; $nestedSearchAttributes = $searchAttributes; foreach ($nestedAttributes as $attribute) { if ($processCount < $totalNestedCount && isset($nestedSearchAttributes[$attribute])) { $nestedSearchAttributes = $nestedSearchAttributes[$attribute]; if (isset($nestedSearchAttributes['relatedData'])) { unset($nestedSearchAttributes['relatedData']); } } if ($processCount < $totalNestedCount) { $model = SearchUtil::resolveModelToUseByModelAndAttributeName($model, $attribute); $inputPrefix[] = $attribute; $relatedDataName = Element::resolveInputNamePrefixIntoString($inputPrefix) . '[relatedData]'; $content .= ZurmoHtml::hiddenField($relatedDataName, true); } $processCount++; } $attributeIndexOrDerivedType = $attribute; $modelToUse = $model; $modelToUse->setAttributes($nestedSearchAttributes); $cellElementModelClassName = get_class($model->getModel()); //Dynamic Search needs to always assume there is an available SearchForm //Always assumes the SearchView to use matches the exact pluralCamelCasedName. //Does not support nested relations to leads persay. It will resolve as a Contact. //This is not a problem since you can't relate a model to a lead, it is related to a contact. //So this scenario would not come up naturally. $moduleClassName = $model->getModel()->getModuleClassName(); $viewClassName = $moduleClassName::getPluralCamelCasedName() . 'SearchView'; $element = DynamicSearchUtil::getCellElement($viewClassName, $cellElementModelClassName, $attributeIndexOrDerivedType); } else { $model = new $modelClassName(false); $model->setScenario('importModel'); //this is so attributes such as modified user can be set $modelToUse = new $formModelClassName($model); $modelToUse->setAttributes($searchAttributes); $inputPrefix = array($formModelClassName, DynamicSearchForm::DYNAMIC_NAME, $rowNumber); $element = DynamicSearchUtil::getCellElement($viewClassName, $modelClassName, $attributeIndexOrDerivedType); } $form = new NoRequiredsActiveForm(); $form->id = "search-form"; $element['inputPrefix'] = $inputPrefix; $elementclassname = $element['type'] . 'Element'; $element = new $elementclassname($modelToUse, $element['attributeName'], $form, array_slice($element, 2)); $element->editableTemplate = '{content}{error}'; $content .= $element->render(); DropDownUtil::registerScripts(CClientScript::POS_END); return $content; }
/** * @return string */ protected function renderHiddenStructurePositionInput() { $hiddenInputName = Element::resolveInputNamePrefixIntoString(array_merge($this->inputPrefixData, array('structurePosition'))); $hiddenInputId = Element::resolveInputIdPrefixIntoString(array_merge($this->inputPrefixData, array('structurePosition'))); $idInputHtmlOptions = array('id' => $hiddenInputId, 'class' => 'structure-position'); return ZurmoHtml::hiddenField($hiddenInputName, $this->rowNumber + 1, $idInputHtmlOptions); }
protected function renderClearingSearchInputContent() { $idInputHtmlOptions = array('id' => $this->getClearingSearchInputId()); $hiddenInputName = 'clearingSearch'; return ZurmoHtml::hiddenField($hiddenInputName, null, $idInputHtmlOptions); }
/** * @param int $rowCount * @return string */ protected function renderAddExtraRowContent($rowCount) { assert('is_int($rowCount)'); $idInputHtmlOptions = array('id' => $this->getRowCounterInputId()); $hiddenInputName = 'rowCounter'; $ajaxOnChangeUrl = Yii::app()->createUrl("zurmo/default/dynamicSearchAddExtraRow", array('viewClassName' => get_class($this), 'modelClassName' => get_class($this->model->getModel()), 'formModelClassName' => get_class($this->model), 'suffix' => $this->getSearchFormId())); $content = ZurmoHtml::hiddenField($hiddenInputName, $rowCount, $idInputHtmlOptions); // Begin Not Coding Standard $addFieldLabelContent = $this->getAddFieldLabelContent(); $aContent = ZurmoHtml::wrapLink($addFieldLabelContent); $content .= ZurmoHtml::ajaxLink($aContent, $ajaxOnChangeUrl, array('type' => 'GET', 'data' => 'js:\'rowNumber=\' + $(\'#rowCounter-' . $this->getSearchFormId() . '\').val()', 'beforeSend' => 'js:function(){ $(this).makeOrRemoveLoadingSpinner(true, "#' . $this->getSearchFormId() . '", "dark"); }', 'success' => 'js:function(data){ $(\'#' . $this->getRowCounterInputId() . '\').val(parseInt($(\'#' . $this->getRowCounterInputId() . '\').val()) + 1) $(\'#addExtraAdvancedSearchRowButton-' . $this->getSearchFormId() . '\').parent().before(data); rebuildDynamicSearchRowNumbersAndStructureInput("' . $this->getSearchFormId() . '"); resolveClearLinkPrefixLabelAndVisibility("' . $this->getSearchFormId() . '"); $(this).makeOrRemoveLoadingSpinner(false, "#' . $this->getSearchFormId() . '"); }'), array('id' => 'addExtraAdvancedSearchRowButton-' . $this->getSearchFormId(), 'namespace' => 'add')); // End Not Coding Standard return ZurmoHtml::tag('div', array('class' => 'add-fields-container'), $content); }
protected function renderHiddenField(&$hiddenElements, $attributeName, $value = null) { $hiddenElements .= ZurmoHtml::hiddenField(ZurmoHtml::activeName($this->model, $attributeName), $value, array('id' => ZurmoHtml::activeId($this->model, $attributeName))); }
/** * @return string */ protected static function renderValidationScenarioInputContent() { $idInputHtmlOptions = array('id' => static::getValidationScenarioInputId()); $hiddenInputName = 'validationScenario'; return ZurmoHtml::hiddenField($hiddenInputName, static::getStartingValidationScenario(), $idInputHtmlOptions); }
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; }
protected function renderExtraEditableContent() { $name = $this->getEditableInputName($this->attribute, 'relatedData'); $htmlOptions = array('id' => $this->getEditableInputId($this->attribute, 'relatedData')); return ZurmoHtml::hiddenField($name, true, $htmlOptions); }
protected function renderHiddenInput() { $attribute = $this->attribute; return ZurmoHtml::hiddenField($this->getEditableInputName(), $this->model->{$attribute}, array('id' => $this->getEditableInputId())); }
/** * @return string */ protected function renderRecipientsContentAndWrapper() { $rowCount = 0; $items = $this->getRecipientItemsContent($rowCount); $itemsContent = $this->getNonSortableListContent($items); $idInputHtmlOptions = array('id' => $this->getRecipientsRowCounterInputId($this->resolveRecipientsPrefix()), 'class' => self::RECIPIENTS_ROW_COUNTER_CLASS_NAME, 'data-email-row-number' => $this->rowNumber); $hiddenInputName = $this->resolveRecipientsPrefix() . 'RowCounter'; $recipientsContent = ZurmoHtml::tag('div', array('class' => self::EMAIL_MESSAGE_RECIPIENTS_ROW_CLASS_NAME), $itemsContent); $content = ZurmoHtml::hiddenField($hiddenInputName, $rowCount, $idInputHtmlOptions); $content .= ZurmoHtml::tag('div', array(), $recipientsContent); return $content; }
protected function renderContent() { $cClipWidget = new CClipWidget(); $cClipWidget->beginClip("ListView"); $cClipWidget->widget($this->getGridViewWidgetPath(), $this->getCGridViewParams()); $cClipWidget->endClip(); $content = $this->renderConfigurationForm(); $content .= $this->renderViewToolBar(); $content .= $cClipWidget->getController()->clips['ListView'] . "\n"; if ($this->rowsAreSelectable) { $content .= ZurmoHtml::hiddenField($this->gridId . $this->gridIdSuffix . '-selectedIds', implode(",", $this->selectedIds)) . "\n"; // Not Coding Standard } $content .= $this->renderScripts(); return ZurmoHtml::tag('div', array('class' => 'left-column full-width'), $content); }
protected function renderModuleClassNameIdForMergeTagsView(&$hiddenElements) { $hiddenElements .= ZurmoHtml::hiddenField(static::MODEL_CLASS_NAME_ID, $this->model->modelClassName, array('id' => static::MODEL_CLASS_NAME_ID)); }