+ function install_sqlite($env){
+ $data = $env->data();
+ $sgbd = $data->sgbd();
+ try{
+ $EXISTS =
+ $sgbd->table_exists("#--sml_authors")
+ || $sgbd->table_exists("#--sml_classes")
+ || $sgbd->table_exists("#--sml_licences")
+ || $sgbd->table_exists("#--sml_sources")
+ || $sgbd->table_exists("#--sml_sources_access")
+ || $sgbd->table_exists("#--sml_sources_authors")
+ || $sgbd->table_exists("#--sml_sources_infos")
+ || $sgbd->table_exists("#--sml_source_cache")
+ || $sgbd->table_exists("#--sml_source_compositions")
+ || $sgbd->table_exists("#--sml_source_derivations")
+ || $sgbd->table_exists("#--sml_source_documents")
+ || $sgbd->table_exists("#--sml_sources_invitations");
+ }
+ catch(Exception $e){
+ return "impossible de savoir si les tables existent deja";
+ }
+ if($EXISTS){
+ return "des tables existent deja en base. installation annulee";
+ }
+ try{
+
+ $sql =
+ "CREATE TABLE #--sml_authors("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `id_user` INTEGER NOT NULL,"
+ ." `nom` TEXT NOT NULL,"
+ ." `image` TEXT DEFAULT NULL,"
+ ." `description` TEXT,"
+ ." `email` TEXT NOT NULL,"
+ ." `contact_form` INTEGER NOT NULL,"
+ ." `captcha` INTEGER NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_classes("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `nom` TEXT NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_licences("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `nom` TEXT NOT NULL,"
+ ." `url` TEXT NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_sources("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `id_class` INTEGER NOT NULL,"
+ ." `reference` TEXT DEFAULT NULL,"
+ ." `titre` TEXT DEFAULT NULL,"
+ ." `licence` INTEGER DEFAULT NULL,"
+ ." `date_creation` TEXT DEFAULT NULL,"
+ ." `date_inscription` TEXT NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_sources_access("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `nom` TEXT NOT NULL,"
+ ." `intitule` TEXT NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_sources_authors("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `id_source` INTEGER NOT NULL,"
+ ." `id_author` INTEGER NOT NULL,"
+ ." `id_sources_access` INTEGER NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_sources_infos("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `id_source` INTEGER NOT NULL,"
+ ." `key` TEXT NOT NULL,"
+ ." `value` TEXT NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_source_cache("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `url` TEXT NOT NULL,"
+ ." `id_source` INTEGER NOT NULL,"
+ ." `last_update` TEXT NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_source_compositions("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `id_source` INTEGER NOT NULL,"
+ ." `id_composition` INTEGER NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_source_derivations("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `id_source` INTEGER NOT NULL,"
+ ." `derivation` TEXT NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_source_documents("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `id_source` INTEGER NOT NULL,"
+ ." `nom` TEXT NOT NULL,"
+ ." `url` TEXT NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ $sql =
+ "CREATE TABLE #--sml_sources_invitations("
+ ." `id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ ." `id_user` INTEGER NOT NULL,"
+ ." `id_source` INTEGER NOT NULL,"
+ ." `id_author` INTEGER NOT NULL,"
+ ." `id_sources_access` INTEGER NOT NULL,"
+ ." `date_invitation` TEXT NOT NULL"
+ .")";
+ $sgbd->query($sql);
+
+ }
+ catch(Exception $e){
+ return "imposible de creer les tables en base";
+ }
+ try{
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES(1, 'Creative commons by-sa 2.0', 'http://creativecommons.org/licenses/by-sa/2.0/deed.fr')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES (2, 'Creative Commons by-nc-nd 2.5', 'http://creativecommons.org/licenses/by-nc-nd/2.5/')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES (3, 'Creative Commons by-nc-sa 2.5', 'http://creativecommons.org/licenses/by-nc-sa/2.5/')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES (4, 'Creative Commons by-nc 2.5', 'http://creativecommons.org/licenses/by-nc/2.5/')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES (5, 'Creative Commons by-nd 2.5', 'http://creativecommons.org/licenses/by-nd/2.5/')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES (6, 'Creative Commons by-sa 2.5', 'http://creativecommons.org/licenses/by-sa/2.5/')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES (7, 'Creative Commons by 2.5', 'http://creativecommons.org/licenses/by/2.5/')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES (8, 'Licence Art Libre', 'http://artlibre.org/licence/lal/')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES (9, 'Licence C Reaction', 'http://morne.free.fr/Necktar7/creactionfr.htm')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES (10, 'Yellow OpenMusic License', 'http://openmusic.linuxtag.org/yellow.html')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO #--sml_licences(`id`, `nom`, `url`)"
+ ." VALUES (11, 'Green OpenMusic License', 'http://openmusic.linuxtag.org/green.html')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO `#--sml_classes` (`id`, `nom`) VALUES (1, 'album')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO `#--sml_classes` (`id`, `nom`) VALUES (2, 'morceau')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO `#--sml_classes` (`id`, `nom`) VALUES (3, 'piste')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO `mw_sml_sources_access` (`id`, `nom`, `intitule`) VALUES (1, 'admin', 'administrateur')";\r
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO `mw_sml_sources_access` (`id`, `nom`, `intitule`) VALUES (2, 'editeur', 'éditeur')";
+ $sgbd->query($sql);
+
+ $sql =
+ "INSERT INTO `mw_sml_sources_access` (`id`, `nom`, `intitule`) VALUES (3, 'contributeur', 'contributeur')";
+ $sgbd->query($sql);
+
+ }
+ catch(Exception $e){
+ return "les tables ont ete ajoutees en base mais impossible d'y enregistrer les valeurs par defaut.";
+ }
+ return true;
+ }
+