static function sort($id, $url, $next = 'tbody') { core_js('jquery'); core_js('jquery.ui'); if ($next) { $nextStr = "ui.helper.find('td').css({'width':ui.helper.find('td').attr('width')}); "; } js_code(" \n\t\t\t\tvar node_form_sort;\n\t\t\t\tvar fixHelper = function(e, ui) {\n\t\t\t ui.children().each(function() {\n\t\t\t \$(this).width(\$(this).width()); \n\t\t\t });\n\t\t\t return ui;\n\t\t\t };\n\t\t \t \t\$( '" . $id . " " . $next . "' ).sortable({ \n\t\t\t\thelper: fixHelper,\n\t\t\t\tstart:function(e, ui){ \n\t\t\t\t\tnode_form_sort=\$('" . $id . "').serialize();\n\t\t ui.helper.addClass('highlight'); \n\t\t " . $nextStr . " \n\t\t return ui; \n\t\t }, \n\t\t stop:function(e, ui){ \n\t\t ui.item.removeClass('highlight'); \n\t\t if(\$('" . $id . "').serialize() == node_form_sort ) return false; \n\t\t \$.post('" . $url . "', \$('" . $id . "').serialize(),function(data) {\n\t\t\t\t\t \t\$('.flash-message').html('" . __('success') . "').show().fadeOut(3000);\n\t\t\t\t });\n\t\t return ui; \n\t\t } \t\n\t\t\t}).sortable('serialize'); "); }
function run() { if ($this->options) { $opts = CJavaScript::encode($this->options); } $base = publish(dirname(__FILE__) . '/assets'); core_js('jquery'); js($base . '/imagesloaded.js'); if (!$this->tag) { return; } js_code('Imagesloaded_' . $this->tag, " \n \t\t\t\$('" . $this->tag . "').imagesLoaded({$opts}); \n \t\t"); }
function run() { if ($this->params) { $opts = CJavaScript::encode($this->params); } $base = publish(dirname(__FILE__) . '/select2-3.3.2'); core_js('jquery'); css($base . '/select2.css'); js($base . '/select2.js'); if (!$this->tag) { return; } js_code('select2_' . $this->tag, " \n \t\t\t\$('" . $this->tag . "').select2({$opts}); \n \t\t"); }
function run() { if ($this->params) { $opts = CJavaScript::encode($this->params); } $base = publish(dirname(__FILE__) . '/redactor'); core_js('jquery'); css($base . '/redactor.css'); //script($base.'/redactor.js'); js($base . '/redactor.zh.js'); if (!$this->tag) { return; } js_code('redactor_' . $this->tag, " \n \t\t\t\$('" . $this->tag . "').redactor({$opts}); \n \t\t"); }
function run() { if ($this->multi === false) { $this->max = 1; } $base = publish(dirname(__FILE__) . '/assets'); core_js('jquery'); core_js('jquery.ui'); js($base . '/browserplus-min.js'); js($base . '/plupload.full.js'); $this->url = url('admin/plupload/index'); $container = 'c_' . md5(uniqid()) . mt_rand(0, 900000); $filelist = 'f_' . md5(uniqid()) . mt_rand(0, 900000); $pickfiles = 'p_' . md5(uniqid()) . mt_rand(0, 900000); js_code("\n \t\t\tvar uploader_" . md5($this->field) . " = new plupload.Uploader({\n\t\truntimes : 'gears,html5,flash,silverlight,browserplus',\n\t\tbrowse_button : '" . $pickfiles . "',\n\t\tcontainer : '" . $container . "',\n\t\tmultipart_params:{field:'" . $this->field . "'},\n\t\tmax_file_size : '" . $this->max_file_size . "',\n\t\tmulti_selection:'" . $this->multi . "',\n\t\turl : '" . $this->url . "',\n\t\tflash_swf_url : '" . $base . "/plupload.flash.swf',\n\t\tsilverlight_xap_url : '" . $base . "plupload.silverlight.xap',\n\t\tfilters : [\n\t\t\t{title : \"" . __('choice file') . "\", extensions : \"" . $this->ext . "\"} \n\t\t],\n\t \n\t});\n\n \n\n\t\$('#uploadfiles').click(function(e) {\n\t\tuploader_" . md5($this->field) . ".start();\n\t\te.preventDefault();\n\t});\n\n\tuploader_" . md5($this->field) . ".init();\n\n\tuploader_" . md5($this->field) . ".bind('FilesAdded', function(up, files) {\n\t\tif (up.files.length > " . $this->max . ") {\n\t\t\talert('" . __('not allow upload') . "');\n return false;\n }\n\t\t\$.each(files, function(i, file) {\n\t\t\t\$('#" . $filelist . "').append(\n\t\t\t\t'<div id=\"' + file.id + '\">' +\n\t\t\t\tfile.name + ' (' + plupload.formatSize(file.size) + ') <b></b>' +\n\t\t\t'</div>');\n\t\t\tuploader_" . md5($this->field) . ".start(); \n\t\t});\n\t\t\n\t\tup.refresh(); // Reposition Flash/Silverlight\n\t});\n\n\tuploader_" . md5($this->field) . ".bind('UploadProgress', function(up, file) {\n\t\t\$('#' + file.id + \" b\").html(file.percent + \"%\");\n\t});\n\n\tuploader_" . md5($this->field) . ".bind('Error', function(up, err) {\n\t\t\$('#" . $filelist . "').append(\"<div>Error: \" + err.code +\n\t\t\t\", Message: \" + err.message +\n\t\t\t(err.file ? \", File: \" + err.file.name : \"\") +\n\t\t\t\"</div>\"\n\t\t);\n\n\t\tup.refresh(); // Reposition Flash/Silverlight\n\t});\n\tuploader_" . md5($this->field) . ".bind('FileUploaded', function(up, file,data) { \n\t\tdata = eval(data);\n\t\tdata = data.response; \n\t \t\$('#" . $filelist . "').append(data); \n\t\t\$('#' + file.id + \" \").html(\"\");\n\t\tplupload_after_" . md5($this->field) . "();\n\t});\n\tplupload_after_" . md5($this->field) . "();\n\tfunction plupload_after_" . md5($this->field) . "(){\n\t\t\$('#" . $container . " .file .icon-remove').click(function(){\n\t\t\t\$(this).parent('div.file:first').remove();\n\t\t});\n\t\t\n\t\t\$( '#" . $filelist . "' ).sortable();\n }\n \t\t"); $this->render('index', array('container' => $container, 'filelist' => $filelist, 'field' => $this->field, 'values' => $this->values, 'pickfiles' => $pickfiles, 'info' => $this->info)); }
/** * * Example : * * <code> * widget('icheck' , array( * 'skin'=>'flat', * 'color'=>'blue' * )); *</code> */ function run() { $this->options['checkboxClass'] = $this->options['checkboxClass'] ? $this->options['checkboxClass'] : 'icheckbox_' . $this->skin; $this->options['radioClass'] = $this->options['radioClass'] ? $this->options['radioClass'] : 'iradio_' . $this->skin; if ($this->color) { $this->options['checkboxClass'] .= "-" . $this->color; $this->options['radioClass'] .= "-" . $this->color; } $opts = CJavaScript::encode($this->options); $base = publish(dirname(__FILE__) . '/assets'); core_js('jquery'); js_code("\$('" . $this->tag . "').iCheck({$opts});"); $skin = $this->skin . "/" . $this->skin; $color = $this->skin . "/" . $this->color; css($base . '/skins/' . $skin . '.css'); css($base . '/skins/' . $color . '.css'); css($base . '/skins/flat/blue.css'); js($base . '/jquery.icheck.min.js'); }
function run() { if ($this->options) { $opts = CJavaScript::encode($this->options); } $base = publish(dirname(__FILE__) . '/assets'); core_js('jquery'); css($base . '/jquery.fancybox.css?v=2.1.5'); css($base . '/jquery.fancybox-buttons.css?v=1.0.5'); css($base . '/jquery.fancybox-thumbs.css?v=1.0.7'); js($base . '/jquery.mousewheel-3.0.6.pack.js'); js($base . '/jquery.fancybox.pack.js?v=2.1.5'); js($base . '/jquery.fancybox-buttons.js?v=1.0.5'); js($base . '/jquery.fancybox-media.js?v=1.0.6'); js($base . '/jquery.fancybox-thumbs.js?v=1.0.7'); if (!$this->tag) { return; } js_code("\n \t\t\t\$('" . $this->tag . "').fancybox({$opts}); \n \t\t"); }
/** * masonry/scroll images * * Example masonry: * * <code> * <?php * widget('masonry' , array('tag'=>'#masonry')); * css(" * #masonry li{ * list-style:none; * float:left; * margin-rigth:10px; * } * "); * ?> * <div id='masonry'> * <ul> * <?php for($j=1;$j<=50;$j++){?> * <?php for($i=1;$i<=6;$i++){?> * <li class='item'> * <?php echo image("upload/t/{$i}.jpg" , array( 'resize' => array(120)));?> * </li> * <?php }?> * <?php }?> * </ul> * </div> * </code> * Example scroll: * <code> * <?php * $data = \application\core\DB::pagination('file'); * $count = $data->pages->itemCount; * $size = $data->pages->pageSize; * $models = $data->models; * widget('masonry' , array( * 'tag'=>'#masonry', * 'scroll'=>true * )); * css(" * #masonry li{ * list-style:none; * float:left; * margin-rigth:10px; * } * "); * ?> * <div id='masonry'> * <ul> * <?php foreach($models as $v){?> * <li class='item'> * <?php echo image($v['path'] , array( 'resize' => array(120)));?> * </li> * <?php }?> * </ul> * </div> *</code> * * Example scroll 2: * * <code> * use application\core\Pagination; * $size = 20; * $arr = Pagination::img($post->img , $size); * $models = $arr['models']; * $pages = $arr['pages']; * $count = $arr['count']; * echo \application\core\Pagination::next($count,$size); * </code> */ function run() { core_js('jquery'); $base = publish(dirname(__FILE__) . '/assets'); $tag = $this->tag; $bottom = $this->bottom ? $this->bottom : true; $itemSelector = $this->itemSelector ? $this->itemSelector : '.item'; if (!$this->options['itemSelector']) { $this->options['itemSelector'] = $itemSelector; } $opts = CJavaScript::encode($this->options); if ($this->scroll === true) { if (true === $this->css) { css_code("\n\t\t\t\t#infscr-loading div{} \n\t\t\t\t\t\t#infscr-loading{clear:both; position: absolute;padding-left:10px;\n\t\t\t\t\t\tbottom: -25px;width: 200px;}#infscr-loading img{float: left;margin-right: 5px;}"); } if (!$this->options['loading']['img']) { $this->options['loading']['img'] = $base . "/ajax-loader.gif"; } if (!$this->options['loading']['msgText']) { $this->options['loading']['msgText'] = __('loading content……'); } if (!$this->options['loading']['finishedMsg']) { $this->options['loading']['finishedMsg'] = __('it is over'); } if (!$this->options['dataType']) { $this->options['dataType'] = 'html'; } if (!$this->options['navSelector']) { $this->options['navSelector'] = 'div.pagination'; } if (!$this->options['nextSelector']) { $this->options['nextSelector'] = 'div.pagination a'; } if (!$this->options['itemSelector']) { $this->options['itemSelector'] = $itemSelector; } $infinitescrollOpts = CJavaScript::encode($this->options); widget("imagesloaded", array('tag' => null)); js_code("\n\t\t\t\tvar \$container = \$('" . $tag . "');\n\t\t \t\t\$container.imagesLoaded(function(){\n\t\t\t \$container.masonry({$opts});\n\t\t\t }); \n\t\t\t\tvar \$container = \$('" . $tag . "');\n\t\t\t\t\t\$container.infinitescroll(" . $infinitescrollOpts . ", \n\t\t\t\t function( newElements ) { \n\t\t\t\t var \$newElems = \$( newElements ).css({ opacity: 0 });\n\t\t\t \$newElems.imagesLoaded(function(){\n\t\t\t \$newElems.animate({ opacity: 1 });\n\t\t\t \$container.masonry( 'applicationended', \$newElems, true ); \n\t\t\t });\n\n\t\t\t\t }\n\t\t\t\t); \n\t\t\t"); js($base . '/jquery.infinitescroll.js'); } else { js_code("\n\t\t\t\tvar \$container = \$('" . $tag . "');\n\t\t \t\t\$container.imagesLoaded(function(){\n\t\t\t \$container.masonry({$opts});\n\t\t\t }); \n\t\t\t"); } js($base . '/jquery.masonry.min.js'); js($base . '/jquery.imagesloaded.min.js'); }
$this->endWidget(); ?> <?php /** * 字段类型 使用AJAX * 数据库表名及字段名 */ $rows = CDB('SHOW TABLES')->queryAll(); foreach ($rows as $v) { $mysql_table = ArrHelper::first($v); if (in_array($mysql_table, array('node_field', 'node_content'))) { continue; } $row = CDB("SHOW COLUMNS FROM {$mysql_table}")->queryAll(); foreach ($row as $k) { $f = $k['Field']; if (!in_array($f, array('uid', 'created', 'id', 'updated', 'language_id', 'vid', 'sort', 'display')) && strpos($f, 'id') === false) { $ajax_str .= "'" . $mysql_table . '.' . $f . "',"; } } } $ajax_str = substr($ajax_str, 0, -1); /** * ajax 自动完成的验证规则 */ $ruels_default = "'required:1','length: min:3 max:12'"; js_code("\n\tfunction init_type(v){ \n\t\t\$.post('" . url('node/field/ajax') . "',{id:v},function(data){ \n\t\t\t\$('#ajax').html(data);\n\t\t\tjQuery('#NodeField_relation').autocomplete({'minLength':'1','source':[" . $ajax_str . "]});\n\t\t\t\n\t\t});\n\t}\n\tinit_type(\$('#NodeField_type').val());\n\t\$('#NodeField_type').change(function(){ \n\t\tinit_type( \$(this).val() );\n\t});\n\tjQuery('#NodeField_rules').autocomplete({'minLength':'1','source':[" . $ruels_default . "]});\n"); core_js('jquery.ui'); $cssCoreUrl = Yii::app()->getClientScript()->getCoreScriptUrl(); css($cssCoreUrl . '/jui/css/base/jquery-ui.css');
<!DOCTYPE HTML> <head> <meta charset="utf-8"> <?php core_js('jquery'); css(base_url() . '/misc/bootstrap/css/bootstrap.min.css'); css_code("\n \t\t\t.label-default a{color:#fff;}\n \t\t\tlabel{display:block;}\n \t\t\t.label{color:black;}\n \t\t\t#acl label{margin-right:5px;}\n \t\t"); ?> <!--[if lt IE 9]> <script src="<?php echo base_url(); ?> /misc/html5shiv.js"></script> <![endif]--> <title><?php echo __('Install'); ?> </title> </head> <body> <div class="container" id='main'> <?php echo $content; ?> </div> </body> </html>