X-Git-Url: http://git.dj3c1t.com/index.cgi?a=blobdiff_plain;f=mw_sourceml.php;h=66392d4992366eeea886c41fd9d0677f1df4d00c;hb=HEAD;hp=301f9cac2b2f05ae9a2022f725fc5daa77ff7e2c;hpb=aa56057fe2634113eb8d1a50ed54b6a8988645a8;p=mw_sourceml diff --git a/mw_sourceml.php b/mw_sourceml.php index 301f9ca..66392d4 100644 --- a/mw_sourceml.php +++ b/mw_sourceml.php @@ -2,15 +2,44 @@ class mw_sourceml extends mw_plugin{ - function title(){ + public function title(){ return "SourceML"; } - function description(){ + public function description(){ return "Publication de sources musicales"; } - function init($env){ + public function loaded($env){ + $AUTO_ACTIVATE = false; + if(!$env->bdd("sgbd") || ($plugin_data = $env->plugin_data("mw_sourceml")) === false) return; + if(!isset($plugin_data["installed"]) || !$plugin_data["installed"]){ + $data = $env->data(); + $sgbd = $data->sgbd(); + if($env->bdd("sgbd") == "xml"){ + $AUTO_ACTIVATE = $sgbd->data_exists("sources"); + } + else{ + $AUTO_ACTIVATE = $sgbd->table_exists("#--sources"); + } + } + if($AUTO_ACTIVATE){ + if( + $env->set_plugin_data( + "mw_sourceml", + array( + "installed" => true, + "enabled" => true, + "priorite" => 0 + ) + ) + ){ + $env->load_plugin("mw_sourceml"); + } + } + } + + public function init($env){ $env->set_link("admin/sourceml", $env->url("admin/sourceml"), "SourceML", 50); $env->set_link("admin/sourceml/licences", $env->url("admin/licences"), "Licences", 10); @@ -34,7 +63,7 @@ return true; } - function nb_invitations($env){ + public function nb_invitations($env){ if($user = $env->user()){ $data = $env->data(); if($groupes = $data->groupes($user["id"])){ @@ -46,56 +75,71 @@ return 0; } - function enable($env){ + public function enable($env){ + $data = $env->data(); + if($data->config("site_name") == "mtweb"){ + $data->set_config("site_name", "SourceML"); + } return true; } function disable($env){ + $data = $env->data(); + if($data->config("site_name") == "SourceML"){ + $data->set_config("site_name", "mtweb"); + } return true; } - function install($env){ + public function install($env){ $data = $env->data(); - + $res = true; if( $env->bdd("sgbd") == "mysql" || $env->bdd("sgbd") == "pdo_mysql" ){ $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/sql/"); - return $data->mw_sourceml_install_mysql($this, $env); + $res = $data->mw_sourceml_install_mysql($this, $env); } elseif( $env->bdd("sgbd") == "pdo_sqlite" ){ $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/sql/"); - return $data->mw_sourceml_install_sqlite($this, $env); + $res = $data->mw_sourceml_install_sqlite($this, $env); } elseif( $env->bdd("sgbd") == "xml" ){ $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/xml/"); - return $data->mw_sourceml_install_xml($this, $env); + $res = $data->mw_sourceml_install_xml($this, $env); } - return "Mode de stockage pour Mtweb (".$env->bdd("sgbd").") non supporté par SourceML"; + else{ + $res = "Mode de stockage pour Mtweb (".$env->bdd("sgbd").") non supporté par SourceML"; + } + return $res; } - function uninstall($env){ + public function uninstall($env){ $data = $env->data(); + $res = true; if( $env->bdd("sgbd") == "mysql" || $env->bdd("sgbd") == "pdo_mysql" || $env->bdd("sgbd") == "pdo_sqlite" ){ $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/sql/"); - return $data->mw_sourceml_uninstall_sql($this, $env); + $res = $data->mw_sourceml_uninstall_sql($this, $env); } - if( + elseif( $env->bdd("sgbd") == "xml" ){ $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/xml/"); - return $data->mw_sourceml_uninstall_xml($this, $env); + $res = $data->mw_sourceml_uninstall_xml($this, $env); + } + else{ + $res = "Mode de stockage pour Mtweb (".$env->bdd("sgbd").") non supporté par SourceML"; } - return "Mode de stockage pour Mtweb (".$env->bdd("sgbd").") non supporté par SourceML"; + return $res; } }