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 | : 18.219.255.63
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 : TReCaptcha2.php
<?php /** * TReCaptcha2 class file * * @author Cristian Camilo Naranjo Valencia * @link http://icolectiva.co * @license https://github.com/pradosoft/prado/blob/master/LICENSE */ namespace Prado\Web\UI\WebControls; use Prado\TPropertyValue; use Prado\Web\Javascripts\TJavaScript; use Prado\Exceptions\TConfigurationException; // FIXME: this controls should be moved to activecontrols use Prado\Web\UI\ActiveControls\TActivePanel; use Prado\Web\UI\ActiveControls\TActiveControlAdapter; /** * TReCaptcha2 class. * * TReCaptcha2 displays a reCAPTCHA (a token displayed as an image) that can be used * to determine if the input is entered by a real user instead of some program. It can * also prevent multiple submits of the same form either by accident, or on purpose (ie. spamming). * * The reCAPTCHA to solve (a string consisting of two separate words) displayed is automatically * generated by the reCAPTCHA system at recaptcha.net. However, in order to use the services * of the site you will need to register and get a public and a private API key pair, and * supply those to the reCAPTCHA control through setting the {@link setSecretKey SecretKey} * and {@link setSiteKey SiteKey} properties. * * Currently the reCAPTCHA API supports only one reCAPTCHA field per page, so you MUST make sure that all * your input is protected and validated by a single reCAPTCHA control. Placing more than one reCAPTCHA * control on the page will lead to unpredictable results, and the user will most likely unable to solve * any of them successfully. * * Upon postback, user input can be validated by calling {@link validate()}. * The {@link TReCaptcha2Validator} control can also be used to do validation, which provides * server-side validation. Calling (@link validate()) will invalidate the token supplied, so all consecutive * calls to the method - without solving a new captcha - will return false. Therefore if implementing a multi-stage * input process, you must make sure that you call validate() only once, either at the end of the input process, or * you store the result till the end of the processing. * * The following template shows a typical use of TReCaptcha control: * <code> * <com:TReCaptcha2 ID="Captcha" * SiteKey="..." * SecretKey="..." * /> * <com:TReCaptcha2Validator ControlToValidate="Captcha" * ErrorMessage="You are challenged!" /> * </code> * * @author Cristian Camilo Naranjo Valencia * @since 3.3.1 * @method TActiveControlAdapter getAdapter() */ class TReCaptcha2 extends TActivePanel implements \Prado\Web\UI\ActiveControls\ICallbackEventHandler, \Prado\Web\UI\IValidatable { public const ChallengeFieldName = 'g-recaptcha-response'; private $_isValid = true; /** * Creates a new callback control, sets the adapter to * TActiveControlAdapter. If you override this class, be sure to set the * adapter appropriately by, for example, by calling this constructor. */ public function __construct() { parent::__construct(); $this->setAdapter(new TActiveControlAdapter($this)); } /** * @return \Prado\Web\UI\ActiveControls\TBaseActiveCallbackControl standard callback control options. */ public function getActiveControl() { return $this->getAdapter()->getBaseActiveControl(); } /** * @return \Prado\Web\UI\ActiveControls\TCallbackClientSide client side request options. */ public function getClientSide() { return $this->getActiveControl()->getClientSide(); } public function getClientClassName() { return 'Prado.WebUI.TReCaptcha2'; } public function getTagName() { return 'div'; } /** * Returns true if this control validated successfully. * Defaults to true. * @return bool wether this control validated successfully. */ public function getIsValid() { return $this->_isValid; } /** * @param bool $value wether this control is valid. */ public function setIsValid($value) { $this->_isValid = TPropertyValue::ensureBoolean($value); } public function getValidationPropertyValue() { return $this->getRequest()->itemAt($this->getResponseFieldName()); } public function getResponseFieldName() { $captchas = $this->getPage()->findControlsByType('Prado\Web\UI\WebControls\TReCaptcha2'); $cont = 0; $responseFieldName = self::ChallengeFieldName; foreach ($captchas as $captcha) { if ($this->getClientID() == $captcha->getClientID()) { $responseFieldName .= ($cont > 0) ? '-' . $cont : ''; } $cont++; } return $responseFieldName; } /** * Returns your site key. * @return string site key */ public function getSiteKey() { return $this->getViewState('SiteKey'); } /** * @param string $value your site key. */ public function setSiteKey($value) { $this->setViewState('SiteKey', TPropertyValue::ensureString($value)); } /** * Returns your secret key. * @return string secret key */ public function getSecretKey() { return $this->getViewState('SecretKey'); } /** * @param string $value your secret key. */ public function setSecretKey($value) { $this->setViewState('SecretKey', TPropertyValue::ensureString($value)); } /** * Returns your language. * @return string language */ public function getLanguage() { return $this->getViewState('Language', 'en'); } /** * @param string $value your language. */ public function setLanguage($value) { $this->setViewState('Language', TPropertyValue::ensureString($value), 'en'); } /** * Returns the color theme of the widget. * @return string theme name */ public function getTheme() { return $this->getViewState('Theme', 'light'); } /** * The color theme of the widget. * Default: light * @param string $value the color theme of the widget. */ public function setTheme($value) { $this->setViewState('Theme', TPropertyValue::ensureString($value), 'light'); } /** * Returns the type of CAPTCHA to serve. * @return string captcha type */ public function getType() { return $this->getViewState('Type', 'image'); } /** * The type of CAPTCHA to serve. * Default: image * @param string $value the type of CAPTCHA to serve. */ public function setType($value) { $this->setViewState('Type', TPropertyValue::ensureString($value), 'image'); } /** * Returns the size of the widget. * @return string widget size */ public function getSize() { return $this->getViewState('Size', 'normal'); } /** * The size of the widget. * Default: normal * @param string $value the size of the widget. */ public function setSize($value) { $this->setViewState('Size', TPropertyValue::ensureString($value), 'normal'); } /** * Returns the tabindex of the widget and challenge. * If other elements in your page use tabindex, it should be set to make user navigation easier. * @return string tab index */ public function getTabIndex() { return $this->getViewState('TabIndex', 0); } /** * The tabindex of the widget and challenge. * If other elements in your page use tabindex, it should be set to make user navigation easier. * Default: 0 * @param string $value the tabindex of the widget and challenge. */ public function setTabIndex($value) { $this->setViewState('TabIndex', TPropertyValue::ensureInteger($value), 0); } /** * Resets the reCAPTCHA widget. * Optional widget ID, defaults to the first widget created if unspecified. */ public function reset() { $this->getPage()->getCallbackClient()->callClientFunction('grecaptcha.reset', [[$this->getWidgetId()]]); } /** * Gets the response for the reCAPTCHA widget. */ public function getResponse() { return $this->getViewState('Response', ''); } public function setResponse($value) { $this->setViewState('Response', TPropertyValue::ensureString($value), ''); } public function getWidgetId() { return $this->getViewState('WidgetId', 0); } public function setWidgetId($value) { $this->setViewState('WidgetId', TPropertyValue::ensureInteger($value), 0); } protected function getClientOptions() { $options['ID'] = $this->getClientID(); $options['EventTarget'] = $this->getUniqueID(); $options['FormID'] = $this->getPage()->getForm()->getClientID(); $options['onCallback'] = $this->hasEventHandler('OnCallback'); $options['onCallbackExpired'] = $this->hasEventHandler('OnCallbackExpired'); $options['options']['sitekey'] = $this->getSiteKey(); if ($theme = $this->getTheme()) { $options['options']['theme'] = $theme; } if ($type = $this->getType()) { $options['options']['type'] = $type; } if ($size = $this->getSize()) { $options['options']['size'] = $size; } if ($tabIndex = $this->getTabIndex()) { $options['options']['tabindex'] = $tabIndex; } return $options; } protected function registerClientScript() { $id = $this->getClientID(); $options = TJavaScript::encode($this->getClientOptions()); $className = $this->getClientClassName(); $cs = $this->getPage()->getClientScript(); $code = "new $className($options);"; $cs->registerPradoScript('ajax'); $cs->registerEndScript("grecaptcha:$id", $code); } public function validate() { $value = $this->getValidationPropertyValue(); if ($value === null || empty($value)) { return false; } return true; } /** * Checks for API keys * @param mixed $param event parameter */ public function onPreRender($param) { parent::onPreRender($param); if ("" == $this->getSiteKey()) { throw new TConfigurationException('recaptcha_publickey_unknown'); } if ("" == $this->getSecretKey()) { throw new TConfigurationException('recaptcha_privatekey_unknown'); } // need to register captcha fields so they will be sent postback $this->getPage()->registerRequiresPostData($this->getResponseFieldName()); $this->getPage()->getClientScript()->registerHeadScriptFile('grecaptcha2', 'https://www.google.com/recaptcha/api.js?onload=TReCaptcha2_onloadCallback&render=explicit&hl=' . $this->getLanguage()); } protected function addAttributesToRender($writer) { $writer->addAttribute('id', $this->getClientID()); parent::addAttributesToRender($writer); } public function raiseCallbackEvent($param) { $params = $param->getCallbackParameter(); if ($params instanceof \stdClass) { $callback = property_exists($params, 'onCallback'); $callbackExpired = property_exists($params, 'onCallbackExpired'); if ($callback) { $this->setWidgetId($params->widgetId); $this->setResponse($params->response); $this->getPage()->getCallbackClient()->jQuery($params->responseField, 'text', [$params->response]); if ($params->onCallback) { $this->onCallback($param); } } if ($callbackExpired) { $this->setResponse(''); $this->reset(); if ($params->onCallbackExpired) { $this->onCallbackExpired($param); } } } } public function onCallback($param) { $this->raiseEvent('OnCallback', $this, $param); } public function onCallbackExpired($param) { $this->raiseEvent('OnCallbackExpired', $this, $param); } public function render($writer) { $this->registerClientScript(); parent::render($writer); } }
Close