Ignore:
Timestamp:
Jan 28, 2011, 4:54:02 PM (13 years ago)
Author:
grum
Message:

release 3.4.0
fix bug:1984, bug:2109
js file are minified, remove packed files

File:
1 edited

Legend:

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

    r7387 r8961  
    33/* -----------------------------------------------------------------------------
    44  class name     : GPCCore
    5   class version  : 1.3.1
    6   plugin version : 3.3.2
    7   date           : 2010-10-20
     5  class version  : 1.3.2
     6  plugin version : 3.4.0
     7  date           : 2011-01-28
    88  ------------------------------------------------------------------------------
    99  author: grum at piwigo.org
     
    2828|         |            |   extended description function if present
    2929|         |            |
    30 |         |            | * implement the getPiwigoSystemPath function
    31 |         |            |
    32 |         |            | * implement the rmDir function
     30|         |            | * implement the getPiwigoSystemPath() function
     31|         |            |
     32|         |            | * implement the rmDir() function
     33|         |            |
     34| 1.3.2   | 2011/01/28 | * implement the addUI() function
     35|         |            |
     36|         |            | * implement getMinified() & setMinifiedState() functions
     37|         |            |
    3338|         |            |
    3439|         |            |
     
    4752    - static function addHeaderCSS
    4853    - static function addHeaderJS
     54    - static function addUI
     55    - static function getMinified
     56    - static function setMinifiedState
    4957    - static function getUserLanguageDesc
    5058    - static function getPiwigoSystemPath
     
    5866{
    5967  static private $piwigoSystemPath;
     68  static private $minified='.min';
    6069
    6170  static public $pluginName = "GPCCore";
     
    7988        Array('name' => "CommonPlugin", 'version' => "2.2.0"),
    8089        Array('name' => "GPCAjax", 'version' => "3.0.0"),
    81         Array('name' => "GPCCore", 'version' => "1.3.1"),
     90        Array('name' => "GPCCategorySelector", 'version' => "1.0.1"),
     91        Array('name' => "GPCCore", 'version' => "1.3.2"),
    8292        Array('name' => "GPCCss", 'version' => "3.0.0"),
    83         Array('name' => "GPCPagesNavigations", 'version' => "2.0.0"),
     93        Array('name' => "GPCPagesNavigation", 'version' => "2.0.0"),
    8494        Array('name' => "GPCPublicIntegration", 'version' => "2.0.0"),
    85         Array('name' => "GPCRequestBuilder", 'version' => "1.1.0"),
     95        Array('name' => "GPCRequestBuilder", 'version' => "1.1.2"),
    8696        Array('name' => "GPCTables", 'version' => "1.5.0"),
    8797        Array('name' => "GPCTabSheet", 'version' => "1.1.1"),
    88         Array('name' => "GPCTranslate", 'version' => "2.1.0"),
    89         Array('name' => "GPCUsersGroups", 'version' => "2.0.0"),
     98        Array('name' => "GPCTranslate", 'version' => "2.1.1"),
     99        Array('name' => "GPCUsersGroups", 'version' => "2.1.0")
    90100      )
    91101    );
     
    365375  {
    366376    global $template;
     377    $dummy1=null;
     378    $dummy2=null;
    367379
    368380    foreach(self::$headerItems['css'] as $file)
     
    373385    foreach(self::$headerItems['js'] as $file)
    374386    {
    375       $template->append('head_elements', '<script type="text/javascript" src="'.$file.'"></script>');
    376     }
    377   }
     387      //$template->append('head_elements', '<script type="text/javascript" src="'.$file.'"></script>');
     388      $template->block_html_head(null, '<script type="text/javascript" src="'.$file.'"></script>', $dummy1, $dummy2);
     389    }
     390  }
     391
     392  /**
     393   * add a ui component ; css & js dependencies are managed
     394   *
     395   * @param Array $list : possibles values are
     396   *                        - inputCheckbox
     397   *                        - inputColorPicker
     398   *                        - inputColorsFB
     399   *                        - inputConsole
     400   *                        - inputDotArea
     401   *                        - inputList
     402   *                        - inputNum
     403   *                        - inputPosition
     404   *                        - inputRadio
     405   *                        - inputStatusBar
     406   *                        - inputText
     407   *                        - categorySelector
     408   */
     409  static public function addUI($list)
     410  {
     411    global $template;
     412
     413    if(is_string($list)) $list=explode(',', $list);
     414    if(!is_array($list)) return(false);
     415
     416    if(defined('IN_ADMIN'))
     417    {
     418      $themeFile=GPC_PATH.'css/%s_'.$template->get_themeconf('name').'.css';
     419    }
     420    else
     421    {
     422      $themeFile='themes/'.$template->get_themeconf('name').'/css/GPC%s.css';
     423    }
     424
     425    foreach($list as $ui)
     426    {
     427      switch($ui)
     428      {
     429        case 'googleTranslate':
     430          self::addHeaderJS('google.jsapi', 'http://www.google.com/jsapi');
     431          self::addHeaderJS('gpc.googleTranslate', 'plugins/GrumPluginClasses/js/google_translate'.self::$minified.'.js');
     432        case 'categorySelector':
     433          self::addHeaderCSS('gpc.categorySelector', GPC_PATH.'css/categorySelector.css');
     434          self::addHeaderCSS('gpc.categorySelectorT', sprintf($themeFile, 'categorySelector'));
     435          self::addHeaderJS('gpc.categorySelector', GPC_PATH.'js/ui.categorySelector'.self::$minified.'.js');
     436          break;
     437        case 'inputCheckbox':
     438          self::addHeaderCSS('gpc.inputCheckbox', GPC_PATH.'css/inputCheckbox.css');
     439          self::addHeaderJS('gpc.inputCheckbox', GPC_PATH.'js/ui.inputCheckbox'.self::$minified.'.js');
     440          break;
     441        case 'inputColorPicker':
     442          self::addHeaderCSS('gpc.inputText', GPC_PATH.'css/inputText.css');
     443          self::addHeaderCSS('gpc.inputNum', GPC_PATH.'css/inputNum.css');
     444          self::addHeaderCSS('gpc.inputColorsFB', GPC_PATH.'css/inputColorsFB.css');
     445          self::addHeaderCSS('gpc.inputDotArea', GPC_PATH.'css/inputDotArea.css');
     446          self::addHeaderCSS('gpc.inputColorPicker', GPC_PATH.'css/inputColorPicker.css');
     447          self::addHeaderCSS('gpc.inputTextT', sprintf($themeFile, 'inputText'));
     448          self::addHeaderCSS('gpc.inputNumT', sprintf($themeFile, 'inputNum'));
     449          self::addHeaderCSS('gpc.inputColorsFBT', sprintf($themeFile, 'inputColorsFB'));
     450          self::addHeaderCSS('gpc.inputDotAreaT', sprintf($themeFile, 'inputDotArea'));
     451          self::addHeaderCSS('gpc.inputColorPickerT', sprintf($themeFile, 'inputColorPicker'));
     452          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/packed/ui.core.packed.js');
     453          self::addHeaderJS('jquery.ui.slider', 'themes/default/js/ui/packed/ui.slider.packed.js');
     454          self::addHeaderJS('jquery.ui.draggable', 'themes/default/js/ui/packed/ui.draggable.packed.js');
     455          self::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/packed/ui.slider.dialog.js');
     456          self::addHeaderJS('gpc.inputText', GPC_PATH.'js/ui.inputText'.self::$minified.'.js');
     457          self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum'.self::$minified.'.js');
     458          self::addHeaderJS('gpc.inputColorsFB', GPC_PATH.'js/ui.inputColorsFB'.self::$minified.'.js');
     459          self::addHeaderJS('gpc.inputDotArea', GPC_PATH.'js/ui.inputDotArea'.self::$minified.'.js');
     460          self::addHeaderJS('gpc.inputColorPicker', GPC_PATH.'js/ui.inputColorPicker'.self::$minified.'.js');
     461          break;
     462        case 'inputColorsFB':
     463          self::addHeaderCSS('gpc.inputColorsFB', GPC_PATH.'css/inputColorsFB.css');
     464          self::addHeaderCSS('gpc.inputColorsFBT', sprintf($themeFile, 'inputColorsFB'));
     465          self::addHeaderJS('gpc.inputColorsFB', GPC_PATH.'js/ui.inputColorsFB'.self::$minified.'.js');
     466          break;
     467        case 'inputConsole':
     468          self::addHeaderCSS('gpc.inputConsole', GPC_PATH.'css/inputConsole.css');
     469          self::addHeaderCSS('gpc.inputConsoleT', sprintf($themeFile, 'inputConsole'));
     470          self::addHeaderJS('gpc.inputConsole', GPC_PATH.'js/ui.inputConsole'.self::$minified.'.js');
     471          break;
     472        case 'inputDotArea':
     473          self::addHeaderCSS('gpc.inputDotArea', GPC_PATH.'css/inputDotArea.css');
     474          self::addHeaderCSS('gpc.inputDotAreaT', sprintf($themeFile, 'inputDotArea'));
     475          self::addHeaderJS('gpc.inputDotArea', GPC_PATH.'js/ui.inputDotArea'.self::$minified.'.js');
     476          break;
     477        case 'inputList':
     478          self::addHeaderCSS('gpc.inputList', GPC_PATH.'css/inputList.css');
     479          self::addHeaderCSS('gpc.inputListT', sprintf($themeFile, 'inputList'));
     480          self::addHeaderJS('gpc.inputList', GPC_PATH.'js/ui.inputList'.self::$minified.'.js');
     481          break;
     482        case 'inputNum':
     483          self::addHeaderCSS('gpc.inputNum', GPC_PATH.'css/inputNum.css');
     484          self::addHeaderCSS('gpc.inputNumT', sprintf($themeFile, 'inputNum'));
     485          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/packed/ui.core.packed.js');
     486          self::addHeaderJS('jquery.ui.slider', 'themes/default/js/ui/packed/ui.slider.packed.js');
     487          self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum'.self::$minified.'.js');
     488          break;
     489        case 'inputPosition':
     490          self::addHeaderCSS('gpc.inputPosition', GPC_PATH.'css/inputPosition.css');
     491          self::addHeaderCSS('gpc.inputPositionT', sprintf($themeFile, 'inputPosition'));
     492          self::addHeaderJS('gpc.inputPosition', GPC_PATH.'js/ui.inputPosition'.self::$minified.'.js');
     493          break;
     494        case 'inputRadio':
     495          self::addHeaderJS('gpc.inputRadio', GPC_PATH.'js/ui.inputRadio'.self::$minified.'.js');
     496          break;
     497        case 'inputStatusBar':
     498          self::addHeaderCSS('gpc.inputStatusBar', GPC_PATH.'css/inputStatusBar.css');
     499          self::addHeaderCSS('gpc.inputStatusBarT', sprintf($themeFile, 'inputStatusBar'));
     500          self::addHeaderJS('gpc.inputStatusBar', GPC_PATH.'js/ui.inputStatusBar'.self::$minified.'.js');
     501          break;
     502        case 'inputText':
     503          self::addHeaderCSS('gpc.inputText', GPC_PATH.'css/inputText.css');
     504          self::addHeaderCSS('gpc.inputTextT', sprintf($themeFile, 'inputText'));
     505          self::addHeaderJS('gpc.inputText', GPC_PATH.'js/ui.inputText'.self::$minified.'.js');
     506          break;
     507      }
     508    }
     509  }
     510
     511  /**
     512   * return the minified value
     513   *
     514   * @return String
     515   */
     516  static public function getMinified()
     517  {
     518    return(self::$minified);
     519  }
     520
     521  /**
     522   * set the minified state
     523   *
     524   * @param Bool $state
     525   * @return Bool
     526   */
     527  static public function setMinifiedState($state)
     528  {
     529    if($state)
     530    {
     531      self::$minified='.min';
     532    }
     533    else
     534    {
     535      self::$minified='';
     536    }
     537    return(self::$minified!='');
     538  }
     539
    378540
    379541  /**
Note: See TracChangeset for help on using the changeset viewer.