Dotclear

source: plugins/smiliesEditor/_public.php @ 1836

Revision 1836, 2.3 KB checked in by Osku, 14 years ago (diff)

smiliesEditor 0.1.3

  • HTML admin fix
  • can display smilies on comments preview
  • Property svn:executable set to *
Line 
1<?php
2# -- BEGIN LICENSE BLOCK ----------------------------------
3#
4# This file is part of smiliesEditor, a plugin for Dotclear 2.
5#
6# Copyright (c) 2009 Osku and contributors
7#
8# Licensed under the GPL version 2.0 license.
9# A copy of this license is available in LICENSE file or at
10# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
11#
12# -- END LICENSE BLOCK ------------------------------------
13
14if (!defined('DC_RC_PATH')) { return; }
15
16$core->addBehavior('publicHeadContent',array('smiliesBehavior','publicHeadContent'));
17$core->addBehavior('publicCommentFormAfterContent',array('smiliesBehavior','publicCommentFormAfterContent'));
18if ($core->blog->settings->smilies_preview_flag)
19{
20     $core->addBehavior('publicBeforeCommentPreview',array('smiliesBehavior','publicBeforeCommentPreview'));
21}
22
23class smiliesBehavior
24{
25     public static function publicHeadContent()
26     {
27          global $core;
28         
29          if (!$core->blog->settings->smilies_bar_flag) {
30               return;
31          }
32         
33          if (!$core->blog->settings->use_smilies) {
34               return;
35          }
36         
37              $js = html::stripHostURL($core->blog->getQmarkURL().'pf=smiliesEditor/js/smile.js');
38     
39          echo "\n".'<script type="text/javascript" src="'.$js.'"></script>'."\n";
40     }
41     
42     public static function publicCommentFormAfterContent()
43     {
44          global $core;
45         
46          $s = new smiliesEditor($core);
47          $smilies = $s->getSmilies();
48         
49          $field = '<p class="field smilies"><label>'.(__('Smilies')).'&nbsp;:</label><span>%s</span></p>';
50         
51          if (!$core->blog->settings->smilies_bar_flag) {
52               return;
53          }
54         
55          if (!$core->blog->settings->use_smilies) {
56               return;
57          }
58         
59          $res = '';
60          foreach ($smilies as $smiley) {
61               if ($smiley['onSmilebar']) {
62                    $res .= ' <img class="smiley" src="'.$s->smilies_base_url.$smiley['name'].'" alt="'.
63                    html::escapeHTML($smiley['code']).'" title="'.html::escapeHTML($smiley['code']).'" onclick="javascript:InsertSmiley(\'c_content\', \''.
64                    html::escapeHTML(str_replace('\'', '\\\'', str_replace('\\', '\\\\', $smiley['code']))).'\');" style="cursor:pointer;" />';
65               }
66          }
67         
68          if ($res != '')
69          {
70               echo sprintf($field,$res);
71          }
72         
73     }
74     
75     public static function publicBeforeCommentPreview()
76     {
77          global $core, $_ctx;
78         
79          $GLOBALS['__smilies'] = context::getSmilies($core->blog);
80          $_ctx->comment_preview['content'] = context::addSmilies($_ctx->comment_preview['content']);
81     }
82}
83?>
Note: See TracBrowser for help on using the repository browser.

Sites map