From 476cc9b7ce703fd3d5b4769318d68f934ad41f64 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Mon, 17 Jan 2011 12:28:23 +0000 Subject: [PATCH] --- inc/commons/_common.php | 1 + inc/commons/class.common.droits.php | 17 ++++++++++ inc/commons/class.common.page.php | 2 +- inc/commons/class.common.url.php | 19 +++++++++++ .../Controlleur/class.extranet.droits.php | 21 +++--------- .../Controlleur/class.extranet.url.php | 33 ++++--------------- inc/ws/Controlleur/class.ws.droits.php | 13 ++++++-- inc/ws/Controlleur/class.ws.url.php | 18 +++++----- 8 files changed, 69 insertions(+), 55 deletions(-) create mode 100644 inc/commons/class.common.droits.php diff --git a/inc/commons/_common.php b/inc/commons/_common.php index c4b50d0aa..606c32c62 100644 --- a/inc/commons/_common.php +++ b/inc/commons/_common.php @@ -8,6 +8,7 @@ $__autoload['commonFiltre'] = dirname(__FILE__) . '/class.common.filtre.php'; $__autoload['commonShortcuts'] = dirname(__FILE__) . '/class.common.shortcuts.php'; $__autoload['commonUrl'] = dirname(__FILE__) . '/class.common.url.php'; $__autoload['commonAjax'] = dirname(__FILE__) . '/class.common.ajax.php'; +$__autoload['commonDroits'] = dirname(__FILE__) . '/class.common.droits.php'; // Instantiation de la classe de contrôle $core = new commonCore(); // Définition des handlers des urls diff --git a/inc/commons/class.common.droits.php b/inc/commons/class.common.droits.php new file mode 100644 index 000000000..88a84c959 --- /dev/null +++ b/inc/commons/class.common.droits.php @@ -0,0 +1,17 @@ + 1, 'factures' => 1, 'devis' => 1, 'clients' => 1, 'timereport' => 1, 'fichiers' => 0, 'books' => 0); + return (isset($droits[$page]) && $droits[$page] <= $core->user->grade); + } + + public static function error() + { + http::head(401); + exit; + } +} + +?> \ No newline at end of file diff --git a/inc/commons/class.common.page.php b/inc/commons/class.common.page.php index a54ef7d9a..756998b7a 100644 --- a/inc/commons/class.common.page.php +++ b/inc/commons/class.common.page.php @@ -43,7 +43,7 @@ class commonPage { { global $core; - if (!extranetDroits::recherche($args[0])) { + if (!commonDroits::recherche($args[0])) { return; } cubePage::emptyfield(); diff --git a/inc/commons/class.common.url.php b/inc/commons/class.common.url.php index d29e5e5ca..fcef32988 100644 --- a/inc/commons/class.common.url.php +++ b/inc/commons/class.common.url.php @@ -137,6 +137,25 @@ class commonUrl { $res .= ''; return $res; } + + public static function formParPage($action, $value, $nom = 'éléments', $all = true) + { + $values = array(2, 5, 10, 15, 25, 50, 100); + if ($all) { + $datas = array(__('Tous les ') . $nom => 0); + } else { + $datas = array(); + } + foreach($values as $v) { + $datas[$v . ' ' . $nom] = $v; + } + + $res = '
'; + $res .= '
' . __('Afficher') . ' : ' . form::combo(array('par_page'), $datas, $value) . ' ' . __('par page') . '
'; + $res .= '
' . cubeMedia::spacer(950, 1) . '
'; + $res .= '
'; + return $res; + } } ?> \ No newline at end of file diff --git a/inc/extranet/Controlleur/class.extranet.droits.php b/inc/extranet/Controlleur/class.extranet.droits.php index f39d3b288..aba4b087d 100644 --- a/inc/extranet/Controlleur/class.extranet.droits.php +++ b/inc/extranet/Controlleur/class.extranet.droits.php @@ -7,7 +7,7 @@ class extranetDroits { if (!$error) { return false; } - self::error(); + commonDroits::error(); } } @@ -31,7 +31,7 @@ class extranetDroits { return true; } if ($error) { - self::error(); + commonDroits::error(); } return false; } @@ -51,13 +51,6 @@ class extranetDroits { return self::verifDroits($projet->chef_id, 0, 'w', $error); } - public static function recherche($page) - { - global $core; - $droits = array('projets' => 1, 'factures' => 1, 'devis' => 1, 'clients' => 1, 'timereport' => 1, 'fichiers' => 0, 'books' => 0); - return (isset($droits[$page]) && $droits[$page] <= $core->user->grade); - } - public static function navigation() { global $core; @@ -100,18 +93,12 @@ class extranetDroits { } if ($core->user->utilisateur_id != $utilisateur_id && !in_array($core->user->utilisateur_id, $collegues)) { - self::error(); + commonDroits::error(); } else { return true; } } - self::error(); - } - - public static function error() - { - http::head(401); - exit; + commonDroits::error(); } } diff --git a/inc/extranet/Controlleur/class.extranet.url.php b/inc/extranet/Controlleur/class.extranet.url.php index e78e6179d..8d89e6c15 100644 --- a/inc/extranet/Controlleur/class.extranet.url.php +++ b/inc/extranet/Controlleur/class.extranet.url.php @@ -89,7 +89,7 @@ class extranetUrl { $odd = cubeMath::isOdd($i)?' class="odd"':''; $res .= ''; $res .= commonPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d'); - $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('clients')); + $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('clients')); $res .= ''; } $res .= ''; @@ -392,7 +392,7 @@ class extranetUrl { $odd = cubeMath::isOdd($i)?' class="odd"':''; $res .= ''; $res .= commonPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d'); - $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('projets')); + $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('projets')); $res .= ''; } $res .= ''; @@ -722,7 +722,7 @@ class extranetUrl { if (!isset($settings['search']) || is_null($settings['search'])) { $res .= ' '; $res .= commonPage::pager($settings['page'], $dao->countActifs(), $settings['par_page'], 'page' . $change . '/%d'); - $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('projets')); + $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('projets')); $res .= ' '; } $res .= ''; @@ -888,7 +888,7 @@ class extranetUrl { $odd = cubeMath::isOdd($i)?' class="odd"':''; $res .= ''; $res .= commonPage::pager($settings['page'], $dao->count(), $settings['par_page'], 'page' . $change . '/%d'); - $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('devis')); + $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('devis')); $res .= ''; } $res .= ''; @@ -1282,7 +1282,7 @@ class extranetUrl { } else { $res .= commonPage::pager($settings['page'], $dao->countCompta() , $settings['par_page'], 'page' . $change . '/%d'); } - $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('factures')); + $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('factures')); $res .= ''; } $res .= ''; @@ -1547,25 +1547,6 @@ class extranetUrl { return $res; } - public static function formParPage($action, $value, $nom = 'éléments', $all = true) - { - $values = array(2, 5, 10, 15, 25, 50, 100); - if ($all) { - $datas = array(__('Tous les ') . $nom => 0); - } else { - $datas = array(); - } - foreach($values as $v) { - $datas[$v . ' ' . $nom] = $v; - } - - $res = '
'; - $res .= '
' . __('Afficher') . ' : ' . form::combo(array('par_page'), $datas, $value) . ' ' . __('par page') . '
'; - $res .= '
' . cubeMedia::spacer(950, 1) . '
'; - $res .= '
'; - return $res; - } - public static function dashboard($args) { extranetDroits::min(1); @@ -1799,7 +1780,7 @@ class extranetUrl { $odd = cubeMath::isOdd($i)?' class="odd"':''; $res .= ''; $res .= commonPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d'); - $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('clients')); + $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('clients')); $res .= ''; }*/ $res .= ''; @@ -1931,7 +1912,7 @@ class extranetUrl { $odd = cubeMath::isOdd($i)?' class="odd"':''; $res .= '' ; $res .= commonPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d'); - $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('fichiers')); + $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('fichiers')); $res .= ''; } $res .= ''; diff --git a/inc/ws/Controlleur/class.ws.droits.php b/inc/ws/Controlleur/class.ws.droits.php index d5f682978..d076a054f 100644 --- a/inc/ws/Controlleur/class.ws.droits.php +++ b/inc/ws/Controlleur/class.ws.droits.php @@ -4,8 +4,6 @@ class wsDroits { { global $core; - fb($core->user); - $nav = array(); $nav[__('Dashboard')] = 'dashboard'; $nav[__('Publications')] = 'publications'; @@ -31,6 +29,17 @@ class wsDroits { } return $res; } + + public static function min($grade, $error = true) + { + global $core; + if ($core->user->grade < $grade) { + if (!$error) { + return false; + } + commonDroits::error(); + } + } } ?> \ No newline at end of file diff --git a/inc/ws/Controlleur/class.ws.url.php b/inc/ws/Controlleur/class.ws.url.php index 33e4f96b8..d957549cb 100644 --- a/inc/ws/Controlleur/class.ws.url.php +++ b/inc/ws/Controlleur/class.ws.url.php @@ -29,7 +29,7 @@ class wsUrl { cubePage::truePopup(); cubePage::autocomplete(); - extranetDroits::min(1); + wsDroits::min(1); $settings = is_null($settings)?$core->user->getSettings('books'):$settings; $change = is_null($dashboard)?'Books':'Dashboard/' . $dashboard; $dao = new wsDAOBook($core->con); @@ -79,7 +79,7 @@ class wsUrl { $odd = cubeMath::isOdd($i)?' class="odd"':''; $res .= ''; $res .= commonPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d'); - $res .= extranetUrl::formParPage('parPage' . $change, $settings['par_page'], __('publications'), false); + $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('publications'), false); $res .= ''; } $res .= ''; @@ -374,7 +374,7 @@ html{height:100%}' . "\n"; cubePage::truePopup(); cubePage::autoComplete(); cubePage::emptyfield(); - extranetDroits::min(1); + wsDroits::min(1); $settings = $core->user->getSettings('clients'); $shortcuts = array(); @@ -396,7 +396,7 @@ html{height:100%}' . "\n"; public static function listeClients($dashboard = null, $settings = null) { global $core; - extranetDroits::min(1); + wsDroits::min(1); $settings = is_null($settings)?$core->user->getSettings('clients'):$settings; $change = is_null($dashboard)?'Client':'Dashboard/' . $dashboard; $dao = new commonDAOEntreprise($core->con); @@ -438,7 +438,7 @@ html{height:100%}' . "\n"; $odd = cubeMath::isOdd($i)?' class="odd"':''; $res .= ''; $res .= commonPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d'); - $res .= extranetUrl::formParPage('parPage' . $change, $settings['par_page'], __('clients')); + $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('clients')); $res .= ''; } $res .= ''; @@ -448,7 +448,7 @@ html{height:100%}' . "\n"; public static function formClient($entreprise_id = 'new') { global $core; - extranetDroits::min(1); + wsDroits::min(1); $dao = new commonDAOEntreprise($core->con); $daoUtilisateur = new commonDAOUtilisateur($core->con); if ($entreprise_id == 'new') { @@ -504,7 +504,7 @@ html{height:100%}' . "\n"; public static function listeContacts($entreprise_id) { global $core; - extranetDroits::min(1); + wsDroits::min(1); $dao = new commonDAOEntreprise($core->con); $contacts = $dao->getContacts($entreprise_id); @@ -526,7 +526,7 @@ html{height:100%}' . "\n"; public static function formContact($client_id = 'new', $entreprise_id = null) { global $core; - extranetDroits::min(1); + wsDroits::min(1); $dao = new commonDAOClient($core->con); if ($client_id == 'new') { @@ -560,7 +560,7 @@ html{height:100%}' . "\n"; public static function formNotes($utilisateur_id) { global $core; - extranetDroits::min(1); + wsDroits::min(1); $dao = new commonDAOUtilisateur($core->con); $utilisateur = $dao->selectById($utilisateur_id); $res = '' . form::hidden('utilisateur_id', $utilisateur_id) . ''; -- 2.39.5