getId(); } else { $iDocumentTypeId = $oDocumentType; } if (!is_array($aFieldsets)) { $aFieldsets = array($aFieldsets); } if (empty($aFieldsets)) { return true; } $aIds = array(); foreach ($aFieldsets as $oFieldset) { if (is_object($oFieldset)) { $iFieldsetId = $oFieldset->getId(); } else { $iFieldsetId = $oFieldset; } $aIds[] = $iFieldsetId; } // Converts to (?, ?, ?) for query $sParam = DBUtil::paramArray($aIds); $aWhere = KTUtil::whereToString(array( array('document_type_id = ?', array($iDocumentTypeId)), array("fieldset_id IN ($sParam)", $aIds), )); $sTable = KTUtil::getTableName('document_type_fieldsets'); $aQuery = array( "DELETE FROM $sTable WHERE {$aWhere[0]}", $aWhere[1], ); return DBUtil::runQuery($aQuery); } // }}} // {{{ addSetsToDocumentType function addSetsToDocumentType($oDocumentType, $aFieldsets) { if (is_object($oDocumentType)) { $iDocumentTypeId = $oDocumentType->getId(); } else { $iDocumentTypeId = $oDocumentType; } if (!is_array($aFieldsets)) { $aFieldsets = array($aFieldsets); } $aIds = array(); foreach ($aFieldsets as $oFieldset) { if (is_object($oFieldset)) { $iFieldsetId = $oFieldset->getId(); } else { $iFieldsetId = $oFieldset; } $aIds[] = $iFieldsetId; } $sTable = KTUtil::getTableName('document_type_fieldsets'); foreach ($aIds as $iId) { $res = DBUtil::autoInsert($sTable, array( 'document_type_id' => $iDocumentTypeId, 'fieldset_id' => $iId, )); if (PEAR::isError($res)) { return $res; } } return true; } // }}} // {{{ addFieldOrder function addFieldOrder($oParentField, $oChildField, $oFieldset) { $iParentFieldId = KTUtil::getId($oParentField); $iChildFieldId = KTUtil::getId($oChildField); $iFieldsetId = KTUtil::getId($oFieldset); $aOptions = array('noid' => true); $sTable = KTUtil::getTableName('field_orders'); $aValues = array( 'parent_field_id' => $iParentFieldId, 'child_field_id' => $iChildFieldId, 'fieldset_id' => $iFieldsetId, ); return DBUtil::autoInsert($sTable, $aValues, $aOptions); } // }}} // {{{ getParentFieldId function getParentFieldId($oField) { $sTable = KTUtil::getTableName('field_orders'); $aQuery = array("SELECT parent_field_id FROM $sTable WHERE child_field_id = ?", array($oField->getId()), ); return DBUtil::getOneResultKey($aQuery, 'parent_field_id'); } // }}} // {{{ getChildFieldIds function getChildFieldIds($oField) { $sTable = KTUtil::getTableName('field_orders'); $aQuery = array("SELECT child_field_id FROM $sTable WHERE parent_field_id = ?", array($oField->getId()), ); return DBUtil::getResultArrayKey($aQuery, 'child_field_id'); } // }}} } ?>