Changeset 9966


Ignore:
Timestamp:
04/01/11 22:56:28 (9 years ago)
Author:
mistic100
Message:

[extentions] Smilies Support

  • uses markItUp!
Location:
extensions/SmiliesSupport
Files:
5 added
2 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • extensions/SmiliesSupport/admin.php

    r9789 r9966  
    1010{ 
    1111        // the smilies.txt file is not saved if the directory is changed 
    12         if (isset($_POST['text1']) AND $_POST['text1'] != $conf_smiliessupport[0]) { 
     12        if (isset($_POST['text1']) AND $_POST['text1'] != $conf_smiliessupport[0])  
     13        { 
    1314                $not_save_file = true; 
    1415        } 
    1516         
     17        // new configuration 
    1618        $conf_smiliessupport = array( 
    1719                isset($_POST['text1']) ? $_POST['text1'] : 'plugins/SmiliesSupport/smilies_1', 
     
    1921                isset($_POST['text3']) ? $_POST['text3'] : 'smile.png', 
    2022        ); 
    21          
    2223        if (empty($_POST['text'])) $_POST['text'] = ':)         smile.png'; 
    2324                 
    24     $new_value_smiliessupport = implode (",", $conf_smiliessupport); 
    25     $query = 'UPDATE ' . CONFIG_TABLE . ' 
    26                 SET value="' . $new_value_smiliessupport . '" 
    27                 WHERE param="smiliessupport"'; 
     25    $new_value_smiliessupport = implode(",", $conf_smiliessupport); 
     26    $query = "UPDATE " . CONFIG_TABLE . " 
     27                SET value='" . $new_value_smiliessupport . "' 
     28                WHERE param='smiliessupport'"; 
    2829    pwg_query($query); 
    29      
    30         if (!isset($not_save_file)) { 
     30         
     31        // new definitions file 
     32        if (!isset($not_save_file))  
     33        { 
    3134                $smilies_file = PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/smilies.txt';      
    3235 
     
    3841                        $page['infos'][] = l10n('Information data registered in database'); 
    3942                } else { 
    40                         $page['errors'][] = l10n('File/directory read error').'   '.$smilies_file; 
     43                        $page['errors'][] = l10n('File/directory read error').' : '.$smilies_file; 
    4144                } 
    4245        } 
     46} 
     47 
     48// check if the representant exists 
     49if (!file_exists(PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/'.$conf_smiliessupport[2])) { 
     50        $page['errors'][] = l10n('File/directory read error').' : '.$conf_smiliessupport[0].'/'.$conf_smiliessupport[2]; 
    4351} 
    4452 
     
    4957)); 
    5058 
     59// build the table of smilies 
    5160include_once(SMILIES_PATH . '/smiliessupport.inc.php'); 
    52 $template->assign('SMILIESSUPPORT_PAGE', SmiliesTable($conf_smiliessupport)); 
     61$template->assign('smiliesfiles', get_smilies($conf_smiliessupport)); 
    5362 
     63// get the content of definitions file 
    5464$smilies_file = PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/smilies.txt'; 
    55  
    5665if (file_exists($smilies_file)) { 
    5766        $content_file = file_get_contents($smilies_file); 
  • extensions/SmiliesSupport/main.inc.php

    r9789 r9966  
    1919 
    2020function add_smiliessupport() { 
    21         global $page; 
    22         if ($page['body_id'] == 'theCommentsPage' OR $page['body_id'] == 'thePicturePage') { 
    23                 set_smiliessupport_page(); 
     21        global $page, $pwg_loaded_plugins; 
     22         
     23        if (!isset($pwg_loaded_plugins['bbcode_bar'])  
     24                AND isset($page['body_id']) AND $page['body_id'] == 'thePicturePage') 
     25        { 
     26                set_smiliessupport(); 
    2427        } 
    2528} 
  • extensions/SmiliesSupport/smiliessupport.inc.php

    r9789 r9966  
    22if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    33 
    4 function set_smiliessupport_page() 
     4// add smilies button to the comment field 
     5function set_smiliessupport() 
    56{ 
    6         global $template, $lang, $pwg_loaded_plugins; 
     7        global $conf, $lang; 
     8        $conf_smiliessupport = explode(',' , $conf['smiliessupport']); 
     9         
     10        $smilies = get_smilies($conf_smiliessupport); 
     11        $lang['Comment'] .= SmiliesTable($conf_smiliessupport, $smilies);        
     12} 
    713 
    8         if (!isset($pwg_loaded_plugins['bbcode_bar'])) { 
    9                 $lang['Comment'] .= SmiliesTable(); 
     14// return an array with available smilies (name and path) ## must received the unserialized configuration array 
     15function get_smilies($conf_smiliessupport) 
     16{ 
     17        $accepted_ext = array('gif', 'jpg', 'png'); 
     18         
     19        if ($handle = opendir(PHPWG_ROOT_PATH.$conf_smiliessupport[0])) 
     20        { 
     21                $i = 1; 
     22                while (false !== ($file = readdir($handle))) 
     23                { 
     24                        if ($file != '.' AND $file != '..' AND in_array(get_extension($file), $accepted_ext)) 
     25                        { 
     26                                $smilies[] = array( 
     27                                        'PATH' => PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/'.$file, 
     28                                        'TITLE' => ':'.get_filename_wo_extension($file).':', 
     29                                        'TR' => ($i>0 AND $i%$conf_smiliessupport[1] == 0) ? '</tr><tr>' : null, 
     30                                ); 
     31                                $i++; 
     32                        } 
     33                } 
     34                 
     35                return $smilies; 
     36        } else { 
     37                return false; 
    1038        } 
    1139} 
    1240 
    13 function SmiliesTable($new_conf=null) 
     41// get the smilies button ## must received the unserialized configuration array AND the smilies array 
     42function SmiliesTable($conf_smiliessupport, $smilies) 
    1443{ 
    15         global $conf, $template, $page; 
     44        global $template; 
     45        load_language('plugin.lang', SMILIES_PATH); 
    1646 
    17         // this is for live update on admin page 
    18         if (empty($new_conf)) { 
    19                 $conf_smiliessupport = explode("," , $conf['smiliessupport']); 
    20         } else { 
    21                 $conf_smiliessupport = $new_conf; 
    22         } 
     47        // edit field has different id 
     48        // if ( 
     49                // (isset($_GET['action']) AND $_GET['action'] == 'edit_comment')  
     50                // OR (isset($page['body_id']) AND $page['body_id'] == 'theCommentsPage') 
     51        // ) { 
     52                // $template->assign('form_name', 'editComment'); 
     53        // } else { 
     54                // $template->assign('form_name', 'addComment'); 
     55        // } 
     56        $template->assign('form_name', 'addComment'); 
    2357 
    24         // edit field has a different id 
    25         if ( 
    26                 (isset($_GET['action']) AND $_GET['action'] == 'edit_comment')  
    27                 OR (isset($page['body_id']) AND $page['body_id'] == 'theCommentsPage') 
    28         ) { 
    29                 $template->assign('form_name', 'editComment'); 
    30         } else { 
    31                 $template->assign('form_name', 'addComment'); 
    32         } 
    33  
    34         $cnt = 1; 
    35         $template->assign('SMILIES_PATH', SMILIES_PATH); 
     58        $template->assign(array( 
     59                'SMILIES_PATH' => SMILIES_PATH, 
     60                'REPRESENTANT' => PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/'.$conf_smiliessupport[2], 
     61                'smiliesfiles' => $smilies, 
     62        )); 
     63         
    3664        $template->set_filename('smiliessupport_page', dirname(__FILE__).'/template/smiliessupport_page.tpl'); 
    37         $template->assign(array('REPRESENTANT' => PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/'.$conf_smiliessupport[2])); 
    38  
    39         if ($handle = opendir(PHPWG_ROOT_PATH.$conf_smiliessupport[0])) 
    40         { 
    41                 while (false !== ($file = readdir($handle))) 
    42                 { 
    43                         $trvalue = ''; 
    44  
    45                         if ($file != "." && $file != ".." && ( get_extension($file) == "gif" || get_extension($file) == "png")) 
    46                         { 
    47                                 if (( $cnt > 0 ) && ( $cnt % $conf_smiliessupport[1] == 0 )) { 
    48                                         $trvalue = '</tr><tr>'; 
    49                                 } 
    50                                 $cnt = $cnt + 1; 
    51                                 $template->append('smiliesfiles', 
    52                                 array('PATH' => PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/'.$file, 
    53                                 'TITLE' => ':'.get_filename_wo_extension($file).':', 
    54                                 'TR'=>$trvalue)); 
    55                         } 
    56                 } 
    57                  
    58         } else { 
    59                 array_push($page['errors'], l10n('opendir failed : '.PHPWG_ROOT_PATH.$conf_smiliessupport[0].')' )); 
    60         } 
    61          
    6265        return $template->parse('smiliessupport_page', true); 
    6366} 
    6467 
     68// parse smilies 
    6569function SmiliesParse($str) 
    6670{ 
  • extensions/SmiliesSupport/template/smiliessupport_admin.tpl

    r9789 r9966  
    2626                content:url('{$themeconf.admin_icon_dir}/help.png'); 
    2727        } 
     28        .properties textarea {ldelim} 
     29                width:60%; 
     30                margin:0 20%; 
     31        } 
    2832</style> 
    2933{/html_head} 
     
    5054                </li> 
    5155                <li> 
    52                         <table><tr><td>{$SMILIESSUPPORT_PAGE}</td></tr></table> 
     56                        <table><tr> 
     57                        {foreach from=$smiliesfiles item=smileyfile}  
     58                                <td><a href="#" title="{$smileyfile.TITLE}"><img src="{$smileyfile.PATH}"/></a></td> 
     59                                {$smileyfile.TR} 
     60                        {/foreach} 
     61                        </tr></table> 
    5362                </li> 
    5463    </ul> 
  • extensions/SmiliesSupport/template/smiliessupport_page.tpl

    r9789 r9966  
    1 {combine_script id="jquery"} 
    2 {combine_script id="smiliessupport" path=$SMILIES_PATH|@cat:"template/smiliessupport.js"} 
    3 {combine_css path=$SMILIES_PATH|@cat:"template/smiliessupport_page.css"} 
     1{combine_script id="markitup" require='jquery' path=$SMILIES_PATH|@cat:"template/markitup/jquery.markitup.js"} 
     2{combine_css path=$SMILIES_PATH|@cat:"template/markitup/style.markitup.css"} 
    43 
    5 <div width="500pt"> 
    6         <img id="allsmilies" src="{$REPRESENTANT}" title="{'All Smilies'|@translate}" onmouseover="jQuery('#smiliesdiv').css('visibility','visible');"> 
     4{footer_script require='jquery'} 
     5{literal} 
     6$(document).ready(function() { 
     7        if (jQuery('.markItUp').length == 0) { 
     8                jQuery('#{/literal}{$form_name}{literal} textarea').markItUp({markupSet: []}); 
     9        } 
     10        jQuery('#SmiliesSupport').appendTo('.markItUpHeader ul:first-child'); 
     11        jQuery('#allsmilies').mouseover(function(){  
     12                jQuery("#{/literal}{$form_name}{literal} textarea").focus(); 
     13                jQuery('#smiliesdiv').css('display','');  
     14        }); 
     15        jQuery('#smiliesdiv a').click(function() { 
     16                emoticon = jQuery(this).attr("title"); 
     17                jQuery.markItUp({ replaceWith:emoticon }); 
     18                jQuery('#smiliesdiv').css('display','none'); 
     19                return false; 
     20        }); 
     21}); 
     22{/literal} 
     23{/footer_script} 
    724 
    8         <div id="smiliesdiv" > 
    9                 <table class="smiliestable"  
    10                 onmouseover="jQuery('#smiliesdiv').css('visibility','visible');" 
    11                 onmouseout="jQuery('#smiliesdiv').css('visibility','hidden');"> 
    12                         <tr> 
    13                         {foreach from=$smiliesfiles item=smiliesfile}  
    14                                 <td><img src="{$smiliesfile.PATH}" title="{$smiliesfile.TITLE}" onclick="SmiliesWrite('{$form_name}','content','','{$smiliesfile.TITLE}',true); jQuery('#smiliesdiv').css('visibility','hidden');"> </td>        
    15                                 {$smiliesfile.TR} 
    16                         {/foreach} 
    17                         </tr> 
    18                 </table> 
    19         </div> 
    20 </div> 
     25<li id="SmiliesSupport" class="markItUpButton markItUpDropMenu"> 
     26        <a id="allsmilies" style="background-image:url({$REPRESENTANT});" title="{'All Smilies'|@translate}"></a> 
     27 
     28        <ul id="smiliesdiv"> 
     29                <li><table><tr> 
     30                {foreach from=$smiliesfiles item=smileyfile}  
     31                        <td><a href="#" title="{$smileyfile.TITLE}"><img src="{$smileyfile.PATH}"/></a></td> 
     32                        {$smileyfile.TR} 
     33                {/foreach} 
     34                </tr></table></li> 
     35        </ul> 
     36</li> 
Note: See TracChangeset for help on using the changeset viewer.