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); $env->set_link("admin/sourceml/cache", $env->url("admin/cache"), "Cache", 20); $env->set_link("admin/sourceml/maintenance", $env->url("admin/maintenance"), "Maintenance", 30); $env->set_link("users/authors", $env->url("users/groupes"), "Groupes", 30); $env->set_link("users/albums", $env->url("users/albums"), "Albums", 31); $env->set_link("users/morceaux", $env->url("users/morceaux"), "Morceaux", 32); $env->set_link("users/pistes", $env->url("users/pistes"), "Sources", 33); $invitations_title = "Invitations"; if($nb_invitations = $this->nb_invitations($env)) $invitations_title .= " (".$nb_invitations.")"; $env->set_link("users/sources_invitations", $env->url("users/sources_invitations"), $invitations_title, 34); $env->set_link("menu_top/groupes", $env->url("sources/groupe"), "Groupes", 10); $env->set_link("menu_top/albums", $env->url("sources/album"), "Albums", 11); $env->set_link("menu_top/morceaux", $env->url("sources/morceau"), "Morceaux", 12); $env->set_link("menu_top/pistes", $env->url("sources/piste"), "Sources", 13); return true; } public function nb_invitations($env){ if($user = $env->user()){ $data = $env->data(); if($groupes = $data->groupes($user["id"])){ if($invitations = $data->sources_invitations($groupes["list"], $user["id"])){ return $invitations["total"]; } } } return 0; } 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; } 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/"); $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/"); $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/"); $res = $data->mw_sourceml_install_xml($this, $env); } else{ $res = "Mode de stockage pour Mtweb (".$env->bdd("sgbd").") non supporté par SourceML"; } return $res; } 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/"); $res = $data->mw_sourceml_uninstall_sql($this, $env); } elseif( $env->bdd("sgbd") == "xml" ){ $data->load_modules($env->path("mw_dir")."plugins/mw_sourceml/app/", "data/modules/xml/"); $res = $data->mw_sourceml_uninstall_xml($this, $env); } else{ $res = "Mode de stockage pour Mtweb (".$env->bdd("sgbd").") non supporté par SourceML"; } return $res; } }