Example #1
0
 public function ajaxEditEntry()
 {
     header('Content-Type: text/plain; charset=UTF-8');
     header("Pragma: no-cache");
     header("Expires: Thu, 01 Jan 1970 00:00:00 GMT");
     $value = stripslashes($_REQUEST['value']);
     try {
         require_once dirname(dirname(__FILE__)) . '/contact-form-7-to-database-extension/ExportToHtmlTable.php';
         $export = new ExportToHtmlTable();
         if ($export->plugin->canUserDoRoleOption('CanChangeSubmitData')) {
             $key = explode(',', $_REQUEST['id']);
             // submit_time = $key[0], field_name = $key[1]
             $tableName = $export->plugin->getSubmitsTableName();
             global $wpdb;
             // Use "like" below to address: http://bugs.mysql.com/bug.php?id=30485
             $sql = "update `{$tableName}` set `field_value` = %s where `submit_time` like %s and `field_name` = %s";
             $rowsUpdated = $wpdb->query($wpdb->prepare($sql, $value, $key[0], $key[1]));
             if ($rowsUpdated === false) {
                 error_log(sprintf('CFDB Error: %s', $wpdb->last_error));
             } else {
                 if ($rowsUpdated === 0) {
                     $sql = "select distinct `form_name` as 'form_name' from `{$tableName}` where `submit_time` = %s limit 1";
                     $row = $wpdb->get_row($wpdb->prepare($sql, $key[0]));
                     $sql = "insert into `{$tableName}` (`submit_time`, `form_name`, `field_name`, `field_value`) values (%s, %s, %s, %s)";
                     $wpdb->query($wpdb->prepare($sql, $key[0], $row->form_name, $key[1], $value));
                 }
             }
             $sql = "select `field_value`, `form_name`, `file` is not null and length(`file`) > 0 as 'is_file' from `{$tableName}` where `submit_time` = %s and `field_name` = %s";
             $row = $wpdb->get_row($wpdb->prepare($sql, $key[0], $key[1]));
             $value = $row->form_name;
             $value = $export->rawValueToPresentationValue($row->field_value, $export->plugin->getOption('ShowLineBreaksInDataTable') != 'false', $row->is_file != 0, $key[0], $row->form_name, $key[1]);
         } else {
             die(1);
         }
     } catch (Exception $ex) {
         error_log(sprintf('CFDB Error: %s:%s %s  %s', $ex->getFile(), $ex->getLine(), $ex->getMessage(), $ex->getTraceAsString()));
     }
     echo $value;
     die;
 }