X-Git-Url: http://git.dj3c1t.com/?a=blobdiff_plain;f=mw%2Fapp%2Fdata%2Fmodules%2Fsql%2Fmw_data_sqlite_install.php;fp=mw%2Fapp%2Fdata%2Fmodules%2Fsql%2Fmw_data_sqlite_install.php;h=8c26638e5ca2246594d5ef7fc37d427beae04a5d;hb=0ada6496e6c552c473a5816734b38896ccdd345b;hp=0000000000000000000000000000000000000000;hpb=c8731e3a31f51a93cfff9fe7206dd6fb007bc733;p=mtweb diff --git a/mw/app/data/modules/sql/mw_data_sqlite_install.php b/mw/app/data/modules/sql/mw_data_sqlite_install.php new file mode 100644 index 0000000..8c26638 --- /dev/null +++ b/mw/app/data/modules/sql/mw_data_sqlite_install.php @@ -0,0 +1,165 @@ +env(); + $data = $env->data(); + $sgbd = $data->sgbd(); + $host = isset($params["host"]) ? $params["host"] : ""; + $base = isset($params["base"]) ? $params["base"] : ""; + $user = isset($params["user"]) ? $params["user"] : ""; + $password = isset($params["password"]) ? $params["password"] : ""; + if(!$host || !$base) return "paramètres manquant pour la base SQLite"; + if(!is_dir($host)){ + $parent_dir = dirname($host); + if(is_dir($parent_dir)) @mkdir($host); + if(!is_dir($host)) return "impossible de créer le répertoire des données SQLite"; + } + try{ + $sgbd->connect( + $host, + $base, + $user, + $password + ); + $sgbd->select_db($base); + } + catch(Exception $e){ + return $e->getMessage(); + } + try{ + $EXISTS = + $sgbd->table_exists("#--actions_roles") + || $sgbd->table_exists("#--config") + || $sgbd->table_exists("#--roles") + || $sgbd->table_exists("#--users") + || $sgbd->table_exists("#--users_roles"); + } + catch(Exception $e){ + return "impossible de savoir si les tables existent deja"; + } + if($EXISTS){ + return "des tables a installer existent deja en base. installation annulee"; + } + try{ + + $sql = + "CREATE TABLE #--actions_roles(" + ." id INTEGER PRIMARY KEY AUTOINCREMENT," + ." `action` TEXT NOT NULL," + ." id_role INTEGER NOT NULL" + .")"; + $sgbd->query($sql); + + $sql = + "CREATE TABLE #--config(" + ." id INTEGER PRIMARY KEY AUTOINCREMENT," + ." `key` TEXT NOT NULL," + ." `value` TEXT NOT NULL" + .")"; + $sgbd->query($sql); + + $sql = + "CREATE TABLE #--roles(" + ." id INTEGER PRIMARY KEY AUTOINCREMENT," + ." nom TEXT NOT NULL," + ." intitule TEXT NOT NULL" + .")"; + $sgbd->query($sql); + + $sql = + "CREATE TABLE #--users(" + ." id INTEGER PRIMARY KEY AUTOINCREMENT," + ." login TEXT NOT NULL," + ." password TEXT NOT NULL," + ." email TEXT NOT NULL" + .")"; + $sgbd->query($sql); + + $sql = + "CREATE TABLE #--users_roles(" + ." id INTEGER PRIMARY KEY AUTOINCREMENT," + ." id_user INTEGER NOT NULL," + ." id_role INTEGER NOT NULL" + .")"; + $sgbd->query($sql); + + } + catch(Exception $e){ + return "imposible de creer les tables en base. ".$e->getMessage(); + } + try{ + $sql = + "INSERT INTO #--actions_roles (`id`, `action`, `id_role`) VALUES (13, 'admin', 1)"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--actions_roles (`id`, `action`, `id_role`) VALUES (14, 'users', 2)"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--actions_roles (`id`, `action`, `id_role`) VALUES (19, 'users/identification', 0)"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--actions_roles (`id`, `action`, `id_role`) VALUES (20, 'config', 3)"; + $sgbd->query($sql); + + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (1, 'site_name', 'mtweb')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (2, 'max_list', '10')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (3, 'description', '')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (4, 'out', 'default')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (5, 'start_action', '')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (6, 'contact_form', '0')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (8, 'email', '')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (9, 'captcha', '0')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (16, 'start_action_params', '')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (20, 'out_navig_menu_top', 'on')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (22, 'out_colonne', 'on')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--config(id, `key`, `value`) VALUES (29, 'default_allow', '1')"; + $sgbd->query($sql); + + $sql = + "INSERT INTO #--roles(`id`, `nom`, `intitule`) VALUES (0, 'guest', 'invité')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--roles(`id`, `nom`, `intitule`) VALUES (1, 'admin', 'administrateur')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--roles(`id`, `nom`, `intitule`) VALUES (2, 'membre', 'membre')"; + $sgbd->query($sql); + $sql = + "INSERT INTO #--roles(`id`, `nom`, `intitule`) VALUES (3, 'webmaster', 'webmaster')"; + $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; + } + + } + +?> \ No newline at end of file