private function uploadBulkFile()
	{
		$newLimit = ceil(((filesize($_FILES['BulkImportRedirectsFile']['tmp_name']) / 1024 / 1024)*2) + 8);
		$oldLimit = (int)str_replace('M', '', @ini_get('memory_limit'));

		if($newLimit > $oldLimit) {
			@ini_set('memory_limit', $newLimit . 'M');
		}

		GetLib('class.urls');
		GetLib('class.redirects');

		if(substr(isc_strtolower($_FILES['BulkImportRedirectsFile']['name']), -4) == '.xml') {
			$xml = new SimpleXMLElement($_FILES['BulkImportRedirectsFile']['tmp_name'], null, true);
			$urls = $xml->children();
			foreach($urls as $thisUrl) {
				$url = (string)$thisUrl->loc;
				$url = ISC_REDIRECTS::normalizeURLForDatabase($url);
				if ($url === false) {
					continue;
				}
				$InsertData = array(
					'redirectassoctype' => ISC_REDIRECTS::REDIRECT_TYPE_NOREDIRECT,
					'redirectassocid'=> 0,
					'redirectpath' => '',
					'redirectmanual' => '',
					'redirectpath' => $url,
				);
				$GLOBALS['ISC_CLASS_DB']->InsertQuery('redirects', $InsertData);
			}
		} else {
			// must be a CSV
			$importer = new ISC_ADMIN_CSVPARSER();
			$importer->OpenCSVFile($_FILES['BulkImportRedirectsFile']['tmp_name'], 0);

			// skip header line if required
			if (isset($_POST['Headers'])) {
				$importer->FetchNextRecord();
			}

			while(($record = $importer->FetchNextRecord()) !== false) {
				$redirectPath = ISC_REDIRECTS::normalizeURLForDatabase($record[0]);
				if ($redirectPath === false) {
					continue;
				}

				$InsertData = array(
					'redirectassoctype' => ISC_REDIRECTS::REDIRECT_TYPE_NOREDIRECT,
					'redirectassocid'=> 0,
					'redirectpath' => '',
					'redirectmanual' => '',
					'redirectpath' => $redirectPath,
				);

				if(!empty($record[2])) {
					$label = ISC_REDIRECTS::getTypeFromLabel($record[1]);
					if (is_numeric($record[2]) &&  $label !== false) {
						$InsertData['redirectassocid'] = (int)$record[2];
						$InsertData['redirectassoctype'] = $label;
					}
				}
				elseif (!empty($record[1])) {
					$InsertData['redirectmanual'] = ISC_REDIRECTS::normalizeNewURLForDatabase($record[1]);
					$InsertData['redirectassoctype'] = ISC_REDIRECTS::REDIRECT_TYPE_MANUAL;
				}

				$GLOBALS['ISC_CLASS_DB']->InsertQuery('redirects', $InsertData);
			}
		}

		ISC_JSON::$useTextarea = true;
		ISC_JSON::output(GetLang('ImportSuccessful'), true);

	}