{"issue":{"created_at":"2011-11-29T08:19:14Z","state":"closed","updated_at":"2011-11-29T08:19:26Z","comments":9,"user":{"gravatar_id":"256406243346b9253f8610fb1d1e05f6","id":1215373,"url":"https://api.github.com/users/importer","avatar_url":"https://secure.gravatar.com/avatar/256406243346b9253f8610fb1d1e05f6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"importer"},"body":"Mir fehlt eine Meoglichkeit, beim Deinstallieren eines Modules/Erweiterung, vorher ordentlich aufzuraeumen. \nDaten aus der localconfig suaber entfernen, Backups oder sonstige notwendigen Dinge, bevor die Erweiterung entfernt wurde, und die Datenleichen ewig existieren.\n\nHierzu kann in den Modulen eine config/uninstall.php mit entsprechenden AufraeumCode erstellt werden.\nDie notwendigen Anpassungen, damit das Aufraeumen VOR dem Entfernen der gesamten Daten stattfindet, erfolgt in der **rep_client/RepositoryManager.php** Funktion **uninstallExtension**\n\nHier der Code zum aufrufen :\n\n```\n$strUninstallFile = sprintf('/system/modules/%s/config/uninstall.php',$aName);\n\t\t\t\nif (file_exists(TL_ROOT.$strUninstallFile))\n{\n\t`include(TL_ROOT.$strUninstallFile);\n}\n```\n\nund im Context :\n\n```\n */\nprivate function uninstallExtension($aName)\n{\n\t$text = &$GLOBALS['TL_LANG']['tl_repository'];\n\t$rep = &$this->Template->rep;\n\t$db = &$this->Database;\n\t$this->import('Files');\n\n\t$err = false;\n\ttry {\n\t\t\t\n\t\t$strUninstallFile = sprintf('/system/modules/%s/config/uninstall.php',$aName);\n\t\t\t\n\t\tif (file_exists(TL_ROOT.$strUninstallFile))\n\t\t{\n\t\t\t`include(TL_ROOT.$strUninstallFile);\n\t\t}\n\t\t\t\n\t\t// get pid of installation record\n\t\t$q = $db->prepare(\"select * from `tl_repository_installs` where `extension`=?\")->execute($aName);\n\t\tif (!$q->next()) throw new Exception($text['extinstrecntf']);\n\t\t$instId = $q->id;\n....\n```\n\nDa eine **uninstall.php** im Paket vorhanden ist, muss sie nicht explizit geloescht werden.\n\n--- _Originally created by lindesbs on March 2nd, 2010, at 08:29pm (ID 1649)_","assignee":null,"id":2380474,"number":1649,"labels":[{"name":"Feature","color":"4183c4","url":"https://api.github.com/repos/contao/test/labels/Feature"},{"name":"repository","color":"e6e6e6","url":"https://api.github.com/repos/contao/test/labels/repository"}],"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"title":"Uninstall.php um bei Extension deinstallieren vorher noch aufzuraeumen","closed_at":"2011-11-29T08:19:26Z","html_url":"https://github.com/contao/test/issues/1649","url":"https://api.github.com/repos/contao/test/issues/1649","milestone":null},"action":"closed"}