]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 17 Jan 2011 09:05:40 +0000 (09:05 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 17 Jan 2011 09:05:40 +0000 (09:05 +0000)
inc/commons/_common.php
inc/commons/class.common.core.php [new file with mode: 0644]
inc/commons/class.common.filtre.php [new file with mode: 0644]
inc/commons/class.common.page.php [new file with mode: 0644]
inc/commons/class.common.shortcuts.php [new file with mode: 0644]
inc/extranet/Controlleur/_common.php
inc/extranet/Controlleur/class.extranet.core.php [deleted file]
inc/extranet/Controlleur/class.extranet.filtre.php [deleted file]
inc/extranet/Controlleur/class.extranet.page.php [deleted file]
inc/extranet/Controlleur/class.extranet.shortcuts.php [deleted file]
inc/prepend.php

index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..86877015f0de6ba10c1dabd688866a2aaa98852a 100644 (file)
@@ -0,0 +1,8 @@
+<?php\r
+// Common\r
+$__autoload['commonCore'] = dirname(__FILE__) . '/class.common.core.php';\r
+$__autoload['commonPage'] = dirname(__FILE__) . '/class.common.page.php';\r
+$__autoload['commonFiltre'] = dirname(__FILE__) . '/class.extranet.filtre.php';\r
+$__autoload['commonShortcuts'] = dirname(__FILE__) . '/class.extranet.shortcuts.php';\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/commons/class.common.core.php b/inc/commons/class.common.core.php
new file mode 100644 (file)
index 0000000..5ade1ad
--- /dev/null
@@ -0,0 +1,501 @@
+<?php\r
+class commonCore extends cubeCore {\r
+       public $grades;\r
+       public $user;\r
+       public $agences;\r
+       public $categories;\r
+       public $ws_grades;\r
+       public function __construct()\r
+       {\r
+               parent::__construct();\r
+               $this->dbSync();\r
+\r
+               cubeLang::set();\r
+               $this->authentifie();\r
+\r
+               if ($this->user) {\r
+                       // Défini la langue de l'utilisateur en fonction du contenu de user\r
+                       cubeLang::set($this->user->lang);\r
+               } else {\r
+                       // Sinon défini la langue par défaut (basée sur les entêtes envoyées\r
+                       // par le navigateur)\r
+                       cubeLang::set();\r
+               }\r
+\r
+               $this->grades = array(0 => __('Client'), 1 => __('Equipier'), 2 => __('Gérant'), 3 => __('Comptable'));\r
+               $this->categories = array(0 => __('Non défini'), 1 => __('Gestion de projet'),\r
+                       2 => __('Design Web'), 3 => __('Design Industriel'), 4 => __('Print'),\r
+                       5 => __('Newsletter'), 6 => __('Développement PHP'), 7 => __('Développement Flash'),\r
+                       8 => __('Fluidbook'), 9 => __('Formation'), 10 => __('Administratif'), 11 => __('Divers'),\r
+                       12 => __('Intégration HTML'), 13 => __('Motion design'), 14 => __('Design graphique'), 15 => __('Bandeaux de pub'), 16 => __('Applications mobiles'));\r
+               $this->projets_status = array(0 => __('En cours'), 1 => __('Terminé'));\r
+               $this->devis_status = array(0 => __('Brouillon'), 1 => __('Envoyé'),\r
+                       2 => __('Validé'), 3 => __('Refusé'));\r
+               $this->factures_status = array(0 => __('Brouillon'), 1 => __('Attente'),\r
+                       2 => __('Payée'), 3 => __('Annulée'), 4 => __('Avoir'));\r
+               $this->books_status = array(-1 => __('Brouillon'), 0 => __('Prêt'), 1 => __('Téléchargé'), 2 => __('Facturé'));\r
+               $this->agences = array('Paris', 'Montpellier');\r
+               $this->ws_grades = array(0 => __("Pas d'accès"), 1 => __('Client'), 2 => __('Client (droits de création)'), 3 => __('Revendeur'), 4 => __('Revendeur (droits de création)'), 5 => __('Administrateur'));\r
+       }\r
+\r
+       /**\r
+        * extranetCore::authentifie()\r
+        *\r
+        * Gère l'authentification à l'application\r
+        * Si des données proviennent de la validation d'un formulaire de login,\r
+        * elles sont copiées en tant que variable de session\r
+        * L'utilisateur courant est crée en fonction du contenu de ces variables\r
+        *\r
+        * @return\r
+        */\r
+       protected function authentifie()\r
+       {\r
+               // On regarde si user_email et user_password ont été postées\r
+               // Si c'est le cas, on les copie dans la session\r
+               $_SESSION['errorLogin'] = false;\r
+               if (isset($_POST['user_email'])) {\r
+                       $_SESSION['user_email'] = $_POST['user_email'];\r
+               }\r
+\r
+               if (isset($_POST['user_password'])) {\r
+                       $_SESSION['user_password'] = $_POST['user_password'];\r
+               }\r
+               // Maintenant on vérifie si ces variables sont présentes dans la session\r
+               if (!isset($_SESSION['user_email']) || !isset($_SESSION['user_password'])) {\r
+                       // Ce n'est pas le cas, on place la variable connected à false\r
+                       // Et on s'arrête là\r
+                       $this->user = false;\r
+                       return;\r
+               }\r
+               // Les variables sont présentes on vérifie la validité des informations\r
+               // Dans la base de données\r
+               // Utilisateur connecté à l'interface\r
+               $dao = new extranetDAOUtilisateur($this->con);\r
+               $this->user = $dao->selectByLoginPassword($_SESSION['user_email'], $_SESSION['user_password']);\r
+               if ($this->user == false) {\r
+                       $_SESSION['errorLogin'] = true;\r
+                       return;\r
+               }\r
+               if ($this->user->grade == 0) {\r
+                       $daoClient = new extranetDAOClient($this->con);\r
+                       $this->user->collegues = $daoClient->getColleguesList($this->user->utilisateur_id);\r
+               }\r
+       }\r
+\r
+       /**\r
+        * extranetCore::dbSync()\r
+        *\r
+        * Fonction permettant de modéliser le contenu de la base de données\r
+        * et de la synchroniser le cas échéant.\r
+        *\r
+        * @return void\r
+        */\r
+       /**\r
+        * extranetCore::dbSync()\r
+        *\r
+        * @return\r
+        */\r
+       /**\r
+        * extranetCore::dbSync()\r
+        *\r
+        * @return\r
+        */\r
+       public function dbSync()\r
+       {\r
+               $cache = ROOT . '/cache/DB_SYNC';\r
+               if (!file_exists($cache)) {\r
+                       touch($cache);\r
+                       $dosync = true;\r
+               } else {\r
+                       $dosync = filemtime(__FILE__) > filemtime($cache);\r
+               }\r
+\r
+               if (!$dosync) {\r
+                       return;\r
+               }\r
+\r
+               $this->views->dropAllViews();\r
+\r
+               $db = new CubeDbStruct($this->con);\r
+               // Table utilisateurs\r
+               $db->utilisateurs->utilisateur_id('integer', 0, false);\r
+               $db->utilisateurs->login('varchar', 128, false);\r
+               $db->utilisateurs->email('varchar', 128, false);\r
+               $db->utilisateurs->password('varchar', 40, false);\r
+               $db->utilisateurs->nom('varchar', 64, false);\r
+               $db->utilisateurs->prenom('varchar', 64, false);\r
+               $db->utilisateurs->agence('varchar', 64, true);\r
+               $db->utilisateurs->entreprise('integer', 0, false);\r
+               $db->utilisateurs->grade('integer', 1, false);\r
+               $db->utilisateurs->adresse('varchar', 512, false);\r
+               $db->utilisateurs->code_postal('varchar', 20, false);\r
+               $db->utilisateurs->ville('varchar', 64, false);\r
+               $db->utilisateurs->pays('varchar', 2, false);\r
+               $db->utilisateurs->telephone('varchar', 30, false);\r
+               $db->utilisateurs->mobile('varchar', 30, false);\r
+               $db->utilisateurs->fax('varchar', 30, false);\r
+               $db->utilisateurs->lang('varchar', 2, false, '\'fr\'');\r
+               $db->utilisateurs->date_creation('integer', 0, false);\r
+               $db->utilisateurs->settings('text', 0, false);\r
+               $db->utilisateurs->notes('text', 0, false);\r
+               $db->utilisateurs->ws_id('integer', 0, true);\r
+               $db->utilisateurs->ws_password('varchar', 40, false);\r
+               $db->utilisateurs->ws_settings('text', 0, false);\r
+               $db->utilisateurs->ws_rights('text', 0, false);\r
+               // Clés\r
+               $db->utilisateurs->primary('pk_utilisateurs', 'utilisateur_id');\r
+               $db->utilisateurs->unique('unique_utilisateurs_email', 'email');\r
+               $db->utilisateurs->index('index_utilisateurs_nom', 'BTREE', 'nom');\r
+               $db->utilisateurs->index('index_utilisateurs_prenom', 'BTREE', 'prenom');\r
+               $db->utilisateurs->reference('fk_utilisateurs_entreprise', 'entreprise', 'entreprises', 'entreprise_id', false, false);\r
+               // Table entreprises\r
+               $db->entreprises->entreprise_id('integer', 0, false);\r
+               $db->entreprises->nom('varchar', 64, false);\r
+               $db->entreprises->adresse('varchar', 512, false);\r
+               $db->entreprises->code_postal('varchar', 20, false);\r
+               $db->entreprises->ville('varchar', 64, false);\r
+               $db->entreprises->pays('varchar', 2, false);\r
+               $db->entreprises->adresse_facturation('varchar', 512, false);\r
+               $db->entreprises->tva_intra('varchar', 14, false);\r
+               $db->entreprises->ws_grade('integer', 0, false);\r
+               $db->entreprises->ws_admin('integer', 0, false);\r
+               $db->entreprises->date_creation('integer', 0, false);\r
+               $db->entreprises->notes('text', 0, false);\r
+               $db->entreprises->site('varchar', 256, false);\r
+               // Clés\r
+               $db->entreprises->primary('pk_entreprises', 'entreprise_id');\r
+               $db->entreprises->index('index_entreprises_nom', 'BTREE', 'nom');\r
+               // .\r
+               // Table projets\r
+               $db->projets->projet_id('integer', 0, false);\r
+               $db->projets->nom('varchar', 256, false);\r
+               $db->projets->date_creation('integer', 0, false);\r
+               $db->projets->date_debut('integer', 0, false);\r
+               $db->projets->date_fin('integer', 0, false);\r
+               $db->projets->deadline('integer', 0, false);\r
+               $db->projets->devis('integer', 0, false);\r
+               $db->projets->client('integer', 0, false);\r
+               $db->projets->chef('integer', 0, false);\r
+               $db->projets->status('integer', 1, false);\r
+               // Clés\r
+               $db->projets->primary('pk_projets', 'projet_id');\r
+               $db->projets->index('index_projets_status', 'BTREE', 'status');\r
+               $db->projets->index('index_projets_nom', 'BTREE', 'nom');\r
+               $db->projets->reference('fk_projets_client', 'client', 'utilisateurs', 'utilisateur_id', false, false);\r
+               $db->projets->reference('fk_projets_chef', 'chef', 'utilisateurs', 'utilisateur_id', false, false);\r
+               // .\r
+               // Table taches\r
+               $db->taches->tache_id('integer', 0, false);\r
+               $db->taches->nom('varchar', 256, false);\r
+               $db->taches->categorie('integer', 0, false);\r
+               $db->taches->type('integer', 1, false);\r
+               $db->taches->budget('float', 0, false);\r
+               $db->taches->taux_journalier('float', 0, false);\r
+               $db->taches->projet('integer', 0, false);\r
+               // Clés\r
+               $db->taches->primary('pk_taches', 'tache_id');\r
+               $db->taches->reference('fk_taches_projet', 'projet', 'projets', 'projet_id');\r
+               $db->taches->index('index_taches_nom', 'BTREE', 'nom');\r
+               $db->taches->index('index_taches_categorie', 'BTREE', 'categorie');\r
+               // .\r
+               // Table timereport\r
+               $db->timereport->utilisateur_id('integer', 0, false);\r
+               $db->timereport->tache_id('integer', 0, false);\r
+               $db->timereport->date('integer', 0, false);\r
+               $db->timereport->heures('integer', 2, false);\r
+               // Clés\r
+               $db->timereport->primary('pk_timereport', 'utilisateur_id', 'tache_id', 'date');\r
+               $db->timereport->reference('fk_timereport_utilisateur_id', 'utilisateur_id', 'utilisateurs', 'utilisateur_id');\r
+               $db->timereport->reference('fk_timereport_tache_id', 'tache_id', 'taches', 'tache_id');\r
+               $db->timereport->index('index_timereport_date', 'BTREE', 'date');\r
+               // .\r
+               // Table devis\r
+               $db->devis->devis_id('integer', 0, false);\r
+               $db->devis->nom('varchar', 256, false);\r
+               $db->devis->client('integer', 0, false);\r
+               $db->devis->createur('integer', 0, false);\r
+               $db->devis->lignes('text', 0, false);\r
+               $db->devis->status('integer', 1, false);\r
+               $db->devis->total_ht('float', 0, false);\r
+               $db->devis->date_creation('integer', 0, false);\r
+               $db->devis->email('text', 0, false);\r
+               $db->devis->adresse('text', 0, false);\r
+               // Clés\r
+               $db->devis->primary('pk_devis', 'devis_id');\r
+               $db->devis->index('index_devis_status', 'BTREE', 'status');\r
+               $db->devis->index('index_devis_nom', 'BTREE', 'nom');\r
+               $db->devis->reference('fk_devis_client', 'client', 'utilisateurs', 'utilisateur_id');\r
+               $db->devis->reference('fk_devis_createur', 'createur', 'utilisateurs', 'utilisateur_id');\r
+               // .\r
+               // Table factures\r
+               $db->factures->facture_id('varchar', 8, false);\r
+               $db->factures->nom('varchar', 256, false);\r
+               $db->factures->projet('integer', 0, false);\r
+               $db->factures->createur('integer', 0, false);\r
+               $db->factures->lignes('text', 0, false);\r
+               $db->factures->status('integer', 1, false);\r
+               $db->factures->total_ht('float', 0, false);\r
+               $db->factures->date_creation('integer', 0, false);\r
+               $db->factures->texte_complementaire('text', 0, false);\r
+               $db->factures->adresse('text', 0, false);\r
+               $db->factures->informations_paiement('text', 0, false);\r
+               $db->factures->date_paiement('integer', 0, false);\r
+               $db->factures->avoir('varchar', 8, false);\r
+               // Clés\r
+               $db->factures->primary('pk_factures', 'facture_id');\r
+               $db->factures->index('index_factures_status', 'BTREE', 'status');\r
+               $db->factures->index('index_factures_nom', 'BTREE', 'nom');\r
+               $db->factures->reference('fk_factures_projet', 'projet', 'projets', 'projet_id');\r
+               $db->factures->reference('fk_factures_createur', 'createur', 'utilisateurs', 'utilisateur_id');\r
+               // .\r
+               // Table dashboard\r
+               $db->dashboard->dashboard_id('integer', 0, false);\r
+               $db->dashboard->nom('varchar', 128, false);\r
+               $db->dashboard->settings('text', 0, false);\r
+               $db->dashboard->rubrique('varchar', 32, false);\r
+               $db->dashboard->equipier('integer', 0, false);\r
+               $db->dashboard->state('integer', 1, false, '1');\r
+               $db->dashboard->sort('integer', 0, false);\r
+               // Clés\r
+               $db->dashboard->primary('pk_dashboard', 'dashboard_id');\r
+               $db->dashboard->reference('fk_dashboard_equipier', 'equipier', 'utilisateurs', 'utilisateur_id');\r
+               // .\r
+               // Table Signatures\r
+               $db->signatures->signature_id('integer', 0, false);\r
+               $db->signatures->nom('varchar', 256, false);\r
+               $db->signatures->fbcredit('varchar', 64, false);\r
+               $db->signatures->fblink('varchar', 64, false);\r
+               $db->signatures->partnercredit('varchar', 64, false);\r
+               $db->signatures->partnerlink('varchar', 64, false);\r
+               // Clés\r
+               $db->signatures->primary('pk_signatures', 'signature_id');\r
+               // Table jeux d'icones\r
+               $db->icones->icone_id('integer', 0, false);\r
+               $db->icones->nom('varchar', 256, false);\r
+               $db->icones->proprietaire('integer', 0, false);\r
+               $db->icones->couleur('varchar', 6, false);\r
+               $db->icones->date('integer', 0, false);\r
+               // Clés\r
+               $db->icones->primary('pk_icones', 'icone_id');\r
+               $db->icones->index('index_icones_nom', 'BTREE', 'nom');\r
+               $db->icones->index('index_icones_date', 'BTREE', 'date');\r
+               $db->icones->reference('fk_icones_proprietaire', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
+               // Table thèmes\r
+               $db->themes->theme_id('integer', 0, false);\r
+               $db->themes->icones('integer', 0, false);\r
+               $db->themes->proprietaire('integer', 0, false);\r
+               $db->themes->nom('varchar', 256, false);\r
+               $db->themes->date('integer', 0, false);\r
+               $db->themes->parametres('text', 0, false);\r
+               // Clés\r
+               $db->themes->primary('pk_themes', 'theme_id');\r
+               $db->themes->index('index_themes_nom', 'BTREE', 'nom');\r
+               $db->themes->index('index_themes_date', 'BTREE', 'date');\r
+               $db->themes->reference('fk_themes_icones', 'icones', 'icones', 'icone_id');\r
+               $db->themes->reference('fk_themes_proprietaires', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
+               // Table des droits des themes\r
+               // $db->themes_droits->theme_id('integer', 0, false);\r
+               // $db->themes_droits->utilisateur_id('integer', 0, false);\r
+               // Clés\r
+               // $db->themes_droits->primary('pk_themes_droits', 'theme_id', 'utilisateur_id');\r
+               // $db->themes_droits->reference('fk_themes_droits_theme_id', 'theme_id', 'themes', 'theme_id');\r
+               // $db->themes_droits->reference('fk_themes_droits_utilisateur_id', 'utilisateur_id', 'utilisateurs', 'utilisateur_id');\r
+               // Table des langues\r
+               $db->langues->lang_id('varchar', 20, false);\r
+               $db->langues->font('varchar', 64, false);\r
+               $db->langues->charset('varchar', 64, false);\r
+               $db->langues->traductions('text', 0, false);\r
+               // Clés\r
+               $db->langues->primary('pk_langues', 'lang_id');\r
+               // .\r
+               // Table documents\r
+               $db->documents->document_id('integer', 0, false);\r
+               $db->documents->file('varchar', 256, false);\r
+               $db->documents->proprietaire('integer', 0, false);\r
+               $db->documents->pages('integer', 0, false);\r
+               $db->documents->trim('text', 0, false);\r
+               $db->documents->date('integer', 0, false);\r
+               $db->documents->localInfos('text', 0, false);\r
+               $db->documents->generalInfos('text', 0, false);\r
+               $db->documents->conversionInfos('text', 0, false);\r
+               $db->documents->numberSections('text', 0, false);\r
+               $db->documents->localHash('varchar', 64, false);\r
+               // Clés\r
+               $db->documents->primary('pk_documents', 'document_id');\r
+               $db->documents->index('index_documents_file', 'BTREE', 'file');\r
+               $db->documents->index('index_documents_date', 'BTREE', 'date');\r
+               $db->documents->index('index_documents_localHash', 'BTREE', 'localHash');\r
+               $db->documents->reference('fk_documents_proprietaire', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
+               // .\r
+               // Table pages des documents\r
+               $db->document_links->document_id('integer', 0, false);\r
+               $db->document_links->document_page('integer', 0, false);\r
+               $db->document_links->links('text', 0, false);\r
+               $db->document_links->rulers('text', 0, false);\r
+               $db->document_links->update('integer', 0, false);\r
+               // Clés\r
+               $db->document_links->primary('pk_document_links', 'document_id', 'document_page', 'update');\r
+               $db->document_links->index('index_document_links_date', 'BTREE', 'update');\r
+               $db->document_links->index('index_document_links_document_id', 'BTREE', 'document_id');\r
+               // .\r
+               // Table Books\r
+               $db->books->book_id('integer', 0, false);\r
+               $db->books->nom('varchar', 256, false);\r
+               $db->books->lang('varchar', 20, false);\r
+               $db->books->theme('integer', 0, false);\r
+               $db->books->proprietaire('integer', 0, false);\r
+               // $db->books->projet('integer', 0, false);\r
+               $db->books->hash('varchar', 32, false);\r
+               $db->books->compteur_visites('integer', 0, false, 20);\r
+               $db->books->status('integer', 0, false);\r
+               $db->books->date_status('integer', 0, false);\r
+               $db->books->parametres('text', 0, false);\r
+               $db->books->chapters('text', 0, false);\r
+               $db->books->extras('text', 0, false);\r
+               $db->books->traductions('text', 0, false);\r
+               $db->books->date('integer', 0, false);\r
+               $db->books->numerotation('text', 0, false);\r
+               $db->books->changedate('integer', 0, false);\r
+               $db->books->compiledate('integer', 0, false);\r
+               // Clés\r
+               $db->books->primary('pk_books', 'book_id');\r
+               $db->books->index('index_books_nom', 'BTREE', 'nom');\r
+               $db->books->reference('fk_books_proprietaire', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
+               // $db->books->reference('fk_books_projet', 'projet', 'projets', 'projet_id');\r
+               // $db->books->reference('fk_books_lang', 'lang', 'langues', 'lang');\r
+               // .\r
+               // Table pages des publications\r
+               $db->book_pages->book_id('integer', 0, false);\r
+               $db->book_pages->book_page('integer', 0, false);\r
+               $db->book_pages->document_id('integer', 0, false);\r
+               $db->book_pages->document_page('integer', 0, false);\r
+               // Clés\r
+               $db->book_pages->primary('pk_book_pages', 'book_id', 'book_page');\r
+               $db->book_pages->reference('fk_book_pages_book_id', 'book_id', 'books', 'book_id');\r
+               $db->book_pages->reference('fk_book_pages_document_id', 'document_id', 'documents', 'document_id');\r
+               // .\r
+               // Table de cache des urls courtes\r
+               $db->book_short_url->long_url('varchar', 255, false);\r
+               $db->book_short_url->short_url('varchar', 64, false);\r
+               $db->book_short_url->book_id('integer', 0, false);\r
+               // Clés\r
+               $db->book_short_url->index('index_book_short_url_long_url', 'BTREE', 'long_url');\r
+               $db->book_short_url->index('index_book_short_url_book_id', 'BTREE', 'book_id');\r
+               // .\r
+               // Table des droits\r
+               $db->ws_users_tree->utilisateur_id('integer', 0, false);\r
+               $db->ws_users_tree->facturable_id('integer', 0, false);\r
+               $db->ws_users_tree->administrateur_id('integer', 0, false);\r
+               // Clé\r
+               $db->ws_users_tree->primary('pk_utilisateur_id', 'utilisateur_id');\r
+\r
+               try {\r
+                       $dbi = new CubeDbStruct($this->con);\r
+                       $dbi->synchronize($db);\r
+               }\r
+               catch(Exception $e) {\r
+                       fb($e);\r
+                       exit;\r
+               }\r
+\r
+               $this->views->createView('equipiers', 'SELECT * FROM utilisateurs WHERE grade>=1');\r
+               $this->views->createView('gerants', 'SELECT * FROM utilisateurs WHERE grade=2');\r
+               // $this->views->createView('ws_top_revendeurs', 'SELECT * FROM utilisateurs WHERE ws_grade=3 AND ws_admin IN(SELECT utilisateur_id FROM equipiers)');\r
+               // $this->views->createView('ws_revendeurs', 'SELECT * FROM utilisateurs WHERE ws_grade=3');\r
+               // $this->views->createView('ws_facturables', 'SELECT * FROM utilisateurs WHERE ws_grade BETWEEN 0 AND 3 AND ws_admin IN(SELECT utilisateur_id FROM equipiers)');\r
+               $this->views->createView('impayes_entreprises', 'SELECT SUM(total_ht) AS impaye, u.entreprise AS entreprise '\r
+                        . 'FROM utilisateurs u LEFT JOIN projets p ON u.utilisateur_id=p.client LEFT JOIN factures f ON f.projet=p.projet_id '\r
+                        . 'WHERE f.status=1 GROUP BY u.entreprise');\r
+               $this->views->createView('entreprises_inter', 'SELECT e.*,'\r
+                        . 'SUM(f.total_ht) AS ca '\r
+                        . 'FROM entreprises e LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id AND grade=0 '\r
+                        . 'LEFT JOIN projets p ON p.client=u.utilisateur_id '\r
+                        . 'LEFT JOIN factures f ON f.projet=p.projet_id AND f.status IN(1,2) '\r
+                        . 'GROUP BY e.entreprise_id');\r
+               $this->views->createView('entreprises_vue', 'SELECT e.*,i.impaye AS impaye'\r
+                        . ' FROM entreprises_inter e LEFT JOIN impayes_entreprises i ON e.entreprise_id=i.entreprise');\r
+               $this->views->createView('clients_entreprise', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation '\r
+                        . 'FROM entreprises e LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id AND u.grade=0');\r
+               $this->views->createView('utilisateurs_entreprise', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation, '\r
+                        . 'e.ws_grade, e.ws_admin '\r
+                        . 'FROM entreprises e LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id');\r
+               $this->views->createView('clients', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation, i.impaye, '\r
+                        . 'SUM(f.total_ht) AS ca '\r
+                        . 'FROM entreprises e LEFT JOIN impayes_entreprises i ON e.entreprise_id=i.entreprise LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id AND u.grade=0 LEFT JOIN projets p ON p.client=u.utilisateur_id LEFT JOIN factures f ON f.projet=p.projet_id AND f.status IN(1,2) '\r
+                        . 'GROUP BY u.utilisateur_id');\r
+               $this->views->createView('taches_vue', 'SELECT taches.tache_id,taches.nom,taches.categorie,taches.type,taches.budget,taches.projet,taches.taux_journalier, '\r
+                        . '(SUM(timereport.heures)/' . JOURNEE . ') AS jours_consommes, ((SUM(timereport.heures)/' . JOURNEE . ')/(taches.budget/taches.taux_journalier))*100 AS progression,(taches.budget/taches.taux_journalier) AS jours_prevus '\r
+                        . 'FROM taches LEFT JOIN timereport ON taches.tache_id=timereport.tache_id '\r
+                        . 'GROUP BY taches.tache_id');\r
+               $this->views->createView('taches_projet', 'SELECT projet, '\r
+                        . 'SUM(jours_prevus) AS jours_prevus,SUM(budget) AS budget,'\r
+                        . 'SUM(jours_consommes) AS jours_consommes, (SUM(jours_consommes)/SUM(jours_prevus))*100 AS progression '\r
+                        . 'FROM taches_vue GROUP BY projet');\r
+               $this->views->createView('devis_vue', 'SELECT devis.devis_id,devis.nom,devis.lignes,devis.status,devis.total_ht,devis.date_creation,devis.email,clients.utilisateur_id AS client_id,clients.rs AS client,equipiers.prenom AS createur,equipiers.utilisateur_id AS createur_id,devis.adresse '\r
+                        . 'FROM devis,clients,equipiers '\r
+                        . 'WHERE devis.client=clients.utilisateur_id AND devis.createur=equipiers.utilisateur_id');\r
+               $this->views->createView('factures_payees', 'SELECT * FROM factures WHERE status=2');\r
+               $this->views->createView('factures_valides', 'SELECT * FROM factures WHERE status IN(1,2)');\r
+               $this->views->createView('projets_inter', 'SELECT projets.projet_id,projets.nom,projets.status,projets.date_debut,projets.date_fin,projets.date_creation,projets.deadline,projets.devis,'\r
+                        . 'YEAR(FROM_UNIXTIME(projets.date_debut)) AS annee_debut,'\r
+                        . 'IF(YEAR(FROM_UNIXTIME(projets.date_fin))=1970,YEAR(NOW()),YEAR(FROM_UNIXTIME(projets.date_fin))) AS annee_fin,'\r
+                        . 'clients.rs AS client,equipiers.prenom AS chef,equipiers.utilisateur_id AS chef_id,clients.utilisateur_id AS client_id '\r
+                        . 'FROM projets,clients_entreprise clients,equipiers '\r
+                        . 'WHERE clients.utilisateur_id=projets.client AND equipiers.utilisateur_id=projets.chef', 'TEMPTABLE');\r
+               $this->views->createView('projets_inter1', 'SELECT projets.*,taches.jours_prevus,taches.jours_consommes,taches.progression,taches.budget AS budget, '\r
+                        . 'IF(taches.budget>0,SUM(factures_valides.total_ht)/taches.budget,1) AS rapport_facturation, '\r
+                        . 'SUM(factures_valides.total_ht) AS montant_facture '\r
+                        . 'FROM projets_inter projets '\r
+                        . 'LEFT JOIN taches_projet taches ON taches.projet=projets.projet_id '\r
+                        . 'LEFT JOIN factures_valides ON factures_valides.projet=projets.projet_id '\r
+                        . 'GROUP BY projets.projet_id,factures_valides.projet', 'TEMPTABLE');\r
+               $this->views->createView('projets_vue', 'SELECT p.*,SUM(f.total_ht) AS montant_paye, '\r
+                        . 'IF(p.budget>0,SUM(f.total_ht)/p.budget,1) AS rapport_paiement '\r
+                        . 'FROM projets_inter1 p '\r
+                        . 'LEFT JOIN factures_payees f ON f.projet=p.projet_id '\r
+                        . 'GROUP BY p.projet_id', 'TEMPTABLE');\r
+               $this->views->createView('factures_vue', 'SELECT factures.facture_id,factures.nom,factures.lignes,factures.status,factures.total_ht,factures.date_creation,factures.texte_complementaire,factures.informations_paiement,factures.date_paiement,factures.adresse,factures.avoir,'\r
+                        . 'projets.projet_id AS projet_id,projets.nom AS projet,projets.client_id AS client_id,projets.client as client,equipiers.prenom AS createur,equipiers.utilisateur_id AS createur_id '\r
+                        . 'FROM factures,projets_vue projets,equipiers '\r
+                        . 'WHERE factures.projet=projets.projet_id AND factures.createur=equipiers.utilisateur_id AND (factures.facture_id>=0 OR factures.status=1)  ');\r
+               $this->views->createView('projets_timereport', 'SELECT * FROM projets_vue WHERE status=0');\r
+               $this->views->createView('order_timereport', 'SELECT utilisateur_id,projet AS projet_id,MAX(date) AS derniere_activite FROM timereport,taches,projets WHERE taches.tache_id=timereport.tache_id AND taches.projet=projets.projet_id AND projets.status=0 GROUP BY utilisateur_id,taches.projet ORDER BY utilisateur_id ASC,MAX(date) DESC');\r
+               $this->views->createView('ca', 'SELECT SUM(total_ht) AS ca, YEAR(FROM_UNIXTIME(date_creation)) annee FROM factures WHERE status IN(1,2) GROUP BY annee');\r
+               $this->views->createView('ftpaccess', 'SELECT email AS userid,password AS passwd,utilisateur_id AS uid,'\r
+                        . '\'1000\' AS gid,CONCAT(\'' . FTPROOT . '\',utilisateur_id) AS homedir, \'/bin/false\' AS shell '\r
+                        . 'FROM utilisateurs WHERE grade=0 '\r
+                        . 'UNION '\r
+                        . 'SELECT email AS userid,ws_password AS passwd,utilisateur_id AS uid,'\r
+                        . '\'1000\' AS gid,CONCAT(\'' . FTPROOT . '\',utilisateur_id) AS homedir, \'/bin/false\' AS shell '\r
+                        . 'FROM utilisateurs WHERE grade=0 AND ws_password!=\'\'');\r
+               $this->views->createView('chiffres_categories', 'SELECT p.annee_fin AS annee, t.categorie, SUM(t.budget) AS ca '\r
+                        . 'FROM projets_vue p, taches_vue t '\r
+                        . 'WHERE t.projet=p.projet_id '\r
+                        . 'GROUP BY t.categorie,p.annee_fin');\r
+               $this->views->createView('temps_categories', 'SELECT p.annee_fin AS annee, t.categorie, SUM(t.jours_consommes) AS jours_consommes,SUM(t.jours_prevus) AS jours_prevus '\r
+                        . 'FROM projets_vue p, taches_vue t '\r
+                        . 'WHERE t.projet=p.projet_id '\r
+                        . 'GROUP BY t.categorie,p.annee_fin');\r
+               $this->views->createView('books_vue', 'SELECT b.*,b.proprietaire AS proprietaire_id,c.rs AS proprietaire_nom,c.ws_admin '\r
+                        . 'FROM books b, utilisateurs_entreprise c WHERE b.proprietaire=c.utilisateur_id', 'TEMPTABLE');\r
+               $this->views->createView('themes_vue', 'SELECT t.*,COUNT(*) AS nb_books,GROUP_CONCAT(DISTINCT b.book_id) AS books '\r
+                        . 'FROM themes t '\r
+                        . 'LEFT JOIN books b ON t.theme_id=b.theme '\r
+                        . 'GROUP BY t.theme_id');\r
+               // cubeDb::mysqlConvert($this->con);\r
+       }\r
+\r
+       public function sauvePreferencesUtilisateur()\r
+       {\r
+               $dao = new extranetDAOUtilisateur($this->con);\r
+               $dao->sauvePreferences($this->user);\r
+       }\r
+\r
+       public function refreshWSUsersTree()\r
+       {\r
+               $t = new wsUsersTree($this->con);\r
+               $t->refreshWSUsersTree();\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/commons/class.common.filtre.php b/inc/commons/class.common.filtre.php
new file mode 100644 (file)
index 0000000..f5d555b
--- /dev/null
@@ -0,0 +1,107 @@
+<?php\r
+class commonFiltre {\r
+       public $titre;\r
+       public $varname;\r
+       public $settings;\r
+       public $values;\r
+       public $all;\r
+\r
+       public function __construct($titre, $varname, $settings)\r
+       {\r
+               $this->titre = $titre;\r
+               $this->varname = $varname;\r
+               $this->all = __('Tous');\r
+               $this->settings = isset($settings[$varname]) && count($settings[$varname])?$settings[$varname]:null;\r
+               $this->getValues();\r
+       }\r
+\r
+       protected function getValues()\r
+       {\r
+               global $core;\r
+               if ($this->varname == 'equipier' || $this->varname == 'equipier_participe') {\r
+                       $r = $core->con->select('SELECT prenom,utilisateur_id FROM equipiers');\r
+                       while ($r->fetch()) {\r
+                               $this->values[$r->prenom] = $r->utilisateur_id;\r
+                       }\r
+               } elseif ($this->varname == 'annee') {\r
+                       for($i = 2006;$i <= date('Y', TIME);$i++) {\r
+                               $this->values[$i] = $i;\r
+                       }\r
+                       $this->all = __('Toutes');\r
+               } elseif ($this->varname == 'status_projet') {\r
+                       $this->values = array(__('En cours') => 'status_0',\r
+                               __('Terminé') => 'status_1',\r
+                               __('Facturés') => 'factures_1',\r
+                               __('Non facturés') => 'factures_0');\r
+               } elseif ($this->varname == 'status_client_projet') {\r
+                       $this->values = array(__('En cours') => '0', __('Terminé') => '1');\r
+               } elseif ($this->varname == 'status_facture') {\r
+                       $this->values = array_flip($core->factures_status);\r
+               } elseif ($this->varname == 'annee_facture') {\r
+                       for($i = 2008;$i <= date('Y', TIME);$i++) {\r
+                               $this->values[$i] = $i;\r
+                       }\r
+                       $this->all = __('Toutes');\r
+               } elseif ($this->varname == 'status_devis') {\r
+                       $this->values = array_flip($core->devis_status);\r
+               } elseif ($this->varname == 'impaye') {\r
+                       $this->values = array(__('Non') => '0', __('Oui') => '1');\r
+               } elseif ($this->varname == 'status_book') {\r
+                       $this->values = array_flip($core->books_status);\r
+               } elseif ($this->varname == 'annee_book') {\r
+                       for($i = 2007;$i <= date('Y', TIME);$i++) {\r
+                               $this->values[$i] = $i;\r
+                       }\r
+                       $this->all = __('Toutes');\r
+               }\r
+       }\r
+\r
+       public function display()\r
+       {\r
+               if (is_null($this->settings) || count($this->settings) == count($this->values)) {\r
+                       $class = '';\r
+                       $titre = $this->all;\r
+               } else {\r
+                       $class = ' active';\r
+                       $t = array();\r
+                       foreach($this->settings as $k => $v) {\r
+                               $t[] = array_search($k, $this->values);\r
+                       }\r
+                       $titre = implode(', ', $t);\r
+               }\r
+\r
+               $limit = 20;\r
+               $t = (mb_strlen($titre) > $limit)?mb_substr($titre, 0, $limit-4) . '...':$titre;\r
+\r
+               $res = '<div class="filtre">';\r
+               $res .= '<span>' . $this->titre . '</span>';\r
+               $res .= '<div class="input' . $class . '"><span>' . $t . '</span>' ;\r
+               $res .= '<a href="#" class="bt" title="' . $titre . '">' . cubeMedia::spacer(155, 18) . '</a>';\r
+               $res .= '</div>';\r
+               $res .= '<ul><li class="all">' . $this->all . '</li>';\r
+               $last = count($this->values)-1;\r
+               $i = 0;\r
+               foreach($this->values as $v => $k) {\r
+                       $checked = false;\r
+                       if (is_null($this->settings)) {\r
+                               $checked = true;\r
+                       } elseif (isset($this->settings[$k])) {\r
+                               $checked = true;\r
+                       }\r
+                       $l = ($i == $last)?' class="last"':'';\r
+                       $res .= '<li' . $l . '><label>' . form::checkbox(array($this->varname . '[' . $k . '][]'), 1, $checked) . ' ' . $v . '</label></li>';\r
+                       $i++;\r
+               }\r
+               $res .= '</ul>';\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function test($varname, $settings)\r
+       {\r
+               $f = new extranetFiltre(__(''), $varname, array());\r
+               return isset($settings[$varname]) && count($f->values) > count($settings[$varname]) && count($settings[$varname]);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/commons/class.common.page.php b/inc/commons/class.common.page.php
new file mode 100644 (file)
index 0000000..2b3f264
--- /dev/null
@@ -0,0 +1,206 @@
+<?php\r
+class commonPage {\r
+       public static function header($args)\r
+       {\r
+               global $js;\r
+               global $core;\r
+               // Entête HTML\r
+               $res = '<html>';\r
+               $res .= '<head>';\r
+               // Titre de la page\r
+               $res .= '<title>' . TITLE . '</title>';\r
+               // Favicon\r
+               $res .= cubePage::favicon(IMG . '/favicon.ico');\r
+               $res .= '</head>';\r
+               $res .= '<body>';\r
+               // Haut de la page\r
+               $res .= '<div id="header">';\r
+               $res .= '<div class="content">';\r
+               // Le logo avec le lien de retour à l'accueil\r
+               $res .= '<div id="logo"><a href="' . SITE_PATH . '">' . cubeMedia::image(IMG . '/logo.png') . '</a></div>';\r
+               if ($core->user) {\r
+                       $search = self::search($args);\r
+\r
+                       $class = $search?' class="with-search"':'';\r
+                       // Le message personnalisé avec un lien pour se déconnecter\r
+                       $res .= '<div id="welcome"' . $class . '>' . __('Bienvenue') . ' ' . $core->user->prenom . ' ' . $core->user->nom . ' ';\r
+                       $res .= '| <a href="#" class="popup" rel="mesParametres">' . __('Mes paramètres') . '</a> ';\r
+                       $res .= '| <a href="' . SITE_PATH . 'logout">' . __('Se déconnecter') . '</a>';\r
+                       if ($search) {\r
+                               $res .= ' | ';\r
+                       }\r
+                       $res .= '</div>';\r
+                       $res .= $search;\r
+               }\r
+               // Barre d'onglets\r
+               $res .= self::nav($args);\r
+               $res .= '</div>';\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function search($args)\r
+       {\r
+               global $core;\r
+\r
+               if (!extranetDroits::recherche($args[0])) {\r
+                       return;\r
+               }\r
+               cubePage::emptyfield();\r
+               $settings = $core->user->getSettings($args[0]);\r
+               $action = 'search' . ucfirst($args[0]);\r
+\r
+               $default = isset($_POST['q'])?$_POST['q']:__('Rechercher');\r
+               // Formulaire de recherche\r
+               $res = '<form action="' . $action . '" method="post">';\r
+               $res .= '<div id="search">' . form::field('q', 20, 128, $default, 'empty_field') . '<a href="#" class="submit">' . cubeMedia::spacer(22, 22) . '</a></div>';\r
+               $res .= '</form>';\r
+               return $res;\r
+       }\r
+\r
+       public static function nav($args)\r
+       {\r
+               // Barre d'onglets\r
+               global $core;\r
+               // Liste des onglets\r
+               if (!$core->user) {\r
+                       // Si pas d'utilisateur authentifié\r
+                       $onglets = array(__('Identification') => 'login');\r
+               } else {\r
+                       // Navigation personalisée de l'utilisateur en fonction de ses droits\r
+                       if (MODE == 'extranet') {\r
+                               $onglets = extranetDroits::navigation();\r
+                       } elseif (MODE == 'ws') {\r
+                               $onglets = wsDroits::navigation();\r
+                       }\r
+               }\r
+               $res = '<div id="nav">';\r
+               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
+               }\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function barre($filtres = null, $action = null, $dashboard = null, $shortcuts = null)\r
+       {\r
+               if (is_null($shortcuts) && is_null($filtres)) {\r
+                       return '<div id="bar" class="vide"></div>';\r
+               }\r
+\r
+               $res = '<div id="bar">';\r
+               $res .= '<div class="content">';\r
+\r
+               if (!is_null($shortcuts)) {\r
+                       $res .= self::shortcuts($shortcuts);\r
+               }\r
+\r
+               if (!is_null($filtres) && is_array($filtres)) {\r
+                       $res .= '<form action="' . $action . '" method="post" class="submitonchange">';\r
+                       $hasRealFilters = false;\r
+                       foreach($filtres as $filtre) {\r
+                               $res .= $filtre->display();\r
+                               if ($filtre instanceof extranetFiltre) {\r
+                                       $hasRealFilters = true;\r
+                               }\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
+                       }\r
+                       $res .= '</form>';\r
+               }\r
+               $res .= '</div>';\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function shortcuts($shortcuts)\r
+       {\r
+               global $core;\r
+\r
+               $res = '';\r
+               foreach($shortcuts as $s) {\r
+                       $res .= '<div class="shortcut">' . $s . '</div>';\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public static function tMain($id = null, $big = false)\r
+       {\r
+               $id = is_null($id)?'':' id="' . $id . '"';\r
+               $big = $big?' class="big"':'';\r
+               return '<div id="main"' . $big . '><div id="logo-main"></div><div class="content"' . $id . '>';\r
+       }\r
+\r
+       public static function bh($class = null)\r
+       {\r
+               $class = is_null($class)?' class="b"':' class="b ' . $class . '"';\r
+\r
+               $res = '<table' . $class . '>';\r
+               $res .= '<tr class="b-top">';\r
+               $res .= '<td class="b-nw"></td><td class="b-n"></td><td class="b-ne"></td>';\r
+               $res .= '</tr>';\r
+               $res .= '<tr class="b-center">';\r
+               $res .= '<td class="b-w"></td><td class="b-c c"><div>';\r
+               return $res;\r
+       }\r
+\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
+               }\r
+               $res.='</td><td class="b-se"></td>';\r
+               $res .= '</tr>';\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function pager($current, $nb, $par_page, $url)\r
+       {\r
+               $style = 'pgleft';\r
+               if ($par_page == 0 || $nb <= $par_page) {\r
+                       return;\r
+               }\r
+               $par_groupe = 10;\r
+               $pager = new cubePager($current, $nb, $par_page, $par_groupe);\r
+               $pager->html_link_sep = ' ';\r
+               $pager->html_prev = '&laquo;';\r
+               $pager->html_next = '&raquo;';\r
+\r
+               $pager->base_url = '#" rel="' . $url . '" class="ajax';\r
+\r
+               $links = $pager->getLinks();\r
+               if (trim($links) == '') {\r
+                       return '';\r
+               }\r
+\r
+               $res = '<div class="pager-holder ' . $style . '"><div class="pager ' . $style . '">';\r
+               $res .= $links;\r
+               $res .= '</div></div>';\r
+\r
+               return $res;\r
+       }\r
+\r
+       public static function bMain()\r
+       {\r
+               return '</div></div>';\r
+       }\r
+\r
+       public static function footer()\r
+       {\r
+               $res = '<div id="footer"></div>';\r
+               $res .= cubePage::googleAnalytics(GA);\r
+               $res .= '</body>';\r
+               $res .= '</html>';\r
+               return $res;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/commons/class.common.shortcuts.php b/inc/commons/class.common.shortcuts.php
new file mode 100644 (file)
index 0000000..2c9350e
--- /dev/null
@@ -0,0 +1,38 @@
+<?php\r
+\r
+class commonShortcuts {\r
+       public $titre;\r
+       public $values;\r
+       public $selectedValue;\r
+\r
+       public function __construct($titre, $values,$selectedValue)\r
+       {\r
+               $this->titre = $titre;\r
+               $this->values = $values;\r
+               $this->selectedValue=$selectedValue;\r
+       }\r
+\r
+       public function display()\r
+       {\r
+               // $limit = 20;\r
+               // $t = (mb_strlen($titre) > $limit)?mb_substr($titre, 0, $limit-4) . '...':$titre;\r
+               $res = '<div class="filtre">';\r
+               $res .= '<span>' . $this->titre . '</span>';\r
+               $res .= '<div class="input"><span><strong>'.$this->selectedValue.'</strong></span>' ;\r
+               $res .= '<a href="#" class="bt" title="' . $this->titre . '">' . cubeMedia::spacer(155, 18) . '</a>';\r
+               $res .= '</div>';\r
+               $res .= '<ul>';\r
+               $last = count($this->values)-1;\r
+               $i = 0;\r
+               foreach($this->values as $v => $k) {\r
+                       $l = ($i == $last)?' class="last"':'';\r
+                       $res .= '<li' . $l . '>'.cubeMedia::spacer(1,17).'<a href="' . $k . '">' . $v . '</a></li>';\r
+                       $i++;\r
+               }\r
+               $res .= '</ul>';\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
index d1da641e714f02d53dbbc886770d41a349d63604..33ca1215282c5967952dc02380c135c7011e768f 100644 (file)
@@ -1,12 +1,8 @@
 <?php\r
 // Extranet\r
-$__autoload['extranetCore'] = dirname(__FILE__) . '/class.extranet.core.php';\r
 $__autoload['extranetAjax'] = dirname(__FILE__) . '/class.extranet.ajax.php';\r
-$__autoload['extranetPage'] = dirname(__FILE__) . '/class.extranet.page.php';\r
 $__autoload['extranetUrl'] = dirname(__FILE__) . '/class.extranet.url.php';\r
 $__autoload['extranetDroits'] = dirname(__FILE__) . '/class.extranet.droits.php';\r
-$__autoload['extranetFiltre'] = dirname(__FILE__) . '/class.extranet.filtre.php';\r
-$__autoload['extranetShortcuts'] = dirname(__FILE__) . '/class.extranet.shortcuts.php';\r
 $__autoload['extranetPageChiffres'] = dirname(__FILE__) . '/class.extranet.page.chiffres.php';\r
 \r
 ?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.core.php b/inc/extranet/Controlleur/class.extranet.core.php
deleted file mode 100644 (file)
index d728b1d..0000000
+++ /dev/null
@@ -1,501 +0,0 @@
-<?php\r
-class extranetCore extends cubeCore {\r
-       public $grades;\r
-       public $user;\r
-       public $agences;\r
-       public $categories;\r
-       public $ws_grades;\r
-       public function __construct()\r
-       {\r
-               parent::__construct();\r
-               $this->dbSync();\r
-\r
-               cubeLang::set();\r
-               $this->authentifie();\r
-\r
-               if ($this->user) {\r
-                       // Défini la langue de l'utilisateur en fonction du contenu de user\r
-                       cubeLang::set($this->user->lang);\r
-               } else {\r
-                       // Sinon défini la langue par défaut (basée sur les entêtes envoyées\r
-                       // par le navigateur)\r
-                       cubeLang::set();\r
-               }\r
-\r
-               $this->grades = array(0 => __('Client'), 1 => __('Equipier'), 2 => __('Gérant'), 3 => __('Comptable'));\r
-               $this->categories = array(0 => __('Non défini'), 1 => __('Gestion de projet'),\r
-                       2 => __('Design Web'), 3 => __('Design Industriel'), 4 => __('Print'),\r
-                       5 => __('Newsletter'), 6 => __('Développement PHP'), 7 => __('Développement Flash'),\r
-                       8 => __('Fluidbook'), 9 => __('Formation'), 10 => __('Administratif'), 11 => __('Divers'),\r
-                       12 => __('Intégration HTML'), 13 => __('Motion design'), 14 => __('Design graphique'), 15 => __('Bandeaux de pub'), 16 => __('Applications mobiles'));\r
-               $this->projets_status = array(0 => __('En cours'), 1 => __('Terminé'));\r
-               $this->devis_status = array(0 => __('Brouillon'), 1 => __('Envoyé'),\r
-                       2 => __('Validé'), 3 => __('Refusé'));\r
-               $this->factures_status = array(0 => __('Brouillon'), 1 => __('Attente'),\r
-                       2 => __('Payée'), 3 => __('Annulée'), 4 => __('Avoir'));\r
-               $this->books_status = array(-1 => __('Brouillon'), 0 => __('Prêt'), 1 => __('Téléchargé'), 2 => __('Facturé'));\r
-               $this->agences = array('Paris', 'Montpellier');\r
-               $this->ws_grades = array(0 => __("Pas d'accès"), 1 => __('Client'), 2 => __('Client (droits de création)'), 3 => __('Revendeur'), 4 => __('Revendeur (droits de création)'), 5 => __('Administrateur'));\r
-       }\r
-\r
-       /**\r
-        * extranetCore::authentifie()\r
-        *\r
-        * Gère l'authentification à l'application\r
-        * Si des données proviennent de la validation d'un formulaire de login,\r
-        * elles sont copiées en tant que variable de session\r
-        * L'utilisateur courant est crée en fonction du contenu de ces variables\r
-        *\r
-        * @return\r
-        */\r
-       protected function authentifie()\r
-       {\r
-               // On regarde si user_email et user_password ont été postées\r
-               // Si c'est le cas, on les copie dans la session\r
-               $_SESSION['errorLogin'] = false;\r
-               if (isset($_POST['user_email'])) {\r
-                       $_SESSION['user_email'] = $_POST['user_email'];\r
-               }\r
-\r
-               if (isset($_POST['user_password'])) {\r
-                       $_SESSION['user_password'] = $_POST['user_password'];\r
-               }\r
-               // Maintenant on vérifie si ces variables sont présentes dans la session\r
-               if (!isset($_SESSION['user_email']) || !isset($_SESSION['user_password'])) {\r
-                       // Ce n'est pas le cas, on place la variable connected à false\r
-                       // Et on s'arrête là\r
-                       $this->user = false;\r
-                       return;\r
-               }\r
-               // Les variables sont présentes on vérifie la validité des informations\r
-               // Dans la base de données\r
-               // Utilisateur connecté à l'interface\r
-               $dao = new extranetDAOUtilisateur($this->con);\r
-               $this->user = $dao->selectByLoginPassword($_SESSION['user_email'], $_SESSION['user_password']);\r
-               if ($this->user == false) {\r
-                       $_SESSION['errorLogin'] = true;\r
-                       return;\r
-               }\r
-               if ($this->user->grade == 0) {\r
-                       $daoClient = new extranetDAOClient($this->con);\r
-                       $this->user->collegues = $daoClient->getColleguesList($this->user->utilisateur_id);\r
-               }\r
-       }\r
-\r
-       /**\r
-        * extranetCore::dbSync()\r
-        *\r
-        * Fonction permettant de modéliser le contenu de la base de données\r
-        * et de la synchroniser le cas échéant.\r
-        *\r
-        * @return void\r
-        */\r
-       /**\r
-        * extranetCore::dbSync()\r
-        *\r
-        * @return\r
-        */\r
-       /**\r
-        * extranetCore::dbSync()\r
-        *\r
-        * @return\r
-        */\r
-       public function dbSync()\r
-       {\r
-               $cache = ROOT . '/cache/DB_SYNC';\r
-               if (!file_exists($cache)) {\r
-                       touch($cache);\r
-                       $dosync = true;\r
-               } else {\r
-                       $dosync = filemtime(__FILE__) > filemtime($cache);\r
-               }\r
-\r
-               if (!$dosync) {\r
-                       return;\r
-               }\r
-\r
-               $this->views->dropAllViews();\r
-\r
-               $db = new CubeDbStruct($this->con);\r
-               // Table utilisateurs\r
-               $db->utilisateurs->utilisateur_id('integer', 0, false);\r
-               $db->utilisateurs->login('varchar', 128, false);\r
-               $db->utilisateurs->email('varchar', 128, false);\r
-               $db->utilisateurs->password('varchar', 40, false);\r
-               $db->utilisateurs->nom('varchar', 64, false);\r
-               $db->utilisateurs->prenom('varchar', 64, false);\r
-               $db->utilisateurs->agence('varchar', 64, true);\r
-               $db->utilisateurs->entreprise('integer', 0, false);\r
-               $db->utilisateurs->grade('integer', 1, false);\r
-               $db->utilisateurs->adresse('varchar', 512, false);\r
-               $db->utilisateurs->code_postal('varchar', 20, false);\r
-               $db->utilisateurs->ville('varchar', 64, false);\r
-               $db->utilisateurs->pays('varchar', 2, false);\r
-               $db->utilisateurs->telephone('varchar', 30, false);\r
-               $db->utilisateurs->mobile('varchar', 30, false);\r
-               $db->utilisateurs->fax('varchar', 30, false);\r
-               $db->utilisateurs->lang('varchar', 2, false, '\'fr\'');\r
-               $db->utilisateurs->date_creation('integer', 0, false);\r
-               $db->utilisateurs->settings('text', 0, false);\r
-               $db->utilisateurs->notes('text', 0, false);\r
-               $db->utilisateurs->ws_id('integer', 0, true);\r
-               $db->utilisateurs->ws_password('varchar', 40, false);\r
-               $db->utilisateurs->ws_settings('text', 0, false);\r
-               $db->utilisateurs->ws_rights('text', 0, false);\r
-               // Clés\r
-               $db->utilisateurs->primary('pk_utilisateurs', 'utilisateur_id');\r
-               $db->utilisateurs->unique('unique_utilisateurs_email', 'email');\r
-               $db->utilisateurs->index('index_utilisateurs_nom', 'BTREE', 'nom');\r
-               $db->utilisateurs->index('index_utilisateurs_prenom', 'BTREE', 'prenom');\r
-               $db->utilisateurs->reference('fk_utilisateurs_entreprise', 'entreprise', 'entreprises', 'entreprise_id', false, false);\r
-               // Table entreprises\r
-               $db->entreprises->entreprise_id('integer', 0, false);\r
-               $db->entreprises->nom('varchar', 64, false);\r
-               $db->entreprises->adresse('varchar', 512, false);\r
-               $db->entreprises->code_postal('varchar', 20, false);\r
-               $db->entreprises->ville('varchar', 64, false);\r
-               $db->entreprises->pays('varchar', 2, false);\r
-               $db->entreprises->adresse_facturation('varchar', 512, false);\r
-               $db->entreprises->tva_intra('varchar', 14, false);\r
-               $db->entreprises->ws_grade('integer', 0, false);\r
-               $db->entreprises->ws_admin('integer', 0, false);\r
-               $db->entreprises->date_creation('integer', 0, false);\r
-               $db->entreprises->notes('text', 0, false);\r
-               $db->entreprises->site('varchar', 256, false);\r
-               // Clés\r
-               $db->entreprises->primary('pk_entreprises', 'entreprise_id');\r
-               $db->entreprises->index('index_entreprises_nom', 'BTREE', 'nom');\r
-               // .\r
-               // Table projets\r
-               $db->projets->projet_id('integer', 0, false);\r
-               $db->projets->nom('varchar', 256, false);\r
-               $db->projets->date_creation('integer', 0, false);\r
-               $db->projets->date_debut('integer', 0, false);\r
-               $db->projets->date_fin('integer', 0, false);\r
-               $db->projets->deadline('integer', 0, false);\r
-               $db->projets->devis('integer', 0, false);\r
-               $db->projets->client('integer', 0, false);\r
-               $db->projets->chef('integer', 0, false);\r
-               $db->projets->status('integer', 1, false);\r
-               // Clés\r
-               $db->projets->primary('pk_projets', 'projet_id');\r
-               $db->projets->index('index_projets_status', 'BTREE', 'status');\r
-               $db->projets->index('index_projets_nom', 'BTREE', 'nom');\r
-               $db->projets->reference('fk_projets_client', 'client', 'utilisateurs', 'utilisateur_id', false, false);\r
-               $db->projets->reference('fk_projets_chef', 'chef', 'utilisateurs', 'utilisateur_id', false, false);\r
-               // .\r
-               // Table taches\r
-               $db->taches->tache_id('integer', 0, false);\r
-               $db->taches->nom('varchar', 256, false);\r
-               $db->taches->categorie('integer', 0, false);\r
-               $db->taches->type('integer', 1, false);\r
-               $db->taches->budget('float', 0, false);\r
-               $db->taches->taux_journalier('float', 0, false);\r
-               $db->taches->projet('integer', 0, false);\r
-               // Clés\r
-               $db->taches->primary('pk_taches', 'tache_id');\r
-               $db->taches->reference('fk_taches_projet', 'projet', 'projets', 'projet_id');\r
-               $db->taches->index('index_taches_nom', 'BTREE', 'nom');\r
-               $db->taches->index('index_taches_categorie', 'BTREE', 'categorie');\r
-               // .\r
-               // Table timereport\r
-               $db->timereport->utilisateur_id('integer', 0, false);\r
-               $db->timereport->tache_id('integer', 0, false);\r
-               $db->timereport->date('integer', 0, false);\r
-               $db->timereport->heures('integer', 2, false);\r
-               // Clés\r
-               $db->timereport->primary('pk_timereport', 'utilisateur_id', 'tache_id', 'date');\r
-               $db->timereport->reference('fk_timereport_utilisateur_id', 'utilisateur_id', 'utilisateurs', 'utilisateur_id');\r
-               $db->timereport->reference('fk_timereport_tache_id', 'tache_id', 'taches', 'tache_id');\r
-               $db->timereport->index('index_timereport_date', 'BTREE', 'date');\r
-               // .\r
-               // Table devis\r
-               $db->devis->devis_id('integer', 0, false);\r
-               $db->devis->nom('varchar', 256, false);\r
-               $db->devis->client('integer', 0, false);\r
-               $db->devis->createur('integer', 0, false);\r
-               $db->devis->lignes('text', 0, false);\r
-               $db->devis->status('integer', 1, false);\r
-               $db->devis->total_ht('float', 0, false);\r
-               $db->devis->date_creation('integer', 0, false);\r
-               $db->devis->email('text', 0, false);\r
-               $db->devis->adresse('text', 0, false);\r
-               // Clés\r
-               $db->devis->primary('pk_devis', 'devis_id');\r
-               $db->devis->index('index_devis_status', 'BTREE', 'status');\r
-               $db->devis->index('index_devis_nom', 'BTREE', 'nom');\r
-               $db->devis->reference('fk_devis_client', 'client', 'utilisateurs', 'utilisateur_id');\r
-               $db->devis->reference('fk_devis_createur', 'createur', 'utilisateurs', 'utilisateur_id');\r
-               // .\r
-               // Table factures\r
-               $db->factures->facture_id('varchar', 8, false);\r
-               $db->factures->nom('varchar', 256, false);\r
-               $db->factures->projet('integer', 0, false);\r
-               $db->factures->createur('integer', 0, false);\r
-               $db->factures->lignes('text', 0, false);\r
-               $db->factures->status('integer', 1, false);\r
-               $db->factures->total_ht('float', 0, false);\r
-               $db->factures->date_creation('integer', 0, false);\r
-               $db->factures->texte_complementaire('text', 0, false);\r
-               $db->factures->adresse('text', 0, false);\r
-               $db->factures->informations_paiement('text', 0, false);\r
-               $db->factures->date_paiement('integer', 0, false);\r
-               $db->factures->avoir('varchar', 8, false);\r
-               // Clés\r
-               $db->factures->primary('pk_factures', 'facture_id');\r
-               $db->factures->index('index_factures_status', 'BTREE', 'status');\r
-               $db->factures->index('index_factures_nom', 'BTREE', 'nom');\r
-               $db->factures->reference('fk_factures_projet', 'projet', 'projets', 'projet_id');\r
-               $db->factures->reference('fk_factures_createur', 'createur', 'utilisateurs', 'utilisateur_id');\r
-               // .\r
-               // Table dashboard\r
-               $db->dashboard->dashboard_id('integer', 0, false);\r
-               $db->dashboard->nom('varchar', 128, false);\r
-               $db->dashboard->settings('text', 0, false);\r
-               $db->dashboard->rubrique('varchar', 32, false);\r
-               $db->dashboard->equipier('integer', 0, false);\r
-               $db->dashboard->state('integer', 1, false, '1');\r
-               $db->dashboard->sort('integer', 0, false);\r
-               // Clés\r
-               $db->dashboard->primary('pk_dashboard', 'dashboard_id');\r
-               $db->dashboard->reference('fk_dashboard_equipier', 'equipier', 'utilisateurs', 'utilisateur_id');\r
-               // .\r
-               // Table Signatures\r
-               $db->signatures->signature_id('integer', 0, false);\r
-               $db->signatures->nom('varchar', 256, false);\r
-               $db->signatures->fbcredit('varchar', 64, false);\r
-               $db->signatures->fblink('varchar', 64, false);\r
-               $db->signatures->partnercredit('varchar', 64, false);\r
-               $db->signatures->partnerlink('varchar', 64, false);\r
-               // Clés\r
-               $db->signatures->primary('pk_signatures', 'signature_id');\r
-               // Table jeux d'icones\r
-               $db->icones->icone_id('integer', 0, false);\r
-               $db->icones->nom('varchar', 256, false);\r
-               $db->icones->proprietaire('integer', 0, false);\r
-               $db->icones->couleur('varchar', 6, false);\r
-               $db->icones->date('integer', 0, false);\r
-               // Clés\r
-               $db->icones->primary('pk_icones', 'icone_id');\r
-               $db->icones->index('index_icones_nom', 'BTREE', 'nom');\r
-               $db->icones->index('index_icones_date', 'BTREE', 'date');\r
-               $db->icones->reference('fk_icones_proprietaire', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
-               // Table thèmes\r
-               $db->themes->theme_id('integer', 0, false);\r
-               $db->themes->icones('integer', 0, false);\r
-               $db->themes->proprietaire('integer', 0, false);\r
-               $db->themes->nom('varchar', 256, false);\r
-               $db->themes->date('integer', 0, false);\r
-               $db->themes->parametres('text', 0, false);\r
-               // Clés\r
-               $db->themes->primary('pk_themes', 'theme_id');\r
-               $db->themes->index('index_themes_nom', 'BTREE', 'nom');\r
-               $db->themes->index('index_themes_date', 'BTREE', 'date');\r
-               $db->themes->reference('fk_themes_icones', 'icones', 'icones', 'icone_id');\r
-               $db->themes->reference('fk_themes_proprietaires', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
-               // Table des droits des themes\r
-               // $db->themes_droits->theme_id('integer', 0, false);\r
-               // $db->themes_droits->utilisateur_id('integer', 0, false);\r
-               // Clés\r
-               // $db->themes_droits->primary('pk_themes_droits', 'theme_id', 'utilisateur_id');\r
-               // $db->themes_droits->reference('fk_themes_droits_theme_id', 'theme_id', 'themes', 'theme_id');\r
-               // $db->themes_droits->reference('fk_themes_droits_utilisateur_id', 'utilisateur_id', 'utilisateurs', 'utilisateur_id');\r
-               // Table des langues\r
-               $db->langues->lang_id('varchar', 20, false);\r
-               $db->langues->font('varchar', 64, false);\r
-               $db->langues->charset('varchar', 64, false);\r
-               $db->langues->traductions('text', 0, false);\r
-               // Clés\r
-               $db->langues->primary('pk_langues', 'lang_id');\r
-               // .\r
-               // Table documents\r
-               $db->documents->document_id('integer', 0, false);\r
-               $db->documents->file('varchar', 256, false);\r
-               $db->documents->proprietaire('integer', 0, false);\r
-               $db->documents->pages('integer', 0, false);\r
-               $db->documents->trim('text', 0, false);\r
-               $db->documents->date('integer', 0, false);\r
-               $db->documents->localInfos('text', 0, false);\r
-               $db->documents->generalInfos('text', 0, false);\r
-               $db->documents->conversionInfos('text', 0, false);\r
-               $db->documents->numberSections('text', 0, false);\r
-               $db->documents->localHash('varchar', 64, false);\r
-               // Clés\r
-               $db->documents->primary('pk_documents', 'document_id');\r
-               $db->documents->index('index_documents_file', 'BTREE', 'file');\r
-               $db->documents->index('index_documents_date', 'BTREE', 'date');\r
-               $db->documents->index('index_documents_localHash', 'BTREE', 'localHash');\r
-               $db->documents->reference('fk_documents_proprietaire', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
-               // .\r
-               // Table pages des documents\r
-               $db->document_links->document_id('integer', 0, false);\r
-               $db->document_links->document_page('integer', 0, false);\r
-               $db->document_links->links('text', 0, false);\r
-               $db->document_links->rulers('text', 0, false);\r
-               $db->document_links->update('integer', 0, false);\r
-               // Clés\r
-               $db->document_links->primary('pk_document_links', 'document_id', 'document_page', 'update');\r
-               $db->document_links->index('index_document_links_date', 'BTREE', 'update');\r
-               $db->document_links->index('index_document_links_document_id', 'BTREE', 'document_id');\r
-               // .\r
-               // Table Books\r
-               $db->books->book_id('integer', 0, false);\r
-               $db->books->nom('varchar', 256, false);\r
-               $db->books->lang('varchar', 20, false);\r
-               $db->books->theme('integer', 0, false);\r
-               $db->books->proprietaire('integer', 0, false);\r
-               // $db->books->projet('integer', 0, false);\r
-               $db->books->hash('varchar', 32, false);\r
-               $db->books->compteur_visites('integer', 0, false, 20);\r
-               $db->books->status('integer', 0, false);\r
-               $db->books->date_status('integer', 0, false);\r
-               $db->books->parametres('text', 0, false);\r
-               $db->books->chapters('text', 0, false);\r
-               $db->books->extras('text', 0, false);\r
-               $db->books->traductions('text', 0, false);\r
-               $db->books->date('integer', 0, false);\r
-               $db->books->numerotation('text', 0, false);\r
-               $db->books->changedate('integer', 0, false);\r
-               $db->books->compiledate('integer', 0, false);\r
-               // Clés\r
-               $db->books->primary('pk_books', 'book_id');\r
-               $db->books->index('index_books_nom', 'BTREE', 'nom');\r
-               $db->books->reference('fk_books_proprietaire', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
-               // $db->books->reference('fk_books_projet', 'projet', 'projets', 'projet_id');\r
-               // $db->books->reference('fk_books_lang', 'lang', 'langues', 'lang');\r
-               // .\r
-               // Table pages des publications\r
-               $db->book_pages->book_id('integer', 0, false);\r
-               $db->book_pages->book_page('integer', 0, false);\r
-               $db->book_pages->document_id('integer', 0, false);\r
-               $db->book_pages->document_page('integer', 0, false);\r
-               // Clés\r
-               $db->book_pages->primary('pk_book_pages', 'book_id', 'book_page');\r
-               $db->book_pages->reference('fk_book_pages_book_id', 'book_id', 'books', 'book_id');\r
-               $db->book_pages->reference('fk_book_pages_document_id', 'document_id', 'documents', 'document_id');\r
-               // .\r
-               // Table de cache des urls courtes\r
-               $db->book_short_url->long_url('varchar', 255, false);\r
-               $db->book_short_url->short_url('varchar', 64, false);\r
-               $db->book_short_url->book_id('integer', 0, false);\r
-               // Clés\r
-               $db->book_short_url->index('index_book_short_url_long_url', 'BTREE', 'long_url');\r
-               $db->book_short_url->index('index_book_short_url_book_id', 'BTREE', 'book_id');\r
-               // .\r
-               // Table des droits\r
-               $db->ws_users_tree->utilisateur_id('integer', 0, false);\r
-               $db->ws_users_tree->facturable_id('integer', 0, false);\r
-               $db->ws_users_tree->administrateur_id('integer', 0, false);\r
-               // Clé\r
-               $db->ws_users_tree->primary('pk_utilisateur_id', 'utilisateur_id');\r
-\r
-               try {\r
-                       $dbi = new CubeDbStruct($this->con);\r
-                       $dbi->synchronize($db);\r
-               }\r
-               catch(Exception $e) {\r
-                       fb($e);\r
-                       exit;\r
-               }\r
-\r
-               $this->views->createView('equipiers', 'SELECT * FROM utilisateurs WHERE grade>=1');\r
-               $this->views->createView('gerants', 'SELECT * FROM utilisateurs WHERE grade=2');\r
-               // $this->views->createView('ws_top_revendeurs', 'SELECT * FROM utilisateurs WHERE ws_grade=3 AND ws_admin IN(SELECT utilisateur_id FROM equipiers)');\r
-               // $this->views->createView('ws_revendeurs', 'SELECT * FROM utilisateurs WHERE ws_grade=3');\r
-               // $this->views->createView('ws_facturables', 'SELECT * FROM utilisateurs WHERE ws_grade BETWEEN 0 AND 3 AND ws_admin IN(SELECT utilisateur_id FROM equipiers)');\r
-               $this->views->createView('impayes_entreprises', 'SELECT SUM(total_ht) AS impaye, u.entreprise AS entreprise '\r
-                        . 'FROM utilisateurs u LEFT JOIN projets p ON u.utilisateur_id=p.client LEFT JOIN factures f ON f.projet=p.projet_id '\r
-                        . 'WHERE f.status=1 GROUP BY u.entreprise');\r
-               $this->views->createView('entreprises_inter', 'SELECT e.*,'\r
-                        . 'SUM(f.total_ht) AS ca '\r
-                        . 'FROM entreprises e LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id AND grade=0 '\r
-                        . 'LEFT JOIN projets p ON p.client=u.utilisateur_id '\r
-                        . 'LEFT JOIN factures f ON f.projet=p.projet_id AND f.status IN(1,2) '\r
-                        . 'GROUP BY e.entreprise_id');\r
-               $this->views->createView('entreprises_vue', 'SELECT e.*,i.impaye AS impaye'\r
-                        . ' FROM entreprises_inter e LEFT JOIN impayes_entreprises i ON e.entreprise_id=i.entreprise');\r
-               $this->views->createView('clients_entreprise', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation '\r
-                        . 'FROM entreprises e LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id AND u.grade=0');\r
-               $this->views->createView('utilisateurs_entreprise', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation, '\r
-                        . 'e.ws_grade, e.ws_admin '\r
-                        . 'FROM entreprises e LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id');\r
-               $this->views->createView('clients', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation, i.impaye, '\r
-                        . 'SUM(f.total_ht) AS ca '\r
-                        . 'FROM entreprises e LEFT JOIN impayes_entreprises i ON e.entreprise_id=i.entreprise LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id AND u.grade=0 LEFT JOIN projets p ON p.client=u.utilisateur_id LEFT JOIN factures f ON f.projet=p.projet_id AND f.status IN(1,2) '\r
-                        . 'GROUP BY u.utilisateur_id');\r
-               $this->views->createView('taches_vue', 'SELECT taches.tache_id,taches.nom,taches.categorie,taches.type,taches.budget,taches.projet,taches.taux_journalier, '\r
-                        . '(SUM(timereport.heures)/' . JOURNEE . ') AS jours_consommes, ((SUM(timereport.heures)/' . JOURNEE . ')/(taches.budget/taches.taux_journalier))*100 AS progression,(taches.budget/taches.taux_journalier) AS jours_prevus '\r
-                        . 'FROM taches LEFT JOIN timereport ON taches.tache_id=timereport.tache_id '\r
-                        . 'GROUP BY taches.tache_id');\r
-               $this->views->createView('taches_projet', 'SELECT projet, '\r
-                        . 'SUM(jours_prevus) AS jours_prevus,SUM(budget) AS budget,'\r
-                        . 'SUM(jours_consommes) AS jours_consommes, (SUM(jours_consommes)/SUM(jours_prevus))*100 AS progression '\r
-                        . 'FROM taches_vue GROUP BY projet');\r
-               $this->views->createView('devis_vue', 'SELECT devis.devis_id,devis.nom,devis.lignes,devis.status,devis.total_ht,devis.date_creation,devis.email,clients.utilisateur_id AS client_id,clients.rs AS client,equipiers.prenom AS createur,equipiers.utilisateur_id AS createur_id,devis.adresse '\r
-                        . 'FROM devis,clients,equipiers '\r
-                        . 'WHERE devis.client=clients.utilisateur_id AND devis.createur=equipiers.utilisateur_id');\r
-               $this->views->createView('factures_payees', 'SELECT * FROM factures WHERE status=2');\r
-               $this->views->createView('factures_valides', 'SELECT * FROM factures WHERE status IN(1,2)');\r
-               $this->views->createView('projets_inter', 'SELECT projets.projet_id,projets.nom,projets.status,projets.date_debut,projets.date_fin,projets.date_creation,projets.deadline,projets.devis,'\r
-                        . 'YEAR(FROM_UNIXTIME(projets.date_debut)) AS annee_debut,'\r
-                        . 'IF(YEAR(FROM_UNIXTIME(projets.date_fin))=1970,YEAR(NOW()),YEAR(FROM_UNIXTIME(projets.date_fin))) AS annee_fin,'\r
-                        . 'clients.rs AS client,equipiers.prenom AS chef,equipiers.utilisateur_id AS chef_id,clients.utilisateur_id AS client_id '\r
-                        . 'FROM projets,clients_entreprise clients,equipiers '\r
-                        . 'WHERE clients.utilisateur_id=projets.client AND equipiers.utilisateur_id=projets.chef', 'TEMPTABLE');\r
-               $this->views->createView('projets_inter1', 'SELECT projets.*,taches.jours_prevus,taches.jours_consommes,taches.progression,taches.budget AS budget, '\r
-                        . 'IF(taches.budget>0,SUM(factures_valides.total_ht)/taches.budget,1) AS rapport_facturation, '\r
-                        . 'SUM(factures_valides.total_ht) AS montant_facture '\r
-                        . 'FROM projets_inter projets '\r
-                        . 'LEFT JOIN taches_projet taches ON taches.projet=projets.projet_id '\r
-                        . 'LEFT JOIN factures_valides ON factures_valides.projet=projets.projet_id '\r
-                        . 'GROUP BY projets.projet_id,factures_valides.projet', 'TEMPTABLE');\r
-               $this->views->createView('projets_vue', 'SELECT p.*,SUM(f.total_ht) AS montant_paye, '\r
-                        . 'IF(p.budget>0,SUM(f.total_ht)/p.budget,1) AS rapport_paiement '\r
-                        . 'FROM projets_inter1 p '\r
-                        . 'LEFT JOIN factures_payees f ON f.projet=p.projet_id '\r
-                        . 'GROUP BY p.projet_id', 'TEMPTABLE');\r
-               $this->views->createView('factures_vue', 'SELECT factures.facture_id,factures.nom,factures.lignes,factures.status,factures.total_ht,factures.date_creation,factures.texte_complementaire,factures.informations_paiement,factures.date_paiement,factures.adresse,factures.avoir,'\r
-                        . 'projets.projet_id AS projet_id,projets.nom AS projet,projets.client_id AS client_id,projets.client as client,equipiers.prenom AS createur,equipiers.utilisateur_id AS createur_id '\r
-                        . 'FROM factures,projets_vue projets,equipiers '\r
-                        . 'WHERE factures.projet=projets.projet_id AND factures.createur=equipiers.utilisateur_id AND (factures.facture_id>=0 OR factures.status=1)  ');\r
-               $this->views->createView('projets_timereport', 'SELECT * FROM projets_vue WHERE status=0');\r
-               $this->views->createView('order_timereport', 'SELECT utilisateur_id,projet AS projet_id,MAX(date) AS derniere_activite FROM timereport,taches,projets WHERE taches.tache_id=timereport.tache_id AND taches.projet=projets.projet_id AND projets.status=0 GROUP BY utilisateur_id,taches.projet ORDER BY utilisateur_id ASC,MAX(date) DESC');\r
-               $this->views->createView('ca', 'SELECT SUM(total_ht) AS ca, YEAR(FROM_UNIXTIME(date_creation)) annee FROM factures WHERE status IN(1,2) GROUP BY annee');\r
-               $this->views->createView('ftpaccess', 'SELECT email AS userid,password AS passwd,utilisateur_id AS uid,'\r
-                        . '\'1000\' AS gid,CONCAT(\'' . FTPROOT . '\',utilisateur_id) AS homedir, \'/bin/false\' AS shell '\r
-                        . 'FROM utilisateurs WHERE grade=0 '\r
-                        . 'UNION '\r
-                        . 'SELECT email AS userid,ws_password AS passwd,utilisateur_id AS uid,'\r
-                        . '\'1000\' AS gid,CONCAT(\'' . FTPROOT . '\',utilisateur_id) AS homedir, \'/bin/false\' AS shell '\r
-                        . 'FROM utilisateurs WHERE grade=0 AND ws_password!=\'\'');\r
-               $this->views->createView('chiffres_categories', 'SELECT p.annee_fin AS annee, t.categorie, SUM(t.budget) AS ca '\r
-                        . 'FROM projets_vue p, taches_vue t '\r
-                        . 'WHERE t.projet=p.projet_id '\r
-                        . 'GROUP BY t.categorie,p.annee_fin');\r
-               $this->views->createView('temps_categories', 'SELECT p.annee_fin AS annee, t.categorie, SUM(t.jours_consommes) AS jours_consommes,SUM(t.jours_prevus) AS jours_prevus '\r
-                        . 'FROM projets_vue p, taches_vue t '\r
-                        . 'WHERE t.projet=p.projet_id '\r
-                        . 'GROUP BY t.categorie,p.annee_fin');\r
-               $this->views->createView('books_vue', 'SELECT b.*,b.proprietaire AS proprietaire_id,c.rs AS proprietaire_nom,c.ws_admin '\r
-                        . 'FROM books b, utilisateurs_entreprise c WHERE b.proprietaire=c.utilisateur_id', 'TEMPTABLE');\r
-               $this->views->createView('themes_vue', 'SELECT t.*,COUNT(*) AS nb_books,GROUP_CONCAT(DISTINCT b.book_id) AS books '\r
-                        . 'FROM themes t '\r
-                        . 'LEFT JOIN books b ON t.theme_id=b.theme '\r
-                        . 'GROUP BY t.theme_id');\r
-               // cubeDb::mysqlConvert($this->con);\r
-       }\r
-\r
-       public function sauvePreferencesUtilisateur()\r
-       {\r
-               $dao = new extranetDAOUtilisateur($this->con);\r
-               $dao->sauvePreferences($this->user);\r
-       }\r
-\r
-       public function refreshWSUsersTree()\r
-       {\r
-               $t = new wsUsersTree($this->con);\r
-               $t->refreshWSUsersTree();\r
-       }\r
-}\r
-\r
-?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.filtre.php b/inc/extranet/Controlleur/class.extranet.filtre.php
deleted file mode 100644 (file)
index b8fed38..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php\r
-class extranetFiltre {\r
-       public $titre;\r
-       public $varname;\r
-       public $settings;\r
-       public $values;\r
-       public $all;\r
-\r
-       public function __construct($titre, $varname, $settings)\r
-       {\r
-               $this->titre = $titre;\r
-               $this->varname = $varname;\r
-               $this->all = __('Tous');\r
-               $this->settings = isset($settings[$varname]) && count($settings[$varname])?$settings[$varname]:null;\r
-               $this->getValues();\r
-       }\r
-\r
-       protected function getValues()\r
-       {\r
-               global $core;\r
-               if ($this->varname == 'equipier' || $this->varname == 'equipier_participe') {\r
-                       $r = $core->con->select('SELECT prenom,utilisateur_id FROM equipiers');\r
-                       while ($r->fetch()) {\r
-                               $this->values[$r->prenom] = $r->utilisateur_id;\r
-                       }\r
-               } elseif ($this->varname == 'annee') {\r
-                       for($i = 2006;$i <= date('Y', TIME);$i++) {\r
-                               $this->values[$i] = $i;\r
-                       }\r
-                       $this->all = __('Toutes');\r
-               } elseif ($this->varname == 'status_projet') {\r
-                       $this->values = array(__('En cours') => 'status_0',\r
-                               __('Terminé') => 'status_1',\r
-                               __('Facturés') => 'factures_1',\r
-                               __('Non facturés') => 'factures_0');\r
-               } elseif ($this->varname == 'status_client_projet') {\r
-                       $this->values = array(__('En cours') => '0', __('Terminé') => '1');\r
-               } elseif ($this->varname == 'status_facture') {\r
-                       $this->values = array_flip($core->factures_status);\r
-               } elseif ($this->varname == 'annee_facture') {\r
-                       for($i = 2008;$i <= date('Y', TIME);$i++) {\r
-                               $this->values[$i] = $i;\r
-                       }\r
-                       $this->all = __('Toutes');\r
-               } elseif ($this->varname == 'status_devis') {\r
-                       $this->values = array_flip($core->devis_status);\r
-               } elseif ($this->varname == 'impaye') {\r
-                       $this->values = array(__('Non') => '0', __('Oui') => '1');\r
-               } elseif ($this->varname == 'status_book') {\r
-                       $this->values = array_flip($core->books_status);\r
-               } elseif ($this->varname == 'annee_book') {\r
-                       for($i = 2007;$i <= date('Y', TIME);$i++) {\r
-                               $this->values[$i] = $i;\r
-                       }\r
-                       $this->all = __('Toutes');\r
-               }\r
-       }\r
-\r
-       public function display()\r
-       {\r
-               if (is_null($this->settings) || count($this->settings) == count($this->values)) {\r
-                       $class = '';\r
-                       $titre = $this->all;\r
-               } else {\r
-                       $class = ' active';\r
-                       $t = array();\r
-                       foreach($this->settings as $k => $v) {\r
-                               $t[] = array_search($k, $this->values);\r
-                       }\r
-                       $titre = implode(', ', $t);\r
-               }\r
-\r
-               $limit = 20;\r
-               $t = (mb_strlen($titre) > $limit)?mb_substr($titre, 0, $limit-4) . '...':$titre;\r
-\r
-               $res = '<div class="filtre">';\r
-               $res .= '<span>' . $this->titre . '</span>';\r
-               $res .= '<div class="input' . $class . '"><span>' . $t . '</span>' ;\r
-               $res .= '<a href="#" class="bt" title="' . $titre . '">' . cubeMedia::spacer(155, 18) . '</a>';\r
-               $res .= '</div>';\r
-               $res .= '<ul><li class="all">' . $this->all . '</li>';\r
-               $last = count($this->values)-1;\r
-               $i = 0;\r
-               foreach($this->values as $v => $k) {\r
-                       $checked = false;\r
-                       if (is_null($this->settings)) {\r
-                               $checked = true;\r
-                       } elseif (isset($this->settings[$k])) {\r
-                               $checked = true;\r
-                       }\r
-                       $l = ($i == $last)?' class="last"':'';\r
-                       $res .= '<li' . $l . '><label>' . form::checkbox(array($this->varname . '[' . $k . '][]'), 1, $checked) . ' ' . $v . '</label></li>';\r
-                       $i++;\r
-               }\r
-               $res .= '</ul>';\r
-               $res .= '</div>';\r
-               return $res;\r
-       }\r
-\r
-       public static function test($varname, $settings)\r
-       {\r
-               $f = new extranetFiltre(__(''), $varname, array());\r
-               return isset($settings[$varname]) && count($f->values) > count($settings[$varname]) && count($settings[$varname]);\r
-       }\r
-}\r
-\r
-?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.page.php b/inc/extranet/Controlleur/class.extranet.page.php
deleted file mode 100644 (file)
index 4d87026..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-<?php\r
-class extranetPage {\r
-       public static function header($args)\r
-       {\r
-               global $js;\r
-               global $core;\r
-               // Entête HTML\r
-               $res = '<html>';\r
-               $res .= '<head>';\r
-               // Titre de la page\r
-               $res .= '<title>' . TITLE . '</title>';\r
-               // Favicon\r
-               $res .= cubePage::favicon(IMG . '/favicon.ico');\r
-               $res .= '</head>';\r
-               $res .= '<body>';\r
-               // Haut de la page\r
-               $res .= '<div id="header">';\r
-               $res .= '<div class="content">';\r
-               // Le logo avec le lien de retour à l'accueil\r
-               $res .= '<div id="logo"><a href="' . SITE_PATH . '">' . cubeMedia::image(IMG . '/logo.png') . '</a></div>';\r
-               if ($core->user) {\r
-                       $search = self::search($args);\r
-\r
-                       $class = $search?' class="with-search"':'';\r
-                       // Le message personnalisé avec un lien pour se déconnecter\r
-                       $res .= '<div id="welcome"' . $class . '>' . __('Bienvenue') . ' ' . $core->user->prenom . ' ' . $core->user->nom . ' ';\r
-                       $res .= '| <a href="#" class="popup" rel="mesParametres">' . __('Mes paramètres') . '</a> ';\r
-                       $res .= '| <a href="' . SITE_PATH . 'logout">' . __('Se déconnecter') . '</a>';\r
-                       if ($search) {\r
-                               $res .= ' | ';\r
-                       }\r
-                       $res .= '</div>';\r
-                       $res .= $search;\r
-               }\r
-               // Barre d'onglets\r
-               $res .= self::nav($args);\r
-               $res .= '</div>';\r
-               $res .= '</div>';\r
-               return $res;\r
-       }\r
-\r
-       public static function search($args)\r
-       {\r
-               global $core;\r
-\r
-               if (!extranetDroits::recherche($args[0])) {\r
-                       return;\r
-               }\r
-               cubePage::emptyfield();\r
-               $settings = $core->user->getSettings($args[0]);\r
-               $action = 'search' . ucfirst($args[0]);\r
-\r
-               $default = isset($_POST['q'])?$_POST['q']:__('Rechercher');\r
-               // Formulaire de recherche\r
-               $res = '<form action="' . $action . '" method="post">';\r
-               $res .= '<div id="search">' . form::field('q', 20, 128, $default, 'empty_field') . '<a href="#" class="submit">' . cubeMedia::spacer(22, 22) . '</a></div>';\r
-               $res .= '</form>';\r
-               return $res;\r
-       }\r
-\r
-       public static function nav($args)\r
-       {\r
-               // Barre d'onglets\r
-               global $core;\r
-               // Liste des onglets\r
-               if (!$core->user) {\r
-                       // Si pas d'utilisateur authentifié\r
-                       $onglets = array(__('Identification') => 'login');\r
-               } else {\r
-                       // Navigation personalisée de l'utilisateur en fonction de ses droits\r
-                       if (MODE == 'extranet') {\r
-                               $onglets = extranetDroits::navigation();\r
-                       } elseif (MODE == 'ws') {\r
-                               $onglets = wsDroits::navigation();\r
-                       }\r
-               }\r
-               $res = '<div id="nav">';\r
-               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
-               }\r
-               $res .= '</div>';\r
-               return $res;\r
-       }\r
-\r
-       public static function barre($filtres = null, $action = null, $dashboard = null, $shortcuts = null)\r
-       {\r
-               if (is_null($shortcuts) && is_null($filtres)) {\r
-                       return '<div id="bar" class="vide"></div>';\r
-               }\r
-\r
-               $res = '<div id="bar">';\r
-               $res .= '<div class="content">';\r
-\r
-               if (!is_null($shortcuts)) {\r
-                       $res .= self::shortcuts($shortcuts);\r
-               }\r
-\r
-               if (!is_null($filtres) && is_array($filtres)) {\r
-                       $res .= '<form action="' . $action . '" method="post" class="submitonchange">';\r
-                       $hasRealFilters = false;\r
-                       foreach($filtres as $filtre) {\r
-                               $res .= $filtre->display();\r
-                               if ($filtre instanceof extranetFiltre) {\r
-                                       $hasRealFilters = true;\r
-                               }\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
-                       }\r
-                       $res .= '</form>';\r
-               }\r
-               $res .= '</div>';\r
-               $res .= '</div>';\r
-               return $res;\r
-       }\r
-\r
-       public static function shortcuts($shortcuts)\r
-       {\r
-               global $core;\r
-\r
-               $res = '';\r
-               foreach($shortcuts as $s) {\r
-                       $res .= '<div class="shortcut">' . $s . '</div>';\r
-               }\r
-               return $res;\r
-       }\r
-\r
-       public static function tMain($id = null, $big = false)\r
-       {\r
-               $id = is_null($id)?'':' id="' . $id . '"';\r
-               $big = $big?' class="big"':'';\r
-               return '<div id="main"' . $big . '><div id="logo-main"></div><div class="content"' . $id . '>';\r
-       }\r
-\r
-       public static function bh($class = null)\r
-       {\r
-               $class = is_null($class)?' class="b"':' class="b ' . $class . '"';\r
-\r
-               $res = '<table' . $class . '>';\r
-               $res .= '<tr class="b-top">';\r
-               $res .= '<td class="b-nw"></td><td class="b-n"></td><td class="b-ne"></td>';\r
-               $res .= '</tr>';\r
-               $res .= '<tr class="b-center">';\r
-               $res .= '<td class="b-w"></td><td class="b-c c"><div>';\r
-               return $res;\r
-       }\r
-\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
-               }\r
-               $res.='</td><td class="b-se"></td>';\r
-               $res .= '</tr>';\r
-               $res .= '</table>';\r
-               return $res;\r
-       }\r
-\r
-       public static function pager($current, $nb, $par_page, $url)\r
-       {\r
-               $style = 'pgleft';\r
-               if ($par_page == 0 || $nb <= $par_page) {\r
-                       return;\r
-               }\r
-               $par_groupe = 10;\r
-               $pager = new cubePager($current, $nb, $par_page, $par_groupe);\r
-               $pager->html_link_sep = ' ';\r
-               $pager->html_prev = '&laquo;';\r
-               $pager->html_next = '&raquo;';\r
-\r
-               $pager->base_url = '#" rel="' . $url . '" class="ajax';\r
-\r
-               $links = $pager->getLinks();\r
-               if (trim($links) == '') {\r
-                       return '';\r
-               }\r
-\r
-               $res = '<div class="pager-holder ' . $style . '"><div class="pager ' . $style . '">';\r
-               $res .= $links;\r
-               $res .= '</div></div>';\r
-\r
-               return $res;\r
-       }\r
-\r
-       public static function bMain()\r
-       {\r
-               return '</div></div>';\r
-       }\r
-\r
-       public static function footer()\r
-       {\r
-               $res = '<div id="footer"></div>';\r
-               $res .= cubePage::googleAnalytics(GA);\r
-               $res .= '</body>';\r
-               $res .= '</html>';\r
-               return $res;\r
-       }\r
-}\r
-\r
-?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.shortcuts.php b/inc/extranet/Controlleur/class.extranet.shortcuts.php
deleted file mode 100644 (file)
index 13b1183..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php\r
-\r
-class extranetShortcuts {\r
-       public $titre;\r
-       public $values;\r
-       public $selectedValue;\r
-\r
-       public function __construct($titre, $values,$selectedValue)\r
-       {\r
-               $this->titre = $titre;\r
-               $this->values = $values;\r
-               $this->selectedValue=$selectedValue;\r
-       }\r
-\r
-       public function display()\r
-       {\r
-               // $limit = 20;\r
-               // $t = (mb_strlen($titre) > $limit)?mb_substr($titre, 0, $limit-4) . '...':$titre;\r
-               $res = '<div class="filtre">';\r
-               $res .= '<span>' . $this->titre . '</span>';\r
-               $res .= '<div class="input"><span><strong>'.$this->selectedValue.'</strong></span>' ;\r
-               $res .= '<a href="#" class="bt" title="' . $this->titre . '">' . cubeMedia::spacer(155, 18) . '</a>';\r
-               $res .= '</div>';\r
-               $res .= '<ul>';\r
-               $last = count($this->values)-1;\r
-               $i = 0;\r
-               foreach($this->values as $v => $k) {\r
-                       $l = ($i == $last)?' class="last"':'';\r
-                       $res .= '<li' . $l . '>'.cubeMedia::spacer(1,17).'<a href="' . $k . '">' . $v . '</a></li>';\r
-                       $i++;\r
-               }\r
-               $res .= '</ul>';\r
-               $res .= '</div>';\r
-               return $res;\r
-       }\r
-}\r
-\r
-?>
\ No newline at end of file
index 5b90bad76deda74a4b96ecd8bd1710827660d31e..ab95b87afd4bd6fae6729cb55c1cb269f26dcb6f 100644 (file)
@@ -3,6 +3,8 @@
 require_once(dirname(__FILE__) . '/config.inc.php');\r
 // Chargement de la classe cube\r
 require_once(dirname(__FILE__) . '/cube/_common.php');\r
+// Inclusion des classes communes\r
+require_once(dirname(__FILE__) . '/commons/_common.php');\r
 // Inclusion des classes propres à l'extranet et à la DAO\r
 require_once(dirname(__FILE__) . '/extranet/Metier/_common.php');\r
 require_once(dirname(__FILE__) . '/extranet/Controlleur/_common.php');\r
@@ -20,7 +22,7 @@ if (MODE == 'extranet') {
        $GLOBALS['ajaxClasses'][] = 'extranetAjax';\r
 }\r
 // Instantiation de la classe de contrôle\r
-$core = new extranetCore();\r
+$core = new commonCore();\r
 // Définition des handlers des urls\r
 $core->url->registerDefault(array('extranetUrl', 'home'));\r
 $core->url->register('ajax', 'ajax', '^ajax(.*)$', array('cubeAjax', 'ajax'));\r