<?php
/***************************************************************************
- * Copyright (C) 2003-2009 Polytechnique.org *
+ * Copyright (C) 2003-2010 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
{
public function __construct()
{
- $modules = func_get_args();
- parent::__construct($modules);
-
- global $globals;
- if ($globals->asso()) {
- if ($p = strpos($this->path, '/')) {
- $this->ns = substr($this->path, 0, $p).'/';
- $this->path = '%grp'.substr($this->path, $p);
- } else {
- $this->ns = $this->path.'/';
- $this->path = '%grp';
- }
- }
- }
-
- protected function find_nearest_key($key, array &$array)
- {
- global $globals;
- if (in_array('%grp', array_keys($array)) && $key == $globals->asso('diminutif')) {
- return '%grp';
- }
- return parent::find_nearest_key($key, $array);
+ parent::__construct('xnet', 'xnetgrp', 'xnetlists', 'xnetevents',
+ 'payment', 'bandeau');
}
- public function near_hook()
+ public function hook_map($name)
{
- global $globals;
- $link = str_replace('%grp', $globals->asso('diminutif'), parent::near_hook());
- if ($link != $this->path) {
- return $link;
+ if ($name == 'grp') {
+ global $globals;
+ if ($globals->asso()) {
+ return $globals->asso('shortname');
+ }
}
return null;
}
- public function pl_self($n = null)
- {
- global $globals;
- return str_replace('%grp', $globals->asso('diminutif'), parent::pl_self($n));
- }
-
protected function find_hook()
{
$ans = parent::find_hook();
$this->https = false;
- if ($ans && $this->ns) {
- $this->path = $this->ns . substr($this->path, 5);
- $this->argv[0] = $this->ns . substr($this->argv[0], 5);
- }
return $ans;
}
public function force_login(PlPage &$page)
{
- http_redirect(S::v('loginX'));
+ $redirect = S::v('loginX');
+ if (!$redirect) {
+ $page->trigError('Impossible de s\'authentifier. Problème de configuration de plat/al.');
+ return;
+ }
+ http_redirect($redirect);
}
}