protected function _putIdAction($path) { $in_id = array_shift($path); if (empty($in_id)) { $this->_error("ID was not provided."); } if (null == ($monitor = DAO_Monitor::getByID($in_id))) { $this->_error("ID not valid."); } $fields = array(); $xmlstr = $this->getRawPost(); $xml_in = new SimpleXMLElement($xmlstr); @($in_name = (string) $xml_in->name); if (!empty($in_name)) { $fields[DAO_Monitor::NAME] = $in_name; } @($in_guid = (string) $xml_in->guid); if (!empty($in_guid)) { $fields[DAO_Monitor::GUID] = $in_guid; } @($in_mia_secs = (string) $xml_in->mia_secs); if (!empty($in_mia_secs)) { $fields[DAO_Monitor::MIA_SECS] = intval($in_mia_secs); } if (!empty($fields)) { DAO_Monitor::update($monitor->id, $fields); } $this->_getIdAction(array($monitor->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'))); }