extract private images before bbcode translation since preg has issues with large data sizes.
This commit is contained in:
parent
0f4a42f550
commit
cf7568efd7
3 changed files with 23 additions and 2 deletions
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') {
|
||||
|
|
Loading…
Reference in a new issue