Changeset 9683


Ignore:
Timestamp:
03/14/11 21:38:51 (9 years ago)
Author:
mistic100
Message:

[extentions] Smilies Support

  • compatibility with Piwigo 2.2.0
  • many corrections
Location:
extensions/SmiliesSupport
Files:
8 added
9 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • extensions/SmiliesSupport/main.inc.php

    r6774 r9683  
    22/* 
    33Plugin Name: Smilies Support 
    4 Version: auto 
     4Version: 2.2.0 
    55Description: Allow add Smilies for comments and descriptions. 
    66Plugin URI: http://piwigo.org/ext/extension_view.php?eid=159 
    7 Author: Atadilo & P@t 
     7Author: Atadilo & P@t & Mistic 
    88*/ 
    99 
    1010if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    1111 
    12 include_once(dirname(__FILE__).'/smiliessupport.inc.php'); 
     12define('SMILIES_DIR' , basename(dirname(__FILE__))); 
     13define('SMILIES_PATH' , PHPWG_PLUGINS_PATH . SMILIES_DIR . '/'); 
     14 
     15include_once(SMILIES_PATH.'smiliessupport.inc.php'); 
    1316 
    1417add_event_handler('render_comment_content', 'SmiliesParse', 60); 
     
    1720if (script_basename() == 'admin') 
    1821{ 
    19   add_event_handler('get_admin_plugin_menu_links', 'smiliessupport_admin_menu'); 
    20  
    21   function smiliessupport_admin_menu($menu) { 
    22       array_push($menu, 
    23         array('NAME' => 'Smilies Support', 
    24               'URL' => get_admin_plugin_menu_link(dirname(__FILE__) . '/smiliessupport_admin.php'))); 
    25       return $menu; 
    26   } 
     22        add_event_handler('get_admin_plugin_menu_links', 'smiliessupport_admin_menu'); 
     23        function smiliessupport_admin_menu($menu)  
     24        { 
     25                array_push($menu, array( 
     26                        'NAME' => 'Smilies Support', 
     27                         'URL' => get_root_url().'admin.php?page=plugin-' . SMILIES_DIR)); 
     28                return $menu; 
     29        } 
    2730} 
    2831?> 
  • extensions/SmiliesSupport/maintain.inc.php

    r3304 r9683  
    11<?php 
    2  
    32if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    43 
    54function plugin_install() 
    65{ 
    7   global $conf; 
     6        global $conf; 
    87 
    9   if (!isset($conf['smiliessupport'])) 
    10   { 
    11     $q = 'INSERT INTO ' . CONFIG_TABLE . ' (param,value,comment) 
    12 VALUES ("smiliessupport","plugins/SmiliesSupport/smilies,5,sourire.gif","Parametres SmiliesSupport");'; 
    13     pwg_query($q); 
    14   } 
     8        if (!isset($conf['smiliessupport'])) 
     9        { 
     10                $q = 'INSERT INTO ' . CONFIG_TABLE . ' (param,value,comment) 
     11                        VALUES ("smiliessupport","plugins/SmiliesSupport/smilies,5,sourire.gif","Parametres SmiliesSupport");'; 
     12                pwg_query($q); 
     13        } 
    1514} 
    1615 
    1716function plugin_uninstall() 
    1817{ 
    19   global $conf; 
     18        global $conf; 
    2019 
    21   if (isset($conf['smiliessupport'])) 
    22   { 
    23     pwg_query('DELETE FROM ' . CONFIG_TABLE . ' WHERE param="smiliessupport" LIMIT 1;'); 
    24   } 
     20        if (isset($conf['smiliessupport'])) 
     21        { 
     22                pwg_query('DELETE FROM ' . CONFIG_TABLE . ' WHERE param="smiliessupport" LIMIT 1;'); 
     23        } 
    2524} 
     25 
     26?> 
  • extensions/SmiliesSupport/smiliessupport.inc.php

    r6298 r9683  
    11<?php 
    2  
    32if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    43 
    54function set_smiliessupport_page() 
    65{ 
    7   global $template, $lang, $pwg_loaded_plugins; 
     6        global $template, $lang, $pwg_loaded_plugins; 
    87 
    9   if (!isset($pwg_loaded_plugins['bbcode_bar'])) 
    10   { 
    11     $lang['Comment'] .= SmiliesTable(); 
    12   } 
     8        if (!isset($pwg_loaded_plugins['bbcode_bar'])) 
     9        { 
     10                $lang['Comment'] .= SmiliesTable(); 
     11        } 
    1312} 
    1413 
    15 function SmiliesTable() 
     14function SmiliesTable($new_conf=null) 
    1615{ 
    17   global $conf, $template; 
     16        global $conf, $template; 
    1817 
    19   $conf_smiliessupport = explode("," , $conf['smiliessupport']); 
     18        // this is for live update on admin page 
     19        if (empty($new_conf))  
     20                $conf_smiliessupport = explode("," , $conf['smiliessupport']); 
     21        else 
     22                $conf_smiliessupport = $new_conf; 
    2023 
    21   $cnt = 1; 
    22    
    23   $template->set_filename('smiliessupport_page', dirname(__FILE__).'/smiliessupport_page.tpl'); 
    24    
    25   $template->assign(array('REPRESENTANT' => PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/'.$conf_smiliessupport[2])); 
    26    
    27   if ($handle = opendir(PHPWG_ROOT_PATH.$conf_smiliessupport[0])) 
    28   { 
    29     while (false !== ($file = readdir($handle))) 
    30     { 
    31       $trvalue = ''; 
     24        // edit field has a different id 
     25        if (isset($_GET['action']) AND $_GET['action'] == 'edit_comment') 
     26                $template->assign('form_name', 'editComment'); 
     27        else 
     28                $template->assign('form_name', 'addComment'); 
    3229 
    33       if ($file != "." && $file != ".." && ( get_extension($file) == "gif" || get_extension($file) == "png")) 
    34       { 
    35         if (( $cnt > 0 ) && ( $cnt % $conf_smiliessupport[1] == 0 )) 
    36         { 
    37           $trvalue = '</tr><tr>'; 
    38         } 
    39         $cnt = $cnt + 1; 
    40         $template->append('smiliesfiles', 
    41           array('PATH' => PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/'.$file, 
    42                 'TITLE' => ':'.get_filename_wo_extension($file).':', 
    43                 'TR'=>$trvalue)); 
    44       } 
    45     } 
    46   } 
    47   else 
    48   { 
    49     array_push($page['errors'], l10n('opendir failed : '.PHPWG_ROOT_PATH.$conf_smiliessupport[0].')' )); 
    50   } 
    51   return $template->parse('smiliessupport_page', true); 
     30        $cnt = 1; 
     31        $template->set_filename('smiliessupport_page', dirname(__FILE__).'/smiliessupport_page.tpl'); 
     32        $template->assign(array('REPRESENTANT' => PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/'.$conf_smiliessupport[2])); 
     33 
     34        if ($handle = opendir(PHPWG_ROOT_PATH.$conf_smiliessupport[0])) 
     35        { 
     36                while (false !== ($file = readdir($handle))) 
     37                { 
     38                        $trvalue = ''; 
     39 
     40                        if ($file != "." && $file != ".." && ( get_extension($file) == "gif" || get_extension($file) == "png")) 
     41                        { 
     42                                if (( $cnt > 0 ) && ( $cnt % $conf_smiliessupport[1] == 0 )) 
     43                                { 
     44                                        $trvalue = '</tr><tr>'; 
     45                                } 
     46                                $cnt = $cnt + 1; 
     47                                $template->append('smiliesfiles', 
     48                                array('PATH' => PHPWG_ROOT_PATH.$conf_smiliessupport[0].'/'.$file, 
     49                                'TITLE' => ':'.get_filename_wo_extension($file).':', 
     50                                'TR'=>$trvalue)); 
     51                        } 
     52                } 
     53        } 
     54        else 
     55        { 
     56                array_push($page['errors'], l10n('opendir failed : '.PHPWG_ROOT_PATH.$conf_smiliessupport[0].')' )); 
     57        } 
     58         
     59        return $template->parse('smiliessupport_page', true); 
    5260} 
    5361 
    5462function SmiliesParse($str) 
    5563{ 
    56   global $conf; 
    57    
    58   $conf_smiliessupport = explode("," , $conf['smiliessupport']); 
    59    
    60   $def_path = $conf_smiliessupport[0].'/smilies.txt'; 
    61   if ( file_exists($def_path) ) 
    62   { 
    63     $def = file($def_path); 
    64     foreach($def as $v) 
    65     { 
    66       $v = trim($v); 
    67       if (preg_match('|^([^\t]*)[\t]+(.*)$|',$v,$matches)) 
    68       { 
    69         $r[] = '/(\A|[\s]+|>)('.preg_quote($matches[1],'/').')([\s]+|[<]|\Z)/ms';                                        
    70         $s[] = '<img src="'.$conf_smiliessupport[0].'/'.$matches[2].'" '.'alt="$2" title="$2" />'; 
    71         $str = preg_replace($r, $s, $str); 
    72       } 
    73     } 
    74   }  
    75   if ($handle = opendir(PHPWG_ROOT_PATH.$conf_smiliessupport[0])) 
    76   { 
    77     while (false !== ($file = readdir($handle))) 
    78     {  
    79       if ($file != "." && $file != ".." && ( get_extension($file) == "gif" || get_extension($file) == "png")) { 
    80         $v = ':'.get_filename_wo_extension($file).':';  
    81         $s = '<img src="'.$conf_smiliessupport[0].'/'.$file.'" '.'alt="'.get_filename_wo_extension($file).'" title="'.get_filename_wo_extension($file).'" />'; 
    82         $str = str_replace($v, $s, $str); 
    83       } 
    84     } 
    85   } 
    86   return $str; 
     64        global $conf; 
     65 
     66        $conf_smiliessupport = explode("," , $conf['smiliessupport']); 
     67        $def_path = $conf_smiliessupport[0].'/smilies.txt'; 
     68         
     69        if ($handle = opendir(PHPWG_ROOT_PATH.$conf_smiliessupport[0])) 
     70        { 
     71                while (false !== ($file = readdir($handle))) 
     72                {  
     73                        if ($file != "." && $file != ".." && ( get_extension($file) == "gif" || get_extension($file) == "png")) { 
     74                                $v = ':'.get_filename_wo_extension($file).':';  
     75                                $s = '<img src="'.$conf_smiliessupport[0].'/'.$file.'" alt=":'.get_filename_wo_extension($file).':" title=":'.get_filename_wo_extension($file).':"/>'; 
     76                                $str = str_replace($v, $s, $str); 
     77                        } 
     78                } 
     79        } 
     80         
     81        if ( file_exists($def_path) ) 
     82        { 
     83                $def = file($def_path); 
     84                foreach($def as $v) 
     85                { 
     86                        $v = trim($v); 
     87                        if (preg_match('|^([^\t]*)[\t]+(.*)$|',$v,$matches)) 
     88                        {        
     89                                $r = '#'.preg_quote($matches[1],'/').'#';                                        
     90                                $t = '<img src="'.$conf_smiliessupport[0].'/'.$matches[2].'" alt=":'.get_filename_wo_extension($matches[2]).':" title=":'.get_filename_wo_extension($matches[2]).':"/>'; 
     91                                $str = preg_replace($r, $t, $str); 
     92                        } 
     93                } 
     94        }  
     95         
     96        return $str; 
    8797} 
     98 
    8899?> 
  • extensions/SmiliesSupport/smiliessupport_admin.tpl

    r3304 r9683  
     1{combine_script id='jquery'} 
     2{include file='include/autosize.inc.tpl'} 
     3 
    14<div class="titrePage"> 
    25        <h2>Smilies Support</h2> 
    36</div> 
    4 <form method="post" action="" class="properties"  ENCTYPE="multipart/form-data">  
    5 <div align="center"> 
     7 
     8<form method="post" action="" class="properties" ENCTYPE="multipart/form-data">  
    69        <fieldset> 
    7       <legend>SmiliesSupport</legend>      
    8           <UL>                   
    9                 <LI>Location : <input type="text" size="40" name="text1" value="{$TEXT1_VALUE}" /> </LI> 
    10                 <LI>Nb Column : <input type="text" size="20" name="text2" value="{$TEXT2_VALUE}" /> </LI>                
    11                 <LI>Representant : <input type="text" size="20" name="text3" value="{$TEXT3_VALUE}" /> </LI>             
    12           <LI>{$SMILIESSUPPORT_PAGE}</LI> 
    13     </UL> 
     10      <legend>{'Configuration'|@translate}</legend>        
     11          <ul>                   
     12                <li> 
     13                        <span class="property">{'smilies_dir'|@translate}</span> 
     14                        <input type="text" size="40" name="text1" value="{$TEXT1_VALUE}" /> 
     15                </li> 
     16                <li> 
     17                        <span class="property">{'nb_columns'|@translate}</span> 
     18                        <input type="text" size="3" name="text2" value="{$TEXT2_VALUE}" /> 
     19                </li>            
     20                <li> 
     21                        <span class="property">{'representant'|@translate}</span> 
     22                        <input type="text" size="20" name="text3" value="{$TEXT3_VALUE}" /> 
     23                </li> 
     24                <li> 
     25                        <table><tr><td>{$SMILIESSUPPORT_PAGE}</td></tr></table> 
     26                </li> 
     27    </ul> 
    1428        </fieldset> 
     29         
    1530        <fieldset> 
    1631                <legend>smilies.txt</legend> 
    17                 <textarea rows="30" name="text" cols="100">{$CONTENT_FILE}</textarea> 
     32                <textarea rows="5" name="text">{$CONTENT_FILE}</textarea> 
    1833        </fieldset>      
    19         <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" /> 
    20 </div> 
     34         
     35        <p><input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" /></p> 
    2136</form> 
  • extensions/SmiliesSupport/smiliessupport_page.css

    r3304 r9683  
    22    position:absolute;  
    33        z-index:1000;  
    4         width:10px; 
    54        visibility:hidden;  
    65} 
     
    87.smiliestable { 
    98    background: buttonface; 
    10     border-top: 1px solid; 
    11     border-left: 1px solid; 
    12     border-bottom: 1px solid; 
    13     border-right: 1px solid; 
     9    border: 1px solid; 
    1410    margin: 1; 
    1511} 
    1612 
    17 #smiliesdiv IMG { 
     13#smiliesdiv img { 
    1814  cursor: pointer; 
    1915} 
     16 
     17.properties textarea { 
     18        width:80%; 
     19        margin:0 10%; 
     20} 
  • extensions/SmiliesSupport/smiliessupport_page.tpl

    r3304 r9683  
    1 {known_script id="smiliessupport" src=$ROOT_URL|@cat:"plugins/SmiliesSupport/smiliessupport.js"} 
    2 {html_head} 
    3 <link rel="stylesheet" type="text/css" href="{$ROOT_URL|@cat:"plugins/SmiliesSupport/smiliessupport_page.css"}" > 
    4 {/html_head} 
     1{combine_script id="jquery"} 
     2{combine_script id="smiliessupport" path=$ROOT_URL|@cat:"plugins/SmiliesSupport/smiliessupport.js"} 
     3{combine_css path=$ROOT_URL|@cat:"plugins/SmiliesSupport/smiliessupport_page.css"} 
    54 
    6 <img id="allsmilies" src="{$REPRESENTANT}" title="All Smilies" onmouseover="document.getElementById('smiliesdiv').style.visibility='visible';" > 
    7 <div id="smiliesdiv" > 
    8 <table class="smiliestable"  
    9 onmouseover="document.getElementById('smiliesdiv').style.visibility='visible';" 
    10 onmouseout="document.getElementById('smiliesdiv').style.visibility='hidden';" > 
    11         <tr> 
    12                 {foreach from=$smiliesfiles item=smiliesfile}  
    13                 <td><img src="{$smiliesfile.PATH}" title="{$smiliesfile.TITLE}" onclick="SmiliesWrite('addComment', 'content', '', '{$smiliesfile.TITLE}', true); document.getElementById('smiliesdiv').style.visibility='hidden';"> </td>       
    14                 {$smiliesfile.TR} 
    15                 {/foreach} 
    16         </tr> 
    17 </table> 
     5<div width="500pt"> 
     6        <img id="allsmilies" src="{$REPRESENTANT}" title="All Smilies" onmouseover="jQuery('#smiliesdiv').css('visibility','visible');"> 
     7 
     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> 
    1820</div> 
Note: See TracChangeset for help on using the changeset viewer.