/** * 生成语言包js * * @author mrmsl <*****@*****.**> * @date 2012-07-04 08:35:38 * @lastmodify 2013-01-27 14:14:23 by mrmsl * * @return void 无返回值 */ public function createAction() { require CORE_PATH . 'functions/dir.php'; create_dir(WEB_JS_LANG_PATH); $loop_arr = array('admin' => LANG_PATH, str_replace('modules/admin/', 'modules/' . FRONT_MODULE_NAME . '/', LANG_PATH)); foreach ($loop_arr as $key => $item) { $lang_arr = scand_dir($item); //语言包 foreach ($lang_arr as $k => $v) { $lang = is_file($filename = SYS_LANG_PATH . $k . '.php') ? include $filename : array(); foreach ($v as $file) { $lang = array_merge($lang, array_change_key_case(include $file, CASE_UPPER)); } array2js($lang, 'L', WEB_JS_LANG_PATH . (is_string($key) ? $key . '.' : '') . $k . '.js'); } } }
/** * 生成语言项js文件 * * @author mrmsl <*****@*****.**> * @date 2013-06-20 10:56:55 * * @param array $data js语言项数据 * * @return void 无返回值 */ private function _buildScriptItems($data) { if ($data) { $js_data = array(); $lang_arr = C('LANGUAGE_ARR'); foreach ($data as $k => $v) { if (!in_array($k, $lang_arr)) { list($module, $lang) = explode('.', $k); $js_data[$k] = array_merge($data[$k], $data[$lang]); } } foreach ($js_data as $filename => $content) { array2js($content, 'L', WEB_JS_LANG_PATH . $filename . '.js'); } } }
/** * 写System.js * * @author mrmsl <*****@*****.**> * @date 2013-05-20 21:52:36 * * @param array $js_data js数据 * @param array $system_data 系统数据。默认null, 取sys_config() * * @return void 无返回值 */ protected function _writeSystemJsData($js_data, $system_data = null) { $system_data = null === $system_data ? sys_config() : $system_data; //管理员,留言,评论模块是开启验证码 foreach (array('guestbook', 'comments') as $item) { foreach (array('enable', 'order', 'case') as $v) { $js_data['module_' . $item . '_verifycode_' . $v] = get_verifycode_setting('module_' . $item, $v); } } array2js($js_data, 'System', WWWROOT . $system_data['sys_base_js_path'] . 'System.js'); }
<script type="text/javascript"> if($.browser.msie) { alert('Sorry, IE still handles object tags kind of stupidly, so this demo won\'t work for you yet. Try it in Firefox, it\'s pretty cool :)'); } else { var s = new DUI.Stream(); if ($("#cached").length == 0) { s.listen('image/png', function(payload) { $('#image_data').append('<object type="image/png" data="data:image/gif;base64,' + payload + '" width="48" height="48"></object>'); }); s.listen('complete', function() { var images = <?php echo array2js($images); ?> ; imgs = ""; for (var i = 0; i < images.length; i++) { imgs += '<img src="' + images[i] + '?cache=MXHR" width="48" height="48" style="visibility:hidden"/>'; } $(document.body).append(imgs); }); s.load('testAdvancedImageData.php'); } } </script>