3 class mw_sourceml extends mw_plugin{
9 function description(){
10 return "Publication de sources musicales";
13 function loaded($env){
14 $AUTO_ACTIVATE = false;
15 if(!$env->bdd("sgbd") || ($plugin_data = $env->plugin_data("mw_sourceml")) === false) return;
16 if(!isset($plugin_data["installed"]) || !$plugin_data["installed"]){
18 $sgbd = $data->sgbd();
19 if($env->bdd("sgbd") == "xml"){
20 $AUTO_ACTIVATE = $sgbd->data_exists("sources");
23 $AUTO_ACTIVATE = $sgbd->table_exists("#--sources");
28 $env->set_plugin_data(
37 $env->init_plugins("ASC", $RELOAD = true);
44 $env->set_link("admin/sourceml", $env->url("admin/sourceml"), "SourceML", 50);
45 $env->set_link("admin/sourceml/licences", $env->url("admin/licences"), "Licences", 10);
46 $env->set_link("admin/sourceml/cache", $env->url("admin/cache"), "Cache", 20);
47 $env->set_link("admin/sourceml/maintenance", $env->url("admin/maintenance"), "Maintenance", 30);
49 $env->set_link("users/authors", $env->url("users/groupes"), "Groupes", 30);
50 $env->set_link("users/albums", $env->url("users/albums"), "Albums", 31);
51 $env->set_link("users/morceaux", $env->url("users/morceaux"), "Morceaux", 32);
52 $env->set_link("users/pistes", $env->url("users/pistes"), "Sources", 33);
54 $invitations_title = "Invitations";
55 if($nb_invitations = $this->nb_invitations($env)) $invitations_title .= " (".$nb_invitations.")";
56 $env->set_link("users/sources_invitations", $env->url("users/sources_invitations"), $invitations_title, 34);
58 $env->set_link("menu_top/groupes", $env->url("sources/groupe"), "Groupes", 10);
59 $env->set_link("menu_top/albums", $env->url("sources/album"), "Albums", 11);
60 $env->set_link("menu_top/morceaux", $env->url("sources/morceau"), "Morceaux", 12);
61 $env->set_link("menu_top/pistes", $env->url("sources/piste"), "Sources", 13);
66 function nb_invitations($env){
67 if($user = $env->user()){
69 if($groupes = $data->groupes($user["id"])){
70 if($invitations = $data->sources_invitations($groupes["list"], $user["id"])){
71 return $invitations["total"];
78 function enable($env){
81 ($data->config("site_name") == "mtweb")
82 && (($plugins = $env->plugins()) !== false)
83 && (count($plugins) == 1)
85 $data->set_config("site_name", "SourceML");
90 function disable($env){
93 ($data->config("site_name") == "SourceML")
94 && (($plugins = $env->plugins()) !== false)
95 && (count($plugins) == 1)
97 $data->set_config("site_name", "mtweb");
102 function install($env){
103 $data = $env->data();
106 $env->bdd("sgbd") == "mysql"
107 || $env->bdd("sgbd") == "pdo_mysql"
109 $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/sql/");
110 $res = $data->mw_sourceml_install_mysql($this, $env);
113 $env->bdd("sgbd") == "pdo_sqlite"
115 $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/sql/");
116 $res = $data->mw_sourceml_install_sqlite($this, $env);
119 $env->bdd("sgbd") == "xml"
121 $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/xml/");
122 $res = $data->mw_sourceml_install_xml($this, $env);
125 $res = "Mode de stockage pour Mtweb (".$env->bdd("sgbd").") non supporté par SourceML";
130 function uninstall($env){
131 $data = $env->data();
134 $env->bdd("sgbd") == "mysql"
135 || $env->bdd("sgbd") == "pdo_mysql"
136 || $env->bdd("sgbd") == "pdo_sqlite"
138 $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/sql/");
139 $res = $data->mw_sourceml_uninstall_sql($this, $env);
142 $env->bdd("sgbd") == "xml"
144 $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/xml/");
145 $res = $data->mw_sourceml_uninstall_xml($this, $env);
148 $res = "Mode de stockage pour Mtweb (".$env->bdd("sgbd").") non supporté par SourceML";