From: rabuzarus <> Date: Thu, 14 Apr 2016 14:23:51 +0000 (+0200) Subject: Merge develop into 1404_reworked_autocomplete X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=01b02dbcaa8532f965389375e961d9c47d74eeec;p=friendica.git Merge develop into 1404_reworked_autocomplete Conflicts: include/text.php view/templates/head.tpl view/theme/duepuntozero/style.css view/theme/vier/style.css --- 01b02dbcaa8532f965389375e961d9c47d74eeec diff --cc .gitignore index b300f579e2,b300f579e2..5b7e09b507 --- a/.gitignore +++ b/.gitignore @@@ -12,7 -12,7 +12,7 @@@ addo *~ robots.txt --#ignore documentation, it should be newly built ++#ignore documentation, it should be newly built doc/html #ignore reports, should be generted with every build @@@ -23,7 -23,7 +23,7 @@@ report .buildpath .externalToolBuilders .settings --#ignore OSX .DS_Store files ++#ignore OSX .DS_Store files .DS_Store /nbproject/private/ diff --cc include/Smilies.php index 193f3b555d,0000000000..9cb2d6f2b5 mode 100644,000000..100644 --- a/include/Smilies.php +++ b/include/Smilies.php @@@ -1,179 -1,0 +1,180 @@@ + 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', - 'redredmatrix', - 'redredmatrix' ++ '<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 + * @param boolean $sample + * + * @return string + */ + public static function replace($s, $sample = false) { + if(intval(get_config('system','no_smilies')) + || (local_user() && intval(get_pconfig(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();
 +		$params['string'] = $s;
 +
 +		if($sample) {
 +			$s = '
'; + for($x = 0; $x < count($params['texts']); $x ++) { + $s .= '
' . $params['texts'][$x] . '
' . $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 function encode($m) {
 +		return(str_replace($m[1],base64url_encode($m[1]),$m[0]));
 +	}
 +
 +	private 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
 +	 */
 +	private 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 --cc view/templates/head.tpl
index afb7c1df27,fdf9a7716e..31555aae2b
--- a/view/templates/head.tpl
+++ b/view/templates/head.tpl
@@@ -28,21 -28,20 +28,21 @@@
  
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
+ 
+ 
+ 
+ 
+ 
 -
++
++
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+