- Timestamp:
- Jun 24, 2012, 9:18:26 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/GrumPluginClasses/classes/GPCCore.class.inc.php
r15373 r16012 67 67 | | | * Remove google translate connector (google has changed the useage 68 68 | | | 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 | | | 69 77 | | | 70 78 … … 81 89 - static function BBtoHTML 82 90 - static function VarToHTML 91 - static function TabsToHTML 83 92 - static function FormMailToHTML 84 93 - static function addHeaderCSS … … 90 99 - static function rmDir 91 100 - static function applyMarkups 101 - static function setTemplateToken 102 - static function addHeaderContent 92 103 ---------------------------------------------------------------------- */ 93 104 … … 129 140 return( 130 141 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"), 133 144 Array('name' => "GPCCategorySelector", 'version' => "1.0.1"), 134 145 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 136 147 Array('name' => "GPCPagesNavigation", 'version' => "2.0.0"), 137 148 Array('name' => "GPCPublicIntegration", 'version' => "2.0.0"), 138 Array('name' => "GPCRequestBuilder", 'version' => "1.1. 2"),149 Array('name' => "GPCRequestBuilder", 'version' => "1.1.7"), 139 150 Array('name' => "GPCTables", 'version' => "1.5.0"), 140 151 Array('name' => "GPCTabSheet", 'version' => "1.1.1"), … … 205 216 206 217 /** 218 * return the list of registered plugins 207 219 * @return Array : list of registered plugins 208 220 */ … … 503 515 } 504 516 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 */ 505 522 static public function applyMarkups($text) 506 523 { … … 532 549 533 550 /** 534 * used to add a css filein the header551 * used to add a js or css directly in the header 535 552 * 536 553 * @param String $id : a unique id for the file 537 554 * @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 538 581 */ 539 582 static public function addHeaderCSS($id, $file, $order=0) … … 541 584 global $template; 542 585 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)) 544 588 { 545 589 self::$headerItems['css'][$id]=$file; … … 547 591 } 548 592 } 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 */ 549 601 static public function addHeaderJS($id, $file, $require=array()) 550 602 { 551 603 global $template; 552 604 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)) 554 607 { 555 608 self::$headerItems['js'][$id]=$file; … … 562 615 * 563 616 * @param Array $list : possibles values are 617 * - categorySelector 618 * - dynamicTable 564 619 * - inputCheckbox 565 620 * - inputColorPicker 566 621 * - inputColorsFB 567 622 * - inputConsole 623 * - inputDate 568 624 * - inputDotArea 625 * - inputFilterBox 569 626 * - inputList 570 627 * - inputNum 571 628 * - inputPosition 572 629 * - inputRadio 630 * - inputSortBox 573 631 * - inputStatusBar 632 * - inputTag 574 633 * - inputText 575 * - categorySelector576 634 */ 577 635 static public function addUI($list) … … 595 653 switch($ui) 596 654 { 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; 597 660 case 'categorySelector': 598 661 self::addHeaderCSS('gpc.categorySelector', GPC_PATH.'css/categorySelector.css'); … … 646 709 self::addHeaderJS('gpc.inputConsole', GPC_PATH.'js/ui.inputConsole.js', array('jquery.ui.widget')); 647 710 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; 648 719 case 'inputDotArea': 649 720 self::addHeaderCSS('gpc.inputDotArea', GPC_PATH.'css/inputDotArea.css'); … … 653 724 self::addHeaderJS('gpc.inputDotArea', GPC_PATH.'js/ui.inputDotArea.js', array('jquery.ui.widget')); 654 725 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; 655 755 case 'inputList': 656 756 self::addHeaderCSS('gpc.inputList', GPC_PATH.'css/inputList.css'); … … 669 769 self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum.js', array('jquery','jquery.ui.slider')); 670 770 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; 671 778 case 'inputPosition': 672 779 self::addHeaderCSS('gpc.inputPosition', GPC_PATH.'css/inputPosition.css'); … … 681 788 self::addHeaderJS('gpc.inputRadio', GPC_PATH.'js/ui.inputRadio.js', array('jquery.ui.widget')); 682 789 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; 683 802 case 'inputStatusBar': 684 803 self::addHeaderCSS('gpc.inputStatusBar', GPC_PATH.'css/inputStatusBar.css'); … … 695 814 self::addHeaderJS('gpc.inputSwitchButton', GPC_PATH.'js/ui.inputSwitchButton.js', array('jquery.ui.widget')); 696 815 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; 697 823 case 'inputText': 698 824 self::addHeaderCSS('gpc.inputText', GPC_PATH.'css/inputText.css'); … … 708 834 self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 709 835 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')); 710 874 break; 711 875 } … … 852 1016 853 1017 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 854 1029 } //class 855 1030 856 //add_event_handler('loc_begin_page_header', array('GPCCore', 'applyHeaderItems'), 10);857 858 1031 GPCCore::init(); 859 1032
Note: See TracChangeset
for help on using the changeset viewer.