extract private images before bbcode translation since preg has issues with large data sizes.
This commit is contained in:
		
							
								
								
									
										2
									
								
								boot.php
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								boot.php
									
									
									
									
									
								
							| @@ -9,7 +9,7 @@ require_once('include/nav.php'); | ||||
| require_once('include/cache.php'); | ||||
|  | ||||
| define ( 'FRIENDICA_PLATFORM',     'Friendica'); | ||||
| define ( 'FRIENDICA_VERSION',      '2.3.1176' ); | ||||
| define ( 'FRIENDICA_VERSION',      '2.3.1177' ); | ||||
| define ( 'DFRN_PROTOCOL_VERSION',  '2.22'    ); | ||||
| define ( 'DB_UPDATE_VERSION',      1105      ); | ||||
|  | ||||
|   | ||||
| @@ -30,6 +30,24 @@ function tryoembed($match){ | ||||
|  | ||||
| function bbcode($Text,$preserve_nl = false) { | ||||
|  | ||||
|  | ||||
| 	// extract a single private image which uses data url's since preg has issues with  | ||||
| 	// large data sizes. Put it back in after we've done all the regex matching. | ||||
|   | ||||
| 	$saved_image = ''; | ||||
| 	$img_start = strpos($Text,'[img]data:'); | ||||
| 	if($img_start !== false) { | ||||
| 		$start_fragment = substr($Text,0,$img_start); | ||||
| 		$img_start += strlen('[img]'); | ||||
| 		$saved_image = substr($Text,$img_start);		 | ||||
| 		$img_end = strpos($saved_image,'[/img]'); | ||||
| 		$saved_image = substr($saved_image,0,$img_end); | ||||
| 		logger('saved_image: ' . $saved_image); | ||||
| 		$img_end += strlen('[/img]'); | ||||
| 		$Text = $start_fragment . '[$#saved_image#$]' . substr($Text,strlen($start_fragment) + strlen('[img]') + $img_end); | ||||
|   | ||||
| 	} | ||||
|  | ||||
| 	// If we find any event code, turn it into an event. | ||||
| 	// After we're finished processing the bbcode we'll  | ||||
| 	// replace all of the event code with a reformatted version. | ||||
| @@ -206,7 +224,9 @@ function bbcode($Text,$preserve_nl = false) { | ||||
|  | ||||
| 	// fix any escaped ampersands that may have been converted into links | ||||
| 	$Text = preg_replace("/\<(.*?)(src|href)=(.*?)\&\;(.*?)\>/ism",'<$1$2=$3&$4>',$Text); | ||||
| 	 | ||||
| 	if(strlen($saved_image)) | ||||
| 		$Text = str_replace('[$#saved_image#$]','<img src="' . $saved_image .'" alt="' . t('Image/photo') . '" />',$Text); | ||||
|  | ||||
| 	call_hooks('bbcode',$Text); | ||||
|  | ||||
| 	return $Text; | ||||
|   | ||||
| @@ -1303,6 +1303,7 @@ function diaspora_retraction($importer,$xml) { | ||||
| 		return; | ||||
|  | ||||
| 	if($type === 'Person') { | ||||
| 		require_once('include/Contact.php'); | ||||
| 		contact_remove($contact['id']); | ||||
| 	} | ||||
| 	elseif($type === 'Post') { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user