Changeset 7310
- Timestamp:
- Oct 20, 2010, 11:04:22 PM (14 years ago)
- Location:
- extensions/GrumPluginClasses
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/GrumPluginClasses/admin/plugin_admin.php
r6106 r7310 21 21 22 22 23 if(isset($_REQUEST['searchRequest']))24 {25 load_language('requestBuilder.lang', GPC_PATH);26 // if set, this is probably an ajax search request27 include_once(GPC_PATH."classes/GPCRequestBuilder.class.inc.php");28 GPCRequestBuilder::init($prefixeTable, 'gpc');29 GPCRequestBuilder::executeRequest();30 }31 else32 {33 include(GPC_PATH."gpc_aip.class.inc.php");34 23 35 $main_plugin_object = get_plugin_data($plugin_id);24 include(GPC_PATH."gpc_aip.class.inc.php"); 36 25 37 $plugin_ai = new GPC_AIP($prefixeTable, $main_plugin_object->getFileLocation()); 38 $plugin_ai->manage(); 39 } 26 $main_plugin_object = get_plugin_data($plugin_id); 27 28 $plugin_ai = new GPC_AIP($prefixeTable, $main_plugin_object->getFileLocation()); 29 $plugin_ai->manage(); 30 40 31 41 32 -
extensions/GrumPluginClasses/classes/CommonPlugin.class.inc.php
r6975 r7310 125 125 public function __construct($prefixeTable, $filelocation) 126 126 { 127 $this->debug_file= "debug.txt";127 $this->debug_file=GPCCore::getPiwigoSystemPath()."/_data/debug.txt"; 128 128 129 129 $this->fileLocation=$filelocation; -
extensions/GrumPluginClasses/classes/GPCCategorySelector.class.inc.php
r7175 r7310 3 3 * ----------------------------------------------------------------------------- 4 4 * class name : GPCCategorySelector 5 * class version : 1.0. 06 * plugin version : 3.3. 07 * date : 2010-10- 095 * class version : 1.0.1 6 * plugin version : 3.3.3 7 * date : 2010-10-20 8 8 * ----------------------------------------------------------------------------- 9 9 * author: grum at piwigo.org … … 14 14 * 15 15 | release | date | 16 | 1.0.0 | 2010/ 04/18| * create class17 | | | 18 | | |16 | 1.0.0 | 2010/10/09 | * create class 17 | | | 18 | 1.0.1 | 2010/10/20 | * fix bug on the private select methods 19 19 | | | 20 20 | | | … … 242 242 243 243 $sql="SELECT DISTINCT pct.id, pct.name, pct.global_rank AS rank, pct.status 244 FROM (".CATEGORIES_TABLE." pct "; 245 246 if($this->options['userMode']==self::USER_MODE_PUBLIC) 247 { 248 $sql.=" JOIN ".USER_CACHE_CATEGORIES_TABLE." pucc 249 ON (pucc.cat_id = pct.id) AND pucc.user_id='".$user['id']."') "; 250 } 251 else 252 { 253 $sql.=") "; 254 } 244 FROM ".CATEGORIES_TABLE." pct "; 255 245 256 246 switch($this->options['filter']) … … 260 250 break; 261 251 case self::FILTER_ACCESSIBLE : 262 $sql.=" JOIN ( 263 SELECT DISTINCT pgat.cat_id AS catId FROM ".GROUP_ACCESS_TABLE." pgat 264 UNION DISTINCT 265 SELECT DISTINCT puat.cat_id AS catId FROM ".USER_ACCESS_TABLE." puat 266 ) pat 267 ON (pat.catId = pct.id AND pct.status = 'private') OR (pct.status = 'public') "; 252 if(!is_admin()) 253 { 254 $sql.=" JOIN ".USER_CACHE_CATEGORIES_TABLE." pucc 255 ON (pucc.cat_id = pct.id) AND pucc.user_id='".$user['id']."' "; 256 } 257 else 258 { 259 $sql.=" JOIN ( 260 SELECT DISTINCT pgat.cat_id AS catId FROM ".GROUP_ACCESS_TABLE." pgat 261 UNION DISTINCT 262 SELECT DISTINCT puat.cat_id AS catId FROM ".USER_ACCESS_TABLE." puat 263 UNION DISTINCT 264 SELECT DISTINCT pct2.id AS catId FROM ".CATEGORIES_TABLE." pct2 WHERE pct2.status='public' 265 ) pat 266 ON pat.catId = pct.id "; 267 } 268 268 269 break; 269 270 } -
extensions/GrumPluginClasses/classes/GPCCore.class.inc.php
r7175 r7310 3 3 /* ----------------------------------------------------------------------------- 4 4 class name : GPCCore 5 class version : 1.3. 06 plugin version : 3.3. 07 date : 2010- 07-285 class version : 1.3.1 6 plugin version : 3.3.2 7 date : 2010-10-20 8 8 ------------------------------------------------------------------------------ 9 9 author: grum at piwigo.org … … 21 21 | | | 22 22 | 1.3.0 | 2010/10/13 | * add the addHeaderCSS, addHeaderJS functions 23 | | | 24 | 1.3.1 | 2010/10/20 | * applyHeaderItems functions implemented with an 25 | | | higher priority on the 'loc_begin_page_header' event 26 | | | 27 | | | * implement the getUserLanguageDesc() function, using 28 | | | extended description function if present 29 | | | 30 | | | * implement the getPiwigoSystemPath function 23 31 | | | 24 32 | | | … … 37 45 - static function addHeaderCSS 38 46 - static function addHeaderJS 47 - static function getUserLanguageDesc 48 - static function getPiwigoSystemPath 49 - static function formatOctet 39 50 ---------------------------------------------------------------------- */ 40 51 … … 43 54 class GPCCore 44 55 { 56 static private $piwigoSystemPath; 57 45 58 static public $pluginName = "GPCCore"; 46 59 static protected $headerItems = array( … … 48 61 'js' => array() 49 62 ); 63 64 static public function init() 65 { 66 self::$piwigoSystemPath=dirname(dirname(dirname(dirname(__FILE__)))); 67 } 50 68 51 69 /* --------------------------------------------------------------------------- … … 328 346 global $template; 329 347 348 if(!isset($template->known_scripts)) $template->known_scripts=array(); 349 330 350 if(!array_key_exists($id, $template->known_scripts) and !array_key_exists($file, self::$headerItems['js'])) 331 351 { 332 $template->known_scripts[$id]=$ url;352 $template->known_scripts[$id]=$file; 333 353 self::$headerItems['js'][$id]=$file; 334 354 } … … 345 365 foreach(self::$headerItems['css'] as $file) 346 366 { 347 $template-> block_html_head(null, '<link rel="stylesheet" type="text/css" href="'.$file.'"/>', $template->smarty, $false);367 $template->append('head_elements', '<link rel="stylesheet" type="text/css" href="'.$file.'"/>'); 348 368 } 349 369 350 370 foreach(self::$headerItems['js'] as $file) 351 371 { 352 $template->block_html_head(null, '<script type="text/javascript" src="'.$file.'"></script>', $template->smarty, $false); 353 } 354 } 372 $template->append('head_elements', '<script type="text/javascript" src="'.$file.'"></script>'); 373 } 374 } 375 376 /** 377 * use the extended description get_user_language_desc() function if exist 378 * otherwise returns the value 379 * 380 * @param String $value : value to translate 381 * @return String : translated value 382 */ 383 static public function getUserLanguageDesc($value) 384 { 385 if(function_exists('get_user_language_desc')) 386 { 387 return(get_user_language_desc($value)); 388 } 389 else 390 { 391 return($value); 392 } 393 } 394 395 /** 396 * returns the piwigo system path 397 * @return String 398 */ 399 static public function getPiwigoSystemPath() 400 { 401 return(self::$piwigoSystemPath); 402 } 403 404 405 /** 406 * formats a file size into a human readable size 407 * 408 * @param String $format : "A" : auto 409 * "Ai" : auto (io) 410 * "O" : o 411 * "K" : Ko 412 * "M" : Mo 413 * "G" : Go 414 * "Ki" : Kio 415 * "Mi" : Mio 416 * "Gi" : Gio 417 * @param String $thsep : thousand separator 418 * @param Integer $prec : number of decimals 419 * @param Bool $visible : display or not the unit 420 * @return String : a formatted file size 421 */ 422 static public function formatOctet($octets, $format="Ai", $thsep="", $prec=2, $visible=true) 423 { 424 if($format=="Ai") 425 { 426 if($octets<1024) 427 { $format="O"; } 428 elseif($octets<1024000) 429 { $format="Ki"; } 430 elseif($octets<1024000000) 431 { $format="Mi"; } 432 else 433 { $format="Gi"; } 434 } 435 elseif($format=="A") 436 { 437 if($octets<1000) 438 { $format="O"; } 439 elseif($octets<1000000) 440 { $format="Ki"; } 441 elseif($octets<1000000000) 442 { $format="Mi"; } 443 else 444 { $format="Gi"; } 445 } 446 447 switch($format) 448 { 449 case "O": 450 $unit="o"; $div=1; 451 break; 452 case "K": 453 $unit="Ko"; $div=1000; 454 break; 455 case "M": 456 $unit="Mo"; $div=1000000; 457 break; 458 case "G": 459 $unit="Go"; $div=1000000000; 460 break; 461 case "Ki": 462 $unit="Kio"; $div=1024; 463 break; 464 case "Mi": 465 $unit="Mio"; $div=1024000; 466 break; 467 case "Gi": 468 $unit="Gio"; $div=1024000000; 469 break; 470 } 471 472 $returned=number_format($octets/$div, $prec, '.', $thsep); 473 if($visible) $returned.=' '.$unit; 474 return($returned); 475 } //function formatOctet 476 355 477 356 478 } //class 357 479 358 add_event_handler('loc_end_page_header', array('GPCCore', 'applyHeaderItems')); 359 480 add_event_handler('loc_begin_page_header', array('GPCCore', 'applyHeaderItems'), 10); 481 482 GPCCore::init(); 360 483 361 484 ?> -
extensions/GrumPluginClasses/classes/GPCRequestBuilder.class.inc.php
r7200 r7310 71 71 | | | . adding 'DISTINCT' keyword to the SQL requests 72 72 | | | 73 | | | * ajax management moved into the gpc_ajax.php file 74 | | | 75 | | | * fix bug on user level access to picture 73 76 | | | 74 77 | | | … … 79 82 --------------------------------------------------------------------------- */ 80 83 81 include_once('GPCAjax.class.inc.php');82 84 include_once('GPCTables.class.inc.php'); 83 85 … … 397 399 static public function updateTables($pluginPreviousRelease) 398 400 { 401 $tablef=new GPCTables(array(self::$tables['temp'])); 402 399 403 switch($pluginPreviousRelease) 400 404 { … … 415 419 416 420 417 $tablef=new GPCTables(array(self::$tables['temp']));418 421 419 422 $tablef->create($tablesCreate); … … 459 462 static public function loadJSandCSS() 460 463 { 461 add_event_handler('loc_ end_page_header', array('GPCRequestBuilder', 'insertJSandCSSFiles'));464 add_event_handler('loc_begin_page_header', array('GPCRequestBuilder', 'insertJSandCSSFiles'), 9); 462 465 } 463 466 … … 466 469 * insert JS a CSS file in header 467 470 * 468 * the function is declared public because it used by the 'loc_ end_page_header'471 * the function is declared public because it used by the 'loc_begin_page_header' 469 472 * event callback 470 473 * … … 475 478 { 476 479 global $template; 480 477 481 478 482 $baseName=basename(dirname(dirname(__FILE__))).'/css/'; … … 480 484 481 485 $baseName=basename(dirname(dirname(__FILE__))).'/js/'; 482 $template->append('head_elements', '<script type="text/javascript" src="plugins/'.$baseName.'external/interface/interface.js"></script>'); 483 $template->append('head_elements', '<script type="text/javascript" src="plugins/'.$baseName.'external/inestedsortable.pack.js"></script>'); 484 $template->append('head_elements', '<script type="text/javascript" src="plugins/'.$baseName.'criteriaBuilder.packed.js"></script>'); 486 GPCCore::addHeaderJS('jquery', 'themes/default/js/jquery.packed.js'); 487 GPCCore::addHeaderJS('gpc.interface', 'plugins/'.$baseName.'external/interface/interface.js'); 488 GPCCore::addHeaderJS('gpc.inestedsortable', 'plugins/'.$baseName.'external/inestedsortable.pack.js'); 489 GPCCore::addHeaderJS('gpc.criteriaBuilder', 'plugins/'.$baseName.'criteriaBuilder.js'); 490 485 491 $template->append('head_elements', 486 492 "<script type=\"text/javascript\"> … … 490 496 imgEditUrl:'', 491 497 imgDeleteUrl:'', 492 ajaxUrl:' admin.php?page=plugin§ion=".basename(GPC_DIR)."/admin/plugin_admin.php&searchRequest=',498 ajaxUrl:'plugins/GrumPluginClasses/gpc_ajax.php', 493 499 } 494 500 </script>"); … … 501 507 * @return String : a ready to use HTML code 502 508 */ 503 static public function executeRequest() 504 { 505 if(self::checkAjaxRequest()) 506 { 507 switch($_REQUEST['searchRequest']) 508 { 509 case 'execute': 510 $result=self::doCache(); 511 break; 512 case 'getPage': 513 $result=self::getPage($_REQUEST['requestNumber'], $_REQUEST['page'], $_REQUEST['numPerPage']); 514 break; 515 } 516 GPCAjax::returnResult($result); 517 } 518 else 519 { 520 GPCAjax::returnResult(l10n('gpc_rb_invalid_request')); 521 } 509 static public function executeRequest($ajaxfct) 510 { 511 switch($ajaxfct) 512 { 513 case 'admin.rbuilder.searchExecute': 514 $result=self::doCache(); 515 break; 516 case 'admin.rbuilder.searchGetPage': 517 $result=self::getPage($_REQUEST['requestNumber'], $_REQUEST['page'], $_REQUEST['numPerPage']); 518 break; 519 } 520 return($result); 522 521 } 523 522 … … 566 565 567 566 $sql="INSERT INTO ".self::$tables['temp']." ".self::buildGroupRequest($_REQUEST[$_REQUEST['requestName']], $tmpWHERE, $_REQUEST['operator'], ' AND ', $requestNumber); 568 //echo $sql; 567 569 568 $result=pwg_query($sql); 570 569 … … 602 601 'SELECT' => 'pit.id', 603 602 'FROM' => '', 604 'WHERE' => ' ',603 'WHERE' => 'pit.level <= '.$user['level'], 605 604 'GROUPBY' => '', 606 605 'FILTER' => '', … … 1301 1300 1302 1301 /** 1303 * check if this is a valid ajax request1304 *1305 * @return Boolean : true if this is a valide ajax request1306 */1307 static protected function checkAjaxRequest()1308 {1309 if(isset($_REQUEST['searchRequest']))1310 {1311 if($_REQUEST['searchRequest']=='execute')1312 {1313 if(!isset($_REQUEST['requestName'])) return(false);1314 1315 return(true);1316 }1317 1318 if($_REQUEST['searchRequest']=='getPage')1319 {1320 if(!isset($_REQUEST['requestNumber'])) return(false);1321 1322 if(!isset($_REQUEST['page']))1323 {1324 $_REQUEST['page']=0;1325 }1326 if($_REQUEST['page']<0) $_REQUEST['page']=0;1327 1328 if(!isset($_REQUEST['numPerPage']))1329 {1330 $_REQUEST['numPerPage']=25;1331 }1332 1333 if($_REQUEST['numPerPage']>100) $_REQUEST['numPerPage']=100;1334 1335 return(true);1336 }1337 1338 }1339 return(false);1340 }1341 1342 1343 1344 /**1345 1302 * display search page 1346 1303 * -
extensions/GrumPluginClasses/css/gpc.css
r7175 r7310 89 89 padding:0 40px 6px; 90 90 } 91 91 .error, input.error { 92 background:#FFAAAA; 93 border:1px solid #800000; 94 color:#800000; 95 } -
extensions/GrumPluginClasses/gpc_ajax.php
r7175 r7310 74 74 if(!( 75 75 $_REQUEST['ajaxfct']=='admin.rbuilder.fillCaddie' or 76 $_REQUEST['ajaxfct']=='admin.rbuilder.searchExecute' or 77 $_REQUEST['ajaxfct']=='admin.rbuilder.searchGetPage' or 76 78 $_REQUEST['ajaxfct']=='admin.categorySelector.getList' or 77 79 $_REQUEST['ajaxfct']=='public.categorySelector.getList' … … 97 99 98 100 /* 101 * check admin.rbuilder.searchExecute values 102 */ 103 if($_REQUEST['ajaxfct']=="admin.rbuilder.searchExecute") 104 { 105 if(!isset($_REQUEST['requestName'])) $_REQUEST['ajaxfct']=""; 106 } 107 108 /* 109 * check admin.rbuilder.searchGetPage values 110 */ 111 if($_REQUEST['ajaxfct']=="admin.rbuilder.searchGetPage") 112 { 113 if(!isset($_REQUEST['requestNumber'])) $_REQUEST['ajaxfct']=""; 114 115 if(!isset($_REQUEST['page'])) $_REQUEST['page']=0; 116 117 if($_REQUEST['page']<0) $_REQUEST['page']=0; 118 119 if(!isset($_REQUEST['numPerPage'])) $_REQUEST['numPerPage']=25; 120 121 if($_REQUEST['numPerPage']>100) $_REQUEST['numPerPage']=100; 122 } 123 124 125 /* 99 126 * check admin.categorySelector.getList values 100 127 */ … … 137 164 case 'admin.rbuilder.fillCaddie': 138 165 $result=$this->ajax_gpc_admin_rbuilderFillCaddie($_REQUEST['fillMode'], $_REQUEST['requestNumber']); 166 break; 167 case 'admin.rbuilder.searchExecute': 168 $result=$this->ajax_gpc_admin_rbuilderSearchExecute(); 169 break; 170 case 'admin.rbuilder.searchGetPage': 171 $result=$this->ajax_gpc_admin_rbuilderSearchGetPage(); 139 172 break; 140 173 case 'admin.categorySelector.getList': … … 261 294 262 295 296 /** 297 * 298 * @return String : 299 */ 300 private function ajax_gpc_admin_rbuilderSearchExecute() 301 { 302 global $prefixeTable; 303 include_once(GPC_PATH."classes/GPCRequestBuilder.class.inc.php"); 304 GPCRequestBuilder::init($prefixeTable, 'gpc'); 305 return(GPCRequestBuilder::executeRequest($_REQUEST['ajaxfct'])); 306 } 307 308 /** 309 * 310 * @return String : 311 */ 312 private function ajax_gpc_admin_rbuilderSearchGetPage() 313 { 314 global $prefixeTable; 315 include_once(GPC_PATH."classes/GPCRequestBuilder.class.inc.php"); 316 GPCRequestBuilder::init($prefixeTable, 'gpc'); 317 return(GPCRequestBuilder::executeRequest($_REQUEST['ajaxfct'])); 318 } 319 263 320 264 321 } //class -
extensions/GrumPluginClasses/gpc_version.inc.php
r7179 r7310 15 15 if(!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 16 16 17 if(!defined('GPC_VERSION')) define('GPC_VERSION', '3.3. 1');18 if(!defined('GPC_VERSION2')) define('GPC_VERSION2', '03.03.0 1');17 if(!defined('GPC_VERSION')) define('GPC_VERSION', '3.3.2'); 18 if(!defined('GPC_VERSION2')) define('GPC_VERSION2', '03.03.02'); 19 19 ?> -
extensions/GrumPluginClasses/js/criteriaBuilder.js
r7175 r7310 2 2 * ----------------------------------------------------------------------------- 3 3 * file: criteriaBuilder.js 4 * file version: 1. 0.04 * file version: 1.1.0 5 5 * date: 2010-05-01 6 6 * … … 54 54 * 55 55 * | release | date | 56 * | 1.0.0 | 2010/04/27 | start to coding56 * | 1.0.0 | 2010/04/27 | * start to coding 57 57 * | | | 58 * | | |58 * | 1.1.0 | 2010/10/20 | * change ajax methods 59 59 * | | | 60 60 * | | | … … 559 559 var sendRequest = function() 560 560 { 561 datas=encodeURI(' requestName='+itemsId.container+'&'+getItems());561 datas=encodeURI('ajaxfct=admin.rbuilder.searchExecute&requestName='+itemsId.container+'&'+getItems()); 562 562 $.ajax( 563 563 { 564 564 type: "POST", 565 url: options.ajaxUrl +'execute',565 url: options.ajaxUrl, 566 566 async: true, 567 567 data: datas, … … 585 585 var getPage = function(requestNumber, pageNumber, numberPerPage) 586 586 { 587 datas=encodeURI('requestName='+itemsId.container+'&'+getItems());588 587 $.ajax( 589 588 { 590 589 type: "POST", 591 url: options.ajaxUrl +'getPage',590 url: options.ajaxUrl, 592 591 async: true, 593 data: { page:pageNumber, requestNumber:requestNumber, numPerPage:numberPerPage},592 data: {ajaxfct:'admin.rbuilder.searchGetPage', page:pageNumber, requestNumber:requestNumber, numPerPage:numberPerPage}, 594 593 success: function(msg) 595 594 { -
extensions/GrumPluginClasses/js/criteriaBuilder.packed.js
r7175 r7310 1 /* file: criteriaBuilder.packed.js - v1. 0.0 | packed on 2010/10/13 with http://joliclic.free.fr/php/javascript-packer/ */2 eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('7 25(k){e a={d:\'2g\',g:\'2h\',k:k,},c={d:0,g:0,},5={1x:\'2b\',1w:\'1K\',2f:\'\',1z:\'\',1A:\'\',1j:\'\',26:\'2i\',1o:0.8,M:f,Q:f,14:f,11:f,X:f,T:f,16:\'\',W:\'\',1l:\'\',},r=1M 1g();6(b.n==2){6(C b[1]==\'1e\'){5=w.29(5,b[1])}}o.2e=7(1v){2v(1v){u\'2q\':6(b.n==3){6(C b[1]==\'V\'){1u(b[1],b[2])}}v;u\'2p\':6(b.n==2){6(C b[1]==\'V\'){1H(b[1])}}v;u\'2l\':6(b.n==4){6(C b[1]==\'V\'&&C b[2]==\'V\'){1C(b[1],b[2],b[3])}}v;u\'2d\':z(Y());v;u\'1a\':6(b.n==2){z(1a(b[1]))}p{z(f)}v;u\'2o\':1F();v;u\'2n\':23();v;u\'Z\':6(b.n==4){Z(b[1],b[2],b[3])}v;u\'1f\':6(b.n==2){z(1f(b[1]))}v}};e 1h=7(m){c.d++;e j="<D l=\'"+a.d+c.d+"\' E=\'1d 18 L "+5.1z+"\'>";j+="<1y></1y></D>";$(\'#\'+m).2t(j);j="<q E=\'17\'>";j+="<q l=\'"+a.d+c.d+"K\' E=\'"+5.1j+"\' 1n=\'s:G;\'>"+5.1x+"</q>";j+="<q l=\'"+a.d+c.d+"H\' E=\'"+5.1j+"\' 1n=\'s:G;\'>"+5.1w+"</q>";j+="</q>";$("#"+a.d+c.d).2j(j);$(\'#\'+a.d+c.d+\'K\').R(\'S\',a.d+c.d,1k);$(\'#\'+a.d+c.d+\'H\').R(\'S\',a.d+c.d,1k);1s()};e 1O=7(h){$(\'#\'+h).1D()};e 1u=7(1J,t){c.g++;e j="<D l=\'"+a.g+c.g+"\' E=\'P 18 "+5.1A+"\'>";j+="<q E=\'2m\' 1n=\'2y:2K;\'>";6(5.16!=\'\'&&5.M!=f&&w.I(5.M))j+="<1N l=\'1L"+c.g+"\' 1B=\'"+5.16+"\'/>";6(5.W!=\'\'&&5.Q!=f&&w.I(5.Q))j+="<1N l=\'1I"+c.g+"\' 1B=\'"+5.W+"\'/>";j+="</q><q E=\'17\'>"+1J+"</q></D>";$(\'#\'+a.k).2J(j);1h(a.g+c.g);6(5.16!=\'\'&&5.M!=f){$(\'#1L\'+c.g).R(\'S\',a.g+c.g,5.M)}6(5.W!=\'\'&&5.Q!=f){$(\'#1I\'+c.g).R(\'S\',a.g+c.g,5.Q)}r[c.g]=t};e 1H=7(m){6($(\'#\'+m).n!=0){$(\'#\'+m).1D();x=/[0-9]*$/;r[1E(x.U(m)[0])]=f;1q()}};e 1C=7(m,j,t){6($(\'#\'+m).n!=0){$(\'#\'+m+\' .17\').1G(j);x=/[0-9]*$/;r[1E(x.U(m)[0])]=t}};e 1F=7(){$(\'#\'+a.k).27();$(\'#\'+a.k).1G("");c.g=0;c.d=0;r=1M 1g()};e 19=7(10,F){O=\'\';6(C F==\'1e\'){1t(e J 2E F){6(C F[J]==\'1e\'){O+=19(10+\'[\'+J+\']\',F[J])}p{O+=\'&\'+10+\'[\'+J+\']=\'+F[J]}}}p{O+=\'&\'+10+\'=\'+F}z(O)};e Y=7(){B=w.2L.2z(a.k)[\'2G\'];2H=1g();1t(i=0;i<r.n;i++){6(r[i]!=f){B+=19(\'r[\'+i+\']\',r[i])}}$(\'#\'+a.k+\' .1d\').28(7(){x=/[0-9]*$/;B+=\'&2Q[\'+x.U(o.l)[0]+\']=\';6($(o).N(\'1i\')){B+=\'1K\'}p{B+=\'2b\'}});z(B)};e 1a=7(m){x=/[0-9]*$/;2a=x.U(m)[0];z(r[2a])};e 1f=7(2c){5=w.29(5,2c)};e 1b=7(h,1c){6($(\'#\'+h).N(\'L\')){6(1c){$(\'#\'+h+\'K\').A(\'s\',\'13\')}p{$(\'#\'+h+\'K\').A(\'s\',\'G\')}}p{6(1c){$(\'#\'+h+\'H\').A(\'s\',\'13\')}p{$(\'#\'+h+\'H\').A(\'s\',\'G\')}}};e 1q=7(){$(\'#\'+a.k+\' D\').28(7(){6($(o).N(\'1d\')){6($(\'#\'+o.l+\' D.P\').n==0){1O(o.l)}p 6($(\'#\'+o.l+\' D.P\').n==1){1b(o.l,1S)}p{1b(o.l,12)}}p 6($(o).N(\'P\')){6($(o).2D().2d(0).l==a.k){1h(o.l)}}})};e 1s=7(){$(\'#\'+a.k).27();$(\'#\'+a.k).2F({2C:\'18\',2B:\'P\',1o:5.1o,2x:5.26,2A:/.*/i,2N:12,2O:\'.17\',2P:1S,2M:15,2I:7(B){1q()},})};1k=7(1Q){h=1Q.t;6($(\'#\'+h).N(\'L\')){$(\'#\'+h).1R(\'L\').1W(\'1i\');$(\'#\'+h+\'K\').A(\'s\',\'G\');$(\'#\'+h+\'H\').A(\'s\',\'13\')}p{$(\'#\'+h).1R(\'1i\').1W(\'L\');$(\'#\'+h+\'K\').A(\'s\',\'13\');$(\'#\'+h+\'H\').A(\'s\',\'G\')}};e 23=7(){1m=24(\'22=\'+a.k+\'&\'+Y());$.21({20:"1Z",1Y:5.1l+\'2w\',1X:12,t:1m,1V:7(y){6(5.14!=f&&w.I(5.14))5.14(y)},1U:7(y){6(5.11!=f&&w.I(5.11))5.11(y)},})};e Z=7(1p,1P,1T){1m=24(\'22=\'+a.k+\'&\'+Y());$.21({20:"1Z",1Y:5.1l+\'Z\',1X:12,t:{2k:1P,1p:1p,2u:1T},1V:7(y){6(5.X!=f&&w.I(5.X))5.X(y)},1U:7(y){6(5.T!=f&&w.I(5.T))5.T(y)},})};1s()};25.2r=7(1r,t){z({1r:1r,2s:t,})}',62,177,'|||||options|if|function|||itemsId|arguments|counters|group|var|null|item|groupId||content|container|id|itemId|length|this|else|div|extraData|display|data|case|break|jQuery|re|msg|return|css|serialized|typeof|li|class|value|none|OpOR|isFunction|key|OpAND|cbOpAND|onEdit|hasClass|returned|cbItem|onDelete|bind|click|onGetPageError|exec|string|imgDeleteUrl|onGetPageSuccess|getItems|getPage|prefix|onRequestError|true|block|onRequestSuccess||imgEditUrl|cbSortHandle|cbSortable|serializeData|getExtraData|displayOperator|visible|cbGroup|object|setOptions|Array|addGroup|cbOpOR|classOperator|onSwitchOperator|ajaxUrl|datas|style|opacity|requestNumber|manage|owner|applyNested|for|addItem|fct|textOR|textAND|ul|classGroup|classItem|src|editItem|remove|eval|clearItems|html|deleteItem|iImgDelete|itemContent|OR|iImgEdit|new|img|removeGroup|pageNumber|event|removeClass|false|numberPerPage|error|success|addClass|async|url|POST|type|ajax|requestName|sendRequest|encodeURI|criteriaBuilder|classHelper|NestedSortableDestroy|each|extend|extraDataNumber|AND|optionsToSet|get|doAction|textHint|iCbGroup|iCbItem|helper|prepend|page|edit|cbItemButtons|send|clear|delete|add|makeExtendedData|param|wrap|numPerPage|switch|execute|helperclass|float|serialize|serializeRegExp|noNestingClass|accept|parent|in|NestedSortable|hash|tmp|onChange|append|right|iNestedSortable|nestingPxSpace|autoScroll|handle|ghosting|operator'.split('|'),0,{}))1 /* file: criteriaBuilder.packed.js - v1.1.0 | packed on 2010/10/13 with http://joliclic.free.fr/php/javascript-packer/ */ 2 eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('7 1A(l){e b={d:\'2u\',g:\'2t\',l:l,},c={d:0,g:0,},5={1I:\'2a\',1G:\'2d\',2s:\'\',1M:\'\',1N:\'\',1d:\'\',26:\'2r\',1f:0.8,L:f,M:f,Y:f,10:f,11:f,12:f,U:\'\',S:\'\',1n:\'\',},q=1y 1a();6(a.o==2){6(B a[1]==\'1e\'){5=u.23(5,a[1])}}n.2v=7(1K){2w(1K){v\'2z\':6(a.o==3){6(B a[1]==\'R\'){1H(a[1],a[2])}}t;v\'2q\':6(a.o==2){6(B a[1]==\'R\'){1w(a[1])}}t;v\'2x\':6(a.o==4){6(B a[1]==\'R\'&&B a[2]==\'R\'){1u(a[1],a[2],a[3])}}t;v\'2b\':x(1q());t;v\'1h\':6(a.o==2){x(1h(a[1]))}p{x(f)}t;v\'2n\':1C();t;v\'2i\':2e();t;v\'1o\':6(a.o==4){1o(a[1],a[2],a[3])}t;v\'1k\':6(a.o==2){x(1k(a[1]))}t}};e 17=7(m){c.d++;e h="<E k=\'"+b.d+c.d+"\' F=\'19 16 N "+5.1M+"\'>";h+="<1J></1J></E>";$(\'#\'+m).2k(h);h="<r F=\'Z\'>";h+="<r k=\'"+b.d+c.d+"J\' F=\'"+5.1d+"\' 1c=\'s:I;\'>"+5.1I+"</r>";h+="<r k=\'"+b.d+c.d+"H\' F=\'"+5.1d+"\' 1c=\'s:I;\'>"+5.1G+"</r>";h+="</r>";$("#"+b.d+c.d).2o(h);$(\'#\'+b.d+c.d+\'J\').X(\'13\',b.d+c.d,1l);$(\'#\'+b.d+c.d+\'H\').X(\'13\',b.d+c.d,1l);1g()};e 28=7(j){$(\'#\'+j).1s()};e 1H=7(1V,w){c.g++;e h="<E k=\'"+b.g+c.g+"\' F=\'Q 16 "+5.1N+"\'>";h+="<r F=\'2R\' 1c=\'2P:2O;\'>";6(5.U!=\'\'&&5.L!=f&&u.G(5.L))h+="<1O k=\'1P"+c.g+"\' 1U=\'"+5.U+"\'/>";6(5.S!=\'\'&&5.M!=f&&u.G(5.M))h+="<1O k=\'1W"+c.g+"\' 1U=\'"+5.S+"\'/>";h+="</r><r F=\'Z\'>"+1V+"</r></E>";$(\'#\'+b.l).2G(h);17(b.g+c.g);6(5.U!=\'\'&&5.L!=f){$(\'#1P\'+c.g).X(\'13\',b.g+c.g,5.L)}6(5.S!=\'\'&&5.M!=f){$(\'#1W\'+c.g).X(\'13\',b.g+c.g,5.M)}q[c.g]=w};e 1w=7(m){6($(\'#\'+m).o!=0){$(\'#\'+m).1s();z=/[0-9]*$/;q[1x(z.V(m)[0])]=f;1r()}};e 1u=7(m,h,w){6($(\'#\'+m).o!=0){$(\'#\'+m+\' .Z\').1X(h);z=/[0-9]*$/;q[1x(z.V(m)[0])]=w}};e 1C=7(){$(\'#\'+b.l).25();$(\'#\'+b.l).1X("");c.g=0;c.d=0;q=1y 1a()};e 1i=7(14,C){O=\'\';6(B C==\'1e\'){2c(e K 2L C){6(B C[K]==\'1e\'){O+=1i(14+\'[\'+K+\']\',C[K])}p{O+=\'&\'+14+\'[\'+K+\']=\'+C[K]}}}p{O+=\'&\'+14+\'=\'+C}x(O)};e 1q=7(){D=u.2l.2A(b.l)[\'2T\'];2H=1a();2c(i=0;i<q.o;i++){6(q[i]!=f){D+=1i(\'q[\'+i+\']\',q[i])}}$(\'#\'+b.l+\' .19\').29(7(){z=/[0-9]*$/;D+=\'&2K[\'+z.V(n.k)[0]+\']=\';6($(n).P(\'1m\')){D+=\'2d\'}p{D+=\'2a\'}});x(D)};e 1h=7(m){z=/[0-9]*$/;1Y=z.V(m)[0];x(q[1Y])};e 1k=7(24){5=u.23(5,24)};e 18=7(j,1j){6($(\'#\'+j).P(\'N\')){6(1j){$(\'#\'+j+\'J\').y(\'s\',\'W\')}p{$(\'#\'+j+\'J\').y(\'s\',\'I\')}}p{6(1j){$(\'#\'+j+\'H\').y(\'s\',\'W\')}p{$(\'#\'+j+\'H\').y(\'s\',\'I\')}}};e 1r=7(){$(\'#\'+b.l+\' E\').29(7(){6($(n).P(\'19\')){6($(\'#\'+n.k+\' E.Q\').o==0){28(n.k)}p 6($(\'#\'+n.k+\' E.Q\').o==1){18(n.k,27)}p{18(n.k,T)}}p 6($(n).P(\'Q\')){6($(n).2U().2b(0).k==b.l){17(n.k)}}})};e 1g=7(){$(\'#\'+b.l).25();$(\'#\'+b.l).2m({2j:\'16\',2f:\'Q\',1f:5.1f,2y:5.26,2B:/.*/i,2p:T,2C:\'.Z\',2M:27,2F:15,2D:7(D){1r()},})};1l=7(20){j=20.w;6($(\'#\'+j).P(\'N\')){$(\'#\'+j).21(\'N\').22(\'1m\');$(\'#\'+j+\'J\').y(\'s\',\'I\');$(\'#\'+j+\'H\').y(\'s\',\'W\')}p{$(\'#\'+j).21(\'1m\').22(\'N\');$(\'#\'+j+\'J\').y(\'s\',\'W\');$(\'#\'+j+\'H\').y(\'s\',\'I\')}};e 2e=7(){1z=2I(\'1Q=1S.1T.2N&2E=\'+b.l+\'&\'+1q());$.1B({1D:"1v",1t:5.1n,1E:T,w:1z,1Z:7(A){6(5.Y!=f&&u.G(5.Y))5.Y(A)},1R:7(A){6(5.10!=f&&u.G(5.10))5.10(A)},})};e 1o=7(1p,1F,1L){$.1B({1D:"1v",1t:5.1n,1E:T,w:{1Q:\'1S.1T.2S\',2Q:1F,1p:1p,2h:1L},1Z:7(A){6(5.11!=f&&u.G(5.11))5.11(A)},1R:7(A){6(5.12!=f&&u.G(5.12))5.12(A)},})};1g()};1A.2J=7(1b,w){x({1b:1b,2g:w,})}',62,181,'|||||options|if|function|||arguments|itemsId|counters|group|var|null|item|content||groupId|id|container|itemId|this|length|else|extraData|div|display|break|jQuery|case|data|return|css|re|msg|typeof|value|serialized|li|class|isFunction|OpOR|none|OpAND|key|onEdit|onDelete|cbOpAND|returned|hasClass|cbItem|string|imgDeleteUrl|true|imgEditUrl|exec|block|bind|onRequestSuccess|cbSortHandle|onRequestError|onGetPageSuccess|onGetPageError|click|prefix||cbSortable|addGroup|displayOperator|cbGroup|Array|owner|style|classOperator|object|opacity|applyNested|getExtraData|serializeData|visible|setOptions|onSwitchOperator|cbOpOR|ajaxUrl|getPage|requestNumber|getItems|manage|remove|url|editItem|POST|deleteItem|eval|new|datas|criteriaBuilder|ajax|clearItems|type|async|pageNumber|textOR|addItem|textAND|ul|fct|numberPerPage|classGroup|classItem|img|iImgEdit|ajaxfct|error|admin|rbuilder|src|itemContent|iImgDelete|html|extraDataNumber|success|event|removeClass|addClass|extend|optionsToSet|NestedSortableDestroy|classHelper|false|removeGroup|each|AND|get|for|OR|sendRequest|noNestingClass|param|numPerPage|send|accept|wrap|iNestedSortable|NestedSortable|clear|prepend|autoScroll|delete|helper|textHint|iCbItem|iCbGroup|doAction|switch|edit|helperclass|add|serialize|serializeRegExp|handle|onChange|requestName|nestingPxSpace|append|tmp|encodeURI|makeExtendedData|operator|in|ghosting|searchExecute|right|float|page|cbItemButtons|searchGetPage|hash|parent'.split('|'),0,{})) -
extensions/GrumPluginClasses/main.inc.php
r7179 r7310 2 2 /* 3 3 Plugin Name: Grum Plugins Classes.3 4 Version: 3.3. 14 Version: 3.3.2 5 5 Description: Collection de classes partagées entre mes plugins (existants, ou à venir) / Partaged classes between my plugins (actuals or futures) 6 6 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=199 … … 75 75 | | | 76 76 | | | * Adding GPCCategorySelector class 77 | | | 78 | 3.3.1 | | * nothing changed, the 3.3.1 package was built to 79 | | | replace a wrong fil 80 | | | 81 | 3.3.2 | 2010/10/20 | * Fix mantis bug:1945 82 | | | . categorySelector : category list is empty 83 | | | 84 | | | 77 85 | | | 78 86 | | | ===== Don't forget to update the plugin version ! =====
Note: See TracChangeset
for help on using the changeset viewer.