PluginProbe
HTML Forms – Simple WordPress Forms Plugin / 1.1.2
HTML Forms – Simple WordPress Forms Plugin v1.1.2
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 / Admin / Submission.php

Submission.php in HTML Forms – Simple WordPress Forms Plugin 1.1.2, at src/Admin/Submission.php

60 lines 1.6 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 if( ! empty( $this->$prop ) ) {
25 $data[ $prop ] = $this->$prop;
26 }
27 }
28
29 if( ! empty( $this->id ) ) {
30 $wpdb->update( $table, $data, array( 'id' => $this->id ) );
31 return;
32 }
33
34 // insert new row
35 $num_rows = $wpdb->insert( $table, $data );
36 if( $num_rows > 0 ) {
37 $this->id = $wpdb->insert_id;
38 }
39 }
40
41 /**
42 * @param $object
43 * @return Submission
44 */
45 public static function from_object( $object ) {
46 $data = empty( $object->data ) ? array() : (array) json_decode( $object->data, true );
47
48 $submission = new Submission();
49 $submission->id = (int) $object->id;
50 $submission->form_id = (int) $object->form_id;
51 $submission->data = $data;
52 $submission->ip_address = (string) $object->ip_address;
53 $submission->user_agent = (string) $object->user_agent;
54 $submission->referer_url = (string) $object->referer_url;
55 $submission->submitted_at = $object->submitted_at;
56 return $submission;
57 }
58
59 }
60