function saveFieldsAction() { $translate = DevblocksPlatform::getTranslationService(); $worker = CerberusApplication::getActiveWorker(); if (!$worker || !$worker->is_superuser) { echo $translate->_('common.access_denied'); return; } if (DEMO_MODE) { DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('config', 'fields'))); return; } // Type of custom fields @($ext_id = DevblocksPlatform::importGPC($_POST['ext_id'], 'string', '')); // Properties @($ids = DevblocksPlatform::importGPC($_POST['ids'], 'array', array())); @($names = DevblocksPlatform::importGPC($_POST['names'], 'array', array())); @($orders = DevblocksPlatform::importGPC($_POST['orders'], 'array', array())); @($options = DevblocksPlatform::importGPC($_POST['options'], 'array', array())); @($deletes = DevblocksPlatform::importGPC($_POST['deletes'], 'array', array())); if (!empty($ids) && !empty($ext_id)) { foreach ($ids as $idx => $id) { @($name = $names[$idx]); @($order = intval($orders[$idx])); @($option = $options[$idx]); @($delete = false !== array_search($id, $deletes) ? 1 : 0); if ($delete) { DAO_CustomField::delete($id); } else { $fields = array(DAO_CustomField::NAME => $name, DAO_CustomField::POS => $order, DAO_CustomField::OPTIONS => !is_null($option) ? $option : ''); DAO_CustomField::update($id, $fields); } } } // Adding @($add_name = DevblocksPlatform::importGPC($_POST['add_name'], 'string', '')); @($add_type = DevblocksPlatform::importGPC($_POST['add_type'], 'string', '')); @($add_options = DevblocksPlatform::importGPC($_POST['add_options'], 'string', '')); if (!empty($add_name) && !empty($add_type)) { $fields = array(DAO_CustomField::NAME => $add_name, DAO_CustomField::TYPE => $add_type, DAO_CustomField::GROUP_ID => 0, DAO_CustomField::SOURCE_EXTENSION => $ext_id, DAO_CustomField::OPTIONS => $add_options); $id = DAO_CustomField::create($fields); } // Redraw the form $this->_getFieldSource($ext_id); }
function saveTabFieldsAction() { @($group_id = DevblocksPlatform::importGPC($_POST['team_id'], 'integer')); @($active_worker = CerberusApplication::getActiveWorker()); if (!$active_worker->isTeamManager($group_id) && !$active_worker->is_superuser) { return; } @($ids = DevblocksPlatform::importGPC($_POST['ids'], 'array', array())); @($names = DevblocksPlatform::importGPC($_POST['names'], 'array', array())); @($orders = DevblocksPlatform::importGPC($_POST['orders'], 'array', array())); @($options = DevblocksPlatform::importGPC($_POST['options'], 'array', array())); @($allow_delete = DevblocksPlatform::importGPC($_POST['allow_delete'], 'integer', 0)); @($deletes = DevblocksPlatform::importGPC($_POST['deletes'], 'array', array())); if (!empty($ids)) { foreach ($ids as $idx => $id) { @($name = $names[$idx]); @($order = intval($orders[$idx])); @($option = $options[$idx]); @($delete = false !== array_search($id, $deletes) ? 1 : 0); if ($allow_delete && $delete) { DAO_CustomField::delete($id); } else { $fields = array(DAO_CustomField::NAME => $name, DAO_CustomField::POS => $order, DAO_CustomField::OPTIONS => !is_null($option) ? $option : ''); DAO_CustomField::update($id, $fields); } } } // Add custom field @($add_name = DevblocksPlatform::importGPC($_POST['add_name'], 'string', '')); @($add_type = DevblocksPlatform::importGPC($_POST['add_type'], 'string', '')); @($add_options = DevblocksPlatform::importGPC($_POST['add_options'], 'string', '')); if (!empty($add_name) && !empty($add_type)) { $fields = array(DAO_CustomField::NAME => $add_name, DAO_CustomField::TYPE => $add_type, DAO_CustomField::GROUP_ID => $group_id, DAO_CustomField::SOURCE_EXTENSION => ChCustomFieldSource_Ticket::ID, DAO_CustomField::OPTIONS => $add_options); $id = DAO_CustomField::create($fields); } DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('groups', $group_id, 'fields'))); }