Ejemplo n.º 1
0
 /**
  * uninstall a plugin
  *
  * @param $ID ID of the plugin
  **/
 function uninstall($ID)
 {
     if ($this->getFromDB($ID)) {
         CronTask::Unregister($this->fields['directory']);
         self::load($this->fields['directory'], true);
         FieldUnicity::deleteForItemtype($this->fields['directory']);
         Link_Itemtype::deleteForItemtype($this->fields['directory']);
         // Run the Plugin's Uninstall Function first
         $function = 'plugin_' . $this->fields['directory'] . '_uninstall';
         if (function_exists($function)) {
             $function();
         }
         $this->update(array('id' => $ID, 'state' => self::NOTINSTALLED, 'version' => ''));
         $this->removeFromSession($this->fields['directory']);
     }
 }
Ejemplo n.º 2
0
 static function uninstall()
 {
     global $DB;
     // Remove unicity constraints on simcards
     FieldUnicity::deleteForItemtype("SimcardSimcard");
     foreach (array('Notepad', 'DisplayPreference', 'Contract_Item', 'Infocom', 'Fieldblacklist', 'Document_Item', 'Bookmark', 'Log') as $itemtype) {
         $item = new $itemtype();
         $item->deleteByCriteria(array('itemtype' => __CLASS__));
     }
     $plugin = new Plugin();
     if ($plugin->isActivated('datainjection') && class_exists('PluginDatainjectionModel')) {
         PluginDatainjectionModel::clean(array('itemtype' => __CLASS__));
     }
     if ($plugin->isInstalled('customfields') && $plugin->isActivated('customfields')) {
         PluginCustomfieldsItemtype::unregisterItemtype('PluginSimcardSimcard');
     }
     $table = getTableForItemType(__CLASS__);
     $DB->query("DROP TABLE IF EXISTS `{$table}`");
 }