/** * Delete panel with input ID from internal form state * * @param string $panelID * @return bool - TRUE if panel was found and deleted, FALSE if panel was not in the state */ function deletePanel($panelID) { $formState = Zend_Json::decode($this->state); foreach ($formState as $columnNumber => $column) { if (is_array($column) == false) { continue; } foreach ($column as $key => $panel) { $currentPanelID = RM_Form_Naming_Manager::generatePanelID($panel['xtype']); if ($currentPanelID == $panelID) { unset($formState[$columnNumber][$key]); $this->state = Zend_Json::encode($formState); return true; } } } return false; }