private function handlePOST_importOutlookCSV($request_data)
 {
     //    echo "<pre>" . print_r($request_data, 1) . "</pre>";
     //    echo "<pre>" . print_r($_FILES, 1) . "</pre>";
     $error = '';
     $html = '';
     if (!empty($_FILES['outlook_csv']['name']) && is_uploaded_file($_FILES['outlook_csv']['tmp_name'])) {
         $ext = strtolower(end(explode('.', $_FILES['outlook_csv']['name'])));
         if (!in_array($_FILES['outlook_csv']['type'], $this->valid_cvs_mime_types) || $ext != 'csv') {
             //            $html = htmlspecialchars("<pre>" . print_r($_FILES, 1) . "</pre>");
             $error = __('Invalid file type. Please select a valid Outlook CSV file. ');
         } else {
             try {
                 $content = file_get_contents($_FILES['outlook_csv']['tmp_name']);
                 $csv_parser = new CSVParser($content);
                 $contacts = $csv_parser->getCSVContacts('CSVDataMapper', true);
                 if (!$contacts) {
                     $error = $csv_parser->lastError;
                 }
                 $this->deleteWithoutEmail($contacts, $csv_parser->mapped_contacts);
                 $templ = PA::$blockmodule_path . '/' . get_class($this) . "/outlook_list.tpl";
                 $html_gen = new Template($templ);
                 $html_gen->set('contacts', $contacts);
                 $html_gen->set('mapped_contacts', $csv_parser->mapped_contacts);
                 $html = $html_gen->fetch();
             } catch (Exception $e) {
                 $error = $e->getMessage();
             }
         }
     } else {
         $error = __('Please, select a valid Outlook CSV file.');
     }
     /*
           echo "Error: $error <br />";
           echo "Contacts: <pre>" . print_r($contacts, 1) . "</pre>";
           echo "Mapped Contacts: <pre>" . print_r($csv_parser->mapped_contacts, 1) . "</pre>";
     */
     echo "{";
     echo "error: '" . $error . "',\n";
     echo "content: '" . base64_encode(htmlspecialchars($html)) . "'\n";
     echo "}";
     exit;
 }