| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347 | <php>    if (!function_exists('_get_system_widget')) {        function _get_system_widget($name){</php><switch name="name">    <case value="CmfHub">        <div class="panel panel-default">            <div class="panel-heading">                <h3 class="panel-title">交流方式</h3>            </div>            <div class="panel-body home-info">                <ul class="list-unstyled">                    <li>                        <em>官网</em> <span><a href="http://www.thinkcmf.com" target="_blank">www.thinkcmf.com</a></span>                    </li>                    <li><em>QQ 群</em> <span>100828313,316669417</span></li>                    <li><em>联系邮箱</em> <span>catman@thinkcmf.com</span></li>                </ul>            </div>        </div>    </case>    <case value="CmfDocuments">        <div class="panel panel-default">            <div class="panel-heading">                <h3 class="panel-title">开发手册</h3>            </div>            <div class="panel-body home-info">                <ul class="list-unstyled">                    <li>                        <em>完全开发手册</em>                        <span>                            <a class="label label-success" href="http://www.thinkcmf.com/doc.html"                               target="_blank">立即阅读</a>                        </span>                    </li>                    <li>                        <em>常见问题手册</em>                        <span>                            <a class="label label-success" href="http://www.thinkcmf.com/faq.html"                               target="_blank">立即阅读</a>                        </span>                    </li>                    <li>                        <em>模板开发教程</em>                        <span>                            <a class="label label-success" href="http://www.thinkcmf.com/theme_tutorial.html"                               target="_blank">立即阅读</a>                        </span>                    </li>                    <li>                        <em>API开发手册</em>                        <span>                            <a class="label label-success" href="http://www.thinkcmf.com/cmf5api.html"                               target="_blank">立即阅读</a>                        </span>                    </li>                </ul>            </div>        </div>    </case>    <case value="MainContributors">        <div class="panel panel-default">            <div class="panel-heading">                <h3 class="panel-title">主要贡献者</h3>            </div>            <div class="panel-body home-info">                <ul class="list-inline">                    <li>老猫</li>                    <li>Sam</li>                    <li>Tuolaji</li>                    <li>睡不醒的猪</li>                    <li>小夏</li>                    <li>Powerless</li>                    <li>WelKinVan</li>                    <li>Kane</li>                    <li>iYting</li>                    <li>pl125</li>                    <li>五五</li>                </ul>            </div>        </div>    </case>    <case value="Contributors">        <div class="panel panel-default">            <div class="panel-heading">                <h3 class="panel-title">贡献者</h3>            </div>            <div class="panel-body home-info">                <ul class="list-inline">                    <li>Kin Ho</li>                    <li><a href="https://www.wzxaini9.cn/" target="_blank">Powerless</a></li>                    <li>Jess</li>                    <li>木兰情</li>                    <li>Labulaka</li>                    <li><a href="http://www.syousoft.com/" target="_blank">WelKinVan</a></li>                    <li><a href="http://blog.sina.com.cn/u/1918098881" target="_blank">Jeson</a></li>                    <li>Yim</li>                    <li><a href="http://www.jamlee.cn/" target="_blank">Jamlee</a></li>                    <li>香香咸蛋黄</li>                    <li><a href="http://www.xdmeng.cn" target="_blank">小凯</a></li>                    <li>Co</li>                    <li>Rainfer</li>                    <li><a href="http://www.yaoweixiu.cn/" target="_blank">Kane</a></li>                    <li>北岸的云</li>                    <li>pl125</li>                    <li><a href="http://www.wuwuseo.com/" target="_blank">五五</a></li>                    <li><a href="https://www.qdcrazy.cc/" target="_blank">惠达浪</a></li>                </ul>            </div>        </div>    </case></switch><php>        }    }</php><include file="public@header"/><style>    .home-info li em {        float: left;        width: 120px;        font-style: normal;        font-weight: bold;    }    .home-info ul {        padding: 0;        margin: 0;    }    .panel {        margin-bottom: 0;    }    .grid-sizer {        width: 10%;    }    .grid-item {        margin-bottom: 5px;        padding: 5px;    }    .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {        padding-left: 5px;        padding-right: 5px;        float: none;    }</style><hook name="admin_before_head_end"/></head><body><div class="wrap">    <empty name="has_smtp_setting">        <div class="grid-item col-md-12">            <div class="alert alert-danger alert-dismissible fade in" role="alert" style="margin-bottom: 0;">                <button type="button" class="close" data-dismiss="alert" aria-label="Close">                    <span aria-hidden="true">×</span>                </button>                <strong>提示!</strong> 邮箱配置未完成,无法进行邮件发送!                <a href="#" data-dismiss="alert" aria-label="Close"                   onclick="parent.openapp('{:url('Mailer/index')}','admin_mailer_index','邮箱配置');">现在设置</a>            </div>        </div>    </empty>    <if condition="!extension_loaded('fileinfo')">        <div class="grid-item col-md-12">            <div class="alert alert-danger alert-dismissible fade in" role="alert" style="margin-bottom: 0;">                <button type="button" class="close" data-dismiss="alert" aria-label="Close">                    <span aria-hidden="true">×</span>                </button>                <strong>提示!</strong> php_fileinfo扩展没有开启,无法正常上传文件!            </div>        </div>    </if>    <div class="grid-item col-md-12" id="thinkcmf-notices-grid" style="display:none;">        <div class="dashboard-box">            <div class="panel panel-default">                <div class="panel-heading">                    <h3 class="panel-title">{:lang('SYSTEM_NOTIFICATIONS')}</h3>                </div>                <div class="panel-body home-info">                    <ul id="thinkcmf-notices" class="list-unstyled">                        <li>                            <img src="__TMPL__/public/assets/images/loading.gif" style="vertical-align: middle;"/>                            <span style="display: inline-block; vertical-align: middle;">加载中...</span>                        </li>                    </ul>                </div>            </div>        </div>    </div>    <div class="home-grid">        <!-- width of .grid-sizer used for columnWidth -->        <div class="grid-sizer"></div>        <foreach name="dashboard_widgets" item="vo">            <if condition="$vo.is_system">                <div class="grid-item col-md-12" data-system="1" data-widget="{$vo.name}">                    <div class="dashboard-box">{:_get_system_widget($vo.name)}</div>                </div>                <else/>                <present name="dashboard_widget_plugins[$vo['name']]">                    <div class="grid-item col-md-{$dashboard_widget_plugins[$vo['name']]['width']}" data-system="0"                         data-widget="{$vo.name}">                        <div class="dashboard-box">{$dashboard_widget_plugins[$vo.name]['view']}</div>                    </div>                </present>            </if>        </foreach>    </div></div><script src="__STATIC__/js/admin.js"></script><php>    $lang_set=defined('LANG_SET')?LANG_SET:'';    $thinkcmf_version=cmf_version();</php><script>    Wind.css('dragula');    Wind.use('masonry', 'imagesloaded', 'dragula', function () {        var $homeGrid = $('.home-grid').masonry({            // set itemSelector so .grid-sizer is not used in layout            itemSelector: '.grid-item',            // use element for option            columnWidth: '.grid-sizer',            percentPosition: true,            horizontalOrder: false,            transitionDuration: 0        });        $homeGrid.masonry('on', 'layoutComplete', function (event, laidOutItems) {        });        $homeGrid.masonry();        var containers = [];        $('.home-grid .grid-item').each(function () {            containers.push(this);        });        dragula(containers, {            isContainer: function (el) {                return false; // only elements in drake.containers will be taken into account            },            moves: function (el, source, handle, sibling) {                return true; // elements are always draggable by default            },            accepts: function (el, target, source, sibling) {                return true; // elements can be dropped in any of the `containers` by default            },            invalid: function (el, handle) {                return false; // don't prevent any drags from initiating by default            },            direction: 'vertical',             // Y axis is considered when determining where an element would be dropped            copy: false,                       // elements are moved by default, not copied            copySortSource: false,             // elements in copy-source containers can be reordered            revertOnSpill: false,              // spilling will put the element back where it was dragged from, if this is true            removeOnSpill: false,              // spilling will `.remove` the element, if this is true            mirrorContainer: document.body,    // set the element that gets mirror elements appended            ignoreInputTextSelection: true     // allows users to select input text, see details below        }).on('drop', function (el, target, source, sibling) {            var $target          = $(target);            var targetClasses    = $target.attr('class');            var targetDataWidget = $target.data('widget');            var targetDataSystem = $target.data('system');            var $source          = $(source);            var sourceClasses    = $source.attr('class');            var sourceDataWidget = $source.data('widget');            var sourceDataSystem = $source.data('system');            $(source).append($(target).find('.dashboard-box').not('.gu-transit'));            $(target).append(el);            $target.attr('class', sourceClasses);            $target.data('widget', sourceDataWidget);            $target.data('system', sourceDataSystem);            $source.attr('class', targetClasses);            $source.data('widget', targetDataWidget);            $source.data('system', targetDataSystem);            $homeGrid.masonry();            _widgetSort();        }).on('shadow', function (el, container, source) {            $homeGrid.masonry();        });    });    function _widgetSort() {        var widgets = [];        $('.home-grid .grid-item').each(function () {            var $this = $(this);            widgets.push({                name: $this.data('widget'),                is_system: $this.data('system')            });        });        $.ajax({            url: "{:url('main/dashboardWidget')}",            type: 'post',            dataType: 'json',            data: {widgets: widgets},            success: function (data) {            },            error: function () {            },            complete: function () {            }        });    }    //获取官方通知    $.getJSON("//www.thinkcmf.com/service/sms_jsonp.php?lang={$lang_set}&v={$thinkcmf_version}&callback=?",        function (data) {            var tpl      = '<li><em class="title"></em><span class="content"></span></li>';            var $notices = $("#thinkcmf-notices");            $notices.empty();            if (data.length > 0) {                $('#thinkcmf-notices-grid').show();                $.each(data, function (i, n) {                    var $tpl = $(tpl);                    $(".title", $tpl).html(n.title);                    $(".content", $tpl).html(n.content);                    $notices.append($tpl);                });            } else {                $notices.append("<li>^_^,{:lang('NO_NOTICE')}~~</li>");            }        });</script><hook name="admin_before_body_end"/></body></html>
 |