| | |
| | | if ($result['success']) { |
| | | $this->cache->clear(); |
| | | } |
| | | error_log('Result: '.print_r($result, true)); |
| | | return $result; |
| | | |
| | | // Build summary message |
| | | $textResult = 'Sent invitations. '; |
| | | $textResult .= 'Success: ' . count($result['result']['success']) . '. '; |
| | | $textResult .= 'Failed: ' . count($result['result']['failed']) . '.'; |
| | | |
| | | return [ |
| | | 'success' => true, |
| | | 'message' => $textResult, |
| | | 'details' => [ |
| | | 'successful' => $result['result']['success'], |
| | | 'failed' => $result['result']['failed'], |
| | | 'total' => count($data['invitations']) |
| | | ] |
| | | ]; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public function handleClientUpload(WP_REST_Request $request): WP_REST_Response |
| | | { |
| | | $files = $request->get_file_params(); |
| | | |
| | | if (!isset($files['file'])) { |
| | | // Access files from $_FILES directly for REST API uploads |
| | | if (empty($_FILES['file'])) { |
| | | return new WP_REST_Response([ |
| | | 'success' => false, |
| | | 'message' => 'No file uploaded' |
| | | ], 400); |
| | | } |
| | | |
| | | $file = $files['file']; |
| | | $file = $_FILES['file']; |
| | | |
| | | // Check for upload errors |
| | | if ($file['error'] !== UPLOAD_ERR_OK) { |
| | | return new WP_REST_Response([ |
| | | 'success' => false, |
| | | 'message' => 'File upload error: ' . $file['error'] |
| | | ], 400); |
| | | } |
| | | |
| | | // Validate file type |
| | | $allowed_types = ['text/csv', 'application/vnd.ms-excel', 'text/plain']; |
| | | if (!in_array($file['type'], $allowed_types)) { |
| | | $finfo = finfo_open(FILEINFO_MIME_TYPE); |
| | | $mime_type = finfo_file($finfo, $file['tmp_name']); |
| | | finfo_close($finfo); |
| | | |
| | | if (!in_array($mime_type, $allowed_types) && !in_array($file['type'], $allowed_types)) { |
| | | return new WP_REST_Response([ |
| | | 'success' => false, |
| | | 'message' => 'File must be a CSV' |
| | |
| | | |
| | | // Import using JaneAppClientImporter |
| | | $importer = new JaneAppClientImporter(); |
| | | $default_role = get_option(BASE . 'client_import_role', JVB_USER); |
| | | $default_role = get_option(BASE . 'referral_role', JVB_USER); |
| | | |
| | | $options = [ |
| | | 'update_existing' => true, |
| | |
| | | return new WP_REST_Response([ |
| | | 'success' => true, |
| | | 'message' => $message, |
| | | 'items' => $result, |
| | | 'stats' => $result, |
| | | 'skipped_details' => $details |
| | | ]); |
| | | } |
| | |
| | | */ |
| | | public function handleSalesUpload(WP_REST_Request $request): WP_REST_Response |
| | | { |
| | | $files = $request->get_file_params(); |
| | | |
| | | if (!isset($files['file'])) { |
| | | // Access files from $_FILES directly for REST API uploads |
| | | if (empty($_FILES['file'])) { |
| | | return new WP_REST_Response([ |
| | | 'success' => false, |
| | | 'message' => 'No file uploaded' |
| | | ], 400); |
| | | } |
| | | |
| | | $file = $files['file']; |
| | | $file = $_FILES['file']; |
| | | |
| | | // Check for upload errors |
| | | if ($file['error'] !== UPLOAD_ERR_OK) { |
| | | return new WP_REST_Response([ |
| | | 'success' => false, |
| | | 'message' => 'File upload error: ' . $file['error'] |
| | | ], 400); |
| | | } |
| | | |
| | | // Validate file type |
| | | $allowed_types = ['text/csv', 'application/vnd.ms-excel', 'text/plain']; |
| | | if (!in_array($file['type'], $allowed_types)) { |
| | | $finfo = finfo_open(FILEINFO_MIME_TYPE); |
| | | $mime_type = finfo_file($finfo, $file['tmp_name']); |
| | | finfo_close($finfo); |
| | | |
| | | if (!in_array($mime_type, $allowed_types) && !in_array($file['type'], $allowed_types)) { |
| | | return new WP_REST_Response([ |
| | | 'success' => false, |
| | | 'message' => 'File must be a CSV' |