From: Adam Magness Date: Sat, 11 Nov 2017 12:21:15 +0000 (-0500) Subject: Smilies to src X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=4d146acf90376db9b09eaa5c98835be81a55c7f8;p=friendica.git Smilies to src Move Smilies to Friendica\Content namespace. Related to #3878 --- diff --git a/include/Smilies.php b/include/Smilies.php deleted file mode 100644 index 28fd59db04..0000000000 --- a/include/Smilies.php +++ /dev/null @@ -1,227 +0,0 @@ - smilie shortcut - * 'icons' => icon in html - * - * @hook smilie ('texts' => smilies texts array, 'icons' => smilies html array) - */ - public static function get_list() { - - $texts = array( - '<3', - '</3', - '<\\3', - ':-)', - ';-)', - ':-(', - ':-P', - ':-p', - ':-"', - ':-"', - ':-x', - ':-X', - ':-D', - '8-|', - '8-O', - ':-O', - '\\o/', - 'o.O', - 'O.o', - 'o_O', - 'O_o', - ":'(", - ":-!", - ":-/", - ":-[", - "8-)", - ':beer', - ':homebrew', - ':coffee', - ':facepalm', - ':like', - ':dislike', - '~friendica', - 'red#', - 'red#matrix' - - ); - - $icons = array( - '<3', - '</3', - '<\\3', - ':-)', - ';-)', - ':-(', - ':-P', - ':-p', - ':-\', - ':-\', - ':-x', - ':-X', - ':-D', - '8-|', - '8-O', - ':-O', - '\\o/', - 'o.O', - 'O.o', - 'o_O', - 'O_o', - ':\'(', - ':-!', - ':-/', - ':-[', - '8-)', - ':beer', - ':homebrew', - ':coffee', - ':facepalm', - ':like', - ':dislike', - '~friendica ~friendica', - 'redred#matrix', - 'redred#matrixmatrix' - ); - - $params = array('texts' => $texts, 'icons' => $icons); - call_hooks('smilie', $params); - - return $params; - } - - /** - * @brief Replaces text emoticons with graphical images - * - * It is expected that this function will be called using HTML text. - * We will escape text between HTML pre and code blocks from being - * processed. - * - * At a higher level, the bbcode [nosmile] tag can be used to prevent this - * function from being executed by the prepare_text() routine when preparing - * bbcode source for HTML display - * - * @param string $s Text that should be replaced - * @param boolean $sample - * @param boolean $no_images Only replace emoticons without images - * - * @return string HML Output of the Smilie - */ - public static function replace($s, $sample = false, $no_images = false) { - if(intval(Config::get('system','no_smilies')) - || (local_user() && intval(PConfig::get(local_user(),'system','no_smilies')))) - return $s; - - $s = preg_replace_callback('/
(.*?)<\/pre>/ism','self::encode',$s);
-		$s = preg_replace_callback('/(.*?)<\/code>/ism','self::encode',$s);
-
-		$params = self::get_list();
-
-		if ($no_images) {
-			$cleaned = array('texts' => array(), 'icons' => array());
-			$icons = $params['icons'];
-			foreach ($icons AS $key => $icon) {
-				if (!strstr($icon, '
' . $params['icons'][$x] . '
'; - } - } - else { - $params['string'] = preg_replace_callback('/<(3+)/','self::preg_heart',$params['string']); - $s = str_replace($params['texts'],$params['icons'],$params['string']); - } - - $s = preg_replace_callback('/
(.*?)<\/pre>/ism','self::decode',$s);
-		$s = preg_replace_callback('/(.*?)<\/code>/ism','self::decode',$s);
-
-		return $s;
-	}
-
-	private static function encode($m) {
-		return(str_replace($m[1],base64url_encode($m[1]),$m[0]));
-	}
-
-	private static function decode($m) {
-		return(str_replace($m[1],base64url_decode($m[1]),$m[0]));
-	}
-
-
-	/**
-	 * @brief expand <3333 to the correct number of hearts
-	 *
-	 * @param string $x
-	 * @return string HTML Output
-	 *
-	 * @todo: Rework because it doesn't work correctly
-	 */
-	private static function preg_heart($x) {
-		if(strlen($x[1]) == 1)
-			return $x[0];
-		$t = '';
-		for($cnt = 0; $cnt < strlen($x[1]); $cnt ++)
-			$t .= '<3';
-		$r =  str_replace($x[0],$t,$x[0]);
-		return $r;
-	}
-}
diff --git a/include/bbcode.php b/include/bbcode.php
index a611605471..89311e7755 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -1,6 +1,7 @@
 argv[1] === "json") {
 		$tmp = Smilies::get_list();
 		$results = array();
diff --git a/src/Content/Smilies.php b/src/Content/Smilies.php
new file mode 100644
index 0000000000..464b5ee83e
--- /dev/null
+++ b/src/Content/Smilies.php
@@ -0,0 +1,237 @@
+ smilie shortcut
+	 *	'icons' => icon in html
+	 *
+	 * @hook smilie ('texts' => smilies texts array, 'icons' => smilies html array)
+	 */
+	public static function get_list()
+	{
+		$texts =  array(
+			'<3',
+			'</3',
+			'<\\3',
+			':-)',
+			';-)',
+			':-(',
+			':-P',
+			':-p',
+			':-"',
+			':-"',
+			':-x',
+			':-X',
+			':-D',
+			'8-|',
+			'8-O',
+			':-O',
+			'\\o/',
+			'o.O',
+			'O.o',
+			'o_O',
+			'O_o',
+			":'(",
+			":-!",
+			":-/",
+			":-[",
+			"8-)",
+			':beer',
+			':homebrew',
+			':coffee',
+			':facepalm',
+			':like',
+			':dislike',
+			'~friendica',
+			'red#',
+			'red#matrix'
+
+		);
+
+		$icons = array(
+		'<3',
+		'</3',
+		'<\\3',
+		':-)',
+		';-)',
+		':-(',
+		':-P',
+		':-p',
+		':-\',
+		':-\',
+		':-x',
+		':-X',
+		':-D',
+		'8-|',
+		'8-O',
+		':-O',
+		'\\o/',
+		'o.O',
+		'O.o',
+		'o_O',
+		'O_o',
+		':\'(',
+		':-!',
+		':-/',
+		':-[',
+		'8-)',
+		':beer',
+		':homebrew',
+		':coffee',
+		':facepalm',
+		':like',
+		':dislike',
+		'~friendica ~friendica',
+		'redred#matrix',
+		'redred#matrixmatrix'
+		);
+
+		$params = array('texts' => $texts, 'icons' => $icons);
+		call_hooks('smilie', $params);
+
+		return $params;
+	}
+
+	/**
+	 * @brief Replaces text emoticons with graphical images
+	 *
+	 * It is expected that this function will be called using HTML text.
+	 * We will escape text between HTML pre and code blocks from being
+	 * processed.
+	 *
+	 * At a higher level, the bbcode [nosmile] tag can be used to prevent this
+	 * function from being executed by the prepare_text() routine when preparing
+	 * bbcode source for HTML display
+	 *
+	 * @param string  $s         Text that should be replaced
+	 * @param boolean $sample
+	 * @param boolean $no_images Only replace emoticons without images
+	 *
+	 * @return string HML Output of the Smilie
+	 */
+	public static function replace($s, $sample = false, $no_images = false)
+	{
+		if (intval(Config::get('system', 'no_smilies'))
+			|| (local_user() && intval(PConfig::get(local_user(), 'system', 'no_smilies')))
+		) {
+			return $s;
+		}
+
+		$s = preg_replace_callback('/
(.*?)<\/pre>/ism', 'self::encode', $s);
+		$s = preg_replace_callback('/(.*?)<\/code>/ism', 'self::encode', $s);
+
+		$params = self::get_list();
+
+		if ($no_images) {
+			$cleaned = array('texts' => array(), 'icons' => array());
+			$icons = $params['icons'];
+			foreach ($icons as $key => $icon) {
+				if (!strstr($icon, '
' . $params['icons'][$x] . '
'; + } + } else { + $params['string'] = preg_replace_callback('/<(3+)/', 'self::preg_heart', $params['string']); + $s = str_replace($params['texts'], $params['icons'], $params['string']); + } + + $s = preg_replace_callback('/
(.*?)<\/pre>/ism', 'self::decode', $s);
+		$s = preg_replace_callback('/(.*?)<\/code>/ism', 'self::decode', $s);
+
+		return $s;
+	}
+
+	private static function encode($m)
+	{
+		return(str_replace($m[1], base64url_encode($m[1]), $m[0]));
+	}
+
+	private static function decode($m)
+	{
+		return(str_replace($m[1], base64url_decode($m[1]), $m[0]));
+	}
+
+
+	/**
+	 * @brief expand <3333 to the correct number of hearts
+	 *
+	 * @param string $x
+	 *
+	 * @return string HTML Output
+	 *
+	 * @todo: Rework because it doesn't work correctly
+	 */
+	private static function preg_heart($x)
+	{
+		if (strlen($x[1]) == 1) {
+			return $x[0];
+		}
+		$t = '';
+		for ($cnt = 0; $cnt < strlen($x[1]); $cnt ++) {
+			$t .= '<3';
+		}
+		$r =  str_replace($x[0], $t, $x[0]);
+		return $r;
+	}
+}