source: trunk/expressoMail1_2/assetic.php @ 7654

Revision 7654, 4.3 KB checked in by angelo, 11 years ago (diff)

Ticket #3197 - Reduzir tempo de carregamento do modulo Expresso Mail

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 = '../prototype/library/' . str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
23        }
24        $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
25        require $fileName;
26    }
27);
28
29$javaVersion = shell_exec("java -version 2>&1");
30$filterManager = new FilterManager();
31$compressor = new Yui\JsCompressorFilter('../prototype/library/yuicompressor/yuicompressor.jar');
32$compressor->setCharset("ISO-8859-1");
33
34$plugins = new AssetCollection(array(
35        new FileAsset('../prototype/plugins/json2/json2.js'),
36        new FileAsset('../prototype/plugins/ejs/ejs.js'),
37        new FileAsset('../prototype/plugins/scrollto/jquery.scrollTo.js'),
38        new FileAsset('../prototype/plugins/timepicker/jquery-ui-timepicker-addon.js'),
39        new FileAsset('../prototype/plugins/timepicker/localization/jquery-ui-timepicker-pt-BR.js'),
40        new FileAsset('../prototype/plugins/jquery/i18n/jquery.ui.datepicker-pt-BR.js'),
41        new FileAsset('../prototype/plugins/datejs/sugarpak.js'),
42        new FileAsset('../prototype/plugins/datejs/parser.js'),
43        new FileAsset('../prototype/plugins/block/jquery.blockUI.js'),
44        new FileAsset('../prototype/plugins/jq-raty/js/jquery.raty.min.js'),
45        new FileAsset('../prototype/plugins/jquery.jrating/jRating.jquery.js'),
46        new FileAsset('../prototype/plugins/watermark/jquery.watermarkinput.js'),
47        new FileAsset('../prototype/plugins/fileupload/jquery.iframe-transport.js'),
48        new FileAsset('../prototype/modules/calendar/js/desktop.notification.js'),
49        new FileAsset('../prototype/plugins/qtip/jquery.qtip-1.0.0-rc3.min.js'),     
50        new FileAsset('../prototype/plugins/dateFormat/dateFormat.js'),
51        new FileAsset('../prototype/modules/calendar/js/calendar.date.js'),
52        new FileAsset('../prototype/plugins/treeview/jquery.treeview.js'),
53        new FileAsset('../prototype/plugins/treeview/lib/jquery.cookie.js'),   
54        new FileAsset('../prototype/plugins/scrollto/jquery.scrollTo.js'),
55        new FileAsset('../prototype/plugins/jqgrid/js/i18n/grid.locale-pt-br.js'),
56        new FileAsset('../prototype/plugins/jqgrid/js/jquery.jqGrid.min.js'),
57        new FileAsset('../prototype/modules/mail/js/foldertree.js'),
58        new FileAsset('../prototype/plugins/zebradialog/javascript/zebra_dialog.js'),
59        new FileAsset('../prototype/plugins/alphanumeric/jquery.alphanumeric.js'),
60        new FileAsset('../prototype/plugins/freeow/jquery.freeow.js')
61    )
62);
63
64/*Se o servidor possuir a jvm então minifique os arquivos*/
65if (strpos($javaVersion,"java version") !== false){
66    $filterManager->set('yui_js', $compressor);   
67    $plugins->ensureFilter($filterManager->get('yui_js'));   
68}
69
70$pluginsCache = new AssetCache($plugins,new FilesystemCache('/tmp'));
71echo $pluginsCache->dump();
72
73$scripts = new AssetCollection(array(
74    new FileAsset('js/modal/modal.js'),
75    new FileAsset('js/base64.js'),
76    new FileAsset('js/QuickCatalogSearch.js'),
77    new FileAsset('js/common_functions.js'),
78    new FileAsset('js/abas.js'),
79    new FileAsset('js/draw_api.js'),
80    new FileAsset('js/main.js'),
81    new FileAsset('../prototype/modules/mail/js/followupflag.js'),
82    new FileAsset('js/messages_controller.js'),
83    new FileAsset('js/doiMenuData.js'),
84    new FileAsset('js/rich_text_editor.js'),
85    new FileAsset('../prototype/modules/filters/filters.js'),
86    new FileAsset('../prototype/modules/mail/js/label.js'),
87    new FileAsset('js/init.js')
88));
89
90if (strpos($javaVersion,"java version") !== false){
91    //$filterManager->set('yui_js', $compressor);   
92    //$scripts->ensureFilter($filterManager->get('yui_js'));   
93}
94
95$scriptsCache = new AssetCache($scripts,new FilesystemCache('/tmp'));
96echo $scriptsCache->dump();
97?>
Note: See TracBrowser for help on using the repository browser.