I don't know what you are trying to do with the notifications. It really has nothing to do with my plugin. mass_importer_h is strictly a file that checks the json database entry for the selected form and spits out the relevant Fields by id and name so the user can properly set the headers for their csv file. parsecsv.lib is where the action takes place. In gravity-forms-mass-import.php these lines instantiate and call the parsecsv class{`<br />
$csv = new parseCSV();<br />
$csv->last_form_id = max($lastnum);<br />
$csv->form_using = $formnum;<br />
$csv->actHeaders = $ararr;<br />
$retarn = $csv->parse_file($_FILES['csv_file']['tmp_name']);<br />
`
First, we set the id number of the next database entry, then we define the form we are using by id, then we pass the list of headers that are actually used in the form as stored in the database (this is used for comparison to make sure that people are putting in the correct headers for their csv file).
parse_file, takes the uploaded file, parses it into a string and in
parsecsvlib.php, after the file is parsed to a string, parse_string is called with the data and we simply move a pointer along character by character, for each row, to look look for our encapsulaters (double quotes), our delimiter (comma) and our end of line. At the end of line, we now have an array of entries (or headers if it's the first line). This happens between 323 and 356. At 359, we process each line. If it's the first line, we validate the headers. If not, we continue as long as the headers were correctly validated. For each line, each entry is checked against type and stored appropriately in the database. This happens between 431 and 523. And that's it. The array for each row gets emptied and then repopulated after the row has been entered into the database (I was hoping this way would be the most efficient). Upon completion of rows, the success message is fired.
Hope this helps.