Improved checks when adding contacts
This commit is contained in:
		
					parent
					
						
							
								86e5fdece6
							
						
					
				
			
			
				commit
				
					
						8424c78a59
					
				
			
		
					 2 changed files with 9 additions and 4 deletions
				
			
		|  | @ -229,7 +229,7 @@ function settings_post(App $a) | ||||||
| 				notice(DI::l10n()->t('Contact CSV file upload error')); | 				notice(DI::l10n()->t('Contact CSV file upload error')); | ||||||
| 			} else { | 			} else { | ||||||
| 				$csvArray = array_map('str_getcsv', file($_FILES['importcontact-filename']['tmp_name'])); | 				$csvArray = array_map('str_getcsv', file($_FILES['importcontact-filename']['tmp_name'])); | ||||||
| 				Logger::info('Import started', ['lines' => count($csvArray)]); | 				Logger::notice('Import started', ['lines' => count($csvArray)]); | ||||||
| 				// import contacts
 | 				// import contacts
 | ||||||
| 				foreach ($csvArray as $csvRow) { | 				foreach ($csvArray as $csvRow) { | ||||||
| 					// The 1st row may, or may not contain the headers of the table
 | 					// The 1st row may, or may not contain the headers of the table
 | ||||||
|  | @ -237,18 +237,20 @@ function settings_post(App $a) | ||||||
| 					// or the handle of the account, therefore we check for either
 | 					// or the handle of the account, therefore we check for either
 | ||||||
| 					// "http" or "@" to be present in the string.
 | 					// "http" or "@" to be present in the string.
 | ||||||
| 					// All other fields from the row will be ignored
 | 					// All other fields from the row will be ignored
 | ||||||
| 					if ((strpos($csvRow[0],'@') !== false) || (strpos($csvRow[0],'http') !== false)) { | 					if ((strpos($csvRow[0],'@') !== false) || in_array(parse_url($csvRow[0], PHP_URL_SCHEME), ['http', 'https'])) { | ||||||
| 						Worker::add(PRIORITY_LOW, 'AddContact', $_SESSION['uid'], $csvRow[0]); | 						Worker::add(PRIORITY_LOW, 'AddContact', $_SESSION['uid'], $csvRow[0]); | ||||||
|  | 					} else { | ||||||
|  | 						Logger::notice('Invalid account', ['url' => $csvRow[0]]); | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 				Logger::info('Import done'); | 				Logger::notice('Import done'); | ||||||
| 
 | 
 | ||||||
| 				info(DI::l10n()->t('Importing Contacts done')); | 				info(DI::l10n()->t('Importing Contacts done')); | ||||||
| 				// delete temp file
 | 				// delete temp file
 | ||||||
| 				unlink($_FILES['importcontact-filename']['tmp_name']); | 				unlink($_FILES['importcontact-filename']['tmp_name']); | ||||||
| 			} | 			} | ||||||
| 		} else { | 		} else { | ||||||
| 			Logger::info('Import triggered, but no import file was found.'); | 			Logger::notice('Import triggered, but no import file was found.'); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		return; | 		return; | ||||||
|  |  | ||||||
|  | @ -2821,6 +2821,9 @@ class Contact | ||||||
| 		$count = 0; | 		$count = 0; | ||||||
| 
 | 
 | ||||||
| 		foreach ($urls as $url) { | 		foreach ($urls as $url) { | ||||||
|  | 			if (empty($url) || !is_string($url)) { | ||||||
|  | 				continue; | ||||||
|  | 			} | ||||||
| 			$contact = self::getByURL($url, false, ['id', 'updated']); | 			$contact = self::getByURL($url, false, ['id', 'updated']); | ||||||
| 			if (empty($contact['id'])) { | 			if (empty($contact['id'])) { | ||||||
| 				Worker::add(PRIORITY_LOW, 'AddContact', 0, $url); | 				Worker::add(PRIORITY_LOW, 'AddContact', 0, $url); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue