Changeset 16012


Ignore:
Timestamp:
06/24/12 21:18:26 (7 years ago)
Author:
grum
Message:

feature:2634- compatibility with Piwigo 2.4
+add some objects on js framework

Location:
extensions/GrumPluginClasses
Files:
27 added
46 edited

Legend:

Unmodified
Added
Removed
  • extensions/GrumPluginClasses/classes/CommonPlugin.class.inc.php

    r15340 r16012  
    22/* ----------------------------------------------------------------------------- 
    33  class name: CommonPlugin 
    4   class version  : 2.2.0 
    5   plugin version : 3.2.0 
    6   date           : 2010-07-28 
     4  class version  : 2.3.0 
     5  plugin version : 3.5.2 
     6  date           : 2012-06-24 
    77 
    88  ------------------------------------------------------------------------------ 
     
    5151|         |            |   function 
    5252|         |            | 
     53| 2.3.0   | 2012/06/24 | * Add loadCSS() function 
     54|         |            | 
    5355|         |            | 
    5456|         |            | 
     
    6466  private $page_link; //link to admin page 
    6567  private $fileLocation; //files plugin location on server 
     68  private $pluginDirectory;    //directory of plugin 
    6669  private $displayResult_ok; 
    6770  private $displayResult_ko; 
     
    122125  } 
    123126 
    124   /* constructor allows to initialize $prefixeTable value */ 
     127  /** 
     128   * constructor allows to initialize $prefixeTable value 
     129   * @param String $prefixeTable: prefix used for tables 
     130   * @param String $filelocation: file calling the constructor (__FILE__) 
     131   */ 
    125132  public function __construct($prefixeTable, $filelocation) 
    126133  { 
     
    129136    $this->fileLocation=$filelocation; 
    130137    $this->prefixeTable=$prefixeTable; 
     138    $this->pluginDirectory=basename(dirname($filelocation)); 
    131139    $this->page_link=get_root_url().'admin.php?page=plugin-'.basename(dirname($this->getFileLocation())); 
    132140    //$this->page_link="admin.php?page=plugin&section=".basename(dirname($this->getFileLocation()))."/admin/".$this->plugin_admin_file.".php"; 
     
    150158  } 
    151159 
     160  /** 
     161   * return the file location 
     162   * @return String: file location 
     163   */ 
    152164  public function getFileLocation() 
    153165  { 
     
    155167  } 
    156168 
     169  /** 
     170   * return the plugin directory 
     171   * @return String: directory 
     172   */ 
     173  public function getDirectory() 
     174  { 
     175    return($this->pluginDirectory); 
     176  } 
     177 
     178  /** 
     179   * return the link of plugin in admin pages 
     180   * @return String: url 
     181   */ 
    157182  public function getAdminLink() 
    158183  { 
     
    160185  } 
    161186 
     187  /** 
     188   * set the link of plugin in admin pages 
     189   * @param String $link: url to set 
     190   * @return String: url 
     191   */ 
    162192  public function setAdminLink($link) 
    163193  { 
     
    166196  } 
    167197 
     198  /** 
     199   * set the plugin name 
     200   * @param String $name: plugin's name 
     201   * @return String: plugin's name 
     202   */ 
    168203  public function setPluginName($name) 
    169204  { 
     
    172207  } 
    173208 
     209  /** 
     210   * set the plugin name for file system useage 
     211   * @param String $name: plugin's name 
     212   * @return String: plugin's name 
     213   */ 
    174214  public function setPluginNameFiles($name) 
    175215  { 
     
    178218  } 
    179219 
     220  /** 
     221   * get the plugin name 
     222   * @return String: plugin's name 
     223   */ 
    180224  public function getPluginName() 
    181225  { 
     
    183227  } 
    184228 
     229  /** 
     230   * get the plugin name for file system useage 
     231   * @return String: plugin's name 
     232   */ 
    185233  public function getPluginNameFiles() 
    186234  { 
     
    192240  --------------------------------------------------------------------------- */ 
    193241 
    194   /* this function initialize var $config with default values */ 
     242  /** 
     243   * this function initialize var $this->config with default values 
     244   */ 
    195245  public function initConfig() 
    196246  { 
     
    198248  } 
    199249 
    200   /* load config from CONFIG_TABLE into var $my_config */ 
     250  /** 
     251   * load config from CONFIG_TABLE into var $this->config 
     252   * @return Boolean: true if config is loaded, otherwiser false 
     253   */ 
    201254  public function loadConfig() 
    202255  { 
     
    206259 
    207260  /** 
    208    * load config from a file into var $my_config 
     261   * load config from a file into var $this->config 
    209262   * 
    210263   * this function don't initialize the default value ! 
     
    212265   * 
    213266   * @param String $fileName : name of file to load 
     267   * @return Boolean: true if file is loaded, otherwise false 
    214268   */ 
    215269  public function loadConfigFromFile($fileName) 
     
    218272  } 
    219273 
    220   /* save var $my_config into CONFIG_TABLE */ 
     274  /** 
     275   * save var $this->config into CONFIG_TABLE 
     276   * @return Boolean: true if config is saved, otherwise false 
     277   */ 
    221278  public function saveConfig() 
    222279  { 
     
    224281  } 
    225282 
    226   /* delete config from CONFIG_TABLE */ 
     283  /** 
     284   * delete config from CONFIG_TABLE 
     285   * @return Boolean: true if config is deleted, otherwise false 
     286   */ 
    227287  public function deleteConfig() 
    228288  { 
     
    234294  --------------------------------------------------------------------------- */ 
    235295 
    236   /* 
    237       initialize tables list used by the plugin 
    238         $list = array('table1', 'table2') 
    239         $this->tables_list['table1'] = $prefixeTable.$plugin_name.'_table1' 
    240   */ 
     296  /** 
     297   * initialize tables list used by the plugin; tables name will be prefixed 
     298   * automatically 
     299   *     $list = array('table1', 'table2') 
     300   *     $this->tables_list['table1'] = $prefixeTable.$plugin_name.'_table1' 
     301   * @param Array $list: a list of table name 
     302   */ 
    241303  protected function setTablesList($list) 
    242304  { 
     
    251313  --------------------------------------------------------------------------- */ 
    252314 
    253   /* add plugin into administration menu */ 
     315  /** 
     316   * add plugin into administration menu; url is built automatically 
     317   * @param String $menu: 
     318   */ 
    254319  public function pluginAdminMenu($menu) 
    255320  { 
     
    261326        ) 
    262327    ); 
    263     /* 
    264     array_push($menu, 
    265                array( 
    266                   'NAME' => $this->plugin_name, 
    267                   'URL' => get_admin_plugin_menu_link(dirname($this->getFileLocation()). 
    268                                 '/admin/'.$this->plugin_admin_file.'.php') 
    269                    ));*/ 
    270     return $menu; 
    271   } 
    272  
    273   /* 
    274     manage plugin integration into piwigo's admin interface 
    275  
    276     to be surcharged by child's classes 
    277   */ 
     328    return($menu); 
     329  } 
     330 
     331  /** 
     332   * manage plugin integration into piwigo's admin interface 
     333   * 
     334   * to be surcharged by child's classes 
     335   */ 
    278336  public function manage() 
    279337  { 
    280338  } 
    281339 
    282   /* 
    283     initialize plugin's events 
    284     to be surcharged by child's classes 
    285   */ 
     340  /** 
     341   * initialize plugin's events 
     342   * by default, call the loadCSS() function on the 'loc_begin_page_header' events 
     343   * 
     344   * to be surcharged by child's classes 
     345   */ 
    286346  public function initEvents() 
    287347  { 
    288   } 
     348    global $plugin_id; 
     349 
     350    if($plugin_id==$this->getDirectory() or !defined('IN_ADMIN')) 
     351        add_event_handler('loc_begin_page_header', array(&$this, 'loadCSS')); 
     352  } 
     353 
     354  /** 
     355   * called on the 'loc_begin_page_header' event 
     356   * 
     357   * to be surcharged by child's classes 
     358   */ 
     359  public function loadCSS() 
     360  { 
     361  } 
     362 
    289363 
    290364  protected function debug($text, $rewrite=false) 
     
    306380  } 
    307381 
    308   /* 
    309     manage infos & errors display 
    310   */ 
    311382  protected function displayResult($action_msg, $result) 
    312383  { 
  • extensions/GrumPluginClasses/classes/GPCAjax.class.inc.php

    r5550 r16012  
    33/* ----------------------------------------------------------------------------- 
    44  class name     : GPCAjax 
    5   class version  : 3.0.0 
    6   plugin version : 3.0.0 
    7   date           : 2010-03-30 
     5  class version  : 3.1.0 
     6  plugin version : 3.5.2 
     7  date           : 2012-06-19 
    88  ------------------------------------------------------------------------------ 
    99  author: grum at piwigo.org 
     
    1515| release | date       | 
    1616| 3.0.0   | 2010/03/30 | * Update class & function names 
     17|         |            | 
     18| 3.1.0   | 2012/06/19 | * Check token request 
     19|         |            | 
    1720|         |            | 
    1821|         |            | 
     
    2730   ---------------------------------------------------------------------- */ 
    2831 
    29  
     32define('GPC_AJAX', 'ajaxfct'); 
    3033 
    3134class GPCAjax 
     
    3942    exit(strtr($str, $chars)); 
    4043  } 
     44 
     45  /** 
     46   * check if there's a valid token in $_REQUEST 
     47   * if no, the GPC_AJAX call is set to empty value 
     48   * 
     49   * @param String $fct: the ajax function field (GPC_AJAX by default) 
     50   * @param String $token: the token field ('token' by default) to check 
     51   * @return Boolean: true if ok, otherwise false 
     52   */ 
     53  static public function checkToken($fct=GPC_AJAX, $token='token') 
     54  { 
     55    if(!isset($_REQUEST[$token])) $_REQUEST[$token]=''; 
     56    if($fct!='' && !isset($_REQUEST[$fct])) $_REQUEST[$fct]=''; 
     57 
     58    if($_REQUEST[$token]==get_pwg_token()) return(true); 
     59 
     60    if($fct!='') $_REQUEST[$fct]=''; 
     61    return(false); 
     62  } 
    4163} //class 
    4264 
  • extensions/GrumPluginClasses/classes/GPCCore.class.inc.php

    r15373 r16012  
    6767|         |            | * Remove google translate connector (google has changed the useage 
    6868|         |            |    and now an API key is needed) 
     69|         |            | 
     70|         |            | * Add js objects: inputDate, inputFilterBox, inputPages, inputSortBox, inputTag 
     71|         |            |                   dynamicTable 
     72|         |            | 
     73|         |            | * AddHeaderCSS and AddJS are ignored if called in an ajax session (AJAX_CALL defined) 
     74|         |            | 
     75|         |            | 
     76|         |            | 
    6977|         |            | 
    7078 
     
    8189    - static function BBtoHTML 
    8290    - static function VarToHTML 
     91    - static function TabsToHTML 
    8392    - static function FormMailToHTML 
    8493    - static function addHeaderCSS 
     
    9099    - static function rmDir 
    91100    - static function applyMarkups 
     101    - static function setTemplateToken 
     102    - static function addHeaderContent 
    92103   ---------------------------------------------------------------------- */ 
    93104 
     
    129140    return( 
    130141      Array( 
    131         Array('name' => "CommonPlugin", 'version' => "2.2.0"), 
    132         Array('name' => "GPCAjax", 'version' => "3.0.0"), 
     142        Array('name' => "CommonPlugin", 'version' => "2.3.0"), 
     143        Array('name' => "GPCAjax", 'version' => "3.1.0"), 
    133144        Array('name' => "GPCCategorySelector", 'version' => "1.0.1"), 
    134145        Array('name' => "GPCCore", 'version' => "1.4.1"), 
    135         Array('name' => "GPCCss", 'version' => "3.1.0"), 
     146        //Array('name' => "GPCCss", 'version' => "3.1.0"),  removed with v1.4.1 
    136147        Array('name' => "GPCPagesNavigation", 'version' => "2.0.0"), 
    137148        Array('name' => "GPCPublicIntegration", 'version' => "2.0.0"), 
    138         Array('name' => "GPCRequestBuilder", 'version' => "1.1.2"), 
     149        Array('name' => "GPCRequestBuilder", 'version' => "1.1.7"), 
    139150        Array('name' => "GPCTables", 'version' => "1.5.0"), 
    140151        Array('name' => "GPCTabSheet", 'version' => "1.1.1"), 
     
    205216 
    206217  /** 
     218   * return the list of registered plugins 
    207219   * @return Array : list of registered plugins 
    208220   */ 
     
    503515  } 
    504516 
     517  /** 
     518   * analyze and replace markups by their value, according to $conf parameted 
     519   * @param String $text: text to analyze 
     520   * @return String: analyzed text 
     521   */ 
    505522  static public function applyMarkups($text) 
    506523  { 
     
    532549 
    533550  /** 
    534    * used to add a css file in the header 
     551   * used to add a js or css directly in the header 
    535552   * 
    536553   * @param String $id : a unique id for the file 
    537554   * @param String $file : the css file 
     555   * @param String $order: priority 
     556   */ 
     557  static public function addHeaderContent($type, $content) 
     558  { 
     559    global $template; 
     560    $null=null; 
     561 
     562    if(defined('AJAX_CALL')) return(false); // not needed for an ajax call 
     563 
     564    switch($type) 
     565    { 
     566      case 'css': 
     567        $template->block_html_style(null, $content, $null, $null); 
     568        break; 
     569      case 'js': 
     570        $template->block_html_head(null, '<script type="text/javascript">'.$content.'</script>', $null, $null); 
     571        break; 
     572    } 
     573  } 
     574 
     575  /** 
     576   * used to add a css file in the header 
     577   * 
     578   * @param String $id : a unique id for the file 
     579   * @param String $file : the css file 
     580   * @param String $order: priority 
    538581   */ 
    539582  static public function addHeaderCSS($id, $file, $order=0) 
     
    541584    global $template; 
    542585 
    543     if(!array_key_exists($file, self::$headerItems['css']) and file_exists($file)) 
     586    if(defined('AJAX_CALL')) return(false); // no CSS needed for an ajax call 
     587    if(!array_key_exists($id, self::$headerItems['css']) and file_exists($file)) 
    544588    { 
    545589      self::$headerItems['css'][$id]=$file; 
     
    547591    } 
    548592  } 
     593 
     594  /** 
     595   * used to add a js file in the header 
     596   * 
     597   * @param String $id : a unique id for the file 
     598   * @param String $file : the js file 
     599   * @param Array $require : list of required files 
     600   */ 
    549601  static public function addHeaderJS($id, $file, $require=array()) 
    550602  { 
    551603    global $template; 
    552604 
    553     if(!array_key_exists($file, self::$headerItems['js']) and file_exists($file)) 
     605    if(defined('AJAX_CALL')) return(false); // no JS needed for an ajax call 
     606    if(!array_key_exists($id, self::$headerItems['js']) and file_exists($file)) 
    554607    { 
    555608      self::$headerItems['js'][$id]=$file; 
     
    562615   * 
    563616   * @param Array $list : possibles values are 
     617   *                        - categorySelector 
     618   *                        - dynamicTable 
    564619   *                        - inputCheckbox 
    565620   *                        - inputColorPicker 
    566621   *                        - inputColorsFB 
    567622   *                        - inputConsole 
     623   *                        - inputDate 
    568624   *                        - inputDotArea 
     625   *                        - inputFilterBox 
    569626   *                        - inputList 
    570627   *                        - inputNum 
    571628   *                        - inputPosition 
    572629   *                        - inputRadio 
     630   *                        - inputSortBox 
    573631   *                        - inputStatusBar 
     632   *                        - inputTag 
    574633   *                        - inputText 
    575    *                        - categorySelector 
    576634   */ 
    577635  static public function addUI($list) 
     
    595653      switch($ui) 
    596654      { 
     655        case 'gpcCSS': 
     656          $fileName='./plugins/'.basename(dirname(dirname(__FILE__))).'/css/gpc'; 
     657          self::addHeaderCSS('gpc.css', $fileName.'.css', 10); 
     658          self::addHeaderCSS('gpc.cssT', $fileName.'_'.$template->get_themeconf('name').'.css', 15); 
     659          break; 
    597660        case 'categorySelector': 
    598661          self::addHeaderCSS('gpc.categorySelector', GPC_PATH.'css/categorySelector.css'); 
     
    646709          self::addHeaderJS('gpc.inputConsole', GPC_PATH.'js/ui.inputConsole.js', array('jquery.ui.widget')); 
    647710          break; 
     711        case 'inputDate': 
     712          self::addHeaderCSS('gpc.inputDate', GPC_PATH.'css/inputDate.css'); 
     713          self::addHeaderCSS('gpc.inputDateT', sprintf($themeFile, 'inputDate')); 
     714          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery')); 
     715          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 
     716          self::addHeaderJS('jquery.ui.datepicker', 'themes/default/js/ui/jquery.ui.datepicker.js', array('jquery.ui.widget')); 
     717          self::addHeaderJS('gpc.inputDate', GPC_PATH.'js/ui.inputDate.js', array('jquery.ui.widget')); 
     718          break; 
    648719        case 'inputDotArea': 
    649720          self::addHeaderCSS('gpc.inputDotArea', GPC_PATH.'css/inputDotArea.css'); 
     
    653724          self::addHeaderJS('gpc.inputDotArea', GPC_PATH.'js/ui.inputDotArea.js', array('jquery.ui.widget')); 
    654725          break; 
     726        case 'inputFilterBox': 
     727          self::addHeaderCSS('gpc.inputNum', GPC_PATH.'css/inputNum.css'); 
     728          self::addHeaderCSS('gpc.inputNumT', sprintf($themeFile, 'inputNum')); 
     729          self::addHeaderCSS('gpc.inputDate', GPC_PATH.'css/inputDate.css'); 
     730          self::addHeaderCSS('gpc.inputDateT', sprintf($themeFile, 'inputDate')); 
     731          self::addHeaderCSS('gpc.inputText', GPC_PATH.'css/inputText.css'); 
     732          self::addHeaderCSS('gpc.inputTextT', sprintf($themeFile, 'inputText')); 
     733          self::addHeaderCSS('gpc.inputList', GPC_PATH.'css/inputList.css'); 
     734          self::addHeaderCSS('gpc.inputListT', sprintf($themeFile, 'inputList')); 
     735          self::addHeaderCSS('gpc.inputFilterBox', GPC_PATH.'css/inputFilterBox.css'); 
     736          self::addHeaderCSS('gpc.inputFilterBoxT', sprintf($themeFile, 'inputFilterBox')); 
     737 
     738          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery')); 
     739          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 
     740 
     741          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 
     742          self::addHeaderJS('jquery.ui.mouse', 'themes/default/js/ui/jquery.ui.mouse.js', array('jquery.ui.widget')); 
     743          self::addHeaderJS('jquery.ui.position', 'themes/default/js/ui/jquery.ui.position.js', array('jquery.ui.mouse')); 
     744          self::addHeaderJS('jquery.ui.resizable', 'themes/default/js/ui/jquery.ui.resizable.js', array('jquery.ui.position')); 
     745          self::addHeaderJS('jquery.ui.draggable', 'themes/default/js/ui/jquery.ui.draggable.js', array('jquery.ui.resizable')); 
     746          self::addHeaderJS('jquery.ui.sortable', 'themes/default/js/ui/jquery.ui.sortable.js', array('jquery.ui.draggable')); 
     747          self::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/jquery.ui.dialog.js', array('jquery.ui.sortable')); 
     748 
     749          self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum.js', array('jquery.ui.dialog')); 
     750          self::addHeaderJS('gpc.inputList', GPC_PATH.'js/ui.inputList.js', array('jquery.ui.dialog')); 
     751          self::addHeaderJS('gpc.inputText', GPC_PATH.'js/ui.inputText.js', array('jquery.ui.dialog')); 
     752          self::addHeaderJS('gpc.inputDate', GPC_PATH.'js/ui.inputDate.js', array('jquery.ui.dialog')); 
     753          self::addHeaderJS('gpc.inputFilterBox', GPC_PATH.'js/ui.inputFilterBox.js', array('jquery.ui.dialog')); 
     754          break; 
    655755        case 'inputList': 
    656756          self::addHeaderCSS('gpc.inputList', GPC_PATH.'css/inputList.css'); 
     
    669769          self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum.js', array('jquery','jquery.ui.slider')); 
    670770          break; 
     771        case 'inputPages': 
     772          self::addHeaderCSS('gpc.inputPages', GPC_PATH.'css/inputPages.css'); 
     773          self::addHeaderCSS('gpc.inputPagesT', sprintf($themeFile, 'inputPages')); 
     774          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery')); 
     775          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 
     776          self::addHeaderJS('gpc.inputPages', GPC_PATH.'js/ui.inputPages.js', array('jquery','jquery.ui.widget')); 
     777          break; 
    671778        case 'inputPosition': 
    672779          self::addHeaderCSS('gpc.inputPosition', GPC_PATH.'css/inputPosition.css'); 
     
    681788          self::addHeaderJS('gpc.inputRadio', GPC_PATH.'js/ui.inputRadio.js', array('jquery.ui.widget')); 
    682789          break; 
     790        case 'inputSortBox': 
     791          self::addHeaderCSS('gpc.inputSortBox', GPC_PATH.'css/inputSortBox.css'); 
     792          self::addHeaderCSS('gpc.inputSortBoxT', sprintf($themeFile, 'inputSortBox')); 
     793          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery')); 
     794          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 
     795          self::addHeaderJS('jquery.ui.mouse', 'themes/default/js/ui/jquery.ui.mouse.js', array('jquery.ui.widget')); 
     796          self::addHeaderJS('jquery.ui.position', 'themes/default/js/ui/jquery.ui.position.js', array('jquery.ui.mouse')); 
     797          self::addHeaderJS('jquery.ui.draggable', 'themes/default/js/ui/jquery.ui.draggable.js', array('jquery.ui.position')); 
     798          self::addHeaderJS('jquery.ui.sortable', 'themes/default/js/ui/jquery.ui.sortable.js', array('jquery.ui.draggable')); 
     799          self::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/jquery.ui.dialog.js', array('jquery.ui.sortable')); 
     800          self::addHeaderJS('gpc.inputSortBox', GPC_PATH.'js/ui.inputSortBox.js', array('jquery.ui.dialog')); 
     801          break; 
    683802        case 'inputStatusBar': 
    684803          self::addHeaderCSS('gpc.inputStatusBar', GPC_PATH.'css/inputStatusBar.css'); 
     
    695814          self::addHeaderJS('gpc.inputSwitchButton', GPC_PATH.'js/ui.inputSwitchButton.js', array('jquery.ui.widget')); 
    696815          break; 
     816        case 'inputTag': 
     817          self::addHeaderCSS('gpc.inputTag', GPC_PATH.'css/inputTag.css'); 
     818          self::addHeaderCSS('gpc.inputTagT', sprintf($themeFile, 'inputTag')); 
     819          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery')); 
     820          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 
     821          self::addHeaderJS('gpc.inputTag', GPC_PATH.'js/ui.inputTag.js', array('jquery.ui.widget')); 
     822          break; 
    697823        case 'inputText': 
    698824          self::addHeaderCSS('gpc.inputText', GPC_PATH.'css/inputText.css'); 
     
    708834          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 
    709835          self::addHeaderJS('gpc.simpleTip', GPC_PATH.'js/simpleTip.js', array('jquery.ui.widget')); 
     836          break; 
     837        case 'dynamicTable': 
     838          self::addHeaderCSS('gpc.inputNum', GPC_PATH.'css/inputNum.css'); 
     839          self::addHeaderCSS('gpc.inputNumT', sprintf($themeFile, 'inputNum')); 
     840          self::addHeaderCSS('gpc.inputDate', GPC_PATH.'css/inputDate.css'); 
     841          self::addHeaderCSS('gpc.inputDateT', sprintf($themeFile, 'inputDate')); 
     842          self::addHeaderCSS('gpc.inputText', GPC_PATH.'css/inputText.css'); 
     843          self::addHeaderCSS('gpc.inputTextT', sprintf($themeFile, 'inputText')); 
     844          self::addHeaderCSS('gpc.inputList', GPC_PATH.'css/inputList.css'); 
     845          self::addHeaderCSS('gpc.inputListT', sprintf($themeFile, 'inputList')); 
     846          self::addHeaderCSS('gpc.inputSortBox', GPC_PATH.'css/inputSortBox.css'); 
     847          self::addHeaderCSS('gpc.inputSortBoxT', sprintf($themeFile, 'inputSortBox')); 
     848          self::addHeaderCSS('gpc.inputFilterBox', GPC_PATH.'css/inputFilterBox.css'); 
     849          self::addHeaderCSS('gpc.inputFilterBoxT', sprintf($themeFile, 'inputFilterBox')); 
     850          self::addHeaderCSS('gpc.inputPages', GPC_PATH.'css/inputPages.css'); 
     851          self::addHeaderCSS('gpc.inputPagesT', sprintf($themeFile, 'inputPages')); 
     852          self::addHeaderCSS('gpc.inputDynamicTable', GPC_PATH.'css/inputDynamicTable.css'); 
     853          self::addHeaderCSS('gpc.inputDynamicTableT', sprintf($themeFile, 'inputDynamicTable')); 
     854 
     855          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery')); 
     856          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 
     857 
     858          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 
     859          self::addHeaderJS('jquery.ui.mouse', 'themes/default/js/ui/jquery.ui.mouse.js', array('jquery.ui.widget')); 
     860          self::addHeaderJS('jquery.ui.position', 'themes/default/js/ui/jquery.ui.position.js', array('jquery.ui.mouse')); 
     861          self::addHeaderJS('jquery.ui.resizable', 'themes/default/js/ui/jquery.ui.resizable.js', array('jquery.ui.position')); 
     862          self::addHeaderJS('jquery.ui.draggable', 'themes/default/js/ui/jquery.ui.draggable.js', array('jquery.ui.resizable')); 
     863          self::addHeaderJS('jquery.ui.sortable', 'themes/default/js/ui/jquery.ui.sortable.js', array('jquery.ui.draggable')); 
     864          self::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/jquery.ui.dialog.js', array('jquery.ui.sortable')); 
     865 
     866          self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum.js', array('jquery.ui.dialog')); 
     867          self::addHeaderJS('gpc.inputList', GPC_PATH.'js/ui.inputList.js', array('jquery.ui.dialog')); 
     868          self::addHeaderJS('gpc.inputText', GPC_PATH.'js/ui.inputText.js', array('jquery.ui.dialog')); 
     869          self::addHeaderJS('gpc.inputDate', GPC_PATH.'js/ui.inputDate.js', array('jquery.ui.dialog')); 
     870          self::addHeaderJS('gpc.inputFilterBox', GPC_PATH.'js/ui.inputFilterBox.js', array('jquery.ui.dialog')); 
     871          self::addHeaderJS('gpc.inputSortBox', GPC_PATH.'js/ui.inputSortBox.js', array('jquery.ui.dialog')); 
     872          self::addHeaderJS('gpc.inputPages', GPC_PATH.'js/ui.inputPages.js', array('jquery.ui.dialog')); 
     873          self::addHeaderJS('gpc.dynamicTable', GPC_PATH.'js/ui.dynamicTable.js', array('jquery.ui.dialog')); 
    710874          break; 
    711875      } 
     
    8521016 
    8531017 
     1018 /** 
     1019  * affect a valid token in a template var {$token} 
     1020  */ 
     1021 static public function setTemplateToken() 
     1022 { 
     1023   global $template; 
     1024 
     1025   $template->assign('token', get_pwg_token()); 
     1026 } 
     1027 
     1028 
    8541029} //class 
    8551030 
    856 //add_event_handler('loc_begin_page_header', array('GPCCore', 'applyHeaderItems'), 10); 
    857  
    8581031GPCCore::init(); 
    8591032 
  • extensions/GrumPluginClasses/classes/GPCPublicIntegration.class.inc.php

    r7449 r16012  
    4141class GPCPublicIntegration 
    4242{ 
    43   var $section;         //section applied to the page viewed 
    44   var $callback_page_function;        //called function to display page 
     43  private $section;         //section applied to the page viewed 
     44  private $callback_page_function;        //called function to display page 
    4545 
    4646  public function __construct($section) 
  • extensions/GrumPluginClasses/classes/GPCRequestBuilder.class.inc.php

    r15352 r16012  
    22/* ----------------------------------------------------------------------------- 
    33  class name: GCPRequestBuilder 
    4   class version  : 1.1.6 
    5   plugin version : 3.5.1 
    6   date           : 2011-05-15 
     4  class version  : 1.1.7 
     5  plugin version : 3.5.2 
     6  date           : 2012-06-24 
    77 
    88  ------------------------------------------------------------------------------ 
     
    8989|         |            |   . Request builder user interface don't work 
    9090|         |            | 
     91| 1.1.7   | 2012/06/24 | * use some GPCCore function instead of code 
    9192|         |            | 
    9293|         |            | 
     
    539540 
    540541    //$template->append('head_elements', '<link href="plugins/'.$baseName.'rbuilder.css" type="text/css" rel="stylesheet"/>'); 
    541     if(defined('IN_ADMIN')) GPCCore::addHeaderCSS('gpc.rbuilder', 'plugins/'.$baseName.'rbuilder_'.$template->get_themeconf('name').'.css', 26); 
     542    if(defined('IN_ADMIN')) GPCCore::addHeaderCSS('gpc.rbuilderT', 'plugins/'.$baseName.'rbuilder_'.$template->get_themeconf('name').'.css', 26); 
    542543    //$template->append('head_elements', '<link href="plugins/'.$baseName.'rbuilder_'.$template->get_themeconf('name').'.css" type="text/css" rel="stylesheet"/>'); 
    543544 
     
    556557    GPCCore::addHeaderJS('gpc.rbCriteriaBuilder', 'plugins/'.$baseName.'rbCriteriaBuilder.js', array('gpc.external.inestedsortable')); 
    557558 
    558     $template->append('head_elements', 
    559 "<script type=\"text/javascript\"> 
    560   requestBuilderOptions = { 
    561     textAND:\"".l10n('gpc_rb_textAND')."\", 
    562     textOR:\"".l10n('gpc_rb_textOR')."\", 
    563     textNoCriteria:\"".l10n('There is no criteria ! At least, one criteria is required to do search...')."\", 
    564     textSomethingWrong:\"".l10n('gpc_something_is_wrong_on_the_server_side')."\", 
    565     textCaddieUpdated:\"".l10n('gpc_the_caddie_is_updated')."\", 
    566     helpEdit:\"".l10n('gpc_help_edit_criteria')."\", 
    567     helpDelete:\"".l10n('gpc_help_delete_criteria')."\", 
    568     helpMove:\"".l10n('gpc_help_move_criteria')."\", 
    569     helpSwitchCondition:\"".l10n('gpc_help_switch_condition')."\", 
    570     ajaxUrl:'plugins/GrumPluginClasses/gpc_ajax.php', 
    571   } 
    572 </script>"); 
     559    GPCCore::addHeaderContent('js', 
     560" 
     561var requestBuilderOptions = { 
     562      textAND:\"".l10n('gpc_rb_textAND')."\", 
     563      textOR:\"".l10n('gpc_rb_textOR')."\", 
     564      textNoCriteria:\"".l10n('There is no criteria ! At least, one criteria is required to do search...')."\", 
     565      textSomethingWrong:\"".l10n('gpc_something_is_wrong_on_the_server_side')."\", 
     566      textCaddieUpdated:\"".l10n('gpc_the_caddie_is_updated')."\", 
     567      helpEdit:\"".l10n('gpc_help_edit_criteria')."\", 
     568      helpDelete:\"".l10n('gpc_help_delete_criteria')."\", 
     569      helpMove:\"".l10n('gpc_help_move_criteria')."\", 
     570      helpSwitchCondition:\"".l10n('gpc_help_switch_condition')."\", 
     571      ajaxUrl:'plugins/GrumPluginClasses/gpc_ajax.php', 
     572      token:'".get_pwg_token()."' 
     573    }; 
     574" 
     575); 
    573576  } 
    574577 
  • extensions/GrumPluginClasses/classes/GPCUserAgent.class.inc.php

    r15340 r16012  
    11<?php 
    2 /* ----------------------------------------------------------------------------- 
    3   class name: GPCUserAgent 
    4   class version  : 1.0.0 
    5   plugin version : 3.5.2 
    6   date           : 2012-05-25 
    7   ------------------------------------------------------------------------------ 
    8   author: grum at piwog.org 
    9   << May the Little SpaceFrog be with you >> 
    10   ------------------------------------------------------------------------------ 
    11  
    12   this classes provides base functions to parse User Agent string and retrieve 
    13   properties: Browser, OS, Engine 
    14  
    15  
    16   (static public) function parse($userAgent) 
    17  
    18 | release | date       | 
    19 | 1.0.0   | 2012-05-25 | * implementation of the class 
    20 |         |            | 
    21 |         |            | 
    22 |         |            | 
    23 |         |            | 
    24 |         |            | 
    25 |         |            | 
    26  
    27 ----------------------------------------------------------------------------- */ 
    282 
    293require_once('GPCUserAgent.const.inc.php'); 
    30  
    314 
    325class GPCUserAgent 
    336{ 
    34   /** 
    35    * returned result is ana array with the following properties: 
    36    *  'os'              => Operating System id on which the browser run; integer => UA_OS_* 
    37    *  'os_version'      => Version of the OS; string 
    38    * 
    39    *  'browser'         => browser id; integer => UA_BROWSER_* 
    40    *  'brower_name'     => browser name; string 
    41    *  'browser_type'    => browser type id (crawler, computer, mobile, ...); integer => UA_PROP_TYPE_* 
    42    *  'browser_version' => browser version; string 
    43    * 
    44    *  'engine'          => engine used by the browser (gecko, khtml, ...); integer => UA_ENGINE_* 
    45    * 
    46    * @param String $userAgent: a user agent string 
    47    * @return Array: array of properties 
    48    */ 
    497  static public function parse($userAgent) 
    508  { 
     
    258216        if(is_array($result) and count($result)>2) 
    259217        { 
     218          if($browser==UA_BROWSER_SAFARI and preg_match('/iphone|ipad|ipod/i', $userAgent)) 
     219            $browser=UA_BROWSER_SAFARI_MOBILE; 
     220 
    260221          $returned=array( 
    261222            'browser' => $browser, 
  • extensions/GrumPluginClasses/classes/GPCUserAgent.const.inc.php

    r15340 r16012  
    117117define('UA_BROWSER_FIREFOX',          0x1034); 
    118118define('UA_BROWSER_OPERA_WII',        0x1035); 
     119define('UA_BROWSER_SAFARI_MOBILE',    0x1036); 
    119120 
    120121 
     
    242243            UA_BROWSER_LINKS         => array(UA_PROP_NAME => 'Links',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    243244            UA_BROWSER_LYNX          => array(UA_PROP_NAME => 'Lynx',                   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    244             UA_BROWSER_SAFARI        => array(UA_PROP_NAME => 'Safari',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => '') 
     245            UA_BROWSER_SAFARI        => array(UA_PROP_NAME => 'Safari',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
     246            UA_BROWSER_SAFARI_MOBILE => array(UA_PROP_NAME => 'Safari',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => '') 
    245247          ), 
    246248 
  • extensions/GrumPluginClasses/css/categorySelector_clear.css

    r15347 r16012  
    2222} 
    2323 
     24.ui-category-selector-arrow { 
     25  background-image:url(./../icons/buttons.png); 
     26  background-repeat:no-repeat; 
     27  width:15px; 
     28  height:15px; 
     29} 
    2430.ui-category-selector-expandable-item { 
    2531  background-image:url(./../icons/expand_clear.png); 
     
    5258 
    5359.ui-category-selector-arrow { 
    54   background:none repeat scroll 0 0 #999999; 
    55   border-color:#DDDDDD #666666 #666666 #DDDDDD; 
     60  background-position:-30px -90px; 
     61  -moz-border-radius:2px; 
     62  -webkit-border-radius:2px; 
     63  -khtml-border-radius:2px; 
     64  border-radius:2px; 
    5665  color:#005E89; 
     66  border:0px; 
    5767} 
    58  
    59 .ui-category-selector-arrow-active { 
    60   border-color:#666666 #DDDDDD #DDDDDD #666666; 
     68.ui-category-selector-arrow:hover { 
     69  background-position:-30px -105px; 
     70  background-color:#999999; 
    6171} 
  • extensions/GrumPluginClasses/css/categorySelector_roma.css

    r15347 r16012  
    1616} 
    1717 
     18.ui-category-selector-arrow { 
     19  background-image:url(./../icons/buttons.png); 
     20  background-repeat:no-repeat; 
     21  width:15px; 
     22  height:15px; 
     23} 
    1824.ui-category-selector-expandable-item { 
    1925  background-image:url(./../icons/expand_roma.png); 
     
    4652 
    4753.ui-category-selector-arrow { 
    48   background:none repeat scroll 0 0 #666666; 
    49   border-color:#999999 #444444 #444444 #999999; 
    50   color:#FF3363; 
     54  background-position:-30px -15px; 
     55  -moz-border-radius:2px; 
     56  -webkit-border-radius:2px; 
     57  -khtml-border-radius:2px; 
     58  border-radius:2px; 
     59  color:#FF7700; 
     60  border:0px; 
    5161} 
    52  
    53 .ui-category-selector-arrow-active { 
    54   border-color:#444444 #999999 #999999 #444444; 
     62.ui-category-selector-arrow:hover { 
     63  background-position:-30px 0px; 
     64  background-color:#222222; 
    5565} 
  • extensions/GrumPluginClasses/css/inputColorPicker.css

    r8961 r16012  
    6161} 
    6262table.ui-inputColorPicker-inputContainer div.ui-inputNum div.ui-slider-horizontal { 
    63   height:9px; 
     63  height:8px; 
    6464} 
    6565 
     
    6767  height:7px; 
    6868  margin-top:0; 
     69  top:-2px; 
    6970} 
     71table.ui-inputColorPicker-inputContainer div.ui-inputNum-btInc { 
     72  background-position: -212px -17px; 
     73} 
     74table.ui-inputColorPicker-inputContainer div.ui-inputNum-btInc:hover { 
     75  background-position: -212px -2px; 
     76} 
     77table.ui-inputColorPicker-inputContainer div.ui-inputNum-btDec { 
     78  background-position: -227px -17px; 
     79} 
     80table.ui-inputColorPicker-inputContainer div.ui-inputNum-btDec:hover { 
     81  background-position: -227px -2px; 
     82} 
     83 
     84 
    7085 
    7186.ui-inputNum-btDec, .ui-inputNum-btInc { 
  • extensions/GrumPluginClasses/css/inputColorPicker_roma.css

    r8961 r16012  
    1616  background:none repeat scroll 0 0 #666666; 
    1717  border-color:#999999 #444444 #444444 #999999; 
    18   color:#ff3363; 
     18  color:#222222; 
    1919} 
    2020.ui-inputDialogColor div.ui-dialog-buttonpane button:active { 
  • extensions/GrumPluginClasses/css/inputConsole.css

    r8961 r16012  
    1616  display:inline-block; 
    1717  padding-right:2px; 
     18  font-family:monospace; 
    1819} 
    1920.ui-inputConsole-history ul { 
     
    2122  padding:0 0 0 20px; 
    2223} 
     24.ui-inputConsole-history ul li { 
     25  font-family:monospace; 
     26} 
    2327.ui-inputConsole-history { 
    24   overflow:auto; 
    2528  border:1px solid; 
    2629  border-bottom:1px dotted; 
    2730  position:absolute; 
     31  z-index:1000; 
    2832} 
     33span.ui-inputConsole-historyResult { 
     34  display:block; 
     35  margin-left:15px; 
     36  font-style:italic; 
     37} 
     38.ui-inputConsole-historyBg { 
     39  position:absolute; 
     40  width:100%; 
     41  height:100%; 
     42  z-index:-1; 
     43  opacity:0.85; 
     44  filter:alpha(opacity:85); 
     45} 
     46.ui-inputConsole-historyListContainer { 
     47  width:100%; 
     48  height:100%; 
     49  position:absolute; 
     50  overflow:auto; 
     51  z-index:-1; 
     52} 
  • extensions/GrumPluginClasses/css/inputConsole_roma.css

    r8961 r16012  
    77.ui-inputConsole-history { 
    88  border-color:#666666; 
    9   background:#444444; 
    10   color:#999999; 
     9  color:#dddddd; 
    1110} 
    1211 
     
    1615  color:#800000; 
    1716} 
     17.ui-inputConsole-historyBg { 
     18  background:#444444; 
     19} 
     20.ui-inputConsole-history ul li:hover { 
     21  background:#444444; 
     22  cursor:pointer; 
     23  color:#cccccc; 
     24} 
  • extensions/GrumPluginClasses/css/inputList.css

    r8961 r16012  
    77} 
    88.ui-inputList-arrow { 
    9   border-style:solid; 
    10   border-width:1px; 
    119  cursor:pointer; 
    1210  font-weight:bold; 
    13   width:14px; 
     11  width:15px; 
    1412  margin-top:1px; 
    15   height:14px; 
     13  height:15px; 
    1614  text-align:center; 
    1715  display:inline-block; 
  • extensions/GrumPluginClasses/css/inputList_clear.css

    r8961 r16012  
    99 
    1010.ui-inputList-arrow { 
    11   background:none repeat scroll 0 0 #999999; 
    12   border-color:#DDDDDD #666666 #666666 #DDDDDD; 
    13   color:#005E89; 
     11  border:0px; 
     12  color:#FF7700; 
     13  background-image:url(./../icons/buttons.png); 
     14  background-repeat:no-repeat; 
     15  background-position:-30px -90px; 
     16  -moz-border-radius:2px; 
     17  -webkit-border-radius:2px; 
     18  -khtml-border-radius:2px; 
     19  border-radius:2px; 
    1420} 
    15  
    16 .ui-inputList-arrow-active { 
    17   border-color:#666666 #DDDDDD #DDDDDD #666666; 
     21.ui-inputList-arrow:hover { 
     22  background-position:-30px -105px; 
     23  background-color:#999999; 
    1824} 
    1925 
     
    2531.ui-inputList-selected-item { 
    2632  background-color:#999999; 
    27   color:#DDDDDD; 
     33} 
     34 
     35li.ui-inputList-item div.ui-inputList-check, 
     36li.ui-inputList-selected-item div.ui-inputList-check { 
     37  background-image:url(./../icons/buttons.png); 
     38  background-repeat:no-repeat; 
    2839} 
    2940 
    3041li.ui-inputList-item div.ui-inputList-check { 
    31   background-image:url(./../icons/check_notchecked_clear.png); 
     42  background-position:-180px -90px; 
    3243} 
     44li.ui-inputList-item:hover div.ui-inputList-check { 
     45  background-position:-180px -105px; 
     46} 
     47 
    3348li.ui-inputList-selected-item div.ui-inputList-check { 
    34   background-image:url(./../icons/check_checked_clear.png); 
     49  background-position:-195px -90px; 
    3550} 
     51li.ui-inputList-selected-item:hover div.ui-inputList-check { 
     52  background-position:-195px -105px; 
     53} 
     54 
     55 
    3656 
    3757.ui-error, input[type='text'].ui-error { 
  • extensions/GrumPluginClasses/css/inputList_roma.css

    r8961 r16012  
    99 
    1010.ui-inputList-arrow { 
    11   background:none repeat scroll 0 0 #666666; 
    12   border-color:#999999 #444444 #444444 #999999; 
    13   color:#FF3363; 
     11  border:0px; 
     12  color:#FF7700; 
     13  background-image:url(./../icons/buttons.png); 
     14  background-repeat:no-repeat; 
     15  background-position:-30px -15px; 
     16  -moz-border-radius:2px; 
     17  -webkit-border-radius:2px; 
     18  -khtml-border-radius:2px; 
     19  border-radius:2px; 
    1420} 
    15  
    16 .ui-inputList-arrow-active { 
    17   border-color:#444444 #999999 #999999 #444444; 
     21.ui-inputList-arrow:hover { 
     22  background-position:-30px 0px; 
     23  background-color:#222222; 
    1824} 
    1925 
     
    2632} 
    2733 
     34li.ui-inputList-item div.ui-inputList-check, 
     35li.ui-inputList-selected-item div.ui-inputList-check { 
     36  background-image:url(./../icons/buttons.png); 
     37  background-repeat:no-repeat; 
     38} 
     39 
    2840li.ui-inputList-item div.ui-inputList-check { 
    29   background-image:url(./../icons/check_notchecked_roma.png); 
     41  background-position:-180px -15px; 
    3042} 
     43li.ui-inputList-item:hover div.ui-inputList-check { 
     44  background-position:-180px 0px; 
     45} 
     46 
    3147li.ui-inputList-selected-item div.ui-inputList-check { 
    32   background-image:url(./../icons/check_checked_roma.png); 
     48  background-position:-195px -15px; 
    3349} 
     50li.ui-inputList-selected-item:hover div.ui-inputList-check { 
     51  background-position:-195px 0px; 
     52} 
     53 
     54 
    3455 
    3556.ui-error, input[type='text'].ui-error { 
  • extensions/GrumPluginClasses/css/inputNum.css

    r8961 r16012  
    1919  cursor:pointer; 
    2020  font-weight:bold; 
    21   width:14px; 
     21  width:15px; 
    2222  margin-top:1px; 
    23   height:14px; 
     23  height:15px; 
    2424  text-align:center; 
    2525  display:inline-block; 
     
    2828  margin-right:4px; 
    2929  display:inline-block; 
     30  position:relative; 
     31  top:-2px; 
    3032} 
    3133 
  • extensions/GrumPluginClasses/css/inputNum_clear.css

    r8961 r16012  
    88.ui-inputNum-btDec, .ui-inputNum-btInc , 
    99div.ui-inputNum a.ui-slider-handle { 
    10   background:none repeat scroll 0 0 #999999; 
    11   border-color:#DDDDDD #666666 #666666 #DDDDDD; 
    12   color:#005E89; 
     10  background:#005e89; 
     11  border:1px solid #005e89; 
     12  -moz-border-radius:2px; 
     13  -webkit-border-radius:2px; 
     14  -khtml-border-radius:2px; 
     15  border-radius:2px; 
     16} 
     17div.ui-inputNum a.ui-slider-handle:hover { 
     18  background:#d54e21; 
     19  border-color:#d54e21; 
    1320} 
    1421 
    15 .ui-inputNum-btDec-active, .ui-inputNum-btInc-active { 
    16   border-color:#666666 #DDDDDD #DDDDDD #666666; 
     22.ui-inputNum-btDec, 
     23.ui-inputNum-btInc { 
     24  background-color:transparent; 
     25  background-image:url(./../icons/buttons.png); 
     26  background-repeat:no-repeat; 
     27  color:#005e89; 
     28  border:0px; 
     29  -moz-border-radius:2px; 
     30  -webkit-border-radius:2px; 
     31  -khtml-border-radius:2px; 
     32  border-radius:2px; 
     33} 
     34 
     35.ui-inputNum-btDec { 
     36  background-position:-225px -90px; 
     37} 
     38.ui-inputNum-btDec:hover { 
     39  background-position:-225px -105px; 
     40  background-color:#999999; 
     41} 
     42 
     43.ui-inputNum-btInc { 
     44  background-position:-210px -90px; 
     45} 
     46.ui-inputNum-btInc:hover { 
     47  background-position:-210px -105px; 
     48  background-color:#999999; 
     49} 
     50 
     51div.ui-error div.ui-inputNum-btDec { 
     52  background-position:-225px -75px; 
     53} 
     54div.ui-error div.ui-inputNum-btInc { 
     55  background-position: -210px -75px; 
     56} 
     57 
     58div.ui-error div.ui-inputNum-btDec:hover, 
     59div.ui-error div.ui-inputNum-btInc:hover { 
     60  background-color:#EE4040; 
    1761} 
    1862 
  • extensions/GrumPluginClasses/css/inputNum_roma.css

    r8961 r16012  
    88} 
    99 
    10 .ui-inputNum-btDec, .ui-inputNum-btInc , 
    1110div.ui-inputNum a.ui-slider-handle { 
    12   background:none repeat scroll 0 0 #666666; 
    13   border-color:#999999 #444444 #444444 #999999; 
    14   color:#ff3363; 
     11  background:#ff7700; 
     12  border:1px solid #ff7700; 
     13  -moz-border-radius:2px; 
     14  -webkit-border-radius:2px; 
     15  -khtml-border-radius:2px; 
     16  border-radius:2px; 
     17} 
     18div.ui-inputNum a.ui-slider-handle:hover { 
     19  background:#ff3363; 
     20  border-color:#ff3363; 
    1521} 
    1622 
    17 .ui-inputNum-btDec-active, .ui-inputNum-btInc-active { 
    18   border-color:#444444 #999999 #999999 #444444; 
     23.ui-inputNum-btDec, 
     24.ui-inputNum-btInc { 
     25  background-image:url(./../icons/buttons.png); 
     26  background-repeat:no-repeat; 
     27  color:#ff7700; 
     28  border:0px; 
     29  -moz-border-radius:2px; 
     30  -webkit-border-radius:2px; 
     31  -khtml-border-radius:2px; 
     32  border-radius:2px; 
    1933} 
     34 
     35.ui-inputNum-btDec { 
     36  background-position:-225px -15px; 
     37} 
     38.ui-inputNum-btDec:hover { 
     39  background-position:-225px 0px; 
     40  background-color:#222222; 
     41} 
     42 
     43.ui-inputNum-btInc { 
     44  background-position:-210px -15px; 
     45} 
     46.ui-inputNum-btInc:hover { 
     47  background-position:-210px 0px; 
     48  background-color:#222222; 
     49} 
     50 
     51 
     52div.ui-error div.ui-inputNum-btDec { 
     53  background-position:-225px -75px; 
     54} 
     55div.ui-error div.ui-inputNum-btInc { 
     56  background-position: -210px -75px; 
     57} 
     58 
     59div.ui-error div.ui-inputNum-btDec:hover, 
     60div.ui-error div.ui-inputNum-btInc:hover { 
     61  background-color:#EE4040; 
     62} 
     63 
    2064 
    2165.ui-error, input[type='text'].ui-error { 
  • extensions/GrumPluginClasses/css/inputSwitchButton_clear.css

    r15340 r16012  
    22/* clear css */ 
    33.ui-inputSwitchButton-unchecked { 
    4   background:none repeat scroll 0 0 #999999; 
    5   border-color:#DDDDDD #666666 #666666 #DDDDDD; 
    6   color:#005E89; 
     4  background:#005e89; 
     5  border: 0px; 
     6  -moz-border-radius:2px; 
     7  -webkit-border-radius:2px; 
     8  -khtml-border-radius:2px; 
     9  border-radius:2px; 
     10  color: #FFFFFF; 
    711} 
    812 
    913.ui-inputSwitchButton-checked { 
    10   background:none repeat scroll 0 0 #666666; 
    11   border-color:#666666 #DDDDDD #DDDDDD #666666; 
    12   color:#ff3363; 
     14  background:#d54e21; 
     15  border: 0px; 
     16  -moz-border-radius:2px; 
     17  -webkit-border-radius:2px; 
     18  -khtml-border-radius:2px; 
     19  border-radius:2px; 
     20  color: #FFFFFF; 
    1321} 
     22 
  • extensions/GrumPluginClasses/css/inputSwitchButton_roma.css

    r15340 r16012  
    33 
    44.ui-inputSwitchButton-unchecked { 
    5   background:none repeat scroll 0 0 #666666; 
    6   border-color:#999999 #444444 #444444 #999999; 
    7   color:#ff3363; 
     5  background:#FF7700; 
     6  border: 0px; 
     7  -moz-border-radius:2px; 
     8  -webkit-border-radius:2px; 
     9  -khtml-border-radius:2px; 
     10  border-radius:2px; 
     11  color: #FFFFFF; 
    812} 
    913 
    1014.ui-inputSwitchButton-checked { 
    11   background:none repeat scroll 0 0 #555555; 
    12   border-color:#444444 #999999 #999999 #444444; 
    13   color:#ff3363; 
     15  background:#FF3363; 
     16  border: 0px; 
     17  -moz-border-radius:2px; 
     18  -webkit-border-radius:2px; 
     19  -khtml-border-radius:2px; 
     20  border-radius:2px; 
     21  color: #FFFFFF; 
    1422} 
    1523 
  • extensions/GrumPluginClasses/css/rbuilder.css

    r7370 r16012  
    4848  position:absolute; 
    4949  padding:0px; 
    50   margin-top:-1px; 
     50  margin-top:-15px; 
    5151  z-index:949; 
    5252} 
     
    9191div#iMenuCaddieBar ul li { list-style-type:none; padding:4px; } 
    9292div#iMenuCaddieBar:hover  div#iMenuCaddieItems { cursor:pointer; display:block; } 
    93 .iconEdit, .iconDelete, .iconSwitchCondition { width:18px; height:18px; cursor:pointer; display:inline-block; } 
    94 .iconMove { width:18px; height:18px; cursor:move; display:inline-block; } 
     93 
     94.iconMove, 
     95.iconEdit, 
     96.iconDelete, 
     97.iconSwitchCondition { 
     98  width:15px; 
     99  height:15px; 
     100  cursor:pointer; 
     101  display:inline-block; 
     102} 
     103.iconMove { cursor:move; } 
    95104.itemContent { padding-left:24px; } 
    96105.cbItemUnique { border:none; } 
    97106.cbItemMultiple { border:1px solid; } 
     107 
     108.ui-dialog-titlebar-close { 
     109    display: none; 
     110} 
  • extensions/GrumPluginClasses/css/rbuilder_clear.css

    r7370 r16012  
    22.pnActive { background:#F1F1F1; } 
    33div.cbOperatorBg { background:#dbe8f3; } 
    4 .iconEdit { background:url(./../../../admin/themes/clear/icon/edit_s.png) no-repeat 0 0 transparent; } 
    5 .iconDelete { background:url(./../../../admin/themes/clear/icon/delete.png) no-repeat 0 0 transparent; } 
    6 .iconMove { background:url(./../../../admin/themes/clear/icon/cat_move.png) no-repeat 0 0 transparent; } 
    7 .iconSwitchCondition  { background:url(./../icons/switch_clear.png) no-repeat 0 0 transparent; } 
     4.iconSwitchCondition, 
     5.iconMove, 
     6.iconDelete, 
     7.iconEdit { 
     8  background:url(./../icons/buttons.png) no-repeat 0 0 transparent; 
     9} 
     10.iconSwitchCondition { 
     11  background-position:-300px -90px; 
     12} 
     13.iconSwitchCondition:hover { 
     14  background-position:-300px -105px; 
     15} 
     16 
     17.iconMove { 
     18  background-position:-285px -90px; 
     19} 
     20.iconMove:hover { 
     21  background-position:-285px -105px; 
     22} 
     23 
     24.iconDelete { 
     25  background-position:-255px -90px; 
     26} 
     27.iconDelete:hover { 
     28  background-position:-255px -105px; 
     29} 
     30 
     31.iconEdit { 
     32  background-position:-240px -90px; 
     33} 
     34.iconEdit:hover { 
     35  background-position:-240px -105px; 
     36} 
    837.cbItemMultiple { border:1px solid #999999; } 
    938.cbItemOverGroup { border:1px dotted #999999; } 
  • extensions/GrumPluginClasses/css/rbuilder_roma.css

    r7370 r16012  
    22.pnActive { background:#999999; color:#444444; } 
    33div.cbOperatorBg { background:#333333; } 
    4 .iconEdit { background:url(./../../../admin/themes/default/icon/edit_s.png) no-repeat 0 0 transparent; } 
    5 .iconDelete { background:url(./../../../admin/themes/default/icon/delete.png) no-repeat 0 0 transparent; } 
    6 .iconMove { background:url(./../../../admin/themes/default/icon/cat_move.png) no-repeat 0 0 transparent; } 
    7 .iconSwitchCondition  { background:url(./../icons/switch_roma.png) no-repeat 0 0 transparent; } 
     4.iconSwitchCondition, 
     5.iconMove, 
     6.iconDelete, 
     7.iconEdit { 
     8  background:url(./../icons/buttons.png) no-repeat 0 0 transparent; 
     9} 
     10.iconSwitchCondition { 
     11  background-position:-300px -15px; 
     12} 
     13.iconSwitchCondition:hover { 
     14  background-position:-300px -0px; 
     15} 
     16 
     17.iconMove { 
     18  background-position:-285px -15px; 
     19} 
     20.iconMove:hover { 
     21  background-position:-285px -0px; 
     22} 
     23 
     24.iconDelete { 
     25  background-position:-255px -15px; 
     26} 
     27.iconDelete:hover { 
     28  background-position:-255px -0px; 
     29} 
     30 
     31.iconEdit { 
     32  background-position:-240px -15px; 
     33} 
     34.iconEdit:hover { 
     35  background-position:-240px -0px; 
     36} 
     37 
    838.cbItemMultiple { border:1px solid #666666; } 
    939.cbItemOverGroup { border:1px dotted #666666; } 
  • extensions/GrumPluginClasses/gpc_aim.class.inc.php

    r6948 r16012  
    1717 
    1818include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/CommonPlugin.class.inc.php'); 
    19 include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCCss.class.inc.php'); 
    2019 
    2120class GPC_AIM extends CommonPlugin 
    2221{ 
    23   protected $css = null; 
    24  
    2522  public function __construct($prefixeTable, $filelocation) 
    2623  { 
     
    2825    $this->setPluginNameFiles("gpc"); 
    2926    parent::__construct($prefixeTable, $filelocation); 
    30     $this->css = new GPCCss(dirname($this->getFileLocation()).'/'.$this->getPluginNameFiles().".css"); 
    31   } 
    32  
    33   public function __destruct() 
    34   { 
    35     unset($this->css); 
    36     parent::__destruct(); 
    3727  } 
    3828 
     
    4030    initialize events call for the plugin 
    4131  */ 
    42   function initEvents() 
     32  public function initEvents() 
    4333  { 
     34    parent::initEvents(); 
    4435    add_event_handler('get_admin_plugin_menu_links', array(&$this, 'pluginAdminMenu') ); 
    4536  } 
    4637 
    47  
     38  public function loadCSS() 
     39  { 
     40    parent::loadCSS(); 
     41    GPCCore::addUI('gpcCSS'); 
     42  } 
    4843 
    4944  /* --------------------------------------------------------------------------- 
  • extensions/GrumPluginClasses/gpc_aip.class.inc.php

    r5550 r16012  
    3535                          ''); 
    3636  } 
    37  
    38   public function __destruct() 
    39   { 
    40     parent::__destruct(); 
    41   } 
    42  
    43   /* 
    44     initialize events call for the plugin 
    45   */ 
    46   function initEvents() 
    47   { 
    48     add_event_handler('loc_end_page_header', array(&$this->css, 'applyCSS')); 
    49   } 
    50  
    5137 
    5238  /* --------------------------------------------------------------------------- 
  • extensions/GrumPluginClasses/gpc_ajax.php

    r12215 r16012  
    2323 *  - public.rbuilder.searchExecute 
    2424 *  - public.rbuilder.searchGetPage 
    25  *  - public.tagSelector.get 
    26  *  - admin.tagSelector.get 
     25 *  - public.inputTag.get 
     26 *  - admin.inputTag.get 
    2727 *  - public.contact.sendMsg 
    2828 * 
     
    3232 
    3333  define('PHPWG_ROOT_PATH',dirname(dirname(dirname(__FILE__))).'/'); 
    34  
     34  if(!defined('AJAX_CALL')) define('AJAX_CALL', true); 
    3535 
    3636  /* 
     
    3838   */ 
    3939  if(!isset($_REQUEST['ajaxfct'])) $_REQUEST['ajaxfct']=''; 
    40   if(preg_match('/^admin\./i', $_REQUEST['ajaxfct'])) 
    41   { 
    42     define('IN_ADMIN', true); 
    43   } 
     40  if(preg_match('/^admin\./i', $_REQUEST['ajaxfct'])) define('IN_ADMIN', true); 
    4441 
    4542  // the common.inc.php file loads all the main.inc.php plugins files 
    4643  include_once(PHPWG_ROOT_PATH.'include/common.inc.php' ); 
    4744  include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php' ); 
     45  include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCAjax.class.inc.php'); 
    4846  include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/CommonPlugin.class.inc.php'); 
    49   include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCAjax.class.inc.php'); 
    5047 
    5148  global $page; 
     
    7774      $tableList=array('result_cache'); 
    7875      $this->setTablesList($tableList); 
    79  
    8076      $this->loadConfig(); 
    8177      $this->checkRequest(); 
     
    10096           $_REQUEST['ajaxfct']=='admin.categorySelector.getList' or 
    10197           $_REQUEST['ajaxfct']=='public.categorySelector.getList' or 
    102            $_REQUEST['ajaxfct']=='public.tagSelector.get' or 
    103            $_REQUEST['ajaxfct']=='admin.tagSelector.get' or 
     98           $_REQUEST['ajaxfct']=='public.inputTag.get' or 
     99           $_REQUEST['ajaxfct']=='admin.inputTag.get' or 
    104100           $_REQUEST['ajaxfct']=='public.contact.sendMsg' 
    105101          ) 
     
    149145 
    150146        /* 
    151          * check admin.tagSelector.get values 
     147         * check admin.inputTag.get values 
    152148         */ 
    153         if($_REQUEST['ajaxfct']=="admin.tagSelector.get" or 
    154            $_REQUEST['ajaxfct']=="public.tagSelector.get") 
     149        if($_REQUEST['ajaxfct']=="admin.inputTag.get" or 
     150           $_REQUEST['ajaxfct']=="public.inputTag.get") 
    155151        { 
    156152          if(!isset($_REQUEST['letters'])) $_REQUEST['ajaxfct']=""; 
     
    236232          $result=$this->ajax_gpc_public_CategorySelectorGetList($_REQUEST['filter'], $_REQUEST['galleryRoot'], $_REQUEST['tree']); 
    237233          break; 
    238         case 'admin.tagSelector.get': 
    239           $result=$this->ajax_gpc_both_TagSelectorGet('admin', $_REQUEST['letters'], $_REQUEST['filter'], $_REQUEST['maxTags'], $_REQUEST['ignoreCase']); 
    240           break; 
    241         case 'public.tagSelector.get': 
    242           $result=$this->ajax_gpc_both_TagSelectorGet('public', $_REQUEST['letters'], $_REQUEST['filter'], $_REQUEST['maxTags'], $_REQUEST['ignoreCase']); 
     234        case 'admin.inputTag.get': 
     235          $result=$this->ajax_gpc_both_InputTagGet('admin', $_REQUEST['letters'], $_REQUEST['filter'], $_REQUEST['maxTags'], $_REQUEST['ignoreCase']); 
     236          break; 
     237        case 'public.inputTag.get': 
     238          $result=$this->ajax_gpc_both_InputTagGet('public', $_REQUEST['letters'], $_REQUEST['filter'], $_REQUEST['maxTags'], $_REQUEST['ignoreCase']); 
    243239          break; 
    244240        case 'public.contact.sendMsg': 
     
    408404     * @return String : json string 
    409405     */ 
    410     private function ajax_gpc_both_TagSelectorGet($mode, $letters, $filter, $maxTags, $ignoreCase) 
     406    private function ajax_gpc_both_InputTagGet($mode, $letters, $filter, $maxTags, $ignoreCase) 
    411407    { 
    412408      global $user; 
     
    482478 
    483479      return(json_encode($returned)); 
    484     } //ajax_gpc_both_TagSelectorGet 
     480    } //ajax_gpc_both_InputTagGet 
    485481 
    486482 
  • extensions/GrumPluginClasses/js/rbCriteriaBuilder.js

    r10884 r16012  
    109109          helpMove:'', 
    110110          helpSwitchCondition:'', 
    111           ajaxUrl:'' 
     111          ajaxUrl:'', 
     112          token:'' 
    112113        }, 
    113114      extraData = new Array(); 
     
    590591    } 
    591592 
    592     var datas=encodeURI('ajaxfct=public.rbuilder.searchExecute&requestName='+itemsId.container+'&'+getItems()); 
     593    var datas=encodeURI('ajaxfct=public.rbuilder.searchExecute&token='+options.token+'&requestName='+itemsId.container+'&'+getItems()); 
    593594    $.ajax( 
    594595      { 
     
    621622        url: options.ajaxUrl, 
    622623        async: true, 
    623         data: {ajaxfct:'public.rbuilder.searchGetPage', page:pageNumber, requestNumber:requestNumber, numPerPage:numberPerPage}, 
     624        data: { 
     625            ajaxfct:'public.rbuilder.searchGetPage', 
     626            page:pageNumber, 
     627            requestNumber:requestNumber, 
     628            numPerPage:numberPerPage, 
     629            token:options.token 
     630          }, 
    624631        success: function(msg) 
    625632          { 
  • extensions/GrumPluginClasses/js/rbSearch.js

    r10884 r16012  
    5252            requestResultRequestNumber:0, 
    5353            onPageChange:null, 
    54             numberPerPage:30 
     54            numberPerPage:30, 
     55            token:'' 
    5556          }; 
    5657 
     
    245246          url: "plugins/GrumPluginClasses/gpc_ajax.php", 
    246247          async: true, 
    247           data: { ajaxfct:"admin.rbuilder.fillCaddie", fillMode:mode, requestNumber:requestNumber }, 
     248          data: { 
     249              ajaxfct:"admin.rbuilder.fillCaddie", 
     250              fillMode:mode, 
     251              requestNumber:requestNumber, 
     252              token:options.token 
     253            }, 
    248254          success: 
    249255            function(msg) 
  • extensions/GrumPluginClasses/js/simpleTip.js

    r15340 r16012  
    391391      { 
    392392        case 'Up': 
    393           bgp='-'+items[itemIndex].options.arrowHeight+'px 0px'; 
     393          bgp='0px -'+items[itemIndex].options.arrowHeight+'px'; 
    394394          break; 
    395395        case 'Left': 
    396           bgp='0px -'+items[itemIndex].options.arrowWeight+'px'; 
     396          bgp='-'+items[itemIndex].options.arrowWidth+'px 0px'; 
    397397          break; 
    398398        case 'Down': 
     
    400400          break; 
    401401        case 'Right': 
    402           bgp='-'+items[itemIndex].options.arrowHeight+'px -'+items[itemIndex].options.arrowWeight+'px'; 
     402          bgp='-'+items[itemIndex].options.arrowHeight+'px -'+items[itemIndex].options.arrowWidth+'px'; 
    403403          break; 
    404404      } 
  • extensions/GrumPluginClasses/js/ui.categorySelector.js

    r15340 r16012  
    33 * file: ui.categorySelector.js 
    44 * file version: 1.1.1 
    5  * date: 2012-05-25 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    4039 * |         |            | * add 'displayPath' property 
    4140 * |         |            | 
    42  * | 1.1.1   | 2012-05-25 | * fix bug with jquery 1.7.2 
     41 * | 1.1.1   | 2012-06-18 | * fix bug with jquery 1.7.2 
    4342 * |         |            |   . display list now works :) 
    4443 * |         |            | 
     44 * |         |            | * improve memory managment 
    4545 * |         |            | 
    4646 * |         |            | 
     
    6565              // default values for the plugin 
    6666              var $this=$(this), 
     67                  timeStamp=new Date(), 
    6768                  data = $this.data('options'), 
    6869                  objects = $this.data('objects'), 
     
    7980                      iconWidthEC:15, 
    8081                      serverUrl:'plugins/GrumPluginClasses/gpc_ajax.php', 
     82                      postData:{}, 
    8183                      filter:'accessible', 
    8284                      popup:null, 
     
    8789                      popupMode:'click', 
    8890                      displayPath:false, 
    89                       downArrow:'&dArr;' 
     91                      downArrow:'' //'&dArr;' 
    9092                    }; 
    9193 
     
    100102                $this.data('properties', 
    101103                  { 
     104                    objectId:'cs'+Math.ceil(timeStamp.getTime()*Math.random()), 
    102105                    index:-1, 
    103106                    initialized:false, 
     
    142145                        'class':'ui-category-selector-status', 
    143146                        css: { 
    144                           float:'right', 
     147                          'float':'right', 
    145148                          display:(options.displayStatus)?'block':'none' 
    146149                        } 
     
    213216              var $this=$(this), 
    214217                  objects = $this.data('objects'); 
     218              objects.containerName.unbind().remove(); 
     219              objects.containerList.unbind().remove(); 
     220              objects.containerStatus.unbind().remove(); 
     221              objects.containerArrow.unbind().remove(); 
    215222              objects.container.unbind().remove(); 
    216223              objects.list.children().unbind(); 
    217224              objects.listContainer.remove(); 
     225              $(document).unbind('focusout.'+properties.objectId+' focusin.'+properties.objectId); 
    218226              $this 
     227                .removeData() 
    219228                .unbind('.categorySelector') 
    220229                .css( 
     
    224233                  } 
    225234                ); 
     235              delete $this; 
    226236            } 
    227237          ); 
     
    412422          } 
    413423        }, // serverUrl 
     424 
     425      postData: function (value) 
     426        { 
     427          if(value!=null) 
     428          { 
     429            // set selected value 
     430            return( 
     431              this.each( 
     432                function() 
     433                { 
     434                  privateMethods.setPostData($(this), value, true); 
     435                } 
     436              ) 
     437            ); 
     438          } 
     439          else 
     440          { 
     441            var options=this.data('options'); 
     442            return(options.postData); 
     443          } 
     444        }, // postData 
    414445 
    415446      filter: function (value) 
     
    813844          privateMethods.setLevelIndent(object, (value.levelIndent!=null)?value.levelIndent:options.levelIndent); 
    814845          privateMethods.setIconWidthEC(object, (value.iconWidthEC!=null)?value.iconWidthEC:options.iconWidthEC); 
     846          privateMethods.setPostData(object, (value.postData!=null)?value.postData:options.postData); 
    815847          privateMethods.setServerUrl(object, (value.serverUrl!=null)?value.serverUrl:options.serverUrl); 
    816848          privateMethods.setFilter(object, (value.filter!=null)?value.filter:options.filter); 
     
    9681000          return(options.serverUrl); 
    9691001        }, 
     1002 
     1003      setPostData : function (object, value) 
     1004        { 
     1005          var properties=object.data('properties'), 
     1006              options=object.data('options'); 
     1007 
     1008          if(!properties.initialized || value!=options.postData) 
     1009          { 
     1010            options.postData=value; 
     1011          } 
     1012 
     1013          return(options.postData); 
     1014        }, // setPostData 
    9701015 
    9711016      setFilter : function (object, value) 
     
    10941139                  } 
    10951140                ); 
    1096               $(document).bind('focusout focusin', 
     1141              $(document).bind('focusout.'+properties.objectId+' focusin.'+properties.objectId, 
    10971142                function (event) 
    10981143                { 
     
    16141659                  filter:options.filter, 
    16151660                  galleryRoot:options.galleryRoot?'y':'n', 
    1616                   tree:'y' 
     1661                  tree:'y', 
     1662                  data:options.postData 
    16171663                }, 
    16181664              success: function(msg) 
  • extensions/GrumPluginClasses/js/ui.iconSelector.js

    r8961 r16012  
    22 * ----------------------------------------------------------------------------- 
    33 * file: ui.iconSelector.js 
    4  * file version: 1.0.0 
    5  * date: 2010-10-10 
     4 * file version: 1.0.1 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    8786 * | 1.0.0   | 2010/10/10 | first release 
    8887 * |         |            | 
     88 * | 1.0.1   | 2012/06/18 | * imoprove memory managment 
    8989 * |         |            | 
    9090 * |         |            | 
     
    220220              $this 
    221221                .unbind('.iconSelector') 
     222                .removeData() 
    222223                .css( 
    223224                  { 
     
    227228                  } 
    228229                ); 
     230              delete $this; 
    229231            } 
    230232          ); 
  • extensions/GrumPluginClasses/js/ui.inputCheckbox.js

    r8961 r16012  
    22 * ----------------------------------------------------------------------------- 
    33 * file: ui.inputCheckbox.js 
    4  * file version: 1.0.0 
    5  * date: 2010-11-04 
     4 * file version: 1.0.1 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2221 * 
    2322 * | release | date       | 
    24  * | 1.0.0   | 2010/11/04 | first release 
     23 * | 1.0.0   | 2010/11/04 | * first release 
    2524 * |         |            | 
    26  * |         |            | 
     25 * | 1.0.1   | 2012/06/18 | * improve memory managment 
    2726 * |         |            | 
    2827 * |         |            | 
     
    5352                  properties = $this.data('properties'), 
    5453                  options = 
    55                     {                       
     54                    { 
    5655                      values: 
    5756                        { 
     
    111110            { 
    112111              // default values for the plugin 
    113               var properties=this.data('properties'); 
     112              var $this=$(this), 
     113                  properties=$this.data('properties'); 
    114114              properties.checkboxList.unbind('.inputCheckbox'); 
    115               this.removeClass('ui-inputCheckbox'); 
     115 
     116              $this 
     117                .unbind('.inputCheckbox') 
     118                .removeData() 
     119                .removeClass('ui-inputCheckbox'); 
     120              delete $this; 
    116121            } 
    117122          ); 
     
    416421                  break; 
    417422              } 
    418             }  
     423            } 
    419424            else if($.isArray(value) && !properties.isCB) 
    420425            { 
     
    425430               */ 
    426431              properties.checkboxList.attr('checked', false); 
    427                
     432 
    428433              for(var i=0;i<value.length;i++) 
    429434              { 
     
    437442                } 
    438443              } 
    439                
    440             } 
    441             else  
     444 
     445            } 
     446            else 
    442447            { 
    443448              // a single value 
    444                
     449 
    445450              if(options.values.checked==value) 
    446451              { 
     
    453458                  if(id=='') 
    454459                  { 
    455                     properties.checkboxList.attr('checked', true);  
     460                    properties.checkboxList.attr('checked', true); 
    456461                  } 
    457462                  else 
     
    471476                  if(id=='') 
    472477                  { 
    473                     properties.checkboxList.attr('checked', false);  
     478                    properties.checkboxList.attr('checked', false); 
    474479                  } 
    475480                  else 
  • extensions/GrumPluginClasses/js/ui.inputColorPicker.js

    r8961 r16012  
    22 * ----------------------------------------------------------------------------- 
    33 * file: ui.inputColorPicker.js 
    4  * file version: 1.0.0 
    5  * date: 2010-11-04 
     4 * file version: 1.0.1 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2221 * 
    2322 * | release | date       | 
    24  * | 1.0.0   | 2010/11/04 | first release 
     23 * | 1.0.0   | 2010/11/04 | * first release 
    2524 * |         |            | 
    26  * |         |            | 
     25 * | 1.0.1   | 2012/06/18 | * improve memory managment 
    2726 * |         |            | 
    2827 * |         |            | 
     
    201200                    numDec:0, 
    202201                    unitValue:'', 
    203                     btInc:'+', 
    204                     btDec:'-', 
     202                    //btInc:'+', 
     203                    //btDec:'-', 
    205204                    value:0, 
    206205                    showSlider:'auto', 
     
    218217                    numDec:0, 
    219218                    unitValue:'', 
    220                     btInc:'+', 
    221                     btDec:'-', 
     219                    //btInc:'+', 
     220                    //btDec:'-', 
    222221                    value:0, 
    223222                    showSlider:'auto', 
     
    235234                    numDec:0, 
    236235                    unitValue:'', 
    237                     btInc:'+', 
    238                     btDec:'-', 
     236                    //btInc:'+', 
     237                    //btDec:'-', 
    239238                    value:0, 
    240239                    showSlider:'auto', 
     
    252251                    numDec:0, 
    253252                    unitValue:'', 
    254                     btInc:'+', 
    255                     btDec:'-', 
     253                    //btInc:'+', 
     254                    //btDec:'-', 
    256255                    value:0, 
    257256                    showSlider:'auto', 
     
    269268                    numDec:0, 
    270269                    unitValue:'', 
    271                     btInc:'+', 
    272                     btDec:'-', 
     270                    //btInc:'+', 
     271                    //btDec:'-', 
    273272                    value:0, 
    274273                    showSlider:'auto', 
     
    286285                    numDec:0, 
    287286                    unitValue:'', 
    288                     btInc:'+', 
    289                     btDec:'-', 
     287                    //btInc:'+', 
     288                    //btDec:'-', 
    290289                    value:0, 
    291290                    showSlider:'auto', 
     
    303302                    numDec:0, 
    304303                    unitValue:'', 
    305                     btInc:'+', 
    306                     btDec:'-', 
     304                    //btInc:'+', 
     305                    //btDec:'-', 
    307306                    value:0, 
    308307                    showSlider:'auto', 
     
    373372              objects.inputContainer.remove(); 
    374373              objects.container.remove(); 
     374 
     375              $this 
     376                .unbind() 
     377                .removeData(); 
     378 
     379              delete $this; 
    375380            } 
    376381          ); 
     
    11151120                    { 
    11161121                      objects.colorPicker.inputColorPicker('destroy').remove(); 
    1117                       $(this).dialog('destroy'); 
     1122                      $(this).dialog('destroy').remove(); 
    11181123                    } 
    11191124          }; 
     
    11211126      if(options.modal) 
    11221127      { 
    1123         dialogOpt.buttons= 
    1124           { 
    1125             'ok' : function (event) 
    1126                       { 
    1127                         if(options.change) 
    1128                         { 
    1129                           if(options.mode==1) 
    1130                           { 
    1131                             options.change(event, objects.colorPicker.inputColorPicker('colors').fg ); 
    1132                           } 
    1133                           else 
    1134                           { 
    1135                             options.change(event, objects.colorPicker.inputColorPicker('colors') ); 
    1136                           } 
    1137                         } 
    1138                         $(this).dialog('close'); 
    1139                       }, 
    1140             'cancel' : function (event) 
    1141                       { 
    1142                         $(this).dialog('close'); 
    1143                       } 
     1128        dialogOpt.buttons[options.buttons.ok]=function (event) 
     1129          { 
     1130            if(options.change) 
     1131            { 
     1132              if(options.mode==1) 
     1133              { 
     1134                options.change(event, objects.colorPicker.inputColorPicker('colors').fg ); 
     1135              } 
     1136              else 
     1137              { 
     1138                options.change(event, objects.colorPicker.inputColorPicker('colors') ); 
     1139              } 
     1140            } 
     1141            $(this).dialog('close'); 
    11441142          }; 
     1143 
     1144        dialogOpt.buttons[options.buttons.cancel]=function (event) 
     1145          { 
     1146            $(this).dialog('close'); 
     1147          }; 
     1148 
    11451149        dialogOpt.open= function () 
    11461150          { 
  • extensions/GrumPluginClasses/js/ui.inputColorsFB.js

    r8961 r16012  
    22 * ----------------------------------------------------------------------------- 
    33 * file: ui.inputColorsFB.js 
    4  * file version: 1.0.0 
    5  * date: 2010-11-04 
     4 * file version: 1.0.1 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2423 * | 1.0.0   | 2010/11/04 | first release 
    2524 * |         |            | 
    26  * |         |            | 
     25 * | 1.0.1   | 2012/06/18 | * improve memory managment 
    2726 * |         |            | 
    2827 * |         |            | 
     
    155154              var $this=$(this), 
    156155                  objects = $this.data('objects'); 
    157               objects.dot.remove(); 
     156              objects.fg.remove(); 
     157              objects.bg.remove(); 
     158              objects.fgopacity.remove(); 
     159              objects.bgopacity.remove(); 
    158160              objects.container.unbind().remove(); 
    159161              $this 
    160162                .unbind('.inputColorsFB') 
     163                .removeData() 
    161164                .css( 
    162165                  { 
     
    165168                  } 
    166169                ); 
     170              delete $this; 
    167171            } 
    168172          ); 
  • extensions/GrumPluginClasses/js/ui.inputConsole.js

    r12215 r16012  
    33 * file: ui.inputConsole.js 
    44 * file version: 1.0.1 
    5  * date: 2010-11-05 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2423 * | 1.0.0   | 2010/10/10 | first release 
    2524 * |         |            | 
    26  * |         |            | 
     25 * | 1.0.1   | 2012/06/18 | * improve memory managment 
    2726 * |         |            | 
    2827 * |         |            | 
     
    207206                  objects = $this.data('objects'); 
    208207              objects.input.unbind().remove(); 
     208              objects.prompt.unbind().remove(); 
     209              objects.inputContainer.unbind().remove(); 
     210              objects.historyList.unbind().remove(); 
     211              objects.historyListContainer.unbind().remove(); 
     212              objects.historyBackground.unbind().remove(); 
     213              objects.historyContainer.unbind().remove(); 
    209214              objects.container.unbind().remove(); 
    210215              $this 
    211216                .unbind('.inputConsole') 
     217                .removeData() 
    212218                .css( 
    213219                  { 
     
    216222                  } 
    217223                ); 
     224              delete $this; 
    218225            } 
    219226          ); 
  • extensions/GrumPluginClasses/js/ui.inputDotArea.js

    r8961 r16012  
    22 * ----------------------------------------------------------------------------- 
    33 * file: ui.inputDotArea.js 
    4  * file version: 1.0.0 
    5  * date: 2010-11-04 
     4 * file version: 1.0.1 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2423 * | 1.0.0   | 2010/11/04 | first release 
    2524 * |         |            | 
    26  * |         |            | 
     25 * | 1.0.1   | 2012/06/18 | * improve memory managment 
    2726 * |         |            | 
    2827 * |         |            | 
     
    149148              $this 
    150149                .unbind('.inputDotArea') 
     150                .removeData() 
    151151                .css( 
    152152                  { 
     
    155155                  } 
    156156                ); 
     157              delete $this; 
    157158            } 
    158159          ); 
  • extensions/GrumPluginClasses/js/ui.inputList.js

    r15340 r16012  
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2423 * | 1.0.0   | 2010/10/10 | first release 
    2524 * |         |            | 
    26  * | 1.0.1   | 2012/05/25 | fix bug with jquery 1.7.2 
    27  * |         |            |  . display list now works :) 
     25 * | 1.0.1   | 2012/06/18 | * fix bug with jquery 1.7.2 
     26 * |         |            |   . display list now works :) 
    2827 * |         |            | 
     28 * |         |            | * improve memory managment 
    2929 * |         |            | 
    3030 * |         |            | 
     
    4949              // default values for the plugin 
    5050              var $this=$(this), 
     51                  timeStamp=new Date(), 
    5152                  data = $this.data('options'), 
    5253                  objects = $this.data('objects'), 
     
    5556                    { 
    5657                      serverUrl:'', 
     58                      postData:{}, 
    5759                      autoLoad:true, 
    5860                      listMaxWidth:0, 
    5961                      listMaxHeight:0, 
    6062                      multiple:false, 
    61                       downArrow:'&dArr;', 
     63                      downArrow:'', //&dArr; 
    6264                      popupMode:'click', 
    6365                      colsWidth:[], 
     
    8082                $this.data('properties', 
    8183                  { 
     84                    objectId:'il'+Math.ceil(timeStamp.getTime()*Math.random()), 
    8285                    index:-1, 
    8386                    initialized:false, 
     
    204207              // default values for the plugin 
    205208              var $this=$(this), 
     209                  properties = $this.data('properties'), 
    206210                  objects = $this.data('objects'); 
    207211              objects.container.unbind().remove(); 
    208212              objects.list.children().unbind(); 
    209               objects.listContainer.remove(); 
     213              objects.listContainer.unbind().remove(); 
     214              $(document).unbind('focusout.'+properties.objectId+' focusin.'+properties.objectId); 
    210215              $this 
     216                .removeData() 
    211217                .unbind('.inputList') 
    212218                .css( 
     
    216222                  } 
    217223                ); 
     224              delete $this; 
    218225            } 
    219226          ); 
     
    328335          } 
    329336        }, // serverUrl 
     337 
     338      postData: function (value) 
     339        { 
     340          if(value!=null) 
     341          { 
     342            // set selected value 
     343            return( 
     344              this.each( 
     345                function() 
     346                { 
     347                  privateMethods.setPostData($(this), value, true); 
     348                } 
     349              ) 
     350            ); 
     351          } 
     352          else 
     353          { 
     354            var options=this.data('options'); 
     355            return(options.postData); 
     356          } 
     357        }, // postData 
    330358 
    331359      cols: function () 
     
    747775          privateMethods.setListMaxWidth(object, (value.listMaxWidth!=null)?value.listMaxWidth:options.listMaxWidth); 
    748776          privateMethods.setListMaxHeight(object, (value.listMaxHeight!=null)?value.listMaxHeight:options.listMaxHeight); 
     777          privateMethods.setPostData(object, (value.postData!=null)?value.postData:options.postData); 
    749778          privateMethods.setServerUrl(object, (value.serverUrl!=null)?value.serverUrl:options.serverUrl); 
    750779          privateMethods.setPopupMode(object, (value.popupMode!=null)?value.popupMode:options.popupMode); 
     
    759788          privateMethods.setMultiple(object, (value.multiple!=null)?value.multiple:options.multiple); // can be set only at the initialization 
    760789 
    761           if(options.autoLoad) privateMethods.load(object); 
     790          if(options.autoLoad && options.serverUrl!='') 
     791          { 
     792            privateMethods.load(object, (value.value!=null)?value.value:null); 
     793          } 
     794          else 
     795          { 
     796            privateMethods.setValue(object, (value.value!=null)?value.value:null); 
     797          } 
    762798 
    763799          properties.initialized=true; 
     
    899935          return(options.serverUrl); 
    900936        }, 
     937 
     938      setPostData : function (object, value) 
     939        { 
     940          var properties=object.data('properties'), 
     941              options=object.data('options'); 
     942 
     943          if(!properties.initialized || value!=options.postData) 
     944          { 
     945            options.postData=value; 
     946          } 
     947 
     948          return(options.postData); 
     949        }, // setPostData 
    901950 
    902951      setMultiple : function (object, value) 
     
    9741023                  } 
    9751024                ); 
    976               $(document).bind('focusout focusin', 
    977                 function (event) 
    978                 { 
    979                   if(!properties.mouseOver) privateMethods.displaySelector(object, false); 
    980                   event.stopPropagation(); 
    981                 } 
     1025                $(document).bind('focusout.'+properties.objectId+' focusin.'+properties.objectId, 
     1026                  function (event) 
     1027                  { 
     1028                    if($.isPlainObject(properties) && !properties.mouseOver) privateMethods.displaySelector(object, false); 
     1029                    event.stopPropagation(); 
     1030                  } 
    9821031              ); 
    9831032            } 
     
    12971346        }, 
    12981347 
    1299       load : function (object) 
     1348      load : function (object, defaultValue) 
    13001349        { 
    13011350          // load datas from server through an asynchronous ajax call 
     
    13101359              type: "POST", 
    13111360              url: options.serverUrl, 
     1361              data:options.postData, 
    13121362              async: true, 
    13131363              success: function(msg) 
     
    13181368                  if(options.multiple) 
    13191369                  { 
    1320                     privateMethods.setValue(object, ':none'); 
     1370                    if(defaultValue!=null) 
     1371                    { 
     1372                      privateMethods.setValue(object, defaultValue); 
     1373                    } 
     1374                    else 
     1375                    { 
     1376                      privateMethods.setValue(object, ':none'); 
     1377                    } 
    13211378                  } 
    13221379                  else 
    13231380                  { 
    1324                     privateMethods.setValue(object, ':first'); 
     1381                    if(defaultValue!=null) 
     1382                    { 
     1383                      privateMethods.setValue(object, defaultValue); 
     1384                    } 
     1385                    else 
     1386                    { 
     1387                      privateMethods.setValue(object, ':first'); 
     1388                    } 
    13251389                  } 
    13261390                  properties.initialized=true; 
  • extensions/GrumPluginClasses/js/ui.inputNum.js

    r8961 r16012  
    22 * ----------------------------------------------------------------------------- 
    33 * file: ui.inputNum.js 
    4  * file version: 1.0.0 
    5  * date: 2010-11-02 
     4 * file version: 1.0.1 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2423 * | 1.0.0   | 2010/10/10 | first release 
    2524 * |         |            | 
     25 * | 1.0.1   | 2012/06/18 | * improve memory managment 
    2626 * |         |            | 
    2727 * |         |            | 
     
    6060                      disabled:false, 
    6161                      textAlign:'right', 
    62                       btInc:'+', 
    63                       btDec:'-', 
     62                      btInc:'', // + 
     63                      btDec:'', // - 
    6464                      unitValue:'', 
    6565                      change:null 
     
    226226              $this 
    227227                .unbind('.inputNum') 
     228                .removeData() 
    228229                .css( 
    229230                  { 
     
    232233                  } 
    233234                ); 
     235              delete $this; 
    234236            } 
    235237          ); 
     
    647649          var objects=object.data('objects'), 
    648650              properties=object.data('properties'); 
     651 
     652          if(value=='check') 
     653            value=privateMethods.isValid(object, properties.value); 
    649654 
    650655          if(properties.isValid!=value) 
     
    10431048        { 
    10441049          var objects=object.data('objects'), 
    1045               properties=object.data('properties');           
    1046            
     1050              properties=object.data('properties'); 
     1051 
    10471052          objects.input.css('width', (objects.container.width()-objects.extraContainer.outerWidth()-properties.inputMargins)+'px'); 
    10481053        } 
  • extensions/GrumPluginClasses/js/ui.inputPosition.js

    r8961 r16012  
    22 * ----------------------------------------------------------------------------- 
    33 * file: ui.inputPosition.js 
    4  * file version: 1.0.0 
    5  * date: 2010-11-05 
     4 * file version: 1.0.1 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2423 * | 1.0.0   | 2010/10/10 | first release 
    2524 * |         |            | 
     25 * | 1.0.1   | 2012/06/18 | * improve memory managment 
    2626 * |         |            | 
    2727 * |         |            | 
     
    183183              $this 
    184184                .unbind('.inputPosition') 
     185                .removeData() 
    185186                .css( 
    186187                  { 
     
    189190                  } 
    190191                ); 
     192              delete $this; 
    191193            } 
    192194          ); 
  • extensions/GrumPluginClasses/js/ui.inputRadio.js

    r8961 r16012  
    22 * ----------------------------------------------------------------------------- 
    33 * file: ui.inputRadio.js 
    4  * file version: 1.0.0 
    5  * date: 2010-11-04 
     4 * file version: 1.0.1 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2423 * | 1.0.0   | 2010/11/04 | first release 
    2524 * |         |            | 
     25 * | 1.0.1   | 2012/06/18 | * improve memory managment 
    2626 * |         |            | 
    2727 * |         |            | 
     
    119119              $this 
    120120                .unbind('.inputRadio') 
     121                .removeData() 
    121122                .css( 
    122123                  { 
     
    125126                  } 
    126127                ); 
     128              delete $this; 
    127129            } 
    128130          ); 
  • extensions/GrumPluginClasses/js/ui.inputStatusBar.js

    r8961 r16012  
    22 * ----------------------------------------------------------------------------- 
    33 * file: ui.inputStatusBar.js 
    4  * file version: 1.0.0 
    5  * date: 2010-11-04 
     4 * file version: 1.0.1 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2423 * | 1.0.0   | 2010/11/04 | first release 
    2524 * |         |            | 
    26  * |         |            | 
     25 * | 1.0.1   | 2012/06/18 | * improve memory managment 
    2726 * |         |            | 
    2827 * |         |            | 
     
    115114              var $this=$(this), 
    116115                  objects = $this.data('objects'); 
     116 
    117117              objects.tr.remove(); 
    118118              objects.table.remove(); 
    119119              $this 
    120120                .unbind('.inputStatusBar') 
     121                .removeData() 
    121122                .css( 
    122123                  { 
     
    125126                  } 
    126127                ); 
     128              delete $this; 
    127129            } 
    128130          ); 
  • extensions/GrumPluginClasses/js/ui.inputSwitchButton.js

    r12215 r16012  
    11/** 
    22 * ----------------------------------------------------------------------------- 
    3  * file: ui.inputCheckbox.js 
    4  * file version: 1.0.0 
    5  * date: 2011-06-18 
     3 * file: ui.inputSwitchButton.js 
     4 * file version: 1.0.1 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    2423 * | 1.0.0   | 2011/06/18 | first release 
    2524 * |         |            | 
    26  * |         |            | 
     25 * | 1.0.1   | 2012/06/18 | * improve memory managment 
    2726 * |         |            | 
    2827 * |         |            | 
     
    5352                  properties = $this.data('properties'), 
    5453                  options = 
    55                     {                       
     54                    { 
    5655                      values: 
    5756                        { 
     
    9998            { 
    10099              // default values for the plugin 
    101               var properties=this.data('properties'); 
    102               $this.unbind('.inputSwitchButton'); 
    103               this.removeClass('ui-inputSwitchButton'); 
     100              var $this=$(this); 
     101 
     102              $this 
     103                .unbind('.inputSwitchButton') 
     104                .removeData() 
     105                .removeClass('ui-inputSwitchButton ui-inputSwitchButton-unchecked ui-inputSwitchButton-checked'); 
     106              delete $this; 
    104107            } 
    105108          ); 
     
    136139          } 
    137140        }, // disabled 
    138          
     141 
    139142      values: function (values) 
    140143        { 
     
    191194          { 
    192195            var options = this.data('options'); 
    193              
     196 
    194197            return(properties.checked?options.values.checked:options.values.unchecked); 
    195198          } 
     
    283286          return(options.values); 
    284287        }, //setValues 
    285          
    286          
     288 
     289 
    287290      setGroup: function (object, value) 
    288291        { 
     
    298301              if(listGroup==null) listGroup=[]; 
    299302              p=$.inArray(object.attr('id'), listGroup); 
    300               if(p>-1) listGroup.splice(p,1);               
     303              if(p>-1) listGroup.splice(p,1); 
    301304              $(document).data('isbGroup_'+options.group, listGroup); 
    302             }             
     305            } 
    303306            options.group=value; 
    304307            listGroup=$(document).data('isbGroup_'+value); 
     
    307310            $(document).data('isbGroup_'+value, listGroup); 
    308311          } 
    309         },         
    310          
     312        }, 
     313 
    311314      switchValue: function (object) 
    312315        { 
     
    340343              } 
    341344            } 
    342              
     345 
    343346            object 
    344347              .addClass('ui-inputSwitchButton-checked') 
  • extensions/GrumPluginClasses/js/ui.inputText.js

    r15373 r16012  
    22 * ----------------------------------------------------------------------------- 
    33 * file: ui.inputText.js 
    4  * file version: 1.1.1 
    5  * date: 2011-01-09 
     4 * file version: 1.1.2 
     5 * date: 2012-06-18 
    66 * 
    77 * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses" 
     
    1111 *   email    : grum@piwigo.com 
    1212 *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
     
    3130 * | 1.1.1   | 2011/01/31 | * add function ':clear' for 'languagesValues' method 
    3231 * |         |            | 
     32 * | 1.1.2   | 2012/06/18 | * improve memory managment 
    3333 * |         |            | 
    34  * |         |            | 
     34 * |         |            | * fix bug on regExp option 
    3535 * |         |            | 
    3636 * |         |            | 
     
    139139              $this 
    140140                .unbind('.inputText') 
     141                .removeData() 
    141142                .css( 
    142143                  { 
     
    145146                  } 
    146147                ); 
     148              delete $this; 
    147149            } 
    148150          ); 
     
    539541          var properties=object.data('properties'); 
    540542 
    541           return(properties.re.exec(value)) 
     543          return(properties.re.test(value)); 
    542544        }, 
    543545 
     
    570572          privateMethods.setTextAlign(object, (value.textAlign!=null)?value.textAlign:options.textAlign); 
    571573 
     574          privateMethods.setDisabled(object, (value.disabled!=null)?value.disabled:options.disabled); 
     575 
    572576          privateMethods.setEventChange(object, (value.change!=null)?value.change:options.change); 
    573577 
     
    598602          var objects=object.data('objects'), 
    599603              properties=object.data('properties'); 
     604 
     605          if(value=='check') 
     606            value=privateMethods.isValid(object, properties.value); 
    600607 
    601608          if(properties.isValid!=value && properties.initialized) 
     
    892899          } 
    893900 
    894           privateMethods.setIsValid(object, true); 
     901          privateMethods.setIsValid(object, privateMethods.isValid(object, value)); 
    895902 
    896903          properties.value=value; 
  • extensions/GrumPluginClasses/main.inc.php

    r15340 r16012  
    178178|         |            |   . Compatibility with Piwigo 2.4 
    179179|         |            | 
    180 |         |            | 
     180|         |            | * optimization & rename of some JS framework components 
    181181|         |            | 
    182182|         |            | 
     
    199199    GPCCategorySelector.class.inc.php 
    200200    GPCCore.class.php 
    201     GPCCss.class.php 
    202201    GPCPagesNavigation.class.php 
    203202    GPCPublicIntegration.class.php 
     
    241240} 
    242241 
    243  
    244 if(defined('IN_ADMIN')) 
     242if(defined('IN_ADMIN') && !defined('AJAX_CALL')) 
    245243{ 
    246244  //GPC admin interface is loaded and active only if in admin page 
  • extensions/GrumPluginClasses/templates/GPCRequestBuilder_result.tpl

    r6208 r16012  
    44    <table> 
    55      <tr> 
    6         <td> 
     6        <td class="rbResultItemImg"> 
    77          <img class="thumbnail" src='{$row.imageThumbnail}'> 
    88        </td> 
Note: See TracChangeset for help on using the changeset viewer.