en | fr  | Contact  | Print  | Share

FrameBeurk File

Fmbk/Module/Uzers/_sql/moduleUzers.sql

# FrameBeurk V0.61 Copyright ToolOscope 2015. Licence CeCILL-C.
# initialisation du module Uzers
#

#
# Structure de la table `Uzers_User`
# IdUser : T(à activer) V(Ouvert) F(Fermé) C(Censuré)
#

CREATE TABLE IF NOT EXISTS Uzers_User (
  IdUser INT unsigned NOT NULL,
  `User` varchar(16) collate utf8_unicode_ci NOT NULL default '',
  MotDePasse varchar(32) collate utf8_unicode_ci NOT NULL default '',
  Alerte char(1) collate utf8_unicode_ci NOT NULL,
  IdStyle INT unsigned NOT NULL default '0',
  adresseEmail varchar(64) collate utf8_unicode_ci NOT NULL,
  NbrSujets INT NOT NULL default '0',
  NbrCommentaires INT NOT NULL default '0',
  Donnees text collate utf8_unicode_ci NOT NULL,
  IdEtat INT unsigned NOT NULL,
  NoVersion INT unsigned NOT NULL,
  PRIMARY KEY (`IdUser`),
  UNIQUE KEY User (`User`),
  FULLTEXT KEY (`User`,Donnees)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
# --------------------------------------------------------

#
# Structure de la table `Uzers_UserSession`
#

CREATE TABLE IF NOT EXISTS `Uzers_UserSession` (
  IdUser INT unsigned NOT NULL default '0',
  TsDeb bigint(20) unsigned NOT NULL default '0',
  TsFin bigint(20) unsigned NOT NULL default '0',
  IdEtat INT unsigned NOT NULL,
  NbTransac INT unsigned NOT NULL default '0',
  IdStyle INT unsigned NOT NULL default '0',
  AdresseIP char(32) collate utf8_unicode_ci NOT NULL default '',
  Groupes varchar(256) collate utf8_unicode_ci NOT NULL default '',
  PRIMARY KEY  (`IdUser`, `TsDeb`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
# --------------------------------------------------------

#
# Structure de la table `Uzers_Groupe`
# Etat V(Actif) F(Suspendu)

CREATE TABLE IF NOT EXISTS Uzers_Groupe (
  IdGroupe INT unsigned NOT NULL,
  Groupe varchar(32) collate utf8_unicode_ci NOT NULL default '',
  NbrUsers INT NOT NULL default '0',
  NbrPermissions INT NOT NULL default '0',
  Donnees text collate utf8_unicode_ci NOT NULL,
  IdEtat INT unsigned NOT NULL,
  NoVersion INT unsigned NOT NULL,
  PRIMARY KEY (IdGroupe),
  UNIQUE KEY (Groupe),
  FULLTEXT KEY (Groupe, Donnees)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
# --------------------------------------------------------

#
# Structure de la table `Uzers_UserGroupe`
# Etat V(Actif) F(Suspendu)

CREATE TABLE IF NOT EXISTS Uzers_UserGroupe (
  IdUserGroupe INT unsigned NOT NULL,
  IdUser INT unsigned NOT NULL default '0',
  IdGroupe INT unsigned NOT NULL default '0',
  IdEtat INT unsigned NOT NULL,
  NoVersion INT unsigned NOT NULL,
  PRIMARY KEY (IdUserGroupe),
  UNIQUE KEY (IdUser, IdGroupe)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
# --------------------------------------------------------

#
# Structure de la table `Uzers_Permission`
# Etat V(Actif) F(Suspendu)

CREATE TABLE IF NOT EXISTS Uzers_Permission (
  IdPermission INT unsigned NOT NULL,
  Permission varchar(32) collate utf8_unicode_ci NOT NULL default '',
  NbrGroupes INT NOT NULL default '0',
  Donnees text collate utf8_unicode_ci NOT NULL,
  IdEtat INT unsigned NOT NULL,
  NoVersion INT unsigned NOT NULL,
  PRIMARY KEY (IdPermission),
  UNIQUE KEY (Permission),
  FULLTEXT KEY (Permission,Donnees)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
# --------------------------------------------------------

#
# Structure de la table `Uzers_PermissionPerimetre`
# PermisOuInterdit : 0=Permis, 1=Interdit

CREATE TABLE IF NOT EXISTS Uzers_PermissionPerimetre (
  IdPermissionPerimetre INT unsigned NOT NULL,
  IdPermission INT unsigned NOT NULL default '0',
  IdEntite INT unsigned NOT NULL default '0',
  PermisOuInterdit tinyint(1) unsigned NOT NULL default '0',
  IdEtat INT unsigned NOT NULL,
  NoVersion INT unsigned NOT NULL,
  PRIMARY KEY (IdPermissionPerimetre),
  UNIQUE KEY (IdPermission, IdEntite)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
# --------------------------------------------------------

#
# Structure de la table `Uzers_PermissionAction`
# ActionOuVue 0(Action) 1(Vue)
# PermetOuInterdit 0 (permet) 1(interdit)

CREATE TABLE IF NOT EXISTS Uzers_PermissionAction (
  IdPermissionAction INT unsigned NOT NULL,
  IdPermission INT unsigned NOT NULL default '0',
  IdAction INT unsigned NOT NULL default '0',
  IdEntite INT unsigned NOT NULL default '0',
  IdEtat INT unsigned NOT NULL,
  NoVersion INT unsigned NOT NULL,
  PRIMARY KEY (IdPermissionAction),
  UNIQUE KEY (IdPermission, IdAction, IdEntite)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
# --------------------------------------------------------

#
# Structure de la table `Uzers_GroupePermission`
# Etat V(Actif) F(Suspendu)

CREATE TABLE IF NOT EXISTS Uzers_GroupePermission (
  IdGroupePermission INT unsigned NOT NULL,
  IdGroupe INT unsigned NOT NULL default '0',
  IdPermission INT unsigned NOT NULL default '0',
  IdEtat INT unsigned NOT NULL,
  NoVersion INT unsigned NOT NULL,
  PRIMARY KEY (IdGroupePermission),
  UNIQUE KEY (IdGroupe, IdPermission)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
# --------------------------------------------------------

#
# déclaration du module 'Uzers'
CALL Beurk_creeTerminalEtLien ('Uzers', 'estDeType', 'Module', @idTermModuleUzers);

# Création des entités

CALL Beurk_creeTerminalEtLien ('User', 'estDeType', 'Entite', @idTermEntiteUser);
CALL Beurk_creeTerminalEtLien ('Groupe', 'estDeType', 'Entite', @idTermEntiteGroupe);
CALL Beurk_creeTerminalEtLien ('Permission', 'estDeType', 'Entite', @idTermEntitePermission);
CALL Beurk_creeTerminalEtLien ('PermissionAction', 'estDeType', 'Entite', @idTermEntitePermissionAction);
CALL Beurk_creeTerminalEtLien ('PermissionPerimetre', 'estDeType', 'Entite', @idTermEntitePermissionPerimetre);
CALL Beurk_creeTerminalEtLien ('UserGroupe', 'estDeType', 'Entite', @idTermRelationUserGroupe);
CALL Beurk_creeTerminalEtLien ('GroupePermission', 'estDeType', 'Entite', @idTermRelationGroupePermission);

# Création (si besoin) des états

CALL Beurk_creeTerminalEtLien ('V', 'estDeType', 'Etat', @idTermEtatV);
CALL Beurk_creeTerminalEtLien ('C', 'estDeType', 'Etat', @idTermEtatC);
CALL Beurk_creeTerminalEtLien ('F', 'estDeType', 'Etat', @idTermEtatF);
CALL Beurk_creeTerminalEtLien ('T', 'estDeType', 'Etat', @idTermEtatT);

CALL Beurk_creeLienTerminal (@idTermEntiteUser, 'estDefiniPar', 'Uzers');
CALL Beurk_creeLienTerminal (@idTermEntiteGroupe, 'estDefiniPar', 'Uzers');
CALL Beurk_creeLienTerminal (@idTermEntitePermission, 'estDefiniPar', 'Uzers');
CALL Beurk_creeLienTerminal (@idTermEntitePermissionAction, 'estDefiniPar', 'Uzers');
CALL Beurk_creeLienTerminal (@idTermEntitePermissionPerimetre, 'estDefiniPar', 'Uzers');
CALL Beurk_creeLienTerminal (@idTermRelationUserGroupe, 'estDefiniPar', 'Uzers');
CALL Beurk_creeLienTerminal (@idTermRelationGroupePermission, 'estDefiniPar', 'Uzers');

# Création des codes Action / Vue
# des erreurs à l insert peuvent intervenir quand les codes sont déjà déclarés par un autre module

CALL Beurk_creeTerminalEtLien ('installe', 'estDeType', 'Action', @idTermActionInstalle);
CALL Beurk_creeTerminalEtLien ('detail', 'estDeType', 'Action', @idTermActionDetail);
CALL Beurk_creeTerminalEtLien ('alerte', 'estDeType', 'Action', @idTermActionAlerte);
CALL Beurk_creeTerminalEtLien ('recherche', 'estDeType', 'Action', @idTermActionRecherche);
CALL Beurk_creeTerminalEtLien ('censure', 'estDeType', 'Action', @idTermActionCensure);
CALL Beurk_creeTerminalEtLien ('ferme', 'estDeType', 'Action', @idTermActionFerme);
CALL Beurk_creeTerminalEtLien ('modifie', 'estDeType', 'Action', @idTermActionModifie);
CALL Beurk_creeTerminalEtLien ('login', 'estDeType', 'Action', @idTermActionLogin);
CALL Beurk_creeTerminalEtLien ('logout', 'estDeType', 'Action', @idTermActionLogout);
CALL Beurk_creeTerminalEtLien ('menu', 'estDeType', 'Action', @idTermActionMenu);
CALL Beurk_creeTerminalEtLien ('reactive', 'estDeType', 'Action', @idTermActionReactive);
CALL Beurk_creeTerminalEtLien ('rehabilite', 'estDeType', 'Action', @idTermActionRehabilite);
CALL Beurk_creeTerminalEtLien ('active', 'estDeType', 'Action', @idTermActionActive);
CALL Beurk_creeTerminalEtLien ('email', 'estDeType', 'Action', @idTermActionEmail);
CALL Beurk_creeTerminalEtLien ('suspend', 'estDeType', 'Action', @idTermActionSuspend);
CALL Beurk_creeTerminalEtLien ('cree', 'estDeType', 'Action', @idTermActionCree);
CALL Beurk_creeTerminalEtLien ('supprime', 'estDeType', 'Action', @idTermActionSupprime);
CALL Beurk_creeTerminalEtLien ('associe', 'estDeType', 'Action', @idTermActionAssocie);
CALL Beurk_creeTerminalEtLien ('liste', 'estDeType', 'Action', @idTermActionListe);
CALL Beurk_creeTerminalEtLien ('previsualise', 'estDeType', 'Action', @idTermActionPrevisualise);
CALL Beurk_creeTerminalEtLien ('liens', 'estDeType', 'Action', @idTermActionLiens);
CALL Beurk_creeTerminalEtLien ('permissions', 'estDeType', 'Action', @idTermActionPermissions);

# création de la relation 'aPourCreateur'     et sa réciproque 'estCreateurDe'        
CALL Beurk_creeTerminalEtLien ('aPourCreateur', 'estDeType', 'Relation', @idTermAPourCreateur);
CALL Beurk_creeTerminalEtLien ('estCreateurDe', 'estDeType', 'Relation', @idTermEstCreateurDe);
CALL Beurk_creeLienTerminal (@idTermEstCreateurDe, 'estReciproqueDe', 'aPourCreateur');

CALL Beurk_creeLienTerminal (@idTermAPourCreateur, 'estDefiniPar', 'Uzers');


# TimeStamp au Format Beurk pour les insertions
SET @TS = NOW();
SET @BeurkTS = CONCAT(substr(@TS, 1, 4), substr(@TS,6,2), substr(@TS,9,2), substr(@TS, 12, 2), substr(@TS,15,2), substr(@TS,18,2), '000');

# création du User admin (mot de passe initial = admin)
CALL Beurk_creeIdSiPasTrouve (1, @IdNoeudUserAdmin, "SELECT IdUser FROM Uzers_User WHERE `User` = 'admin'");
INSERT IGNORE INTO `Uzers_User` (`IdUser`, `User`, `MotDePasse`, `Alerte`, `IdStyle`, `adresseEmail`, `NbrSujets`, `NbrCommentaires`, `Donnees`, `IdEtat`, `NoVersion`)
    VALUES (@IdNoeudUserAdmin, 'admin', '21232f297a57a5a743894a0e4a801fc3', '', '', '', '0', '0', 'Utilisateur admin par défaut', @idTermEtatV, 1);
CALL Beurk_creeLienTerminal (@IdNoeudUserAdmin, 'estDeType', 'User');
CALL Beurk_creeHistorique (@IdNoeudUserAdmin, 1, @idTermEtatV, @IdNoeudUserAdmin, '', @idTermActionInstalle, @idTermModuleUzers, @BeurkTS);
CALL Beurk_creeLienTerminal (@IdNoeudUserAdmin, 'estElementDe', 'Site');

# création du User anonymous (mot de passe = caractères interdits, pour empêcher le login)
CALL Beurk_creeIdSiPasTrouve (1, @IdNoeudUserAnonymous, "SELECT IdUser FROM Uzers_User WHERE `User` = 'anonymous'");
INSERT IGNORE INTO `Uzers_User` (`IdUser`, `User`, `MotDePasse`, `Alerte`, `IdStyle`, `adresseEmail`, `NbrSujets`, `NbrCommentaires`, `Donnees`, `IdEtat`, `NoVersion`)
    VALUES (@IdNoeudUserAnonymous, 'anonymous', '&&&&', '', '', '', '0', '0', 'Utilisateur par défaut pour les contributions des personnes non loguées', @idTermEtatF, 1);
CALL Beurk_creeLienTerminal (@IdNoeudUserAnonymous, 'estDeType', 'User');
CALL Beurk_creeHistorique (@IdNoeudUserAnonymous, 1, @idTermEtatF, @IdNoeudUserAdmin, '', @idTermActionInstalle, @idTermModuleUzers, @BeurkTS);
CALL Beurk_creeLienTerminal (@IdNoeudUserAnonymous, 'estElementDe', 'Site');

# création du Groupe ADMIN
CALL Beurk_creeIdSiPasTrouve (1, @IdNoeudGroupeAdmin, "SELECT IdGroupe FROM Uzers_Groupe WHERE `Groupe` = 'ADMIN'");
INSERT IGNORE INTO `Uzers_Groupe` (`IdGroupe`, `Groupe`, `NbrUsers`, `NbrPermissions`, `Donnees`, `IdEtat`, `NoVersion`)
    VALUES (@IdNoeudGroupeAdmin, 'ADMIN', 1, 0, 'Groupe Administrateurs', @idTermEtatV, 1);
CALL Beurk_creeLienTerminal (@IdNoeudGroupeAdmin, 'estDeType', 'Groupe');
CALL Beurk_creeHistorique (@IdNoeudGroupeAdmin, 1, @idTermEtatV, @IdNoeudUserAdmin, '', @idTermActionInstalle, @idTermModuleUzers, @BeurkTS);

# création du Groupe ALL
CALL Beurk_creeIdSiPasTrouve (1, @IdNoeudGroupeAll, "SELECT IdGroupe FROM Uzers_Groupe WHERE `Groupe` = 'ALL'");
INSERT IGNORE INTO `Uzers_Groupe` (`IdGroupe`, `Groupe`, `NbrUsers`, `NbrPermissions`, `Donnees`, `IdEtat`, `NoVersion`)
    VALUES (@IdNoeudGroupeAll, 'ALL', 0, 0, 'Groupe contenant tous les utilisateurs, même non logués, même non explicitement rattachés à ce groupe', @idTermEtatV, 1);
CALL Beurk_creeLienTerminal (@IdNoeudGroupeAll, 'estDeType', 'Groupe');
CALL Beurk_creeHistorique (@IdNoeudGroupeAll, 1, @idTermEtatV, @IdNoeudUserAdmin, '', @idTermActionInstalle, @idTermModuleUzers, @BeurkTS);

# Affectation du Groupe ADMIN au User admin
CALL Beurk_creeIdSiPasTrouve (1, @IdNoeudAdminADMIN, "SELECT IdUserGroupe FROM Uzers_UserGroupe WHERE `IdUser` = @IdNoeudUserAdmin AND `IdGroupe` = @IdNoeudGroupeAdmin");
INSERT IGNORE INTO `Uzers_UserGroupe` (`IdUserGroupe`, `IdUser`, `IdGroupe`, `IdEtat`, `NoVersion`)
    VALUES (@IdNoeudAdminADMIN, @IdNoeudUserAdmin, @IdNoeudGroupeAdmin, @idTermEtatV, 1);
CALL Beurk_creeLienTerminal (@IdNoeudAdminADMIN, 'estDeType', 'UserGroupe');
INSERT IGNORE INTO Beurk_Lien (IdNoeud, IdRelation, IdLie) VALUES (@IdNoeudUserAdmin, @IdNoeudAdminADMIN, @IdNoeudGroupeAdmin);
CALL Beurk_creeHistorique (@IdNoeudAdminADMIN, 1, @idTermEtatV, @IdNoeudUserAdmin, '', @idTermActionInstalle, @idTermModuleUzers, @BeurkTS);


© 2010-2015 by ToolOscope SASU. © 2016-2018 by Arnaud De Rette. All rights reserved