本文整理汇总了PHP中AdminPage::getResponse方法的典型用法代码示例。如果您正苦于以下问题:PHP AdminPage::getResponse方法的具体用法?PHP AdminPage::getResponse怎么用?PHP AdminPage::getResponse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AdminPage
的用法示例。
在下文中一共展示了AdminPage::getResponse方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: submenu
public static function submenu(Context $ctx, $query, array $pathinfo)
{
AdminPage::checkperm($ctx, $pathinfo);
$router = new Router();
$router->poll($ctx);
$menu = new AdminMenu($router->getStatic());
if (false === ($submenu = $menu->getSubMenu($ctx))) {
throw new PageNotFoundException();
}
if (false === ($content = $submenu->getXML($ctx, 'content', array('type' => 'submenu')))) {
throw new PageNotFoundException();
}
$page = new AdminPage($content);
return $page->getResponse($ctx);
}
示例2: on_get_create_form
public static function on_get_create_form(Context $ctx)
{
$node = Node::create('type', array('parent_id' => $parent_id, 'isdictionary' => true));
$schema = $node->getFormFields();
unset($schema['tags']);
// unset($schema['fields']);
$schema['isdictionary'] = new HiddenControl(array('value' => 'isdictionary', 'default' => 1));
$form = $schema->getForm();
$form->title = t('Добавление справочника');
$form->addClass('tabbed');
$form->action = "?q=nodeapi.rpc&action=create&type=type&destination=admin/content/dict";
$form->addControl(new SubmitControl(array('text' => t('Добавить'))));
$page = new AdminPage(html::em('content', array('name' => 'create'), $form->getXML($node)));
return $page->getResponse($ctx);
}
示例3: getHTML
public function getHTML($preset = null, array $options = array())
{
$this->setUp($preset);
$data = $this->getData();
$output = $data;
$output .= $this->getPager();
if ($raw = !empty($options['#raw'])) {
unset($options['#raw']);
}
$options = array_merge(array('name' => 'list', 'title' => $this->title, 'preset' => $preset ? $preset : 'default', 'search' => $this->hidesearch ? null : 'yes', 'type' => $this->getType(), 'addlink' => $this->addlink, 'author' => $this->ctx->get('author')), $options);
$output = html::em('content', $options, $output);
if ($raw) {
return $output;
}
$page = new AdminPage($output);
return $page->getResponse($this->ctx);
}
示例4: serve
/**
* Вывод административной страницы. Вызывает обработчик, указанный в next,
* предварительно проверив права пользователя.
*/
public static function serve(Context $ctx, $path, array $pathinfo)
{
if (class_exists('APIStream')) {
APIStream::init($ctx);
}
try {
self::checkperm($ctx, $pathinfo);
if (!$ctx->user->id and empty($pathinfo['anonymous'])) {
throw new UnauthorizedException();
}
if (empty($pathinfo['next'])) {
if (!empty($pathinfo['xsl'])) {
$pathinfo['next'] = 'AdminPage::xsltonly';
} else {
throw new RuntimeException(t('Не указан обработчик для страницы %path (параметр <tt>next</tt>).', array('%path' => $path)));
}
}
if (!is_callable($pathinfo['next'])) {
throw new RuntimeException(t('Неверный обработчик для страницы %path (<tt>%next()</tt>).', array('%path' => $path, '%next' => $pathinfo['next'])));
}
$args = func_get_args();
$output = call_user_func_array($pathinfo['next'], $args);
if (!$output instanceof Response) {
$xsl = empty($pathinfo['xsl']) ? null : implode(DIRECTORY_SEPARATOR, explode('/', $pathinfo['xsl']));
$tmp = new AdminPage($output, $xsl);
$output = $tmp->getResponse($ctx);
}
return $output;
} catch (NotConnectedException $e) {
Logger::trace($e);
if (is_dir(os::path('lib', 'modules', 'install'))) {
$ctx->redirect('install?destination=' . urlencode(MCMS_REQUEST_URI));
} else {
throw new RuntimeException('Система не проинсталлирована и модуля install нет.');
}
} catch (Exception $e) {
Logger::trace($e);
$data = array('status' => 500, 'error' => get_class($e), 'message' => $e->getMessage(), 'version' => MCMS_VERSION, 'release' => MCMS_RELEASE, 'base' => $ctx->url()->getBase($ctx), 'prefix' => MCMS_SITE_FOLDER . '/themes', 'back' => urlencode(MCMS_REQUEST_URI), 'next' => urlencode($ctx->get('destination')), 'clean' => !empty($_GET['__cleanurls']));
if ($e instanceof UserErrorException) {
$data['status'] = $e->getCode();
}
$xsl = os::path('lib', 'modules', 'admin', 'template.xsl');
xslt::transform(html::em('page', $data), $xsl)->send();
}
}
示例5: settings
public static function settings(Context $ctx, $query, array $pathinfo)
{
// Проверяем права, если неверно указан обработчик.
if ('AdminPage::serve' != $pathinfo['call']) {
if (empty($pathinfo['perms'])) {
$pathinfo['perms'] = 'debug';
}
AdminPage::checkperm($ctx, $pathinfo);
}
$name = substr(strrchr($query, '/'), 1);
$schema = self::settings_get($ctx, $name);
$form = $schema->getForm();
$data = $ctx->config->get('modules/' . $name, array());
$title = $pathinfo['title'];
if (empty($form->title)) {
$form->title = $title;
}
$form->action = '?q=modman.rpc&action=configure&module=' . urlencode($name) . '&destination=admin/system/settings';
$form->addControl(new SubmitControl(array('text' => t('Сохранить'))));
$result = html::em('content', array('name' => 'form', 'title' => $name, 'mode' => 'config'), $form->getXML(Control::data($data)));
$page = new AdminPage($result);
return $page->getResponse($ctx);
}
示例6: on_get_create_form
public static function on_get_create_form(Context $ctx, $path, array $pathinfo, $type, $parent_id = null)
{
$node = Node::create(array('class' => $type, 'parent_id' => $parent_id, 'isdictionary' => $ctx->get('dictionary')));
if ($nodeargs = $ctx->get('node')) {
foreach ($nodeargs as $k => $v) {
$node->{$k} = $v;
}
}
$form = $node->formGet();
$form->addClass('tabbed');
$form->addClass("node-{$type}-create-form");
$form->action = "?q=nodeapi.rpc&action=create&type={$type}&destination=" . urlencode($ctx->get('destination'));
if ($node->parent_id) {
$form->addControl(new HiddenControl(array('value' => 'parent_id', 'default' => $node->parent_id)));
}
if ($ctx->get('dictionary')) {
if (null !== ($tmp = $form->findControl('tab_general'))) {
$tmp->intro = t('Вы создаёте первый справочник. Вы сможете использовать его значения в качестве выпадающих списков (для этого надо будет добавить соответствующее поле в нужный <a href=\'@types\'>тип документа</a>).', array('@types' => '?q=admin&cgroup=structure&mode=list&preset=schema'));
}
$form->hideControl('tab_sections');
if (null !== ($ctl = $form->findControl('title'))) {
$ctl->label = t('Название справочника');
}
if (null !== ($ctl = $form->findControl('name'))) {
$ctl->label = t('Внутреннее имя справочника');
}
$form->addControl(new HiddenControl(array('value' => 'isdictionary', 'default' => 1)));
}
$page = new AdminPage(html::em('content', array('name' => 'create'), $form->getXML($node)));
return $page->getResponse($ctx);
}