/** * Method to delete one or more records. * * @param array &$pks An array of record primary keys. * * @return boolean True if successful, false if an error occurs. */ public function delete(&$pks) { // Delete tables which belong to the component if ((int) JComponentHelper::getParams('com_jdeveloper')->get('delete_tables')) { } $model = JModelLegacy::getInstance('Table', 'JDeveloperModel'); foreach ($pks as $pk) { $db = JFactory::getDbo(); $query = $db->getQuery(true)->select('id')->from('#__jdeveloper_tables')->where('`component` = ' . $db->quote((int) $pk)); $db->setQuery($query); $ids = $db->loadRowList(); $keys = array(); foreach ($ids as $id) { $keys[] = $id[0]; } $model->delete($keys); } // Delete forms which belong to the component foreach ($pks as $pk) { $model = JModelLegacy::getInstance('Form', 'JDeveloperModel'); $ids = $this->getFormRootIds($pk); $keys = array(); foreach ($ids as $id) { $keys[] = $id[0]; } $model->delete($keys); } return parent::delete($pks); }
/** * Method to delete one or more records. * * @param array &$pks An array of record primary keys. * * @return boolean True if successful, false if an error occurs. * * @since 12.2 */ public function delete(&$pks) { $db = JFactory::getDbo(); // Delete fields which belong to the table if ((int) JComponentHelper::getParams('com_jdeveloper')->get('delete_fields')) { } $model = JModelLegacy::getInstance('Field', 'JDeveloperModel'); foreach ($pks as $pk) { $query = $db->getQuery(true); $db->setQuery($query->select('a.id')->from('#__jdeveloper_fields AS a')->where('a.table = ' . $db->quote((int) $pk))); $ids = $db->loadRowList(); $keys = array(); foreach ($ids as $id) { $keys[] = $id[0]; } $model->delete($keys); // Delete table xml file if (JFile::exists(JDeveloperARCHIVE . "/tables/table_" . $pk . ".xml")) { JFile::delete(JDeveloperARCHIVE . "/tables/table_" . $pk . ".xml"); } } // Delete forms which belong to the table foreach ($pks as $pk) { $model = JModelLegacy::getInstance('Form', 'JDeveloperModel'); $ids = $this->getFormRootIds($pk); $keys = array(); foreach ($ids as $id) { $keys[] = $id[0]; } $model->delete($keys); } return parent::delete($pks); }
/** * Method to delete one or more records. * * @param array &$pks An array of record primary keys. * * @return boolean True if successful, false if an error occurs. */ public function delete(&$pks) { // Delete overrides of extension $model_overrides = JModelLegacy::getInstance("Overrides", "JDeveloperModel"); $model_override = JModelLegacy::getInstance("Override", "JDeveloperModel"); foreach ($pks as $pk) { $overrides = $model_overrides->getOverrides($this->getName(), $pk); if (count($overrides)) { foreach ($overrides as $override) { $model_override->delete($override->id); } } } // Delete forms which belong to the module foreach ($pks as $pk) { $model = JModelLegacy::getInstance('Form', 'JDeveloperModel'); $ids = $this->getFormRootIds($pk); $keys = array(); foreach ($ids as $id) { $keys[] = $id[0]; } $model->delete($keys); } return parent::delete($pks); }
/** * @see JModelAdmin::delete() */ public function delete(&$pks) { // Look for corresponding form item and delete it foreach ($pks as $pk) { $model = JModelLegacy::getInstance("Form", "JDeveloperModel"); $table = $model->getTable(); $item = $this->getItem($pk); if ($table->load(array("relation" => "table." . $item->table . ".field." . $item->id), true)) { $model->delete($table->id); } } return parent::delete($pks); }