Changeset 7370
- Timestamp:
- Oct 24, 2010, 11:29:20 AM (14 years ago)
- Location:
- extensions/GrumPluginClasses
- Files:
-
- 16 added
- 2 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/GrumPluginClasses/classes/GPCRequestBuilder.class.inc.php
r7327 r7370 86 86 /** 87 87 * 88 * Preparing the cache89 * ------------------- 88 * Preparing the temporary table => doCache() 89 * ------------------------------------------ 90 90 * To prepare the cache, the request builder use the following functions : 91 * - getImageId 91 92 * - getFrom 92 93 * - getWhere 93 * - getJoin 94 * - getImageId 94 * - getHaving 95 95 * 96 * Retrieving the results 97 * ---------------------- 96 * Preparing the cache table => doCache() 97 * -------------------------------------- 98 * To prepare the cache, the request builder use the following functions : 99 * => the getFilter function is used to prepare the filter for the getPage() 100 * function ; not used to build the cache 101 * 102 * Retrieving the results => getPage() 103 * ----------------------------------- 98 104 * To retrieve the image informations, the request builder uses the following 99 105 * functions : … … 101 107 * - getFrom 102 108 * - getJoin 103 * - getFilter (in fact, the result of this function is stored while the cache104 * is builded, but it is used only when retrieving the results for105 * multirecord tables)109 * - getFilter (in fact, the result of this function is stored by the doCache() 110 * function while the cache is builded, but it is used only when 111 * retrieving the results for multirecord tables) 106 112 * - formatData 107 113 * … … 120 126 * to 'y' 121 127 * 122 * gatImageId returns : "tableA.imageId"123 * getSelect returns : "tableA.att1, tableA.att2"124 * getFrom returns : "tableA"125 * getWhere returns : "tableA.localId= xxxx AND tableA.att1 = zzzz"126 * getJoin returns : "tableA.imageId = pit.id"127 * getFilter returns : "tableA.localId= xxxx"128 * gatImageId returns : "tableA.imageId" 129 * getSelect returns : "tableA.att1, tableA.att2" 130 * getFrom returns : "tableA" 131 * getWhere returns : "tableA.localId= xxxx AND tableA.att1 = zzzz" 132 * getJoin returns : "tableA.imageId = pit.id" 133 * getFilter returns : "tableA.localId= xxxx" 128 134 * 135 * Examples : 136 * - plugin AdvancedMetadata use getFilter 137 * - plugin AdvancedSearchEngine, module ASETag use getHaving and getWhere 129 138 */ 130 139 class GPCSearchCallback { … … 172 181 return(""); 173 182 } 183 184 185 /** 186 * the getHaving function return a ready to user HAVING clause 187 * 188 * " FIND_IN_SET(value0, GROUP_CONCAT(DISTINCT att1 SEPARATOR ',')) AND 189 * FIND_IN_SET(value0, GROUP_CONCAT(DISTINCT att1 SEPARATOR ',')) " 190 * 191 */ 192 static public function getHaving($param="") 193 { 194 return(""); 195 } 196 174 197 175 198 /** … … 201 224 return(""); 202 225 } 226 203 227 204 228 /** … … 487 511 $baseName=basename(dirname(dirname(__FILE__))).'/css/'; 488 512 $template->append('head_elements', '<link href="plugins/'.$baseName.'rbuilder.css" type="text/css" rel="stylesheet"/>'); 513 if(defined('IN_ADMIN')) $template->append('head_elements', '<link href="plugins/'.$baseName.'rbuilder_'.$template->get_themeconf('name').'.css" type="text/css" rel="stylesheet"/>'); 514 489 515 490 516 $baseName=basename(dirname(dirname(__FILE__))).'/js/'; … … 492 518 GPCCore::addHeaderJS('gpc.interface', 'plugins/'.$baseName.'external/interface/interface.js'); 493 519 GPCCore::addHeaderJS('gpc.inestedsortable', 'plugins/'.$baseName.'external/inestedsortable.pack.js'); 494 GPCCore::addHeaderJS('gpc. criteriaBuilder', 'plugins/'.$baseName.'criteriaBuilder.packed.js');520 GPCCore::addHeaderJS('gpc.rbCriteriaBuilder', 'plugins/'.$baseName.'rbCriteriaBuilder.packed.js'); 495 521 496 522 $template->append('head_elements', 497 523 "<script type=\"text/javascript\"> 498 524 requestBuilderOptions = { 499 textAND:'".l10n('gpc_rb_textAND')."', 500 textOR:'".l10n('gpc_rb_textOR')."', 501 textNoCriteria:\"".l10n('There is no criteria ! At least, one criteria is required to do search...')."\", 502 imgEditUrl:'', 503 imgDeleteUrl:'', 504 ajaxUrl:'plugins/GrumPluginClasses/gpc_ajax.php', 525 textAND:\"".l10n('gpc_rb_textAND')."\", 526 textOR:\"".l10n('gpc_rb_textOR')."\", 527 textNoCriteria:\"".l10n('There is no criteria ! At least, one criteria is required to do search...')."\", 528 textSomethingWrong:\"".l10n('gpc_something_is_wrong_on_the_server_side')."\", 529 textCaddieUpdated:\"".l10n('gpc_the_caddie_is_updated')."\", 530 helpEdit:\"".l10n('gpc_help_edit_criteria')."\", 531 helpDelete:\"".l10n('gpc_help_delete_criteria')."\", 532 helpMove:\"".l10n('gpc_help_move_criteria')."\", 533 helpSwitchCondition:\"".l10n('gpc_help_switch_condition')."\", 534 ajaxUrl:'plugins/GrumPluginClasses/gpc_ajax.php', 505 535 } 506 536 </script>"); … … 562 592 //$imageIdName=call_user_func(Array('RBCallBack'.$plugin, 'getImageId')); 563 593 564 $temp WHERE=array();594 $tempClauses=array(); 565 595 foreach($_REQUEST['extraData'] as $key => $extraData) 566 596 { 567 $t mpWHERE[$key]=array(597 $tempClauses[$key]=array( 568 598 'plugin' => $extraData['owner'], 569 'where' => call_user_func(Array('RBCallBack'.$extraData['owner'], 'getWhere'), $extraData['param']) 599 'where' => call_user_func(Array('RBCallBack'.$extraData['owner'], 'getWhere'), $extraData['param']), 600 'having' => call_user_func(Array('RBCallBack'.$extraData['owner'], 'getHaving'), $extraData['param']), 570 601 ); 571 602 } 572 603 573 $sql="INSERT INTO ".self::$tables['temp']." ".self::buildGroupRequest($_REQUEST[$_REQUEST['requestName']], $t mpWHERE, $_REQUEST['operator'], ' AND ', $requestNumber);574 604 $sql="INSERT INTO ".self::$tables['temp']." ".self::buildGroupRequest($_REQUEST[$_REQUEST['requestName']], $tempClauses, $_REQUEST['operator'], ' AND ', $requestNumber); 605 //echo $sql; 575 606 $result=pwg_query($sql); 576 607 … … 610 641 'WHERE' => 'pit.level <= '.$user['level'], 611 642 'GROUPBY' => '', 612 'FILTER' => '' ,643 'FILTER' => '' 613 644 ); 614 645 $tmpBuild=Array( … … 706 737 } 707 738 $build['FILTER']=' ('.implode(' AND ', $tmp).') '; 708 // array_flip twice => simply remove identical values...709 //$build['FILTER']=' ('.implode(' AND ', array_flip(array_flip($tmpBuild['FILTER']))).') ';710 739 } 711 740 unset($tmpBuild['FILTER']); … … 745 774 $sql="INSERT INTO ".self::$tables['result_cache']." (SELECT DISTINCT $requestNumber, ".$build['SELECT']." $sql)"; 746 775 747 776 //echo $sql; 748 777 $returned="0;0"; 749 778 … … 768 797 * @param Integer $pageNumber : the page to be returned 769 798 * @param Integer $numPerPage : the number of items returned on a page 799 * @param String $mode : if mode = 'count', the function returns the number of 800 * rows ; otherwise, returns rows in a html string 770 801 * @return String : formatted HTML code 771 802 */ … … 869 900 unset($tmpBuild['WHERE']); 870 901 871 872 902 /* for each plugin, adds jointure with the IMAGE table 873 903 */ … … 889 919 $imagesList=Array(); 890 920 891 $sql='SELECT '.$build['SELECT']921 $sql='SELECT DISTINCT '.$build['SELECT'] 892 922 .' FROM '.$build['FROM'] 893 923 .' WHERE '.$build['WHERE'] 894 .' GROUP BY '.$build['GROUPBY'] 895 .' ORDER BY pit.id ' 896 .' LIMIT '.$limitFrom.', '.$numPerPage; 924 .' GROUP BY '.$build['GROUPBY']; 925 926 $sql.=' ORDER BY pit.id ' 927 .' LIMIT '.$limitFrom.', '.$numPerPage; 928 897 929 //echo $sql; 898 930 $result=pwg_query($sql); … … 1056 1088 if(array_key_exists(3, $result)) 1057 1089 { 1058 return("GROUP_CONCAT( ".$result[1]." SEPARATOR '$sep') AS ".$result[3]);1090 return("GROUP_CONCAT(DISTINCT ".$result[1]." SEPARATOR '$sep') AS ".$result[3]); 1059 1091 } 1060 1092 elseif(array_key_exists(2, $result)) 1061 1093 { 1062 return("GROUP_CONCAT( ".$result[1]." SEPARATOR '$sep') AS ".$result[2]);1094 return("GROUP_CONCAT(DISTINCT ".$result[1]." SEPARATOR '$sep') AS ".$result[2]); 1063 1095 } 1064 1096 else 1065 1097 { 1066 return("GROUP_CONCAT( $val SEPARATOR '$sep') AS ".$val);1098 return("GROUP_CONCAT(DISTINCT $val SEPARATOR '$sep') AS ".$val); 1067 1099 } 1068 1100 } … … 1175 1207 * 1176 1208 * @param Array $groupContent : 1177 * @param Array $items : 1178 * @return String : a SQL request 1179 */ 1180 static private function buildGroupRequest($groupContent, $whereItems, $groups, $operator, $requestNumber) 1209 * @param Array $clausesItems : array with 'where' and 'having' conditions (and 'plugin' for the plugin) 1210 * @param Array $groups : operators of each group 1211 * @param String $operator : 'OR' or 'AND', according with the current group operator 1212 * @param String $requestNumber : the request number 1213 * @return String : part of a SQL request 1214 */ 1215 static private function buildGroupRequest($groupContent, $clausesItems, $groups, $operator, $requestNumber) 1181 1216 { 1182 1217 $returnedS=''; … … 1188 1223 preg_match('/[0-9]*$/i', $val['id'], $groupNumber); 1189 1224 1190 $groupValue=self::buildGroupRequest($val['children'], $ whereItems, $groups, $groups[$groupNumber[0]], $requestNumber);1225 $groupValue=self::buildGroupRequest($val['children'], $clausesItems, $groups, $groups[$groupNumber[0]], $requestNumber); 1191 1226 1192 1227 if($groupValue!='') … … 1202 1237 $returned[]=array( 1203 1238 'mode' => 'item', 1204 'plugin' => $whereItems[$itemNumber[0]]['plugin'], 1205 'value' => " (".$whereItems[$itemNumber[0]]['where'].") " 1239 'plugin' => $clausesItems[$itemNumber[0]]['plugin'], 1240 'valueWhere' => ($clausesItems[$itemNumber[0]]['where']!='')?" (".$clausesItems[$itemNumber[0]]['where'].") ":'', 1241 'valueHaving' => ($clausesItems[$itemNumber[0]]['having'])?" (".$clausesItems[$itemNumber[0]]['having'].") ":'', 1206 1242 ); 1207 1243 } … … 1220 1256 { 1221 1257 $returnedS.="(SELECT DISTINCT ".call_user_func(Array('RBCallBack'.$val['plugin'], 'getImageId'))." AS imageId 1222 FROM ".call_user_func(Array('RBCallBack'.$val['plugin'], 'getFrom'))." 1223 WHERE ".$val['value'].") t".self::$tGlobalId." "; 1258 FROM ".call_user_func(Array('RBCallBack'.$val['plugin'], 'getFrom')); 1259 if($val['valueWhere']!='') $returnedS.=" WHERE ".$val['valueWhere']; 1260 if($val['valueHaving']!='') 1261 $returnedS.=" GROUP BY imageId 1262 HAVING ".$val['valueHaving']; 1263 $returnedS.=") t".self::$tGlobalId." "; 1224 1264 } 1225 1265 else … … 1232 1272 self::$tGlobalId++; 1233 1273 } 1234 $returnedS="SELECT '$requestNumber', t".(self::$tGlobalId-$tId).".imageId FROM ".$returnedS;1274 $returnedS="SELECT DISTINCT '$requestNumber', t".(self::$tGlobalId-$tId).".imageId FROM ".$returnedS; 1235 1275 } 1236 1276 else … … 1244 1284 $returnedS.="SELECT DISTINCT '$requestNumber', t".self::$tGlobalId.".imageId 1245 1285 FROM (SELECT ".call_user_func(Array('RBCallBack'.$val['plugin'], 'getImageId'))." AS imageId 1246 FROM ".call_user_func(Array('RBCallBack'.$val['plugin'], 'getFrom'))." 1247 WHERE ".$val['value'].") t".self::$tGlobalId." "; 1286 FROM ".call_user_func(Array('RBCallBack'.$val['plugin'], 'getFrom')); 1287 if($val['valueWhere']!='') $returnedS.=" WHERE ".$val['valueWhere']; 1288 if($val['valueHaving']!='') 1289 $returnedS.=" GROUP BY imageId 1290 HAVING ".$val['valueHaving']; 1291 $returnedS.=") t".self::$tGlobalId." "; 1248 1292 } 1249 1293 else 1250 1294 { 1251 $returnedS.="SELECT '$requestNumber', t".self::$tGlobalId.".imageId FROM (".$val['value'].") t".self::$tGlobalId;1295 $returnedS.="SELECT DISTINCT '$requestNumber', t".self::$tGlobalId.".imageId FROM (".$val['value'].") t".self::$tGlobalId; 1252 1296 } 1253 1297 -
extensions/GrumPluginClasses/css/rbuilder.css
r7327 r7370 1 ul.rbResultList { 2 list-style:none; 3 padding:0px; 4 } 5 1 ul.rbResultList { list-style:none; padding:0px; } 6 2 ul.rbResultList li { 7 3 width:45%; … … 10 6 min-height:140px; 11 7 } 12 13 ul.rbResultList td.rbResultItemDetail { 14 padding-left:15px; 15 vertical-align:top; 16 } 17 18 ul.rbResultList table { 19 margin-left:0px; 20 } 21 8 ul.rbResultList td.rbResultItemDetail { padding-left:15px; vertical-align:top; } 9 ul.rbResultList table { margin-left:0px; } 22 10 .cPnActive, .cPnDisabled, .cPnInactive { margin:2px; padding:2px; min-width:20px; text-align:center; } 23 .pnInactiveclear, .pnInactiveroma { cursor:pointer; } 24 .pnInactiveclear:hover { background:#F1F1F1; } 25 .pnActiveclear { background:#F1F1F1; font-weight:bold; } 26 .pnInactiveroma:hover { background:#999999; color:#444444; } 27 .pnActiveroma { background:#999999; color:#444444; font-weight:bold; } 11 .pnInactive { cursor:pointer; } 12 .pnActive { font-weight:bold; } 28 13 #iPagesNavigator ul { margin:0px; } 29 30 31 14 .cbGroup { border-width:1px; border-style:solid; padding:0px; margin:2px; min-height:30px; list-style:none; } 32 15 .cbItem { padding:2px; margin:8px; min-height:34px; list-style:none; } 33 34 16 #iListSelectedCriterions { padding:0px; } 35 36 17 #dragHelper ul li.cbItem { padding:2px; } 37 18 #dragHelper ul li { … … 44 25 padding:0px; 45 26 } 46 47 27 .cbItemButtons { padding:2px; } 48 28 .cbItem img { cursor: pointer; } 49 50 29 .cbSortHandle { cursor:move; } 51 52 53 .helper { 54 border:2px dashed #777777; 55 } 56 30 .helper { border:2px dashed #777777; } 57 31 div.cbOperator { 58 32 cursor:pointer; … … 61 35 font-weight:bold; 62 36 } 63 64 div.cbOperatorBgroma {65 background:#333333;66 }67 68 div.cbOperatorBgclear {69 background:#dbe8f3;70 }71 72 37 .cbButtons { 73 38 float:left; … … 76 41 height:15px; 77 42 } 78 79 input.cRequestCriterions { 80 margin-left:1em; 81 } 82 43 input.cRequestCriterions { margin-left:1em; } 83 44 div#iMenuCriterions div#iMenuCItems { 84 45 display:none; … … 88 49 padding:0px; 89 50 margin-top:-1px; 51 z-index:949; 90 52 } 91 92 93 div#iMenuCriterions ul { 94 padding:2px; 95 } 96 97 div#iMenuCriterions ul li { 98 list-style-type:none; 99 padding:4px; 100 } 101 102 div#iMenuCriterions:hover div#iMenuCItems 103 { 104 cursor:pointer; 105 display:block; 106 } 107 108 div#iMenuCriterions:hover div#iMenuCTitle 109 { 110 margin-bottom:0px; 111 padding-bottom:11px; 112 } 113 53 div#iMenuCriterions ul { padding:2px; } 54 div#iMenuCriterions ul li { list-style-type:none; padding:4px; } 55 div#iMenuCriterions:hover div#iMenuCItems { cursor:pointer; display:block; } 56 div#iMenuCriterions:hover div#iMenuCTitle { margin-bottom:0px; padding-bottom:11px; } 114 57 div#iMenuCriterions div#iMenuCTitle 115 58 { … … 126 69 z-index:950; 127 70 } 128 129 71 div#iMenuCaddieBar { 130 72 margin-left:8px; … … 133 75 cursor:default; 134 76 } 135 136 137 77 div#iMenuCaddieBar div#iMenuCaddieItems { 138 78 display:none; … … 143 83 z-index:500; 144 84 } 145 146 85 div#iMenuCaddieBar ul { 147 86 margin:4px 0 4px -8px; … … 150 89 padding-right:2px; 151 90 } 152 153 div#iMenuCaddieBar ul li { 154 list-style-type:none; 155 padding:4px; 156 } 157 158 div#iMenuCaddieBar:hover div#iMenuCaddieItems 159 { 160 cursor:pointer; 161 display:block; 162 } 91 div#iMenuCaddieBar ul li { list-style-type:none; padding:4px; } 92 div#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; } 95 .itemContent { padding-left:24px; } 96 .cbItemUnique { border:none; } 97 .cbItemMultiple { border:1px solid; } -
extensions/GrumPluginClasses/gpc_ajax.php
r7349 r7370 376 376 377 377 $binary=''; 378 if(!$ignoreCase) $binary=" BINARY "; 378 $where=' LOWER(ptt.name) '; 379 if(!$ignoreCase) 380 { 381 $binary=" BINARY "; 382 $where=" ptt.name "; 383 } 379 384 380 385 … … 405 410 } 406 411 407 $sql.=" WHERE ptt.name LIKE $binary '%$letters%'412 $sql.=" WHERE $where LIKE $binary '%$letters%' 408 413 ORDER BY ptt.name "; 409 414 -
extensions/GrumPluginClasses/js/ui.tagSelector.js
r7349 r7370 943 943 properties.tags=[]; 944 944 objects.selectedTagList.children('.ui-tag-selector-selected-tag').remove(); 945 privateMethods.cacheClear(object); 946 objects.input.val(''); 945 947 } 946 948 else … … 1034 1036 1035 1037 privateMethods.clearTimerHandle(object); 1038 1039 if(objects.input.val()=='') 1040 { 1041 privateMethods.cacheClear(object); 1042 privateMethods.displaySelector(object, true); 1043 return(false); 1044 } 1045 1036 1046 1037 1047 $.ajax( … … 1172 1182 { 1173 1183 properties.tags.splice(index,1); 1174 item=objects.selectedTagList.children('[value='+id+']').remove();1184 objects.selectedTagList.children('[value='+id+']').remove(); 1175 1185 1176 1186 if(options.remove) object.trigger('tagSelectorRemove', id); -
extensions/GrumPluginClasses/js/ui.tagSelector.packed.js
r7349 r7370 1 /* file: ui.tagSelector.js - v1.0.0 | packed on 2010/10/2 0with 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}('(b($){e 1 j={2c:b(2i){c 8.k(b(){e $8=$(8),a=$8.a(\'4\'),f=$8.a(\'f\'),9=$8.a(\'9\'),4={t:C,I:\'2y/2u/2t.2v\',M:2w,D:0,E:0,R:0,z:\'2m 2o 1s 1l...\',B:\'%s A 2p\',K:\'N 2q %s A\',F:\'20\',v:\'1Z\',J:5,H:j,l:j,q:j,p:j};$8.a(\'4\',4);d(!9){$8.a(\'9\',{o:V,13:V,1i:0,A:[],11:[],1b:j,});9=$8.a(\'9\')}d(!f){f={1q:$(\'<1p/>\',{\'Y\':\'U-u-S-w\',m:{15:\'2x%\'}}).y(\'21.L\',b(){f.w.28()}),17:$(\'<26/>\',{r:\'\',\'Y\':\'U-u-S-1L-u-12\',}),w:$(\'<w>\',{1s:"1l",6:\'\'}).y(\'2z.L\',b(){g.24($8)}).y(\'28.L\',b(){g.2e($8)}).y(\'2H.L\',b(){g.23($8)}),P:$(\'<1p/>\',{r:"",\'Y\':\'U-u-S-12\',m:{N:\'19\',2L:\'2F\',2C:2D,}}).y(\'2B.L\',b(){g.1a($8,V)}),Q:$(\'<26/>\',{m:{2n:\'19\',2r:\'2l\',2J:\'2l\',2M:"2G",}}),14:$(\'<1p/>\',{r:\'\',\'Y\':\'U-u-S-1l\'})};$8.r(\'\').W(f.1q.W(f.17.W($(\'<Z/>\').W(f.w)))).W(f.P.W(f.Q).W(f.14));$8.a(\'f\',f)}g.1t($8,2i)})},2A:b(){c 8.k(b(){e $8=$(8),f=$8.a(\'f\');f.17.1k().G();f.w.G().l();f.1q.G().l();f.P.G().l();f.Q.l();$8.G(\'.2s\').m({15:\'\',1y:\'\'})})},4:b(6){8.k(b(){e $8=$(8);g.1t($8,6);c($8)})},t:b(6){d(6){8.k(b(){e $8=$(8);g.1r($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.t)}h{c(C)}}},J:b(6){d(6){8.k(b(){e $8=$(8);g.1x($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.J)}h{c(C)}}},R:b(6){d(6){8.k(b(){e $8=$(8);g.1f($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.R)}h{c(0)}}},D:b(6){d(6){8.k(b(){e $8=$(8);g.1P($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.D)}h{c(0)}}},E:b(6){d(6){8.k(b(){e $8=$(8);g.1v($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.E)}h{c(0)}}},M:b(6){d(6){8.k(b(){e $8=$(8);g.1V($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.M)}h{c(0)}}},I:b(6){d(6){8.k(b(){e $8=$(8);g.1T($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.I)}h{c(\'\')}}},z:b(6){d(6){8.k(b(){e $8=$(8);g.1S($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.z)}h{c(\'\')}}},B:b(6){d(6){8.k(b(){e $8=$(8);g.1I($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.B)}h{c(\'\')}}},K:b(6){d(6){8.k(b(){e $8=$(8);g.1K($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.K)}h{c(\'\')}}},v:b(6){d(6){8.k(b(){e $8=$(8);g.1J($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.v)}h{c(C)}}},F:b(6){d(6){8.k(b(){e $8=$(8);g.1A($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.F)}h{c(C)}}},6:b(6){d(6){c 8.k(b(){g.1H($(8),6)})}h{e 9=8.a(\'9\');c(9.A)}},p:b(6){d(6&&$.1d(6)){8.k(b(){e $8=$(8);g.1E($8,6);c($8)})}h{g.p(8)}},q:b(6){d(6&&$.1d(6)){8.k(b(){e $8=$(8);g.1R($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.q)}h{c(j)}}},H:b(6){d(6&&$.1d(6)){8.k(b(){e $8=$(8);g.1D($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.H)}h{c(j)}}},l:b(6){d(6&&$.1d(6)){8.k(b(){e $8=$(8);g.1B($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.l)}h{c(j)}}},2K:b(){e 9=8.a(\'9\');d(9){c(9.A.X)}h{c(j)}}};e g={1t:b(7,6){e 9=7.a(\'9\'),4=7.a(\'4\');d(!$.2I(6))c(V);9.o=V;g.1r(7,(6.t!=j)?6.t:4.t);g.1x(7,(6.J!=j)?6.J:4.J);g.1H(7,(6.6!=j)?6.6:[]);g.1f(7,(6.R!=j)?6.R:4.R);g.1S(7,(6.z!=j)?6.z:4.z);g.1I(7,(6.B!=j)?6.B:4.B);g.1K(7,(6.K!=j)?6.K:4.K);g.1P(7,(6.D!=j)?6.D:4.D);g.1v(7,(6.E!=j)?6.E:4.E);g.1V(7,(6.M!=j)?6.M:4.M);g.1T(7,(6.I!=j)?6.I:4.I);g.1A(7,(6.F!=j)?6.F:4.F);g.1J(7,(6.v!=j)?6.v:4.v);g.1R(7,(6.q!=j)?6.q:4.q);g.1D(7,(6.H!=j)?6.H:4.H);g.1B(7,(6.l!=j)?6.l:4.l);g.1E(7,(6.p!=j)?6.p:4.p);d(4.1Y)g.p(7);9.o=C},1r:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d((!9.o||4.t!=6)&&(6==C||6==V)){4.t=6}c(4.t)},1x:b(7,6){e 4=7.a(\'4\'),f=7.a(\'f\'),9=7.a(\'9\');d((!9.o||4.J!=6)&&6>0){4.J=6;f.w.1O(\'2E\',4.J)}c(4.J)},1f:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d((!9.o||4.1f!=6)&&6>=0){4.R=6}c(4.R)},1S:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d(!9.o||4.z!=6){4.z=6}c(4.z)},1I:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d(!9.o||4.B!=6){4.B=6}c(4.B)},1K:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d(!9.o||4.K!=6){4.K=6}c(4.K)},1P:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');d((!9.o||4.D!=6)&&6>=0){4.D=6;d(4.D>0){f.P.m(\'1n-15\',4.D+\'1X\')}h{f.P.m(\'1n-15\',\'\')}}c(4.D)},1v:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');d((!9.o||4.E!=6)&&6>=0){4.E=6;d(4.E>0){f.Q.m(\'1n-1y\',4.E+\'1X\')}h{f.Q.m(\'1n-1y\',\'\')}}c(4.E)},1V:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d((!9.o||4.M!=6)&&6>0){4.M=6}c(4.M)},1T:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d(!9.o||4.I!=6){4.I=6;d(4.1Y&&9.o)g.p(7)}c(4.I)},1A:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d((!9.o||4.F!=6)&&(6==\'35\'||6==\'20\')){4.F=6}c(4.F)},1J:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d((!9.o||4.v!=6)&&(6==\'3d\'||6==\'1Z\')){4.v=6}c(4.v)},1H:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');d(6==\'3e\'){9.A=[];f.17.1k(\'.U-u-S-1L-u\').l()}h{d(!$.3f(6)){6=[6]}1W(e i=0;i<6.X;i++){d(6[i].n!=j&&6[i].O!=j){d(g.1e(7,6[i].n)==-1)g.1w(7,6[i].n,6[i].O)}h{g.1e(7,6[i])}}}c(j)},1a:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\'),q=V;d(9.13!=6)q=C;9.13=6;d(9.13){d(9.11.X>0){f.Q.m(\'N\',\'18\');d(9.11.X<9.1i){f.14.r(4.B.1F(\'%s\',9.1i)+\', \'+4.K.1F(\'%s\',9.11.X)).m(\'N\',\'18\')}h{f.14.r(4.B.1F(\'%s\',9.11.X)).m(\'N\',\'18\')}}h d(4.z!=\'\'){f.Q.m(\'N\',\'19\');f.14.r(4.z).m(\'N\',\'18\')}h{f.14.r(\'\').m(\'N\',\'19\')}f.P.m({N:\'18\',\'3c-15\':f.P.1N().m(\'15\')})}h{f.P.m(\'N\',\'19\')}d(4.q&&q)7.1h(\'1M\',[9.13]);c(9.13)},p:b(7){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');g.1G(7);$.3b({1s:"37",38:4.I,a:{39:4.F+\'.L.3a\',v:4.v,3h:4.R,t:4.t,3g:f.w.1c()},3l:C,3n:b(1g){12=$.3m(1g);9.1i=12.3i;g.2h(7);g.2g(7,12.A);d(4.p)7.1h(\'22\');g.1a(7,C)},29:b(1g){f.P.r(\'3j ! \'+1g)},})},2h:b(7){e f=7.a(\'f\'),4=7.a(\'4\'),9=7.a(\'9\');f.Q.1k().G().l();9.11=[]},2g:b(7,10){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');1W(e i=0;i<10.X;i++){9.11.2d({n:10[i].n,O:10[i].O,});d(4.t){e 1u=2f 2k(\'(.*)(\'+f.w.1c()+\')(.*)\',\'i\')}h{e 1u=2f 2k(\'(.*)(\'+f.w.1c()+\')(.*)\')}T=1u.3k(10[i].O);d(T!=j){T=T[1]+\'<1Q Y="U-u-S-2N">\'+T[2]+\'</1Q>\'+T[3]}h{T=10[i].O}e Z=$(\'<Z/>\',{r:T,6:10[i].n,\'Y\':\'U-u-S-12-25\'}).y(\'36.L\',{7:7},b(1m){g.1w(1m.a.7,$(8).1O(\'6\'),$(8).1l())});f.Q.W(Z)}},1w:b(7,n,O){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');d(g.1U(7,n)==-1){9.A.2d({n:n,O:O});e Z=$(\'<Z/>\',{6:n,r:O,\'Y\':\'U-u-S-1L-u\'}).2T($(\'<1Q/>\',{r:\'x\'}).y(\'21.L\',{7:7},b(1m){g.1e(1m.a.7,$(8).1N().1O(\'6\'))}));f.w.1c(\'\').1N().2U(Z);d(4.H)7.1h(\'1C\',n)}},1e:b(7,n){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');e 1o=g.1U(7,n);d(1o>-1){9.A.2V(1o,1);25=f.17.1k(\'[6=\'+n+\']\').l();d(4.l)7.1h(\'1z\',n)}c(1o)},1U:b(7,6){e 9=7.a(\'9\');1W(e i=0;i<9.A.X;i++){d(9.A[i].n==6)c(i)}c(-1)},2e:b(7){g.1a(7,C)},24:b(7){g.1a(7,V)},1R:b(7,6){e 4=7.a(\'4\');4.q=6;7.G(\'1M\');d(6)7.y(\'1M\',4.q);c(4.q)},1D:b(7,6){e 4=7.a(\'4\');4.H=6;7.G(\'1C\');d(6)7.y(\'1C\',4.H);c(4.H)},1B:b(7,6){e 4=7.a(\'4\');4.l=6;7.G(\'1z\');d(6)7.y(\'1z\',4.l);c(4.l)},1E:b(7,6){e 4=7.a(\'4\');4.p=6;7.G(\'2S\');d(6)7.y(\'22\',4.p);c(4.p)},1G:b(7){e 9=7.a(\'9\');d(9.1b!=j){27.2R(9.1b);9.1b=j}},23:b(7){e 9=7.a(\'9\'),4=7.a(\'4\');g.1G(7);9.1b=27.2O(b(){g.p(7)},4.M)},};$.2P.L=b(16){d(1j[16]){c 1j[16].2b(8,2Q.2W.2X.33(2a,1))}h d(34 16===\'7\'||!16){c 1j.2c.2b(8,2a)}h{$.29(\'32 \'+16+\' 31 2Y 2Z 30 2j.L\')}}})(2j);',62,210,'||||options||value|object|this|properties|data|function|return|if|var|objects|privateMethods|else||null|each|remove|css|id|initialized|load|popup|html||ignoreCase|tag|filter|input||bind|textStart|tags|textFound|true|listMaxWidth|listMaxHeight|mode|unbind|add|serverUrl|inputNumCar|textDisplay|tagSelector|serverCallDelay|display|name|selectorList|tagList|maximumTagLoaded|selector|tmpResult|ui|false|append|length|class|li|listItems|cache|list|selectorVisible|textArea|width|method|selectedTagList|block|none|displaySelector|timerHandle|val|isFunction|removeTag|setMaximumTagLoaded|msg|trigger|totalTags|publicMethods|children|text|event|max|index|div|container|setIgnoreCase|type|setOptions|re|setListMaxHeight|addTag|setInputNumCar|height|tagSelectorRemove|setMode|setEventRemove|tagSelectorAdd|setEventAdd|setEventLoad|replace|clearTimerHandle|setValue|setTextFound|setFilter|setTextDisplay|selected|tagSelectorPopup|parent|attr|setListMaxWidth|span|setEventPopup|setTextStart|setServerUrl|findTagById|setServerCallDelay|for|px|autoLoad|affected|public|click|tagSelectorLoad|setTimerHandle|lostFocus|item|ul|window|focus|error|arguments|apply|init|push|getFocus|new|cacheAddItems|cacheClear|opt|jQuery|RegExp|0px|Start|listStyle|to|found|only|padding|categorySelector|gpc_ajax|GrumPluginClasses|php|250|100|plugins|focusout|destroy|mouseleave|zIndex|9999|size|absolute|auto|keypress|isPlainObject|margin|numberOfTags|position|overflow|highlight|setInterval|fn|Array|clearInterval|categorySelectorLoad|prepend|before|splice|prototype|slice|not|exist|on|does|Method|call|typeof|admin|mousedown|POST|url|ajaxfct|get|ajax|min|all|clear|isArray|letters|maxTags|totalNbTags|Error|exec|async|parseJSON|success'.split('|'),0,{}))1 /* file: ui.tagSelector.js - v1.0.0 | packed on 2010/10/23 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}('(b($){e 1f={2c:b(2j){c 8.k(b(){e $8=$(8),a=$8.a(\'4\'),f=$8.a(\'f\'),9=$8.a(\'9\'),4={u:v,L:\'2o/2l/2u.2w\',I:2s,B:0,A:0,P:0,C:\'2q 2p 1q 1j...\',w:\'%s D 2m\',K:\'N 2n %s D\',F:\'20\',E:\'21\',G:5,M:j,l:j,q:j,p:j};$8.a(\'4\',4);d(!9){$8.a(\'9\',{o:Q,12:Q,1l:0,D:[],Y:[],1a:j,});9=$8.a(\'9\')}d(!f){f={1L:$(\'<1A/>\',{\'10\':\'W-y-V-r\',m:{15:\'2t%\'}}).z(\'22.H\',b(){f.r.28()}),1c:$(\'<26/>\',{t:\'\',\'10\':\'W-y-V-1V-y-13\',}),r:$(\'<r>\',{1q:"1j",6:\'\'}).z(\'2L.H\',b(){g.2e($8)}).z(\'28.H\',b(){g.25($8)}).z(\'2x.H\',b(){g.23($8)}),S:$(\'<1A/>\',{t:"",\'10\':\'W-y-V-13\',m:{N:\'19\',2G:\'2J\',2E:2z,}}).z(\'2y.H\',b(){g.18($8,Q)}),R:$(\'<26/>\',{m:{2B:\'19\',2D:\'2k\',2H:\'2k\',2A:"2F",}}),17:$(\'<1A/>\',{t:\'\',\'10\':\'W-y-V-1j\'})};$8.t(\'\').U(f.1L.U(f.1c.U($(\'<11/>\').U(f.r)))).U(f.S.U(f.R).U(f.17));$8.a(\'f\',f)}g.1C($8,2j)})},2r:b(){c 8.k(b(){e $8=$(8),f=$8.a(\'f\');f.1c.1p().J();f.r.J().l();f.1L.J().l();f.S.J().l();f.R.l();$8.J(\'.2K\').m({15:\'\',1F:\'\'})})},4:b(6){8.k(b(){e $8=$(8);g.1C($8,6);c($8)})},u:b(6){d(6){8.k(b(){e $8=$(8);g.1D($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.u)}h{c(v)}}},G:b(6){d(6){8.k(b(){e $8=$(8);g.1t($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.G)}h{c(v)}}},P:b(6){d(6){8.k(b(){e $8=$(8);g.1e($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.P)}h{c(0)}}},B:b(6){d(6){8.k(b(){e $8=$(8);g.1s($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.B)}h{c(0)}}},A:b(6){d(6){8.k(b(){e $8=$(8);g.1y($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.A)}h{c(0)}}},I:b(6){d(6){8.k(b(){e $8=$(8);g.1H($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.I)}h{c(0)}}},L:b(6){d(6){8.k(b(){e $8=$(8);g.1E($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.L)}h{c(\'\')}}},C:b(6){d(6){8.k(b(){e $8=$(8);g.1u($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.C)}h{c(\'\')}}},w:b(6){d(6){8.k(b(){e $8=$(8);g.1v($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.w)}h{c(\'\')}}},K:b(6){d(6){8.k(b(){e $8=$(8);g.1x($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.K)}h{c(\'\')}}},E:b(6){d(6){8.k(b(){e $8=$(8);g.1w($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.E)}h{c(v)}}},F:b(6){d(6){8.k(b(){e $8=$(8);g.1z($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.F)}h{c(v)}}},6:b(6){d(6){c 8.k(b(){g.1O($(8),6)})}h{e 9=8.a(\'9\');c(9.D)}},p:b(6){d(6&&$.1k(6)){8.k(b(){e $8=$(8);g.1S($8,6);c($8)})}h{g.p(8)}},q:b(6){d(6&&$.1k(6)){8.k(b(){e $8=$(8);g.1K($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.q)}h{c(j)}}},M:b(6){d(6&&$.1k(6)){8.k(b(){e $8=$(8);g.1Q($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.M)}h{c(j)}}},l:b(6){d(6&&$.1k(6)){8.k(b(){e $8=$(8);g.1W($8,6);c($8)})}h{e 4=8.a(\'4\');d(4){c(4.l)}h{c(j)}}},2v:b(){e 9=8.a(\'9\');d(9){c(9.D.T)}h{c(j)}}};e g={1C:b(7,6){e 9=7.a(\'9\'),4=7.a(\'4\');d(!$.2I(6))c(Q);9.o=Q;g.1D(7,(6.u!=j)?6.u:4.u);g.1t(7,(6.G!=j)?6.G:4.G);g.1O(7,(6.6!=j)?6.6:[]);g.1e(7,(6.P!=j)?6.P:4.P);g.1u(7,(6.C!=j)?6.C:4.C);g.1v(7,(6.w!=j)?6.w:4.w);g.1x(7,(6.K!=j)?6.K:4.K);g.1s(7,(6.B!=j)?6.B:4.B);g.1y(7,(6.A!=j)?6.A:4.A);g.1H(7,(6.I!=j)?6.I:4.I);g.1E(7,(6.L!=j)?6.L:4.L);g.1z(7,(6.F!=j)?6.F:4.F);g.1w(7,(6.E!=j)?6.E:4.E);g.1K(7,(6.q!=j)?6.q:4.q);g.1Q(7,(6.M!=j)?6.M:4.M);g.1W(7,(6.l!=j)?6.l:4.l);g.1S(7,(6.p!=j)?6.p:4.p);d(4.1Z)g.p(7);9.o=v},1D:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d((!9.o||4.u!=6)&&(6==v||6==Q)){4.u=6}c(4.u)},1t:b(7,6){e 4=7.a(\'4\'),f=7.a(\'f\'),9=7.a(\'9\');d((!9.o||4.G!=6)&&6>0){4.G=6;f.r.1I(\'2C\',4.G)}c(4.G)},1e:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d((!9.o||4.1e!=6)&&6>=0){4.P=6}c(4.P)},1u:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d(!9.o||4.C!=6){4.C=6}c(4.C)},1v:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d(!9.o||4.w!=6){4.w=6}c(4.w)},1x:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d(!9.o||4.K!=6){4.K=6}c(4.K)},1s:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');d((!9.o||4.B!=6)&&6>=0){4.B=6;d(4.B>0){f.S.m(\'1h-15\',4.B+\'1Y\')}h{f.S.m(\'1h-15\',\'\')}}c(4.B)},1y:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');d((!9.o||4.A!=6)&&6>=0){4.A=6;d(4.A>0){f.R.m(\'1h-1F\',4.A+\'1Y\')}h{f.R.m(\'1h-1F\',\'\')}}c(4.A)},1H:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d((!9.o||4.I!=6)&&6>0){4.I=6}c(4.I)},1E:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d(!9.o||4.L!=6){4.L=6;d(4.1Z&&9.o)g.p(7)}c(4.L)},1z:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d((!9.o||4.F!=6)&&(6==\'2S\'||6==\'20\')){4.F=6}c(4.F)},1w:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\');d((!9.o||4.E!=6)&&(6==\'3d\'||6==\'21\')){4.E=6}c(4.E)},1O:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');d(6==\'3e\'){9.D=[];f.1c.1p(\'.W-y-V-1V-y\').l();g.1i(7);f.r.14(\'\')}h{d(!$.3f(6)){6=[6]}1M(e i=0;i<6.T;i++){d(6[i].n!=j&&6[i].O!=j){d(g.1d(7,6[i].n)==-1)g.1T(7,6[i].n,6[i].O)}h{g.1d(7,6[i])}}}c(j)},18:b(7,6){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\'),q=Q;d(9.12!=6)q=v;9.12=6;d(9.12){d(9.Y.T>0){f.R.m(\'N\',\'1b\');d(9.Y.T<9.1l){f.17.t(4.w.1P(\'%s\',9.1l)+\', \'+4.K.1P(\'%s\',9.Y.T)).m(\'N\',\'1b\')}h{f.17.t(4.w.1P(\'%s\',9.Y.T)).m(\'N\',\'1b\')}}h d(4.C!=\'\'){f.R.m(\'N\',\'19\');f.17.t(4.C).m(\'N\',\'1b\')}h{f.17.t(\'\').m(\'N\',\'19\')}f.S.m({N:\'1b\',\'3c-15\':f.S.1G().m(\'15\')})}h{f.S.m(\'N\',\'19\')}d(4.q&&q)7.1o(\'1J\',[9.12]);c(9.12)},p:b(7){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');g.1r(7);d(f.r.14()==\'\'){g.1i(7);g.18(7,v);c(Q)}$.3b({1q:"37",38:4.L,a:{39:4.F+\'.H.3a\',E:4.E,3h:4.P,u:4.u,3g:f.r.14()},3l:v,3n:b(1m){13=$.3m(1m);9.1l=13.3i;g.1i(7);g.2i(7,13.D);d(4.p)7.1o(\'24\');g.18(7,v)},29:b(1m){f.S.t(\'3j ! \'+1m)},})},1i:b(7){e f=7.a(\'f\'),4=7.a(\'4\'),9=7.a(\'9\');f.R.1p().J().l();9.Y=[]},2i:b(7,Z){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');1M(e i=0;i<Z.T;i++){9.Y.2d({n:Z[i].n,O:Z[i].O,});d(4.u){e 1B=2h 2g(\'(.*)(\'+f.r.14()+\')(.*)\',\'i\')}h{e 1B=2h 2g(\'(.*)(\'+f.r.14()+\')(.*)\')}X=1B.3k(Z[i].O);d(X!=j){X=X[1]+\'<1X 10="W-y-V-2M">\'+X[2]+\'</1X>\'+X[3]}h{X=Z[i].O}e 11=$(\'<11/>\',{t:X,6:Z[i].n,\'10\':\'W-y-V-13-35\'}).z(\'36.H\',{7:7},b(1g){g.1T(1g.a.7,$(8).1I(\'6\'),$(8).1j())});f.R.U(11)}},1T:b(7,n,O){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');d(g.1N(7,n)==-1){9.D.2d({n:n,O:O});e 11=$(\'<11/>\',{6:n,t:O,\'10\':\'W-y-V-1V-y\'}).2T($(\'<1X/>\',{t:\'x\'}).z(\'22.H\',{7:7},b(1g){g.1d(1g.a.7,$(8).1G().1I(\'6\'))}));f.r.14(\'\').1G().2U(11);d(4.M)7.1o(\'1U\',n)}},1d:b(7,n){e 4=7.a(\'4\'),9=7.a(\'9\'),f=7.a(\'f\');e 1n=g.1N(7,n);d(1n>-1){9.D.2R(1n,1);f.1c.1p(\'[6=\'+n+\']\').l();d(4.l)7.1o(\'1R\',n)}c(1n)},1N:b(7,6){e 9=7.a(\'9\');1M(e i=0;i<9.D.T;i++){d(9.D[i].n==6)c(i)}c(-1)},25:b(7){g.18(7,v)},2e:b(7){g.18(7,Q)},1K:b(7,6){e 4=7.a(\'4\');4.q=6;7.J(\'1J\');d(6)7.z(\'1J\',4.q);c(4.q)},1Q:b(7,6){e 4=7.a(\'4\');4.M=6;7.J(\'1U\');d(6)7.z(\'1U\',4.M);c(4.M)},1W:b(7,6){e 4=7.a(\'4\');4.l=6;7.J(\'1R\');d(6)7.z(\'1R\',4.l);c(4.l)},1S:b(7,6){e 4=7.a(\'4\');4.p=6;7.J(\'2Q\');d(6)7.z(\'24\',4.p);c(4.p)},1r:b(7){e 9=7.a(\'9\');d(9.1a!=j){27.2N(9.1a);9.1a=j}},23:b(7){e 9=7.a(\'9\'),4=7.a(\'4\');g.1r(7);9.1a=27.2O(b(){g.p(7)},4.I)},};$.2P.H=b(16){d(1f[16]){c 1f[16].2b(8,2V.2W.32.33(2a,1))}h d(34 16===\'7\'||!16){c 1f.2c.2b(8,2a)}h{$.29(\'31 \'+16+\' 30 2X 2Y 2Z 2f.H\')}}})(2f);',62,210,'||||options||value|object|this|properties|data|function|return|if|var|objects|privateMethods|else||null|each|remove|css|id|initialized|load|popup|input||html|ignoreCase|true|textFound||tag|bind|listMaxHeight|listMaxWidth|textStart|tags|filter|mode|inputNumCar|tagSelector|serverCallDelay|unbind|textDisplay|serverUrl|add|display|name|maximumTagLoaded|false|tagList|selectorList|length|append|selector|ui|tmpResult|cache|listItems|class|li|selectorVisible|list|val|width|method|textArea|displaySelector|none|timerHandle|block|selectedTagList|removeTag|setMaximumTagLoaded|publicMethods|event|max|cacheClear|text|isFunction|totalTags|msg|index|trigger|children|type|clearTimerHandle|setListMaxWidth|setInputNumCar|setTextStart|setTextFound|setFilter|setTextDisplay|setListMaxHeight|setMode|div|re|setOptions|setIgnoreCase|setServerUrl|height|parent|setServerCallDelay|attr|tagSelectorPopup|setEventPopup|container|for|findTagById|setValue|replace|setEventAdd|tagSelectorRemove|setEventLoad|addTag|tagSelectorAdd|selected|setEventRemove|span|px|autoLoad|public|affected|click|setTimerHandle|tagSelectorLoad|getFocus|ul|window|focus|error|arguments|apply|init|push|lostFocus|jQuery|RegExp|new|cacheAddItems|opt|0px|GrumPluginClasses|found|only|plugins|to|Start|destroy|250|100|gpc_ajax|numberOfTags|php|keypress|mouseleave|9999|overflow|listStyle|size|padding|zIndex|auto|position|margin|isPlainObject|absolute|categorySelector|focusout|highlight|clearInterval|setInterval|fn|categorySelectorLoad|splice|admin|prepend|before|Array|prototype|not|exist|on|does|Method|slice|call|typeof|item|mousedown|POST|url|ajaxfct|get|ajax|min|all|clear|isArray|letters|maxTags|totalNbTags|Error|exec|async|parseJSON|success'.split('|'),0,{})) -
extensions/GrumPluginClasses/language/de_DE/rbuilder.lang.php
r7364 r7370 20 20 $lang['There is no criteria ! At least, one criteria is required to do search...']="Es gibt kein Kriterium! Es muss mindestens ein Kriterium angegeben werden um die Suche starten zu können..."; 21 21 22 // need to be translated ! thanks :-) 23 $lang['gpc_help_edit_criteria']="Edit criteria"; 24 $lang['gpc_help_delete_criteria']="Delete criteria"; 25 $lang['gpc_help_move_criteria']="Drag'n'drop to organize search conditions"; 26 $lang['gpc_help_switch_condition']="Invert the nature of the condition (AND ⇔ OR)"; 22 27 23 28 ?> -
extensions/GrumPluginClasses/language/en_UK/rbuilder.lang.php
r7327 r7370 20 20 $lang['There is no criteria ! At least, one criteria is required to do search...']="There is no criteria ! At least, one criteria is required to do search..."; 21 21 22 $lang['gpc_help_edit_criteria']="Edit criteria"; 23 $lang['gpc_help_delete_criteria']="Delete criteria"; 24 $lang['gpc_help_move_criteria']="Drag'n'drop to organize search conditions"; 25 $lang['gpc_help_switch_condition']="Invert the nature of the condition (AND ⇔ OR)"; 22 26 23 27 ?> -
extensions/GrumPluginClasses/language/fr_FR/rbuilder.lang.php
r7327 r7370 20 20 $lang['There is no criteria ! At least, one criteria is required to do search...']="Il n'y a aucun critères ! Au minimum, un critère est requis pour pouvoir effectuer une recherche..."; 21 21 22 $lang['gpc_help_edit_criteria']="Editer le critère"; 23 $lang['gpc_help_delete_criteria']="Supprimer le critère"; 24 $lang['gpc_help_move_criteria']="Glisser/Déposer pour organiser les conditions de recherche"; 25 $lang['gpc_help_switch_condition']="Inverser la nature de la condition (ET ⇔ OU)"; 26 22 27 ?> -
extensions/GrumPluginClasses/language/hr_HR/rbuilder.lang.php
r6917 r7370 17 17 $lang['gpc_the_caddie_is_updated'] = 'Caddie was updated'; 18 18 $lang['gpc_something_is_wrong_on_the_server_side'] = 'An error has occured on the server-side'; 19 $lang['There is no criteria ! At least, one criteria is required to do search...']="There is no criteria ! At least, one criteria is required to do search..."; 20 $lang['gpc_help_edit_criteria']="Edit criteria"; 21 $lang['gpc_help_delete_criteria']="Delete criteria"; 22 $lang['gpc_help_move_criteria']="Drag'n'drop to organize search conditions"; 23 $lang['gpc_help_switch_condition']="Invert the nature of the condition (AND ⇔ OR)"; 24 19 25 20 26 ?> -
extensions/GrumPluginClasses/language/hu_HU/rbuilder.lang.php
r7366 r7370 18 18 $lang['gpc_something_is_wrong_on_the_server_side'] = 'Hiba történt a szerver oldalon'; 19 19 20 // need to be translated ! thanks :-) 21 // GPC 3.3.2 22 $lang['There is no criteria ! At least, one criteria is required to do search...']="There is no criteria ! At least, one criteria is required to do search..."; 23 $lang['gpc_help_edit_criteria']="Edit criteria"; 24 $lang['gpc_help_delete_criteria']="Delete criteria"; 25 $lang['gpc_help_move_criteria']="Drag'n'drop to organize search conditions"; 26 $lang['gpc_help_switch_condition']="Invert the nature of the condition (AND ⇔ OR)"; 27 28 20 29 21 30 ?> -
extensions/GrumPluginClasses/language/it_IT/rbuilder.lang.php
r7364 r7370 20 20 $lang['There is no criteria ! At least, one criteria is required to do search...']=" Non vi è alcun criterio! Almeno uno dei criteri è necessario per iniziare la ricerca ..."; 21 21 22 // need to be translated ! thanks :-) 23 $lang['gpc_help_edit_criteria']="Edit criteria"; 24 $lang['gpc_help_delete_criteria']="Delete criteria"; 25 $lang['gpc_help_move_criteria']="Drag'n'drop to organize search conditions"; 26 $lang['gpc_help_switch_condition']="Invert the nature of the condition (AND ⇔ OR)"; 27 22 28 23 29 ?> -
extensions/GrumPluginClasses/language/ja_JP/rbuilder.lang.php
r6917 r7370 17 17 $lang['gpc_the_caddie_is_updated'] = 'Caddie was updated'; 18 18 $lang['gpc_something_is_wrong_on_the_server_side'] = 'An error has occured on the server-side'; 19 $lang['There is no criteria ! At least, one criteria is required to do search...']="There is no criteria ! At least, one criteria is required to do search..."; 20 $lang['gpc_help_edit_criteria']="Edit criteria"; 21 $lang['gpc_help_delete_criteria']="Delete criteria"; 22 $lang['gpc_help_move_criteria']="Drag'n'drop to organize search conditions"; 23 $lang['gpc_help_switch_condition']="Invert the nature of the condition (AND ⇔ OR)"; 19 24 20 25 ?> -
extensions/GrumPluginClasses/language/nl_NL/rbuilder.lang.php
r7146 r7370 17 17 $lang['gpc_the_caddie_is_updated'] = 'Caddie was updated'; 18 18 $lang['gpc_something_is_wrong_on_the_server_side'] = 'An error has occured on the server-side'; 19 $lang['There is no criteria ! At least, one criteria is required to do search...']="There is no criteria ! At least, one criteria is required to do search..."; 19 20 21 $lang['gpc_help_edit_criteria']="Edit criteria"; 22 $lang['gpc_help_delete_criteria']="Delete criteria"; 23 $lang['gpc_help_move_criteria']="Drag'n'drop to organize search conditions"; 24 $lang['gpc_help_switch_condition']="Invert the nature of the condition (AND ⇔ OR)"; 20 25 21 26 ?> -
extensions/GrumPluginClasses/language/sk_SK/rbuilder.lang.php
r7365 r7370 20 20 $lang['There is no criteria ! At least, one criteria is required to do search...']="To nie je kritérium! Najmenej jedno kritérium je potrebné na vyhľadávanie..."; 21 21 22 // need to be translated ! thanks :-) 23 $lang['gpc_help_edit_criteria']="Edit criteria"; 24 $lang['gpc_help_delete_criteria']="Delete criteria"; 25 $lang['gpc_help_move_criteria']="Drag'n'drop to organize search conditions"; 26 $lang['gpc_help_switch_condition']="Invert the nature of the condition (AND ⇔ OR)"; 22 27 23 28 ?> -
extensions/GrumPluginClasses/main.inc.php
r7349 r7370 88 88 | | | . ui.tagSelector.js + ui.tagSelector.packed.js 89 89 | | | 90 | | | * Externalize and pack JS scripts 91 | | | . rbSearch.js + rbSearch.packed.js 92 | | | 93 | | | * Rename js script 94 | | | . criteriaBuilder.js => rbCriteriaBuilder.js 90 95 | | | 91 96 | | | -
extensions/GrumPluginClasses/templates/GPCRequestBuilder_search.tpl
r7349 r7370 1 1 {known_script id="jquery.ui" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.core.packed.js"} 2 2 {known_script id="jquery.ui.dialog" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.dialog.packed.js"} 3 {known_script id="jquery.tipTip" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.tipTip.minified.js"}4 5 3 {known_script id="gpc.pagesNavigator" src=$ROOT_URL|@cat:"plugins/GrumPluginClasses/js/pagesNavigator.packed.js"} 6 7 8 {literal} 9 <script type="text/javascript"> 10 var cb=null; 11 12 interfaceManager = function(optionsToSet) 13 { 14 var pn=null, 15 requestNumber=0, 16 options = 17 { 18 requestCriterionsVisible:'', 19 requestCriterionsHidden:'', 20 requestResult:'', 21 requestResultContent:'', 22 requestResultNfo:'', 23 requestResultPagesNavigator:'', 24 requestResultRequestNumber:0, 25 onPageChange:null, 26 numberPerPage:30, 27 }; 28 29 /** 30 * 31 */ 32 this.doAction = function(fct) 33 { 34 switch(fct) 35 { 36 case 'queryResult': 37 /* function 'queryResult' : when query is executed, prepare the interface 38 */ 39 if(arguments.length==3) 40 { 41 displayQueryResult(arguments[1], arguments[2]); 42 } 43 break; 44 case 'queryPage': 45 /* function 'queryPage' : display returned page 46 */ 47 if(arguments.length==3) 48 { 49 displayQueryPage(arguments[1], arguments[2]); 50 } 51 break; 52 case 'show': 53 /* function 'show' : show/hide the query/result 54 */ 55 if(arguments.length==2) 56 { 57 show(arguments[1]); 58 } 59 break; 60 case 'setOptions': 61 /* function 'setOptions' : allows to set options after the object was 62 * created 63 */ 64 if(arguments.length==2) 65 { 66 setOptions(arguments[1]); 67 } 68 break; 69 case 'fillCaddie': 70 /* function 'fillCaddie' : allows to fill the caddie with the search result 71 * 72 */ 73 if(arguments.length==2) 74 { 75 fillCaddie(arguments[1], this.getRequestNumber()); 76 } 77 break; 78 } 79 } 80 81 /** 82 * returns the current request number 83 */ 84 this.getRequestNumber = function () 85 { 86 return(requestNumber); 87 } 88 89 /** 90 * returns the number of items per page 91 */ 92 this.getNumberPerPage = function () 93 { 94 return(options.numberPerPage); 95 } 96 97 /** 98 * this function show/hide the different panels 99 * 'buildQuery' : hide the result panel and display the panel to build query 100 * 'resultQuery' : hide the panel to build query and display the result panel 101 */ 102 var show = function(mode) 103 { 104 switch(mode) 105 { 106 case 'buildQuery': 107 $('.'+options.requestCriterionsVisible).css('display', 'block'); 108 $('.'+options.requestCriterionsHidden).css('display', 'none'); 109 $('.'+options.requestResult).css('display', 'none'); 110 break; 111 case 'resultQuery': 112 $('#iResultQueryContent').html("<br><img class='waitingResult' src='./plugins/GrumPluginClasses/icons/processing.gif'>"); 113 $('.'+options.requestCriterionsVisible).css('display', 'none'); 114 $('.'+options.requestCriterionsHidden).css('display', 'block'); 115 $('.'+options.requestResult).css('display', 'block'); 116 break; 117 } 118 } 119 120 /** 121 * this function display the number of items found and prepare the page 122 * navigator 123 * 124 * @param String nfo : 2 information separated with a semi-colon ';' 125 * requestNumber;numberOfItems 126 */ 127 var displayQueryResult = function (isSuccess, nfo) 128 { 129 if(isSuccess) 130 { 131 nfo=nfo.split(';'); 132 133 requestNumber=nfo[0]; 134 $('#iResultQueryNfo').html(nfo[1]); 135 pn.doAction('setOptions', { numberItem:nfo[1], defaultPage:1 } ); 136 show('resultQuery'); 137 } 138 else 139 { 140 //$('#'+options.requestResultContent).html(""); 141 show('buildQuery'); 142 alert('{/literal}{"gpc_something_is_wrong_on_the_server_side"|@translate}{literal}'); 143 } 144 } 145 146 147 /** 148 * this function display the number of items found and prepare the page 149 * navigator 150 * 151 * @param String nfo : 2 information separated with a semi-colon ';' 152 * requestNumber;numberOfItems 153 */ 154 var displayQueryPage = function (isSuccess, nfo) 155 { 156 if(isSuccess) 157 { 158 $('#iResultQueryContent').html(nfo); 159 $('.tiptip').tipTip( 160 { 161 'delay' : 0, 162 'fadeIn' : 0, 163 'fadeOut' : 0, 164 'edgeOffset' : 5, 165 } 166 ); 167 } 168 else 169 { 170 alert('{/literal}{"gpc_something_is_wrong_on_the_server_side"|@translate}{literal}'); 171 } 172 } 173 174 175 /** 176 * 177 * @param Object optionsToSet : set the given options 178 */ 179 var setOptions = function(optionsToSet) 180 { 181 if(typeof optionsToSet=='object') 182 { 183 options = jQuery.extend(options, optionsToSet); 184 } 185 } 186 187 /** 188 * initialize the object 189 */ 190 var init = function (optionsToSet) 191 { 192 setOptions(optionsToSet); 193 194 pn = new pagesNavigator(options.requestResultPagesNavigator, 195 { 196 itemPerPage:options.numberPerPage, 197 displayNumPage:9, 198 classActive:'pnActive{/literal}{$datas.themeName}{literal}', 199 classInactive:'pnInactive{/literal}{$datas.themeName}{literal}', 200 onPageChange: function (page) 201 { 202 if(options.onPageChange!=null && jQuery.isFunction(options.onPageChange)) 203 { 204 options.onPageChange(requestNumber, page, options.numberPerPage); 205 } 206 }, 207 } 208 ); 209 210 requestNumber=options.requestResultRequestNumber; 211 } 212 213 /** 214 * fill the caddie with the search results 215 * @param String mode : 'add' or 'fill' 216 */ 217 var fillCaddie = function (mode, requestNumber) 218 { 219 $('#iMenuCaddieImg').css('display', 'inline-block'); 220 $('#iMenuCaddieItems ul').css('display', 'none'); 221 222 $.ajax( 223 { 224 type: "POST", 225 url: "plugins/GrumPluginClasses/gpc_ajax.php", 226 async: true, 227 data: { ajaxfct:"admin.rbuilder.fillCaddie", fillMode:mode, requestNumber:requestNumber }, 228 success: 229 function(msg) 230 { 231 $('#iMenuCaddieImg').css('display', 'none'); 232 $('#iMenuCaddieItems ul').css('display', 'block'); 233 alert('{/literal}{"gpc_the_caddie_is_updated"|@translate}{literal}'); 234 }, 235 error: 236 function(msg) 237 { 238 $('#iMenuCaddieImg').css('display', 'none'); 239 $('#iMenuCaddieItems ul').css('display', 'block'); 240 alert('{/literal}{"gpc_something_is_wrong_on_the_server_side"|@translate}{literal}'); 241 }, 242 } 243 ); 244 } 245 246 init(optionsToSet); 247 } 248 249 250 function init() 251 { 252 im = new interfaceManager( 253 { 254 requestCriterionsVisible:'cRequestCriterions', 255 requestCriterionsHidden:'cModifyRequest', 256 requestResult:'cResultQuery', 257 requestResultContent:'iResultQueryContent', 258 requestResultNfo:'iResultQueryNfo', 259 requestResultPagesNavigator:'iPagesNavigator', 260 } 261 ); 262 263 {/literal} 264 265 266 267 {if defined('IN_ADMIN')} 268 requestBuilderOptions.imgEditUrl='{$ROOT_URL}{$themeconf.admin_icon_dir}/edit_s.png'; 269 requestBuilderOptions.imgDeleteUrl='{$ROOT_URL}{$themeconf.admin_icon_dir}/delete.png'; 270 {else} 271 requestBuilderOptions.imgEditUrl='{$ROOT_URL}{$themeconf.icon_dir}/edit.png'; 272 requestBuilderOptions.imgDeleteUrl='{$ROOT_URL}{$themeconf.icon_dir}/delete.png'; 273 {/if} 274 {literal} 275 276 requestBuilderOptions.classGroup='gcBorderInput gcTextInput'; 277 requestBuilderOptions.classItem='gcBgInput gcTextInput'; 278 requestBuilderOptions.classOperator='cbOperator cbOperatorBg{/literal}{$datas.themeName}{literal} gcLinkHover'; 279 requestBuilderOptions.onRequestSuccess = function (msg) { im.doAction('queryResult', true, msg); cb.doAction('getPage', im.getRequestNumber(), 1, im.getNumberPerPage()); }; 280 requestBuilderOptions.onRequestError = function (msg) { im.doAction('queryResult', false, msg); }; 281 requestBuilderOptions.onGetPageSuccess = function (msg) { im.doAction('queryPage', true, msg); }; 282 requestBuilderOptions.onGetPageError = function (msg) { im.doAction('queryPage', false, msg); }; 283 284 cb = new criteriaBuilder('iListSelectedCriterions', requestBuilderOptions); 285 286 im.doAction('setOptions', 287 { 288 onPageChange: 289 function (requestNumber, page, numberPerPage) 290 { 291 $('#iResultQueryContent').html("<br><img class='waitingResult' src='./plugins/GrumPluginClasses/icons/processing.gif'>"); 292 cb.doAction('getPage', requestNumber, page, numberPerPage); 293 } 294 } 295 ); 296 } 297 </script> 298 {/literal} 4 {known_script id="gpc.rbSearch" src=$ROOT_URL|@cat:"plugins/GrumPluginClasses/js/rbSearch.packed.js"} 299 5 300 6 {foreach from=$datas.dialogBox item=dialogBox} … … 306 12 {/if} 307 13 308 <form >14 <form id='iRBCriteriaForm'> 309 15 <fieldset> 310 16 <legend>{'gpc_rb_search_criterion'|@translate}</legend>
Note: See TracChangeset
for help on using the changeset viewer.