| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/ninja-forms/includes/Database/ |
Upload File : |
<?php
final class NF_Database_FormsController
{
private $db;
private $factory;
private $forms_data = array();
public function __construct()
{
global $wpdb;
$this->db = $wpdb;
}
public function setFormsData()
{
try {
$forms_sql = "
SELECT `id`, `title`, `created_at`
FROM `{$this->db->prefix}nf3_forms`
ORDER BY `title`
";
$forms_data = $this->db->get_results($forms_sql, OBJECT_K);
$public_form_keys_sql = "SELECT link.parent_id as 'form_id', link.value as 'public_link_key'
FROM `{$this->db->prefix}nf3_form_meta` as link
LEFT JOIN `{$this->db->prefix}nf3_form_meta` as allowed
ON allowed.parent_id = link.parent_id
WHERE link.key = 'public_link_key'
AND allowed.key = 'allow_public_link'
AND allowed.value = '1';";
$public_form_keys = $this->db->get_results($public_form_keys_sql, OBJECT_K);
foreach($public_form_keys as $public_form_key){
$form_id = $public_form_key->form_id;
if(!isset($forms_data[$form_id])) continue;
$forms_data[$form_id]->public_link_key = $public_form_key->public_link_key;
}
} catch( Exception $e ) {
return array();
}
// Provided as array of
// object {id => Str, title => Str, created_at => Str}
return $forms_data;
}
public function getFormsData()
{
if( empty( $this->forms_data ) ) {
$this->forms_data = $this->setFormsData();
}
return( array_values( $this->forms_data ) );
}
}