ldleman / yana-server

Interface PHP de domotique Y.A.N.A (You Are Not Alone)
http://projet.idleman.fr/yana
107 stars 59 forks source link

Uninstall.php non fonctionnel / incomplet #6

Closed remisarrailh closed 11 years ago

remisarrailh commented 11 years ago

La méthodologie correcte serait ça (si je ne m'abuse)

Pour supprimer la table des valeurs

$table = new NOMCLASSE();
$table->drop();

Pour supprimer les préférences (s'il y en a)

$table_configuration = new configuration();
$table_configuration->delete(array('key'=>'plugin_NOMCLASSE_PREFERENCE'));

Pour supprimer la section (pour les droits) et la liste des droits pour la section

$table_section = new Section();

//On récupère l'ID pour savoir quel ligne supprimer dans la table right
$id_section = $table_section->load(array("label"=>"NOMSECTION"))->getId();

$table_section->delete(array('label'=>'NOMSECTION'));

$table_right = new Right();
$table_right->delete(array('section'=>$id_section));
ldleman commented 11 years ago

Yop !!

Tu parles de quel uninstall ? (parce qu'il y en a un par plugin n’oublions pas ^^).

La syntaxe

$table = new NOMCLASSE();
$table->drop();

//et pour les prefs

$table_configuration = new configuration();
$table_configuration->delete(array('key'=>'plugin_NOMCLASSE_PREFERENCE'));

sont correctes, j'essaye de la mettre sur les plugins mais parfois j'ai des oublis/flemmes, n'hésite pas a me les proposer en pull request :)

Concernant les Rights ils sont automatiquement supprimés au bout d'un moment si ils correspondent à une section inexistante (ça evite les bugs si un concepteur de plugin oublie la supression).