]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 18 Jan 2011 15:05:42 +0000 (15:05 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 18 Jan 2011 15:05:42 +0000 (15:05 +0000)
importWs.php
inc/commons/class.common.droits.php
inc/commons/class.common.page.php
inc/commons/class.common.url.php
inc/prepend.php
inc/ws/Controlleur/class.ws.droits.php
inc/ws/Controlleur/class.ws.url.php

index b661fb96dd9fb65fb0841739865110e58925fbd2..470965ba7b283058da0da049c97f634084166cc3 100644 (file)
@@ -153,6 +153,34 @@ try {
                                $utilisateur_id++;\r
                        }\r
                }\r
+\r
+               $lastuid = 1;\r
+\r
+               for($i = 4;$i >= 1;$i--) {\r
+                       $c = $core->con->openCursor('entreprises');\r
+                       $c->nom = 'Entreprise Test - Grade ' . $i;\r
+                       $c->ws_grade = $i;\r
+                       $c->ws_admin = $lastuid;\r
+                       $c->entreprise_id = $entreprise_id;\r
+                       $c->pays = 'FR';\r
+                       $c->insert();\r
+\r
+                       $c = $core->con->openCursor('utilisateurs');\r
+                       $c->prenom = 'Utilisateur Test';\r
+                       $c->nom = 'Grade ' . $i;\r
+                       $c->email = 'grade' . $i . "@fluidbook.com";\r
+                       $c->password = 'atacama';\r
+                       $c->utilisateur_id = $utilisateur_id;\r
+                       $c->entreprise = $entreprise_id;\r
+\r
+                       $c->lang = 'fr';\r
+                       $c->insert();\r
+\r
+                       $lastuid = $utilisateur_id;\r
+\r
+                       $entreprise_id++;\r
+                       $utilisateur_id++;\r
+               }\r
                // Mets à jour les utilisateurs reliés à l'extranet\r
                $r = $core->con->select('SELECT * FROM ws.user WHERE extranet!=0');\r
                while ($r->fetch()) {\r
@@ -188,7 +216,6 @@ try {
                }\r
                // Set cubedesigners AS admin\r
                $core->con->execute('UPDATE entreprises SET ws_grade=5, ws_admin=1 WHERE entreprise_id=7');\r
-\r
                // Some entreprises are themeselves revendeurs. It's not normal\r
                $core->con->execute('UPDATE entreprises e SET ws_admin=1 WHERE ws_admin IN (SELECT utilisateur_id FROM utilisateurs u WHERE e.entreprise_id=u.entreprise)');\r
        } else {\r
@@ -340,12 +367,18 @@ try {
                        $parametres = new wsBookParametres(new stdClass());\r
                        $r->signature = $signatures[$r->tid];\r
                        $parametres->fromRecord($r);\r
-                       $parametres->fromXML(simplexml_load_string('<extras>' . $r->extras . '</extras>'));\r
+\r
+                       $xml = @simplexml_load_string('<extras>' . $r->extras . '</extras>');\r
+                       if ($xml !== false) {\r
+                               $parametres->fromXML($xml);\r
+                       } else {\r
+                               fb('error on extras (Fluidbook # ' . $r->bid);\r
+                       }\r
                        $c->parametres = serialize($parametres);\r
                        $c->insert();\r
                }\r
                // Importe les pages des fluidbooks\r
-               $r = $core->con->select('SELECT * FROM ws.book_pages ORDER BY bid,bpid');\r
+               $r = $core->con->select('SELECT bid,did FROM ws.book_pages GROUP BY did');\r
                while ($r->fetch()) {\r
                        if (!isset($docs[$r->did])) {\r
                                $c = $core->con->openCursor('documents');\r
@@ -354,14 +387,9 @@ try {
                                $c->insert();\r
                                $docs[$r->did] = true;\r
                        }\r
-\r
-                       $c = $core->con->openCursor('book_pages');\r
-                       $c->book_id = $r->bid;\r
-                       $c->document_id = $r->did;\r
-                       $c->book_page = $r->bpid;\r
-                       $c->document_page = $r->dpid;\r
-                       $c->insert();\r
                }\r
+\r
+               $core->con->execute('INSERT INTO book_pages (book_id,book_page,document_id,document_page) SELECT bid,bpid,did,dpid FROM ws.book_pages');\r
        }\r
 \r
        foreach($tables as $t) {\r
index c1d4405353ef8ea354cf664b2fd2ac03859ebe26..4c5b38459a0ffbdeffe2469f8e398b4259c68c71 100644 (file)
@@ -21,6 +21,16 @@ class commonDroits {
                }\r
        }\r
 \r
+       public static function dashboard($error = true)\r
+       {\r
+               if (MODE == 'extranet') {\r
+                       $grade = 1;\r
+               } elseif (MODE == 'ws') {\r
+                       $grade = 5;\r
+               }\r
+               return commonDroits::min($grade, $error);\r
+       }\r
+\r
        public static function recherche($page)\r
        {\r
                global $core;\r
index 756998b7a0d8dd0a7616316d8b65215d9a3d5d2d..80d3401b41b4ba7b0b531687f783d12330d34d28 100644 (file)
@@ -78,7 +78,7 @@ class commonPage {
                foreach($onglets as $titre => $url) {\r
                        // Si cet onglet correspond à la page active, on le place actif\r
                        $active = ($args[0] == $url)?' class="active"':'';\r
-                       $res.='<a href="' . SITE_PATH . $url . '">'.cubeMedia::cssRollover($core->typo->Onglet($titre,'',false)).'</a>';\r
+                       $res .= '<a href="' . SITE_PATH . $url . '">' . cubeMedia::cssRollover($core->typo->Onglet($titre, '', false)) . '</a>';\r
                }\r
                $res .= '</div>';\r
                return $res;\r
@@ -107,7 +107,11 @@ class commonPage {
                                }\r
                        }\r
                        if ($hasRealFilters) {\r
-                               $res .= '<div class="efface_filtres"><a href="#" class="ajax" id="efface_filtres" rel="' . $action . '/efface">' . __('Effacer les filtres') . '</a><br /><a href="#" class="popup" rel="formDashboard/' . $dashboard . '">' . __('Ajouter à mon tableau de bord') . '</a></div>';\r
+                               $res .= '<div class="efface_filtres"><a href="#" class="ajax" id="efface_filtres" rel="' . $action . '/efface">' . __('Effacer les filtres') . '</a>';\r
+                               if (commonDroits::dashboard(false)) {\r
+                                       $res .= '<br /><a href="#" class="popup" rel="formDashboard/' . $dashboard . '">' . __('Ajouter à mon tableau de bord') . '</a>';\r
+                               }\r
+                               $res .= '</div>';\r
                        }\r
                        $res .= '</form>';\r
                }\r
@@ -147,16 +151,16 @@ class commonPage {
                return $res;\r
        }\r
 \r
-       public static function bf($max=false)\r
+       public static function bf($max = false)\r
        {\r
                $res = '</div></td><td class="b-e"></td>';\r
                $res .= '</tr>';\r
                $res .= '<tr class="b-footer">';\r
                $res .= '<td class="b-sw"></td><td class="b-s">';\r
-               if($max){\r
-                       $res.=cubeMedia::spacer(960,1);\r
+               if ($max) {\r
+                       $res .= cubeMedia::spacer(960, 1);\r
                }\r
-               $res.='</td><td class="b-se"></td>';\r
+               $res .= '</td><td class="b-se"></td>';\r
                $res .= '</tr>';\r
                $res .= '</table>';\r
                return $res;\r
index 625df3bcdd0e0c3cf210121799d3a5142f5bd04a..32377e3c511001bca8f78141b152b1b57e5b8eb9 100644 (file)
@@ -111,7 +111,7 @@ class commonUrl {
                        $res .= '<tr><td>' . __('Numéro de mobile') . ' : </td><td>' . $utilisateur->mobile . '</td></tr>';\r
                        $res .= '<tr><td>' . __('Numéro de fax') . ' : </td><td>' . $utilisateur->fax . '</td></tr>';\r
                        $res .= '<tr><td>' . __('Numéro de TVA intracommunautaire') . ' : </td><td>' . $utilisateur->tva_intra . '</td></tr>';\r
-                       $res .= '<tr><td colspan="2"><em>' . __('Si les informations ci-dessus sont incomplètes ou erronées, veuillez nous<br />en informer en nous écrivant à ') . '<a href="mailto:contact@cubedesigners.com">contact@cubedesigners.com</a></em></td></tr>';\r
+                       $res .= '<tr><td colspan="2"><em>' . __('Si les informations ci-dessus sont incomplètes ou erronées, veuillez nous<br />en informer en nous écrivant à ') . '<a href="mailto:'.FROM_EMAIL.'">'.FROM_EMAIL.'</a></em></td></tr>';\r
                }\r
 \r
                return $res;\r
@@ -208,6 +208,8 @@ class commonUrl {
 \r
        public static function dashboard($args)\r
        {\r
+               commonDroits::dashboard();\r
+\r
                cubePage::ui('Sortable');\r
                $res = commonPage::barre();\r
                $res .= commonPage::tMain('dash');\r
@@ -218,6 +220,7 @@ class commonUrl {
 \r
        public static function listeDashboard($args)\r
        {\r
+               commonDroits::dashboard();\r
                global $core;\r
                $r = $core->con->select('SELECT * FROM dashboard WHERE equipier=\'' . $core->user->utilisateur_id . '\' AND site=\'' . MODE . '\' ORDER BY sort');\r
                $res = '';\r
@@ -231,6 +234,7 @@ class commonUrl {
 \r
        public static function displayDashboard($r)\r
        {\r
+               commonDroits::dashboard();\r
                global $core;\r
                $res = '<div class="caption">' . $core->typo->OngletBlanc($r->nom);\r
 \r
@@ -263,6 +267,7 @@ class commonUrl {
 \r
        public static function getDashboardSettings($s)\r
        {\r
+               commonDroits::dashboard();\r
                $s = unserialize($s);\r
                if (isset($s['filtres']['annee'])) {\r
                        $s['filtres']['annee'] = range(2006, date('Y'), 1);\r
@@ -272,6 +277,7 @@ class commonUrl {
 \r
        public static function formDashboard($args)\r
        {\r
+               commonDroits::dashboard();\r
                global $core;\r
                $rub = $args[1];\r
                $dashboard_id = isset($args[2])?$args[2]:'new';\r
index b5dd8f0e4a6f5def84285970a5d4234c83843ace..e5b9765004d4b2de90fdf114f1bf6c831da6e8fe 100644 (file)
@@ -10,7 +10,7 @@ if ($ws) {
        define('GA', 'UA-4339912-5');\r
        define('TITLE', 'Fuidbook Workshop');\r
 \r
-       define('FROM_EMAIL', 'workshop@fluidbook.com');\r
+       define('FROM_EMAIL', 'contact@fluidbook.com');\r
        define('FROM_NAME', 'Fluidbook Workshop');\r
        define('EMAIL_SUBJECT', 'Fluidbook Workshop');\r
        define('TEAM_EMAIL', 'team@fluidbook.com');\r
@@ -21,7 +21,7 @@ if ($ws) {
        define('GA', 'UA-4339912-4');\r
        define('TITLE', 'Extranet Cubedesigners');\r
 \r
-       define('FROM_EMAIL', 'extranet@cubedesigners.com');\r
+       define('FROM_EMAIL', 'contact@cubedesigners.com');\r
        define('FROM_NAME', 'Extranet Cubedesigners');\r
        define('EMAIL_SUBJECT', 'Extranet Cubedesigners');\r
        define('TEAM_EMAIL', 'team@cubedesigners.com');\r
index 79246d1efda0b95eeef697c25b90f48068a8cfd7..e0e9c2075abdbe3143bd844caf1e073b53754ada 100644 (file)
@@ -1,5 +1,9 @@
 <?php\r
 class wsDroits {\r
+       public static $creation = array(2, 4, 5);\r
+       public static $revendeur = 3;\r
+       public static $admin = 5;\r
+\r
        public static function navigation()\r
        {\r
                global $core;\r
@@ -23,6 +27,42 @@ class wsDroits {
                return $nav;\r
        }\r
 \r
+       public static function getRights()\r
+       {\r
+               $res = new stdClass();\r
+               $res->creation = self::creation(false);\r
+               $res->revendeur = self::revendeur(false);\r
+               $res->admin = self::admin(false);\r
+               return $res;\r
+       }\r
+\r
+       public static function creation($error = false)\r
+       {\r
+               return self::gradeIn(self::$creation, $error);\r
+       }\r
+\r
+       public static function revendeur($error = false)\r
+       {\r
+               return commonDroits::min(self::$revendeur, $error);\r
+       }\r
+\r
+       public static function admin($error = false)\r
+       {\r
+               return commonDroits::min(self::$admin, $error);\r
+       }\r
+\r
+       protected static function gradeIn($list, $error = false)\r
+       {\r
+               global $core;\r
+               if (!in_array($core->user->grade, $list)) {\r
+                       if ($error) {\r
+                               commonDroits::error();\r
+                       }\r
+                       return false;\r
+               }\r
+               return true;\r
+       }\r
+\r
        public static function getSignatures()\r
        {\r
                global $core;\r
index ea149617c4f295a53858a1b585c6e9aab55fa7de..0fe3fb0c121dbbd95ebb8a5c627d716dda76c96f 100644 (file)
@@ -7,7 +7,9 @@ class wsUrl {
                $settings = $core->user->getSettings('books');\r
 \r
                $shortcuts = array();\r
-               $shortcuts[] = '<a href="#" class="popup" rel="newBookForm">' . $core->typo->Ajouter(__('Créer une nouvelle publication')) . '</a>';\r
+               if (wsDroits::creation()) {\r
+                       $shortcuts[] = '<a href="#" class="popup" rel="newBookForm">' . $core->typo->Ajouter(__('Créer une nouvelle publication')) . '</a>';\r
+               }\r
 \r
                $filtres = array();\r
                $filtres[] = new commonFiltre(__('Status'), 'status_book', $settings['filtres']);\r
@@ -29,6 +31,8 @@ class wsUrl {
                cubePage::truePopup();\r
                cubePage::autocomplete();\r
 \r
+               $creation = wsDroits::creation();\r
+\r
                commonDroits::min(1);\r
                $settings = is_null($settings)?$core->user->getSettings('books'):$settings;\r
                $change = is_null($dashboard)?'Books':'Dashboard/' . $dashboard;\r
@@ -51,10 +55,14 @@ class wsUrl {
                $i = 0;\r
 \r
                $btVoir = cubeMedia::cssRollover($core->typo->Voir('voir', '', false));\r
-               $btEdit = cubeMedia::cssRollover($core->typo->Editer('éditer', '', false));\r
+               if ($creation) {\r
+                       $btEdit = cubeMedia::cssRollover($core->typo->Editer('éditer', '', false));\r
+               }\r
                $btStats = cubeMedia::cssRollover($core->typo->Stats('stats', '', false));\r
                $btDownload = cubeMedia::cssRollover($core->typo->Telecharger('télécharger', '', false));\r
-               $btDel = cubeMedia::cssRollover($core->typo->Supprimer('suppr.', '', false));\r
+               if ($creation) {\r
+                       $btDel = cubeMedia::cssRollover($core->typo->Supprimer('suppr.', '', false));\r
+               }\r
 \r
                foreach($liste as $id => $book) {\r
                        $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
@@ -68,10 +76,14 @@ class wsUrl {
                        $res .= '<td>' ./* $f .*/ '</td>';\r
                        $res .= '<td>' . $core->books_status[$book->status] . '</td>';\r
                        $res .= '<td class="bouton"><a class="popupFS" rev="viewer_' . $book->book_id . '" href="' . SITE_PATH . 'viewer/' . $book->book_id . '_' . $book->hash . '/">' . $btVoir . '</a></td>';\r
-                       $res .= '<td class="bouton"><a class="popupFS" rev="editor_' . $book->book_id . '" href="' . SITE_PATH . 'editor/' . $book->book_id . '">' . $btEdit . '</a></td>';\r
+                       if ($creation) {\r
+                               $res .= '<td class="bouton"><a class="popupFS" rev="editor_' . $book->book_id . '" href="' . SITE_PATH . 'editor/' . $book->book_id . '">' . $btEdit . '</a></td>';\r
+                       }\r
                        $res .= '<td class="bouton"><a href="' . SITE_PATH . 'stats/' . $book->book_id . '">' . $btStats . '</a></td>';\r
                        $res .= '<td class="bouton"><a href="' . SITE_PATH . 'supprimebook/' . $book->book_id . '">' . $btDownload . '</a></td>';\r
-                       $res .= '<td class="bouton"><a href="#" rel="supprimeBook/' . $book->book_id . '" class="ajax" title="' . __('Êtes-vous certain de vouloir supprimer cette publication ?') . '">' . $btDel . '</a></td>';\r
+                       if ($creation) {\r
+                               $res .= '<td class="bouton"><a href="#" rel="supprimeBook/' . $book->book_id . '" class="ajax" title="' . __('Êtes-vous certain de vouloir supprimer cette publication ?') . '">' . $btDel . '</a></td>';\r
+                       }\r
                        $res .= '</tr>';\r
                        $i++;\r
                }\r