Changeset 16012


Ignore:
Timestamp:
Jun 24, 2012, 9:18:26 PM (13 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.