Linux polon 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64
Apache/2.4.59 (Debian)
: 10.2.73.233 | : 3.145.2.6
Cant Read [ /etc/named.conf ]
5.6.40-64+0~20230107.71+debian10~1.gbp673146
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
ifk /
web /
prado4.3.2 /
Web /
UI /
WebControls /
[ HOME SHELL ]
Name
Size
Permission
Action
assets
[ DIR ]
drwxr-xr-x
IDataSource.php
507
B
-rw-r--r--
IItemDataRenderer.php
1.34
KB
-rw-r--r--
IListControlAdapter.php
1.22
KB
-rw-r--r--
IRepeatInfoUser.php
1.55
KB
-rw-r--r--
IStyleable.php
774
B
-rw-r--r--
TAccordion.php
16.08
KB
-rw-r--r--
TAccordionView.php
4.45
KB
-rw-r--r--
TAccordionViewCollection.php
1.57
KB
-rw-r--r--
TBaseDataList.php
5.45
KB
-rw-r--r--
TBaseValidator.php
19.79
KB
-rw-r--r--
TBoundColumn.php
7.11
KB
-rw-r--r--
TBulletStyle.php
913
B
-rw-r--r--
TBulletedList.php
12.14
KB
-rw-r--r--
TBulletedListDisplayMode.php
917
B
-rw-r--r--
TBulletedListEventParameter.ph...
993
B
-rw-r--r--
TButton.php
11.42
KB
-rw-r--r--
TButtonColumn.php
8.5
KB
-rw-r--r--
TButtonColumnType.php
791
B
-rw-r--r--
TButtonTag.php
705
B
-rw-r--r--
TButtonType.php
756
B
-rw-r--r--
TCaptcha.php
16.31
KB
-rw-r--r--
TCaptchaValidator.php
4
KB
-rw-r--r--
TCheckBox.php
15.02
KB
-rw-r--r--
TCheckBoxColumn.php
3.68
KB
-rw-r--r--
TCheckBoxItem.php
520
B
-rw-r--r--
TCheckBoxList.php
14.43
KB
-rw-r--r--
TCircleHotSpot.php
1.84
KB
-rw-r--r--
TClientScript.php
4.41
KB
-rw-r--r--
TClientSideValidationSummaryOp...
2.38
KB
-rw-r--r--
TColorPicker.php
6.83
KB
-rw-r--r--
TColorPickerClientSide.php
847
B
-rw-r--r--
TColorPickerMode.php
815
B
-rw-r--r--
TCompareValidator.php
7.5
KB
-rw-r--r--
TCompleteWizardStep.php
960
B
-rw-r--r--
TConditional.php
4.33
KB
-rw-r--r--
TContent.php
1.67
KB
-rw-r--r--
TContentDirection.php
811
B
-rw-r--r--
TContentPlaceHolder.php
1.73
KB
-rw-r--r--
TCustomValidator.php
4.46
KB
-rw-r--r--
TDataBoundControl.php
15.37
KB
-rw-r--r--
TDataGrid.php
48.32
KB
-rw-r--r--
TDataGridColumn.php
17.06
KB
-rw-r--r--
TDataGridColumnCollection.php
1.83
KB
-rw-r--r--
TDataGridCommandEventParameter...
2.06
KB
-rw-r--r--
TDataGridItem.php
3.62
KB
-rw-r--r--
TDataGridItemCollection.php
1.34
KB
-rw-r--r--
TDataGridItemEventParameter.ph...
1.4
KB
-rw-r--r--
TDataGridItemRenderer.php
539
B
-rw-r--r--
TDataGridPageChangedEventParam...
1.84
KB
-rw-r--r--
TDataGridPager.php
1.75
KB
-rw-r--r--
TDataGridPagerButtonType.php
1022
B
-rw-r--r--
TDataGridPagerEventParameter.p...
1.42
KB
-rw-r--r--
TDataGridPagerMode.php
1.04
KB
-rw-r--r--
TDataGridPagerPosition.php
1.16
KB
-rw-r--r--
TDataGridPagerStyle.php
7.44
KB
-rw-r--r--
TDataGridSortCommandEventParam...
1.93
KB
-rw-r--r--
TDataList.php
46.45
KB
-rw-r--r--
TDataListCommandEventParameter...
1.81
KB
-rw-r--r--
TDataListItem.php
3.29
KB
-rw-r--r--
TDataListItemCollection.php
1.06
KB
-rw-r--r--
TDataListItemEventParameter.ph...
1.16
KB
-rw-r--r--
TDataListItemRenderer.php
4.6
KB
-rw-r--r--
TDataRenderer.php
1.11
KB
-rw-r--r--
TDataSize.php
4.22
KB
-rw-r--r--
TDataSourceControl.php
1.36
KB
-rw-r--r--
TDataSourceSelectParameters.ph...
1.51
KB
-rw-r--r--
TDataSourceView.php
2.23
KB
-rw-r--r--
TDataTypeValidator.php
3.89
KB
-rw-r--r--
TDatePicker.php
26.21
KB
-rw-r--r--
TDatePickerClientScript.php
1.22
KB
-rw-r--r--
TDatePickerInputMode.php
746
B
-rw-r--r--
TDatePickerMode.php
1.08
KB
-rw-r--r--
TDatePickerPositionMode.php
766
B
-rw-r--r--
TDisplayStyle.php
994
B
-rw-r--r--
TDropDownList.php
4.58
KB
-rw-r--r--
TDropDownListColumn.php
10.06
KB
-rw-r--r--
TEditCommandColumn.php
7.97
KB
-rw-r--r--
TEmailAddressValidator.php
2.68
KB
-rw-r--r--
TExpression.php
1.42
KB
-rw-r--r--
TFileUpload.php
11.86
KB
-rw-r--r--
TFileUploadItem.php
4.03
KB
-rw-r--r--
TFlushOutput.php
2.25
KB
-rw-r--r--
TFont.php
8.93
KB
-rw-r--r--
TGravatar.php
4.65
KB
-rw-r--r--
THead.php
5
KB
-rw-r--r--
THeader1.php
675
B
-rw-r--r--
THeader2.php
675
B
-rw-r--r--
THeader3.php
675
B
-rw-r--r--
THeader4.php
674
B
-rw-r--r--
THeader5.php
674
B
-rw-r--r--
THeader6.php
674
B
-rw-r--r--
THiddenField.php
5.82
KB
-rw-r--r--
THorizontalAlign.php
921
B
-rw-r--r--
THotSpot.php
8.73
KB
-rw-r--r--
THotSpotCollection.php
1.02
KB
-rw-r--r--
THotSpotMode.php
901
B
-rw-r--r--
THtmlArea.php
12.41
KB
-rw-r--r--
THtmlArea5.php
11.53
KB
-rw-r--r--
THtmlElement.php
1.62
KB
-rw-r--r--
THyperLink.php
7.41
KB
-rw-r--r--
THyperLinkColumn.php
7.61
KB
-rw-r--r--
TImage.php
4.29
KB
-rw-r--r--
TImageButton.php
11.67
KB
-rw-r--r--
TImageClickEventParameter.php
1.52
KB
-rw-r--r--
TImageMap.php
6.86
KB
-rw-r--r--
TImageMapEventParameter.php
1.06
KB
-rw-r--r--
TInlineFrame.php
7.89
KB
-rw-r--r--
TInlineFrameAlign.php
1018
B
-rw-r--r--
TInlineFrameScrollBars.php
917
B
-rw-r--r--
TItemDataRenderer.php
2.17
KB
-rw-r--r--
TJavascriptLogger.php
2.8
KB
-rw-r--r--
TKeyboard.php
5.92
KB
-rw-r--r--
TLabel.php
3.95
KB
-rw-r--r--
TLinkButton.php
10.45
KB
-rw-r--r--
TListBox.php
6.57
KB
-rw-r--r--
TListControl.php
24.23
KB
-rw-r--r--
TListControlValidator.php
5.84
KB
-rw-r--r--
TListItem.php
4.93
KB
-rw-r--r--
TListItemType.php
1.11
KB
-rw-r--r--
TListSelectionMode.php
684
B
-rw-r--r--
TLiteral.php
2.82
KB
-rw-r--r--
TLiteralColumn.php
4.08
KB
-rw-r--r--
TMarkdown.php
1.99
KB
-rw-r--r--
TMetaTag.php
3.53
KB
-rw-r--r--
TMetaTagCollection.php
1.83
KB
-rw-r--r--
TMultiView.php
8.34
KB
-rw-r--r--
TOutputCache.php
15.99
KB
-rw-r--r--
TOutputCacheCalculateKeyEventP...
1.04
KB
-rw-r--r--
TOutputCacheCheckDependencyEve...
1.38
KB
-rw-r--r--
TOutputCacheTextWriterMulti.ph...
975
B
-rw-r--r--
TPageLoadTime.php
1.31
KB
-rw-r--r--
TPager.php
21.73
KB
-rw-r--r--
TPagerButtonType.php
714
B
-rw-r--r--
TPagerMode.php
838
B
-rw-r--r--
TPagerPageChangedEventParamete...
1.54
KB
-rw-r--r--
TPanel.php
6.39
KB
-rw-r--r--
TPanelStyle.php
8.09
KB
-rw-r--r--
TPlaceHolder.php
616
B
-rw-r--r--
TPolygonHotSpot.php
1.11
KB
-rw-r--r--
TRadioButton.php
9.39
KB
-rw-r--r--
TRadioButtonItem.php
533
B
-rw-r--r--
TRadioButtonList.php
2.29
KB
-rw-r--r--
TRangeValidationDataType.php
696
B
-rw-r--r--
TRangeValidator.php
9.76
KB
-rw-r--r--
TRatingList.php
8.75
KB
-rw-r--r--
TReCaptcha.php
11.79
KB
-rw-r--r--
TReCaptcha2.php
10.95
KB
-rw-r--r--
TReCaptcha2Validator.php
3.43
KB
-rw-r--r--
TReCaptchaValidator.php
4.19
KB
-rw-r--r--
TReadOnlyDataSource.php
1.1
KB
-rw-r--r--
TReadOnlyDataSourceView.php
1.01
KB
-rw-r--r--
TRectangleHotSpot.php
2.36
KB
-rw-r--r--
TRegularExpressionValidator.ph...
4.16
KB
-rw-r--r--
TRepeatDirection.php
681
B
-rw-r--r--
TRepeatInfo.php
13.51
KB
-rw-r--r--
TRepeatLayout.php
872
B
-rw-r--r--
TRepeater.php
23.8
KB
-rw-r--r--
TRepeaterCommandEventParameter...
1.81
KB
-rw-r--r--
TRepeaterItem.php
2.83
KB
-rw-r--r--
TRepeaterItemCollection.php
1.07
KB
-rw-r--r--
TRepeaterItemEventParameter.ph...
1.13
KB
-rw-r--r--
TRepeaterItemRenderer.php
1.24
KB
-rw-r--r--
TRequiredFieldValidator.php
4.56
KB
-rw-r--r--
TSafeHtml.php
2.07
KB
-rw-r--r--
TScrollBars.php
953
B
-rw-r--r--
TServerValidateEventParameter....
1.37
KB
-rw-r--r--
TSlider.php
14.93
KB
-rw-r--r--
TSliderClientScript.php
1.78
KB
-rw-r--r--
TSliderDirection.php
749
B
-rw-r--r--
TStatements.php
1.44
KB
-rw-r--r--
TStyle.php
9.84
KB
-rw-r--r--
TStyleSheet.php
3.62
KB
-rw-r--r--
TTabPanel.php
14.67
KB
-rw-r--r--
TTabView.php
4.83
KB
-rw-r--r--
TTabViewCollection.php
1.55
KB
-rw-r--r--
TTable.php
9.63
KB
-rw-r--r--
TTableCaptionAlign.php
862
B
-rw-r--r--
TTableCell.php
5.77
KB
-rw-r--r--
TTableCellCollection.php
1.1
KB
-rw-r--r--
TTableFooterRow.php
882
B
-rw-r--r--
TTableGridLines.php
902
B
-rw-r--r--
TTableHeaderCell.php
2.4
KB
-rw-r--r--
TTableHeaderRow.php
882
B
-rw-r--r--
TTableHeaderScope.php
766
B
-rw-r--r--
TTableItemStyle.php
5.5
KB
-rw-r--r--
TTableRow.php
3.8
KB
-rw-r--r--
TTableRowCollection.php
1.08
KB
-rw-r--r--
TTableRowSection.php
761
B
-rw-r--r--
TTableStyle.php
8.84
KB
-rw-r--r--
TTemplateColumn.php
7.93
KB
-rw-r--r--
TTemplatedWizardStep.php
2.93
KB
-rw-r--r--
TTextAlign.php
608
B
-rw-r--r--
TTextBox.php
19.32
KB
-rw-r--r--
TTextBoxAutoCompleteType.php
1.87
KB
-rw-r--r--
TTextBoxMode.php
2.3
KB
-rw-r--r--
TTextHighlighter.php
6.53
KB
-rw-r--r--
TTextProcessor.php
2.28
KB
-rw-r--r--
TValidationCompareOperator.php
959
B
-rw-r--r--
TValidationDataType.php
749
B
-rw-r--r--
TValidationSummary.php
11.78
KB
-rw-r--r--
TValidationSummaryDisplayMode....
1.09
KB
-rw-r--r--
TValidationSummaryDisplayStyle...
1017
B
-rw-r--r--
TValidatorClientSide.php
2.96
KB
-rw-r--r--
TValidatorDisplayStyle.php
951
B
-rw-r--r--
TVerticalAlign.php
836
B
-rw-r--r--
TView.php
2.23
KB
-rw-r--r--
TViewCollection.php
1.09
KB
-rw-r--r--
TWebControl.php
12.65
KB
-rw-r--r--
TWebControlAdapter.php
1.98
KB
-rw-r--r--
TWebControlDecorator.php
10.94
KB
-rw-r--r--
TWizard.php
41.24
KB
-rw-r--r--
TWizardFinishNavigationTemplat...
1.49
KB
-rw-r--r--
TWizardNavigationButtonStyle.p...
3.89
KB
-rw-r--r--
TWizardNavigationButtonType.ph...
825
B
-rw-r--r--
TWizardNavigationContainer.php
1.85
KB
-rw-r--r--
TWizardNavigationEventParamete...
2.15
KB
-rw-r--r--
TWizardNavigationTemplate.php
2.29
KB
-rw-r--r--
TWizardSideBarListItemTemplate...
907
B
-rw-r--r--
TWizardSideBarTemplate.php
1003
B
-rw-r--r--
TWizardStartNavigationTemplate...
1.21
KB
-rw-r--r--
TWizardStep.php
2.34
KB
-rw-r--r--
TWizardStepCollection.php
1.79
KB
-rw-r--r--
TWizardStepNavigationTemplate....
1.45
KB
-rw-r--r--
TWizardStepType.php
1.01
KB
-rw-r--r--
TXmlTransform.php
5.76
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : TRepeatInfo.php
<?php /** * IRepeatInfoUser, TRepeatInfo class file * * @author Qiang Xue <qiang.xue@gmail.com> * @link https://github.com/pradosoft/prado * @license https://github.com/pradosoft/prado/blob/master/LICENSE */ namespace Prado\Web\UI\WebControls; use Prado\TPropertyValue; use Prado\Exceptions\TInvalidDataValueException; /** * TRepeatInfo class. * TRepeatInfo represents repeat information for controls like {@link TCheckBoxList}. * The layout of the repeated items is specified via {@link setRepeatLayout RepeatLayout}, * which can be either Table (default), Flow or Raw. * A table layout uses HTML table cells to organize the items while * a flow layout uses line breaks to organize the items. * The number of columns used to display the items is specified via * {@link setRepeatColumns RepeatColumns} property, while the {@link setRepeatDirection RepeatDirection} * governs the order of the items being rendered. * * Note, the Raw layout does not contain any formatting tags and thus ignores * the column and repeat direction settings. * * @author Qiang Xue <qiang.xue@gmail.com> * @since 3.0 */ class TRepeatInfo extends \Prado\TComponent { /** * @var string caption of the table used to organize the repeated items */ private $_caption = ''; /** * @var TTableCaptionAlign alignment of the caption of the table used to organize the repeated items */ private $_captionAlign = TTableCaptionAlign::NotSet; /** * @var int number of columns that the items should be arranged in */ private $_repeatColumns = 0; /** * @var TRepeatDirection direction of the repetition */ private $_repeatDirection = TRepeatDirection::Vertical; /** * @var TRepeatLayout layout of the repeated items */ private $_repeatLayout = TRepeatLayout::Table; /** * @return string caption of the table layout */ public function getCaption() { return $this->_caption; } /** * @param string $value caption of the table layout */ public function setCaption($value) { $this->_caption = $value; } /** * @return TTableCaptionAlign alignment of the caption of the table layout. Defaults to TTableCaptionAlign::NotSet. */ public function getCaptionAlign() { return $this->_captionAlign; } /** * @param TTableCaptionAlign $value alignment of the caption of the table layout. */ public function setCaptionAlign($value) { $this->_captionAlign = TPropertyValue::ensureEnum($value, 'Prado\\Web\\UI\\WebControls\\TTableCaptionAlign'); } /** * @return int the number of columns that the repeated items should be displayed in. Defaults to 0, meaning not set. */ public function getRepeatColumns() { return $this->_repeatColumns; } /** * @param int $value the number of columns that the repeated items should be displayed in. */ public function setRepeatColumns($value) { if (($value = TPropertyValue::ensureInteger($value)) < 0) { throw new TInvalidDataValueException('repeatinfo_repeatcolumns_invalid'); } $this->_repeatColumns = $value; } /** * @return TRepeatDirection the direction of traversing the repeated items, defaults to TRepeatDirection::Vertical */ public function getRepeatDirection() { return $this->_repeatDirection; } /** * @param TRepeatDirection $value the direction of traversing the repeated items */ public function setRepeatDirection($value) { $this->_repeatDirection = TPropertyValue::ensureEnum($value, 'Prado\\Web\\UI\\WebControls\\TRepeatDirection'); } /** * @return TRepeatLayout how the repeated items should be displayed, using table or using line breaks. Defaults to TRepeatLayout::Table. */ public function getRepeatLayout() { return $this->_repeatLayout; } /** * @param TRepeatLayout $value how the repeated items should be displayed, using table or using line breaks. */ public function setRepeatLayout($value) { $this->_repeatLayout = TPropertyValue::ensureEnum($value, 'Prado\\Web\\UI\\WebControls\\TRepeatLayout'); } /** * Renders the repeated items. * @param \Prado\Web\UI\THtmlWriter $writer writer for the rendering purpose * @param IRepeatInfoUser&TListControl $user repeat information user */ public function renderRepeater($writer, IRepeatInfoUser $user) { if ($this->_repeatLayout === TRepeatLayout::Table) { $control = new TTable(); if ($this->_caption !== '') { $control->setCaption($this->_caption); $control->setCaptionAlign($this->_captionAlign); } } elseif ($this->_repeatLayout === TRepeatLayout::Raw) { $this->renderRawContents($writer, $user); return; } else { $control = new TWebControl(); } $control->setID($user->getClientID()); $control->copyBaseAttributes($user); if ($user->getHasStyle()) { $control->getStyle()->copyFrom($user->getStyle()); } $control->renderBeginTag($writer); $writer->writeLine(); if ($this->_repeatDirection === TRepeatDirection::Vertical) { $this->renderVerticalContents($writer, $user); } else { $this->renderHorizontalContents($writer, $user); } $control->renderEndTag($writer); } /** * Renders contents in raw format. * @param \Prado\Web\UI\THtmlWriter $writer writer for the rendering purpose * @param IRepeatInfoUser $user repeat information user */ protected function renderRawContents($writer, $user) { if ($user->getHasHeader()) { $user->renderItem($writer, $this, 'Header', -1); } // render items $hasSeparators = $user->getHasSeparators(); $itemCount = $user->getItemCount(); for ($i = 0; $i < $itemCount; ++$i) { $user->renderItem($writer, $this, 'Item', $i); if ($hasSeparators && $i != $itemCount - 1) { $user->renderItem($writer, $this, 'Separator', $i); } } if ($user->getHasFooter()) { $user->renderItem($writer, $this, 'Footer', -1); } } /** * Renders contents in horizontal repeat direction. * @param \Prado\Web\UI\THtmlWriter $writer writer for the rendering purpose * @param IRepeatInfoUser $user repeat information user */ protected function renderHorizontalContents($writer, $user) { $tableLayout = ($this->_repeatLayout === TRepeatLayout::Table); $hasSeparators = $user->getHasSeparators(); $itemCount = $user->getItemCount(); $columns = $this->_repeatColumns === 0 ? $itemCount : $this->_repeatColumns; $totalColumns = $hasSeparators ? $columns + $columns : $columns; $needBreak = $columns < $itemCount; if ($user->getHasHeader()) { $this->renderHeader($writer, $user, $tableLayout, $totalColumns, $needBreak); } // render items if ($tableLayout) { $writer->renderBeginTag('tbody'); $column = 0; for ($i = 0; $i < $itemCount; ++$i) { if ($column == 0) { $writer->renderBeginTag('tr'); } if (($style = $user->generateItemStyle('Item', $i)) !== null) { $style->addAttributesToRender($writer); } $writer->renderBeginTag('td'); $user->renderItem($writer, $this, 'Item', $i); $writer->renderEndTag(); $writer->writeLine(); if ($hasSeparators && $i != $itemCount - 1) { if (($style = $user->generateItemStyle('Separator', $i)) !== null) { $style->addAttributesToRender($writer); } $writer->renderBeginTag('td'); $user->renderItem($writer, $this, 'Separator', $i); $writer->renderEndTag(); $writer->writeLine(); } $column++; if ($i == $itemCount - 1) { $restColumns = $columns - $column; if ($hasSeparators) { $restColumns = $restColumns ? $restColumns + $restColumns + 1 : 1; } for ($j = 0; $j < $restColumns; ++$j) { $writer->write("<td></td>\n"); } } if ($column == $columns || $i == $itemCount - 1) { $writer->renderEndTag(); $writer->writeLine(); $column = 0; } } $writer->renderEndTag(); } else { $column = 0; for ($i = 0; $i < $itemCount; ++$i) { $user->renderItem($writer, $this, 'Item', $i); if ($hasSeparators && $i != $itemCount - 1) { $user->renderItem($writer, $this, 'Separator', $i); } $column++; if ($column == $columns || $i == $itemCount - 1) { if ($needBreak) { $writer->writeBreak(); } $column = 0; } $writer->writeLine(); } } if ($user->getHasFooter()) { $this->renderFooter($writer, $user, $tableLayout, $totalColumns); } } /** * Renders contents in veritcal repeat direction. * @param \Prado\Web\UI\THtmlWriter $writer writer for the rendering purpose * @param IRepeatInfoUser $user repeat information user */ protected function renderVerticalContents($writer, $user) { $tableLayout = ($this->_repeatLayout === TRepeatLayout::Table); $hasSeparators = $user->getHasSeparators(); $itemCount = $user->getItemCount(); if ($this->_repeatColumns <= 1) { $rows = $itemCount; $columns = 1; $lastColumns = 1; } else { $columns = $this->_repeatColumns; $rows = (int) (($itemCount + $columns - 1) / $columns); if ($rows == 0 && $itemCount > 0) { $rows = 1; } if (($lastColumns = $itemCount % $columns) == 0) { $lastColumns = $columns; } } $totalColumns = $hasSeparators ? $columns + $columns : $columns; if ($user->getHasHeader()) { $this->renderHeader($writer, $user, $tableLayout, $totalColumns, false); } if ($tableLayout) { $writer->renderBeginTag('tbody'); $renderedItems = 0; for ($row = 0; $row < $rows; ++$row) { $index = $row; $writer->renderBeginTag('tr'); for ($col = 0; $col < $columns; ++$col) { if ($renderedItems >= $itemCount) { break; } if ($col > 0) { $index += $rows; if ($col - 1 >= $lastColumns) { $index--; } } if ($index >= $itemCount) { continue; } $renderedItems++; if (($style = $user->generateItemStyle('Item', $index)) !== null) { $style->addAttributesToRender($writer); } $writer->renderBeginTag('td'); $user->renderItem($writer, $this, 'Item', $index); $writer->renderEndTag(); $writer->writeLine(); if (!$hasSeparators) { continue; } if ($renderedItems < $itemCount - 1) { if ($columns == 1) { $writer->renderEndTag(); $writer->renderBeginTag('tr'); } if (($style = $user->generateItemStyle('Separator', $index)) !== null) { $style->addAttributesToRender($writer); } $writer->renderBeginTag('td'); $user->renderItem($writer, $this, 'Separator', $index); $writer->renderEndTag(); $writer->writeLine(); } elseif ($columns > 1) { $writer->write("<td></td>\n"); } } if ($row == $rows - 1) { $restColumns = $columns - $lastColumns; if ($hasSeparators) { $restColumns += $restColumns; } for ($col = 0; $col < $restColumns; ++$col) { $writer->write("<td></td>\n"); } } $writer->renderEndTag(); $writer->writeLine(); } $writer->renderEndTag(); } else { $renderedItems = 0; for ($row = 0; $row < $rows; ++$row) { $index = $row; for ($col = 0; $col < $columns; ++$col) { if ($renderedItems >= $itemCount) { break; } if ($col > 0) { $index += $rows; if ($col - 1 >= $lastColumns) { $index--; } } if ($index >= $itemCount) { continue; } $renderedItems++; $user->renderItem($writer, $this, 'Item', $index); $writer->writeLine(); if (!$hasSeparators) { continue; } if ($renderedItems < $itemCount - 1) { if ($columns == 1) { $writer->writeBreak(); } $user->renderItem($writer, $this, 'Separator', $index); } $writer->writeLine(); } if ($row < $rows - 1 || $user->getHasFooter()) { $writer->writeBreak(); } } } if ($user->getHasFooter()) { $this->renderFooter($writer, $user, $tableLayout, $totalColumns); } } /** * Renders header. * @param \Prado\Web\UI\THtmlWriter $writer writer for the rendering purpose * @param IRepeatInfoUser $user repeat information user * @param bool $tableLayout whether to render using table layout * @param int $columns number of columns to be rendered * @param bool $needBreak if a line break is needed at the end */ protected function renderHeader($writer, $user, $tableLayout, $columns, $needBreak) { if ($tableLayout) { $writer->renderBeginTag('thead'); $writer->renderBeginTag('tr'); if ($columns > 1) { $writer->addAttribute('colspan', "$columns"); } $writer->addAttribute('scope', 'col'); if (($style = $user->generateItemStyle('Header', -1)) !== null) { $style->addAttributesToRender($writer); } $writer->renderBeginTag('th'); $user->renderItem($writer, $this, 'Header', -1); $writer->renderEndTag(); $writer->renderEndTag(); $writer->renderEndTag(); } else { $user->renderItem($writer, $this, 'Header', -1); if ($needBreak) { $writer->writeBreak(); } } $writer->writeLine(); } /** * Renders footer. * @param \Prado\Web\UI\THtmlWriter $writer writer for the rendering purpose * @param IRepeatInfoUser $user repeat information user * @param bool $tableLayout whether to render using table layout * @param int $columns number of columns to be rendered */ protected function renderFooter($writer, $user, $tableLayout, $columns) { if ($tableLayout) { $writer->renderBeginTag('tfoot'); $writer->renderBeginTag('tr'); if ($columns > 1) { $writer->addAttribute('colspan', "$columns"); } if (($style = $user->generateItemStyle('Footer', -1)) !== null) { $style->addAttributesToRender($writer); } $writer->renderBeginTag('td'); $user->renderItem($writer, $this, 'Footer', -1); $writer->renderEndTag(); $writer->renderEndTag(); $writer->renderEndTag(); } else { $user->renderItem($writer, $this, 'Footer', -1); } $writer->writeLine(); } }
Close