/**
  * Overrides the postSubmit function to add in additional metadata and data values. 
  */
 protected function postSubmit($isInsert)
 {
     require_once DOCROOT . 'client_helpers/helper_base.php';
     $result = true;
     if (isset($this->submission['metaFields'])) {
         $currentRule = data_cleaner::get_rule($this->test_type);
         if (isset($this->submission['metaFields']['metadata']['value'])) {
             $metadata = helper_base::explode_lines_key_value_pairs($this->submission['metaFields']['metadata']['value']);
             $this->save_verification_rule_metadata($currentRule, $metadata);
             $data = data_cleaner::parse_test_file($this->submission['metaFields']['data']['value']);
             $this->save_verification_rule_data($currentRule, $data);
             $this->postProcessRule($currentRule);
         }
     }
     return true;
 }
 private function internal_upload_rule_file($totaldone, $cacheArr)
 {
     $filepath = $cacheArr['files'][$totaldone]['file'];
     // try fopen as more likely to work for local files.
     $resource = fopen($filepath, 'r');
     if ($resource === false) {
         throw new exception("Could not open file {$filepath}");
     }
     $filecontent = fread($resource, 1000000);
     $settings = data_cleaner::parse_test_file($filecontent);
     $this->read_rule_content($settings, $cacheArr['files'][$totaldone]['path'], $cacheArr['files'][$totaldone]['source_url']);
     return $cacheArr['files'][$totaldone]['display'];
 }