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');
|
require_once('include/cache.php');
|
||||||
|
|
||||||
define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
||||||
define ( 'FRIENDICA_VERSION', '2.3.1176' );
|
define ( 'FRIENDICA_VERSION', '2.3.1177' );
|
||||||
define ( 'DFRN_PROTOCOL_VERSION', '2.22' );
|
define ( 'DFRN_PROTOCOL_VERSION', '2.22' );
|
||||||
define ( 'DB_UPDATE_VERSION', 1105 );
|
define ( 'DB_UPDATE_VERSION', 1105 );
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,24 @@ function tryoembed($match){
|
||||||
|
|
||||||
function bbcode($Text,$preserve_nl = false) {
|
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.
|
// If we find any event code, turn it into an event.
|
||||||
// After we're finished processing the bbcode we'll
|
// After we're finished processing the bbcode we'll
|
||||||
// replace all of the event code with a reformatted version.
|
// replace all of the event code with a reformatted version.
|
||||||
|
@ -206,6 +224,8 @@ function bbcode($Text,$preserve_nl = false) {
|
||||||
|
|
||||||
// fix any escaped ampersands that may have been converted into links
|
// fix any escaped ampersands that may have been converted into links
|
||||||
$Text = preg_replace("/\<(.*?)(src|href)=(.*?)\&\;(.*?)\>/ism",'<$1$2=$3&$4>',$Text);
|
$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);
|
call_hooks('bbcode',$Text);
|
||||||
|
|
||||||
|
|
|
@ -1303,6 +1303,7 @@ function diaspora_retraction($importer,$xml) {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if($type === 'Person') {
|
if($type === 'Person') {
|
||||||
|
require_once('include/Contact.php');
|
||||||
contact_remove($contact['id']);
|
contact_remove($contact['id']);
|
||||||
}
|
}
|
||||||
elseif($type === 'Post') {
|
elseif($type === 'Post') {
|
||||||
|
|
Loading…
Reference in a new issue