PluginProbe
HTML Forms – Simple WordPress Forms Plugin / trunk
HTML Forms – Simple WordPress Forms Plugin vtrunk
trunk 1.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.2.0 1.3.0 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 All 66 releases
html-forms / src / class-submission.php

class-submission.php in HTML Forms – Simple WordPress Forms Plugin trunk, at src/class-submission.php

58 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace HTML_Forms;
4
5 class Submission {
6 public $id;
7 public $form_id;
8 public $data = array();
9 public $ip_address = '';
10 public $user_agent = '';
11 public $referer_url = '';
12 public $submitted_at;
13
14 public function save() {
15 global $wpdb;
16 $table = $wpdb->prefix . 'hf_submissions';
17
18 $data = array(
19 'data' => json_encode( $this->data ),
20 'form_id' => $this->form_id,
21 );
22
23 foreach ( array( 'ip_address', 'user_agent', 'submitted_at', 'referer_url' ) as $prop ) {
24 $data[ $prop ] = $this->$prop;
25 }
26
27 if ( ! empty( $this->id ) ) {
28 $wpdb->update( $table, $data, array( 'id' => $this->id ) );
29 return;
30 }
31
32 // insert new row
33 $num_rows = $wpdb->insert( $table, $data );
34 if ( $num_rows > 0 ) {
35 $this->id = $wpdb->insert_id;
36 }
37 }
38
39 /**
40 * @param $object
41 * @return Submission
42 */
43 public static function from_object( $object ) {
44 $data = empty( $object->data ) ? array() : (array) json_decode( $object->data, true );
45
46 $submission = new Submission();
47 $submission->id = (int) $object->id;
48 $submission->form_id = (int) $object->form_id;
49 $submission->data = $data;
50 $submission->ip_address = (string) $object->ip_address;
51 $submission->user_agent = (string) $object->user_agent;
52 $submission->referer_url = (string) $object->referer_url;
53 $submission->submitted_at = $object->submitted_at;
54 return $submission;
55 }
56
57 }
58