From 1055ef3eead49d5822b9f373fc7e39bb5016d4ba Mon Sep 17 00:00:00 2001
From: friendica <info@friendica.com>
Date: Sun, 27 Nov 2011 13:44:45 -0800
Subject: [PATCH] more readable private image extraction for bypassing preg
 limits

---
 boot.php           |  2 +-
 include/bbcode.php | 15 +++++++--------
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/boot.php b/boot.php
index 9d08b752a..01280c42f 100644
--- a/boot.php
+++ b/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.1177' );
+define ( 'FRIENDICA_VERSION',      '2.3.1178' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.22'    );
 define ( 'DB_UPDATE_VERSION',      1105      );
 
diff --git a/include/bbcode.php b/include/bbcode.php
index 71745de58..1ad81d26f 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -36,16 +36,15 @@ function bbcode($Text,$preserve_nl = false) {
  
 	$saved_image = '';
 	$img_start = strpos($Text,'[img]data:');
-	if($img_start !== false) {
+	$img_end = strpos($Text,'[/img]');
+
+	if($img_start !== false && $img_end !== false && $img_end > $img_start) {
 		$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);
- 
+		$saved_image = substr($Text,$img_start,strpos($Text,'[/img]'));
+		$end_fragment = substr($Text,$img_end + strlen('[/img]'));		
+//		logger('saved_image: ' . $saved_image,LOGGER_DEBUG);
+		$Text = $start_fragment . '[$#saved_image#$]' . $end_fragment;
 	}
 
 	// If we find any event code, turn it into an event.