/** * delete form and form groups * @param array $cids to delete */ public function delete($cids) { $res = parent::delete($cids); if ($res) { foreach ($cids as $cid) { $item = FabTable::getInstance('FormGroup', 'FabrikTable'); $item->load(array('form_id'=> $cid)); $item->delete(); } } return $res; }
public function delete(&$pks) { if (empty($pks)) { return true; } if (parent::delete($pks)) { if ($this->deleteFormGroups($pks)) { return $this->deleteElements($pks); } } return false; }
/** * Potentially drop fields then remove element record * Will also do the same for child elements * * @param array &$pks To delete * * @return boolean True if successful, false if an error occurs. */ public function delete(&$pks) { // Initialize variables $elementIds = $this->app->input->get('elementIds', array(), 'array'); foreach ($elementIds as $id) { if ((int) $id === 0) { continue; } $pluginModel = $this->pluginManager->getElementPlugin($id); $pluginModel->onRemove(); $children = $pluginModel->getElementDescendents($id); foreach ($children as $childId) { $childModel = $this->pluginManager->getElementPlugin($childId); $childModel->onRemove(); } // Enables the deletion of child elements $pks = array_merge($pks, $children); $element = $pluginModel->getElement(); if ($pluginModel->isRepeatElement()) { $listModel = $pluginModel->getListModel(); $db = $listModel->getDb(); $tableName = $db->qn($this->getRepeatElementTableName($pluginModel)); $db->setQuery('DROP TABLE ' . $tableName); $db->execute(); } $listModel = $pluginModel->getListModel(); $item = $listModel->getTable(); // $$$ hugh - might be a table-less form! if (!empty($item->id)) { $db = $listModel->getDb(); $db->setQuery('ALTER TABLE ' . $db->qn($item->db_table_name) . ' DROP ' . $db->qn($element->name)); $db->execute(); } } return parent::delete($pks); }
/** * Potentially drop fields then remove element record * * @param array &$pks To delete * * @return boolean True if successful, false if an error occurs. */ public function delete(&$pks) { // Initialize variables $app = JFactory::getApplication(); $input = $app->input; $pluginManager = JModelLegacy::getInstance('Pluginmanager', 'FabrikFEModel'); $elementIds = $app->input->get('elementIds', array(), 'array'); foreach ($elementIds as $id) { if ((int) $id === 0) { continue; } $pluginModel = $pluginManager->getElementPlugin($id); $pluginModel->onRemove($id); $element = $pluginModel->getElement(); if ($pluginModel->isRepeatElement()) { $listModel = $pluginModel->getListModel(); $db = $listModel->getDb(); $tableName = $db->quoteName($this->getRepeatElementTableName($pluginModel)); $db->setQuery('DROP TABLE ' . $tableName); $db->execute(); } $listModel = $pluginModel->getListModel(); $item = $listModel->getTable(); // $$$ hugh - might be a table-less form! if (!empty($item->id)) { $db = $listModel->getDb(); $db->setQuery('ALTER TABLE ' . $db->quoteName($item->db_table_name) . ' DROP ' . $db->quoteName($element->name)); $db->execute(); } } return parent::delete($pks); }