本文整理汇总了PHP中Icinga\Web\Form::populate方法的典型用法代码示例。如果您正苦于以下问题:PHP Form::populate方法的具体用法?PHP Form::populate怎么用?PHP Form::populate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Icinga\Web\Form
的用法示例。
在下文中一共展示了Form::populate方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testWhetherIsSubmittedReturnsTrueWithASubmitLabelBeingSet
/**
* @depends testWhetherASubmitButtonIsAddedWithASubmitLabelBeingSet
*/
public function testWhetherIsSubmittedReturnsTrueWithASubmitLabelBeingSet()
{
$form = new Form();
$form->setTokenDisabled();
$form->setSubmitLabel('test');
$form->populate(array('btn_submit' => true));
$this->assertTrue($form->isSubmitted(), 'Form::isSubmitted() does not return true in case a submit label is set');
}
示例2: render
/**
* Renders this widget and returns the HTML as a string
*
* @return string
*/
public function render()
{
$form = new Form();
$form->setAttrib('class', 'inline');
$form->setMethod('GET');
$form->setUidDisabled();
$form->setTokenDisabled();
$form->setName($this->name);
$form->addElement('select', $this->parameter, array('label' => $this->label, 'multiOptions' => $this->values, 'autosubmit' => true));
if ($this->request) {
$form->populate($this->request->getParams());
}
return $form;
}
示例3: setupPage
/**
* Setup the given page that is either going to be displayed or validated
*
* @param Form $page The page to setup
* @param Request $request The current request
*/
public function setupPage(Form $page, Request $request)
{
if ($page->getName() === 'setup_requirements') {
$page->setWizard($this);
} elseif ($page->getName() === 'setup_authentication_backend') {
$authData = $this->getPageData('setup_authentication_type');
if ($authData['type'] === 'db') {
$page->setResourceConfig($this->getPageData('setup_auth_db_resource'));
} elseif ($authData['type'] === 'ldap') {
$page->setResourceConfig($this->getPageData('setup_ldap_resource'));
$suggestions = $this->getPageData('setup_ldap_discovery');
if (isset($suggestions['backend'])) {
$page->populate($suggestions['backend']);
}
}
/*} elseif ($page->getName() === 'setup_ldap_discovery_confirm') {
$page->setResourceConfig($this->getPageData('setup_ldap_discovery'));*/
} elseif ($page->getName() === 'setup_admin_account') {
$page->setBackendConfig($this->getPageData('setup_authentication_backend'));
$authData = $this->getPageData('setup_authentication_type');
if ($authData['type'] === 'db') {
$page->setResourceConfig($this->getPageData('setup_auth_db_resource'));
} elseif ($authData['type'] === 'ldap') {
$page->setResourceConfig($this->getPageData('setup_ldap_resource'));
}
} elseif ($page->getName() === 'setup_auth_db_creation' || $page->getName() === 'setup_config_db_creation') {
$page->setDatabaseSetupPrivileges(array_unique(array_merge($this->databaseCreationPrivileges, $this->databaseSetupPrivileges)));
$page->setDatabaseUsagePrivileges($this->databaseUsagePrivileges);
$page->setResourceConfig($this->getPageData('setup_auth_db_resource') ?: $this->getPageData('setup_config_db_resource'));
} elseif ($page->getName() === 'setup_summary') {
$page->setSubjectTitle('Icinga Web 2');
$page->setSummary($this->getSetup()->getSummary());
} elseif ($page->getName() === 'setup_config_db_resource') {
$ldapData = $this->getPageData('setup_ldap_resource');
if ($ldapData !== null && $request->getPost('name') === $ldapData['name']) {
$page->error(mt('setup', 'The given resource name must be unique and is already in use by the LDAP resource'));
}
} elseif ($page->getName() === 'setup_ldap_resource') {
$suggestion = $this->getPageData('setup_ldap_discovery');
if (isset($suggestion['resource'])) {
$page->populate($suggestion['resource']);
}
} elseif ($page->getName() === 'setup_general_config') {
$authData = $this->getPageData('setup_authentication_type');
if ($authData['type'] === 'db') {
$page->create()->getElement('global_config_backend')->setValue('db');
$page->info(mt('setup', 'Note that choosing "Database" as preference storage causes' . ' Icinga Web 2 to use the same database as for authentication.'), false);
}
} elseif ($page->getName() === 'setup_authentication_type' && $this->getDirection() === static::FORWARD) {
$authData = $this->getPageData($page->getName());
if ($authData !== null && $request->getPost('type') !== $authData['type']) {
// Drop any existing page data in case the authentication type has changed,
// otherwise it will conflict with other forms that depend on this one
$pageData =& $this->getPageData();
unset($pageData['setup_admin_account']);
unset($pageData['setup_authentication_backend']);
if ($authData['type'] === 'db') {
unset($pageData['setup_auth_db_resource']);
unset($pageData['setup_auth_db_creation']);
} elseif ($request->getPost('type') === 'db') {
unset($pageData['setup_config_db_resource']);
unset($pageData['setup_config_db_creation']);
}
}
}
}
示例4: render
/**
* Render this SortBox as HTML
*
* @return string
*/
public function render()
{
$columnForm = new Form();
$columnForm->setTokenDisabled();
$columnForm->setName($this->name . '-column');
$columnForm->setAttrib('class', 'inline');
$columnForm->addElement('select', 'sort', array('autosubmit' => true, 'label' => $this->view()->translate('Sort by'), 'multiOptions' => $this->sortFields, 'decorators' => array(array('ViewHelper'), array('Label'))));
$orderForm = new Form();
$orderForm->setTokenDisabled();
$orderForm->setName($this->name . '-order');
$orderForm->setAttrib('class', 'inline');
$orderForm->addElement('select', 'dir', array('autosubmit' => true, 'label' => $this->view()->translate('Direction', 'sort direction'), 'multiOptions' => array('asc' => $this->view()->translate('Ascending', 'sort direction'), 'desc' => $this->view()->translate('Descending', 'sort direction')), 'decorators' => array(array('ViewHelper'), array('Label', array('class' => 'no-js')))));
$column = null;
if ($this->request) {
$url = $this->request->getUrl();
if ($url->hasParam('sort')) {
$column = $url->getParam('sort');
if ($url->hasParam('dir')) {
$direction = $url->getParam('dir');
} else {
list($_, $direction) = $this->getSortDefaults($column);
}
} elseif ($url->hasParam('dir')) {
$direction = $url->getParam('dir');
list($column, $_) = $this->getSortDefaults();
}
}
if ($column === null) {
list($column, $direction) = $this->getSortDefaults();
}
$columnForm->populate(array('sort' => $column));
$orderForm->populate(array('dir' => $direction));
return '<div class="sort-control">' . $columnForm . $orderForm . '</div>';
}
示例5: render
/**
* Render this SortBox as HTML
*
* @return string
*/
public function render()
{
$columnForm = new Form();
$columnForm->setTokenDisabled();
$columnForm->setName($this->name . '-column');
$columnForm->setAttrib('class', 'inline');
$columnForm->addElement('select', 'sort', array('autosubmit' => true, 'label' => $this->view()->translate('Sort by'), 'multiOptions' => $this->sortFields, 'decorators' => array(array('ViewHelper'), array('Label'))));
$column = null;
if ($this->request) {
$url = $this->request->getUrl();
if ($url->hasParam('sort')) {
$column = $url->getParam('sort');
if ($url->hasParam('dir')) {
$direction = $url->getParam('dir');
} else {
list($_, $direction) = $this->getSortDefaults($column);
}
} elseif ($url->hasParam('dir')) {
$direction = $url->getParam('dir');
list($column, $_) = $this->getSortDefaults();
}
}
if ($column === null) {
list($column, $direction) = $this->getSortDefaults();
}
// TODO(el): ToggleButton :)
$toggle = array('asc' => 'sort-name-down', 'desc' => 'sort-name-up');
unset($toggle[$direction]);
$newDirection = key($toggle);
$icon = current($toggle);
$orderForm = new Form();
$orderForm->setTokenDisabled();
$orderForm->setName($this->name . '-order');
$orderForm->setAttrib('class', 'inline sort-direction-control');
$orderForm->addElement('hidden', 'dir');
$orderForm->addElement('button', 'btn_submit', array('ignore' => true, 'type' => 'submit', 'label' => $this->view()->icon($icon), 'decorators' => array('ViewHelper'), 'escape' => false, 'class' => 'link-button spinner', 'value' => 'submit', 'title' => t('Change sort direction')));
$columnForm->populate(array('sort' => $column));
$orderForm->populate(array('dir' => $newDirection));
return '<div class="sort-control">' . $columnForm . $orderForm . '</div>';
}
示例6: render
/**
* Renders this widget via the given view and returns the
* HTML as a string
*
* @return string
*/
public function render()
{
$form = new Form();
$form->setAttrib('class', 'inline');
$form->setMethod('GET');
$form->setTokenDisabled();
$form->setName($this->name);
$form->addElement('select', 'sort', array('label' => 'Sort By', 'multiOptions' => $this->sortFields, 'class' => 'autosubmit'));
$form->addElement('select', 'dir', array('multiOptions' => array('desc' => 'Desc', 'asc' => 'Asc'), 'class' => 'autosubmit'));
$sort = $form->getElement('sort')->setDecorators(array('ViewHelper'));
$dir = $form->getElement('dir')->setDecorators(array('ViewHelper'));
// $form->enableAutoSubmit(array('sort', 'dir'));
// $form->addElement($this->createFallbackSubmitButton());
if ($this->request) {
$form->setAction($this->request->getRequestUri());
$form->populate($this->request->getParams());
}
return $form;
}
示例7: render
/**
* Render this SortBox as HTML
*
* @return string
*/
public function render()
{
$form = new Form();
$form->setTokenDisabled();
$form->setName($this->name);
$form->setAttrib('class', 'sort-control inline');
$form->addElement('select', 'sort', array('autosubmit' => true, 'label' => $this->view()->translate('Sort by'), 'multiOptions' => $this->sortFields));
$form->getElement('sort')->setDecorators(array(array('ViewHelper'), array('Label')));
$form->addElement('select', 'dir', array('autosubmit' => true, 'multiOptions' => array('asc' => 'Asc', 'desc' => 'Desc'), 'decorators' => array(array('ViewHelper'))));
if ($this->request) {
$form->populate($this->request->getParams());
}
return $form;
}