示例#1
0
文件: form.php 项目: Jobar87/fabrik
/**
 *  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;
}
示例#2
0
文件: group.php 项目: Jobar87/fabrik
	public function delete(&$pks)
	{
		if (empty($pks)) {
			return true;
		}
		if (parent::delete($pks)) {
			if ($this->deleteFormGroups($pks)) {
				return $this->deleteElements($pks);
			}
		}
		return false;
	}
示例#3
0
文件: element.php 项目: LGBGit/tierno
 /**
  * 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);
 }
示例#4
0
 /**
  * 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);
 }