Update of /cvsroot/php-blog/serendipity/plugins/serendipity_event_emoticate
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12501/plugins/serendipity_event_emoticate
Modified Files:
serendipity_event_emoticate.php
Log Message:
Remove preg_quote so that optimizations can work.
If you use custom smilies, the preg_quoting will be performed to ensure BC. If you specifically need your smilies to use regexps, you can set $serendipity['custom_emoticons_regexp'] = true in your emoticons.inc.php file
Index: serendipity_event_emoticate.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/plugins/serendipity_event_emoticate/serendipity_event_emoticate.php,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- serendipity_event_emoticate.php 21 Dec 2004 09:13:51 -0000 1.16
+++ serendipity_event_emoticate.php 21 Dec 2004 12:08:11 -0000 1.17
@@ -78,31 +78,37 @@
/* Hijack global variable $serendipity['custom_emoticons'] if it exists */
$hijack_file = serendipity_getTemplateFile('emoticons.inc.php', 'serendipityPath');
if (@file_exists($hijack_file)) {
- @include $hijack_file;
+ @include $hijack_file; // This file contains $serendipity['custom_emoticons'] and maybe $serendipity['custom_emoticons_regexp']
if (isset($serendipity['custom_emoticons']) && is_array($serendipity['custom_emoticons'])) {
$this->smilies = $serendipity['custom_emoticons'];
+ if (is_array($this->smilies) && (!isset($serendipity['custom_emoticons_regexp']) || !$serendipity['custom_emoticons_regexp'])) {
+ foreach($this->smilies AS $key => $val) {
+ unset($this->smilies[$key]);
+ $this->smilies[preg_quote($key, '/')] = $val;
+ }
+ }
}
}
if (!isset($this->smilies)) {
$this->smilies = array(
- ":'(" => serendipity_getTemplateFile('img/emoticons/cry.png'),
+ "\:'\(" => serendipity_getTemplateFile('img/emoticons/cry.png'),
- ':\-?)' => serendipity_getTemplateFile('img/emoticons/smile.png'),
+ '\:\-?\)' => serendipity_getTemplateFile('img/emoticons/smile.png'),
- ':|' => serendipity_getTemplateFile('img/emoticons/normal.png'),
+ '\:\|' => serendipity_getTemplateFile('img/emoticons/normal.png'),
- ':\-?O' => serendipity_getTemplateFile('img/emoticons/eek.png'),
+ '\:\-?O' => serendipity_getTemplateFile('img/emoticons/eek.png'),
- ':\-?(' => serendipity_getTemplateFile('img/emoticons/sad.png'),
+ '\:\-?\(' => serendipity_getTemplateFile('img/emoticons/sad.png'),
- '8\-?)' => serendipity_getTemplateFile('img/emoticons/cool.png'),
+ '8\-?\)' => serendipity_getTemplateFile('img/emoticons/cool.png'),
- ':\-?D' => serendipity_getTemplateFile('img/emoticons/laugh.png'),
+ '\:\-?D' => serendipity_getTemplateFile('img/emoticons/laugh.png'),
- ':\-?P' => serendipity_getTemplateFile('img/emoticons/tongue.png'),
+ '\:\-?P' => serendipity_getTemplateFile('img/emoticons/tongue.png'),
- ';\-?)' => serendipity_getTemplateFile('img/emoticons/wink.png'),
+ ';\-?\)' => serendipity_getTemplateFile('img/emoticons/wink.png'),
);
}
@@ -110,7 +116,7 @@
}
function humanReadableEmoticon($key) {
- return str_replace('\-?', '-', $key);
+ return str_replace(array('-?', '\\'), array('-', ''), $key);
}
function generate_content(&$title) {
@@ -154,7 +160,7 @@
$element = &$eventData[$temp['element']];
foreach ($this->getEmoticons() as $key => $value) {
- $element = preg_replace("/([\t\ ]?)" . preg_quote($key, '/') . "([\t\ \!\.\)]?)/m",
+ $element = preg_replace("/([\t\ ]?)" . $key . "([\t\ \!\.\)]?)/m",
"$1<img src=\"$value\" alt=\"$key\" style=\"display: inline; vertical-align: bottom;\" class=\"emoticon\" />$2",
$element);
}
|