. */ require_once('CFDBPostDataConverter.php'); class CFDBIntegrationFMS { /** * @var CF7DBPlugin */ var $plugin; /** * @param $plugin CF7DBPlugin */ function __construct($plugin) { $this->plugin = $plugin; } public function registerHooks() { add_filter('fms_valid_contact_form', array(&$this, 'saveFormData'), 10, 1); } public function saveFormData($form_id) { try { $title = get_the_title($form_id); $converter = new CFDBPostDataConverter(); $converter->addExcludeField('post_nonce_field'); $converter->addExcludeField('form-type'); $converter->addExcludeField('fms-ajax'); $converter->addExcludeField('action'); $data = $converter->convert($title); // CFDBPostDataConverter won't capture files how they are organized here if (is_array($_FILES) && !empty($_FILES)) { foreach ($_FILES as $key => $file) { if (is_array($file['tmp_name'])) { for ($idx = 0; $idx < count($file['tmp_name']); ++$idx) { if (is_uploaded_file($file['tmp_name'][$idx])) { $fileKey = ($idx > 0) ? ($key . $idx) : $key; $data->posted_data[$fileKey] = $file['name'][$idx]; $data->uploaded_files[$fileKey] = $file['tmp_name'][$idx]; } } } } } return $this->plugin->saveFormData($data); } catch (Exception $ex) { $this->plugin->getErrorLog()->logException($ex); } return true; } }