| @@ -17,14 +17,37 @@ | ||
| 17 | 17 | { |
| 18 | 18 | parent::__construct($form_id); |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | + /** | |
| 22 | + * Pinned to raw: the builder saves back what it reads, so a translated string | |
| 23 | + * reaching it would overwrite the stored source language. | |
| 24 | + * | |
| 25 | + * @return string | |
| 26 | + */ | |
| 27 | + protected function getEffectiveFormContentJson() | |
| 28 | + { | |
| 29 | + // $this->form is a WP_Error when the form was not found; indexing it here | |
| 30 | + // fataled for callers that pass an unknown or empty form id | |
| 31 | + $raw = $this->isExist() ? ($this->form[0]->form_content ?? '') : ''; | |
| 32 | + return is_string($raw) ? $raw : ''; | |
| 33 | + } | |
| 34 | + | |
| 21 | 35 | public function getFormMetaData() |
| 22 | 36 | { |
| 37 | + if (!$this->isExist()) { | |
| 38 | + return [ | |
| 39 | + 'created_at' => null, | |
| 40 | + 'views' => null, | |
| 41 | + 'entries' => null, | |
| 42 | + 'status' => null | |
| 43 | + ]; | |
| 44 | + } | |
| 45 | + | |
| 23 | 46 | return [ |
| 24 | - 'created_at' => static::$form[0]->created_at, | |
| 25 | - 'views' => static::$form[0]->views, | |
| 26 | - 'entries' => static::$form[0]->entries, | |
| 27 | - 'status' => static::$form[0]->status | |
| 47 | + 'created_at' => $this->form[0]->created_at, | |
| 48 | + 'views' => $this->form[0]->views, | |
| 49 | + 'entries' => $this->form[0]->entries, | |
| 50 | + 'status' => $this->form[0]->status | |
| 28 | 51 | ]; |
| 29 | 52 | } |
| 30 | 53 | } |