protected function _postCreateAction($path) { $xmlstr = $this->getRawPost(); $xml_in = simplexml_load_string($xmlstr); @($in_guid = (string) $xml_in->guid); @($in_name = (string) $xml_in->name); @($in_mia_secs = (string) $xml_in->mia_secs); if (empty($in_guid) || empty($in_name)) { $this->_error("All required fields were not provided."); } if (null != ($device = DAO_Monitor::getByGUID($in_guid))) { $this->_error("GUID already exists."); } $fields = array(); $fields[DAO_Monitor::LAST_UPDATED] = time(); if (!empty($in_guid)) { $fields[DAO_Monitor::GUID] = $in_guid; } if (!empty($in_name)) { $fields[DAO_Monitor::NAME] = $in_name; } if (!empty($in_mia_secs)) { $fields[DAO_Monitor::MIA_SECS] = intval($in_mia_secs); } $id = DAO_Monitor::create($fields); // Render the new entity $this->_getAction(array($id)); }
function saveMonitorAction() { @($id = DevblocksPlatform::importGPC($_REQUEST['id'], 'integer', '')); @($monitor_name = DevblocksPlatform::importGPC($_REQUEST['monitor_name'], 'string', '')); @($monitor_guid = DevblocksPlatform::importGPC($_REQUEST['monitor_guid'], 'string', '')); @($monitor_secret_key = DevblocksPlatform::importGPC($_REQUEST['monitor_secret_key'], 'string', '')); @($monitor_mia_secs = DevblocksPlatform::importGPC($_REQUEST['monitor_mia'], 'integer', 0)); @($delete = DevblocksPlatform::importGPC($_REQUEST['do_delete'], 'integer', 0)); $monitor_guid = str_replace(' ', '_', strtolower($monitor_guid)); // Required args if (empty($monitor_name)) { $monitor_name = '(no monitor name)'; } if (empty($monitor_secret_key)) { $monitor_secret_key = Application::generatePassword(20); } if (!empty($id)) { // update if ($delete) { DAO_Monitor::delete($id); } else { DAO_Monitor::update($id, array(DAO_Monitor::NAME => $monitor_name, DAO_Monitor::GUID => $monitor_guid, DAO_Monitor::SECRET_KEY => $monitor_secret_key, DAO_Monitor::MIA_SECS => $monitor_mia_secs)); } } else { // insert $monitor_id = DAO_Monitor::create(array(DAO_Monitor::NAME => $monitor_name, DAO_Monitor::GUID => $monitor_guid, DAO_Monitor::SECRET_KEY => $monitor_secret_key, DAO_Monitor::MIA_SECS => $monitor_mia_secs, DAO_Monitor::LAST_UPDATED => time())); } DevblocksPlatform::redirect(new DevblocksHttpResponse(array('config', 'monitors'))); }