source: trunk/prototype/modules/calendar/assetic.php @ 7642

Revision 7642, 4.4 KB checked in by angelo, 11 years ago (diff)

Ticket #3320 - Reduzir tempo de carregamento do Expresso Calendar - Primeira versao

Line 
1<?php
2use Assetic\Asset\AssetCache;
3use Assetic\Asset\AssetCollection;
4use Assetic\Asset\FileAsset;
5use Assetic\Asset\GlobAsset;
6use Assetic\Filter\Yui;
7use Assetic\FilterManager;
8use Assetic\Filter;
9use Assetic\Cache\FilesystemCache;
10
11spl_autoload_register(
12    function($className)
13    {
14        $className = str_replace("_", "\\", $className);
15        $className = ltrim($className, '\\');
16        $fileName = '';
17        $namespace = '';
18        if ($lastNsPos = strripos($className, '\\'))
19        {
20            $namespace = substr($className, 0, $lastNsPos);
21            $className = substr($className, $lastNsPos + 1);
22            $fileName = '../../library/' . str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
23        }
24        $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
25        require $fileName;
26    }
27);
28
29define( 'MODULESURL' , '../../modules/calendar' );
30define( 'PLUGINSURL' , '../../plugins' );
31$javaVersion = shell_exec("java -version 2>&1");
32$filterManager = new FilterManager();
33
34$js = new AssetCollection(array(   
35        new FileAsset(MODULESURL.'/js/debug.js'),
36        //new FileAsset(PLUGINSURL.'/datejs/date-pt-BR.js'),   
37        new FileAsset(PLUGINSURL.'/icalendar/jquery.icalendar.js'),
38        new FileAsset(PLUGINSURL.'/jquery/jquery-ui.custom.min.js'),
39        new FileAsset(PLUGINSURL.'/jquery/i18n/jquery.ui.datepicker-pt-BR.js'),
40        new FileAsset(PLUGINSURL.'/timepicker/jquery-ui-timepicker-addon.js'),
41        new FileAsset(PLUGINSURL.'/timepicker/localization/jquery-ui-timepicker-pt-BR.js'),       
42        new FileAsset(PLUGINSURL.'/json2/json2.js'),
43        new FileAsset(PLUGINSURL.'/store/jquery.store.js'),
44        new FileAsset(PLUGINSURL.'/fileupload/jquery.fileupload.js'),
45        new FileAsset(PLUGINSURL.'/fileupload/jquery.iframe-transport.js'),
46        new FileAsset(PLUGINSURL.'/jquery.pagination/jquery.pagination.js'),
47        //new FileAsset(PLUGINSURL.'/mask/jquery.maskedinput.js'),
48        new FileAsset(PLUGINSURL.'/alphanumeric/jquery.alphanumeric.js'),
49        new FileAsset(PLUGINSURL.'/watermark/jquery.watermarkinput.js'),
50        new FileAsset(PLUGINSURL.'/encoder/encoder.js'),     
51        //new FileAsset(PLUGINSURL.'/datejs/sugarpak.js'),
52        //new FileAsset(PLUGINSURL.'/datejs/parser.js'),
53        new FileAsset(PLUGINSURL.'/dateFormat/dateFormat.js'),
54        new FileAsset(PLUGINSURL.'/fullcalendar/fullcalendar.js'),
55        new FileAsset(PLUGINSURL.'/fullcalendar/gcal.js'),
56        new FileAsset(PLUGINSURL.'/jquery.dateFormat/jquery.dateFormat.js'), 
57        new FileAsset(PLUGINSURL.'/zebradialog/javascript/zebra_dialog.js'),
58        new FileAsset(PLUGINSURL.'/scrollto/jquery.scrollTo.js'),
59        new FileAsset(PLUGINSURL.'/ejs/ejs.js'),
60        new FileAsset(PLUGINSURL.'/fgmenu/fg.menu.js'),
61        new FileAsset(PLUGINSURL.'/qtip/jquery.qtip-1.0.0-rc3.min.js'),
62        //new FileAsset(PLUGINSURL.'/contextmenu/jquery.contextMenu.js'),
63        new FileAsset(PLUGINSURL.'/jquery.spinner/jquery.spinner.min.js'),
64        //new FileAsset(PLUGINSURL.'/jpicker/jpicker-1.1.6.min.js'),
65        //new FileAsset(PLUGINSURL.'/farbtastic/farbtastic.js'),
66        new FileAsset(MODULESURL.'/js/base64.js'),
67        new FileAsset(MODULESURL.'/js/map.disponibility.js'),
68        //new FileAsset(MODULESURL.'/js/calendar.date.js'),
69        new FileAsset(MODULESURL.'/js/activity.helpers.js'),
70        new FileAsset(MODULESURL.'/js/task.helpers.js'),
71        new FileAsset(MODULESURL.'/js/helpers.js'),
72        new FileAsset(MODULESURL.'/js/calendar.shared.js'),
73        new FileAsset(MODULESURL.'/js/timezone.js'),
74        new FileAsset(MODULESURL.'/js/calendar.codecs.js'),
75        new FileAsset(MODULESURL.'/js/load.js'),
76        new FileAsset(MODULESURL.'/js/calendar.alarms.js'),
77        new FileAsset(MODULESURL.'/js/I18n.js'),
78        new FileAsset(MODULESURL.'/js/calendar.contentMenu.js'),
79        new FileAsset(MODULESURL.'/js/init.js'),
80        new FileAsset(MODULESURL.'/js/drag_area.js'),
81        new FileAsset(MODULESURL.'/js/desktop.notification.js')
82    )
83);
84
85$compressor = new Yui\JsCompressorFilter('../../library/yuicompressor/yuicompressor.jar');
86$compressor->setCharset("ISO-8859-1");
87
88if (strpos($javaVersion,"java version") !== false){
89    $filterManager->set('yui_js', $compressor);   
90    $js->ensureFilter($filterManager->get('yui_js'));   
91}
92
93$jsCache = new AssetCache($js,new FilesystemCache('/tmp'));
94echo $jsCache->dump();
95
96?>
Note: See TracBrowser for help on using the repository browser.