/** * Called to update the event from the HTTP request. */ function update_from_request($post_id, $request) { global $UPRESS_EVENT_META_FIELDS; // Get all meta fields from the HTTP POST. foreach ($UPRESS_EVENT_META_FIELDS as $field) { $this->{$field} = stripslashes(trim($request["event_{$field}"])); } // Validate the event date/time. This gives us the ISO representation // of the date/time, the value we want to store in the database for // meta-data queries. $result = upress_validate_event_dt($this->dtstart, $this->dtend); if ($result->dtstart_iso) { $result->dtstart = $result->dtstart_iso; } if ($result->dtend_iso) { $result->dtend = $result->dtend_iso; } // Store the event fields as post metadata. foreach ($UPRESS_EVENT_META_FIELDS as $field) { $meta_key = "_event_{$field}"; $value = $this->{$field}; if (isset($value) && !empty($value)) { if (!update_post_meta($post_id, $meta_key, $value)) { add_post_meta($post_id, $meta_key, $value, true); } } else { delete_post_meta($post_id, $meta_key); } } }
<?php require_once dirname(__FILE__) . '/upress.php'; function output_json($object) { $output = null; foreach ($object as $name => $value) { $output .= $output ? "," : "{"; $value = preg_replace('/"/', '\\"', $value); $output .= "\"{$name}\": \"{$value}\""; } if ($output) { return $output . "}"; } else { return "{}"; } } $method = $_GET['method']; switch ($method) { case 'process_event': $result = upress_validate_event_dt($_GET['dtstart'], $_GET['dtend']); echo output_json($result); break; case 'process_location': $result = upress_process_location($_GET["location"]); echo output_json($result); break; }