$file_name = strtolower("{$resource}_{$class}.csv");
 $files_arr[] = $file_name;
 $log_file .= $file_name . $eol;
 $fh = fopen($data_dir . $file_name, "w+");
 $maxrows = true;
 $offset = 1;
 $limit = 1000;
 $fields_order = array();
 while ($maxrows) {
     $query = "({$rets_modtimestamp_field}={$previous_start_time}+)";
     // run RETS search
     if ($debugging) {
         echo "   + Query: {$query}  Limit: {$limit}  Offset: {$offset}<br>\n";
     }
     $search = $rets->SearchQuery($resource, $class, $query, array('Limit' => $limit, 'Offset' => $offset, 'Format' => 'COMPACT-DECODED', 'Count' => 1));
     if ($rets->NumRows() > 0) {
         if ($offset == 1) {
             // print filename headers as first line
             $fields_order = $rets->SearchGetFields($search);
             fputcsv($fh, $fields_order);
         }
         // process results
         while ($record = $rets->FetchRow($search)) {
             $this_record = array();
             foreach ($fields_order as $fo) {
                 $this_record[] = $record[$fo];
             }
             fputcsv($fh, $this_record);
         }
         $offset = $offset + $rets->NumRows();
     }