publicCDNSelcet){ case 0: @define('PUBLIC_CDN',serialize(Handsome_Config::$BOOT_CDN)); break; case 1: @define('PUBLIC_CDN',serialize(Handsome_Config::$BAIDU_CDN)); break; case 2: @define('PUBLIC_CDN',serialize(Handsome_Config::$SINA_CDN)); break; case 3: @define('PUBLIC_CDN',serialize(Handsome_Config::$QINIU_CDN)); break; case 4: @define('PUBLIC_CDN',serialize(Handsome_Config::$JSDELIVR_CDN)); break; case 5: @define('PUBLIC_CDN',serialize(Handsome_Config::$CAT_CDN)); break; default: @define('PUBLIC_CDN',serialize(Handsome_Config::$SINA_CDN)); break; } } } /** * 随机选取背景颜色 * @return mixed */ public static function getBackgroundColor(){ $colors = array( array('#673AB7', '#512DA8'), array('#20af42', '#1a9c39'), array('#336666', '#2d4e4e'), array('#2e3344', '#232735') ); $randomKey = array_rand($colors, 1); $randomColor = $colors[$randomKey]; return $randomColor; } /** * 输出用户欢迎信息 * @return string */ public static function useIntro(){ self::$version = self::returnHandsomeVersion(); $version = (string)self::$version; $randomColor = self::getBackgroundColor(); Handsome::initCdnSetting(); $PUBLIC_CDN_ARRAY = unserialize(PUBLIC_CDN); $db = Typecho_Db::get(); $backupInfo = ""; if ($db->fetchRow($db->select()->from ('table.options')->where ('name = ?', 'theme:HandsomePro-X-Backup'))){ $backupInfo = '
数据库存在主题数据备份
'; }else{ $backupInfo = '
没有主题数据备份
'; } return <<
您好
欢迎使用handsome主题,点击查看一封信
Handsome {$version} Pro
公告信息
检查更新中……
{$backupInfo}
更新说明
获取更新内容失败,请稍后重试
EOF; } /** * 检查更新逻辑 * @return string */ public static function checkupdatejs(){ //self::$version = self::returnHandsomeVersion(); $current_version = self::$version; //echo $current_version; Handsome::initCdnSetting(); $PUBLIC_CDN_ARRAY = unserialize(PUBLIC_CDN); $options = mget(); $blog_url = $options->rootUrl; return << EOF; } /** * 返回handsome主题的信息(版本号和介绍),以便进行检查和显示 * @return mixed */ public static function returnHandsomeVersion(){ $version = ""; $themes = null; Typecho_Widget::widget('Widget_Themes_List')->to($themes); while($themes->next()){ if ($themes->name == 'handsome'){ $version = $themes->version; break; } } if (trim($version) == ""){ $version = "5.0.0"; } return $version; } /** * 输出到后台外观设置的css * @return string */ public static function styleoutput(){ $randomColor = self::getBackgroundColor(); //$randomColor[0] = "#fff"; return << /*后台外观全局控制*/ .mdui-panel-item-sub-header{ color: #999; margin-left: 25px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .typecho-option span{ display: block; } .description { margin: .5em 0 0; color: #999; font-size: .92857em; } .description:hover{ color:#333; transition: 0.3s; } .checking{ margin-top: 10px; } #update_notification { margin-top: 10px; } button.btn.primary { display: none; } .mdui-btn[class*=mdui-color-]:hover, .mdui-fab[class*=mdui-color-]:hover { opacity: .87; background: #00BCD4; } label.settings-subtitle { color: #999; font-size: 10px; font-weight: normal; } .settingsbutton{ margin-bottom:10px; display:block } .settingsbutton a{ margin-right: 10px; } @media screen and (min-device-width: 1024px) { ::-webkit-scrollbar-track { background-color: rgba(255,255,255,0); } ::-webkit-scrollbar { width: 6px; background-color: rgba(255,255,255,0); } ::-webkit-scrollbar-thumb { border-radius: 3px; background-color: rgba(193,193,193,1); } } .row { margin: 0px; } code, pre, .mono { background: #e8e8e8; } #use-intro { box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); background-color: #fff; margin: 8px; padding: 8px; padding-left: 20px; margin-bottom: 40px; } .message{ background-color:{$randomColor[0]} !important; color:#fff; } .success{ background-color:{$randomColor[0]}; color:#fff; } #typecho-nav-list{display:none;} .typecho-head-nav { padding: 0 10px; background: {$randomColor[0]}; } .typecho-head-nav .operate a{ border: none; padding-top: 0px; padding-bottom: 0px; color: rgba(255,255,255,.6); } .typecho-head-nav .operate a:hover { background-color: rgba(0, 0, 0, 0.05); color: #fff; } ul.typecho-option-tabs.fix-tabs.clearfix { background: {$randomColor[1]}; } .col-mb-12 { padding: 0px!important; } .typecho-page-title { margin:0; height: 70px; background: {$randomColor[0]}; background-size: cover; padding: 30px; } .typecho-page-title h2{ margin: 0px; font-size: 2.28571em; color: #fff; } .typecho-option-tabs{ padding: 0px; background: #fff; } .typecho-option-tabs a:hover{ background-color: rgba(0, 0, 0, 0.05); color: rgba(255,255,255,.8); } .typecho-option-tabs a{ border: none; height: auto; color: rgba(255,255,255,.6); padding: 15px; } li.current { background-color: #FFF; height: 4px; padding: 0 !important; bottom: 0px; } .typecho-option-tabs li.current a, .typecho-option-tabs li.active a{ background:none; } .container{ margin:0; padding:0; } .body.container { min-width: 100% !important; padding: 0px; } .typecho-option-tabs{ margin:0; } .typecho-option-submit button { float: right; background: #00BCD4; box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); color: #FFF; } .typecho-option-tabs li{ margin-left:20px; } .typecho-option{ border-radius: 3px; background: #fff; padding: 12px 16px; } .col-mb-12{ padding-left: 0px!important; } .typecho-option-submit{ background:none!important; } .typecho-option { float: left; } .typecho-option span { margin-right: 0; } .typecho-option label.typecho-label { font-weight: 500; margin-bottom: 10px; margin-top: 10px; font-size: 16px; padding-bottom: 5px; border-bottom: 1px solid rgba(0,0,0,0.2); } .typecho-page-main .typecho-option input.text { width: 100%; } input[type=text], textarea { border: none; border-bottom: 1px solid rgba(0,0,0,.60); outline: none; border-radius: 0; } .typecho-option-submit { position: fixed; right: 32px; bottom: 32px; } .typecho-foot { padding: 16px 40px; color: rgb(158, 158, 158); background-color: rgb(66, 66, 66); margin-top: 80px; } .typecho-option .description{ font-weight: normal; } @media screen and (max-width: 480px){ .typecho-option { width: 94% !important; margin-bottom: 20px !important; } } /*大标题样式控制*/ label.typecho-label.settings-title{ font-size: 30px; font-weight: bold; border: none; } .settings-title:hover { text-decoration: underline; } .appearanceTitle{ float: inherit; margin-bottom: 0px; box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12); background-color: #fff; margin: 8px 1%; padding: 8px 2%; width: 94%; display: table; background-color: #f6f8f8; } /*组件大小为94%*/ .length-94{ box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12); background-color: #fff; margin: 8px 1%; padding: 8px 2%; width: 94%; margin-bottom:20px; } /*组件大小为60%*/ .length-60{ box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12); background-color: #fff; margin: 8px 1%; padding: 8px 2%; width: 60%; } /*组件大小为44%*/ .length-44{ box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12); background-color: #fff; margin: 8px 1%; padding: 8px 2%; width: 44%; margin-bottom: 30px; } /*组件大小为27%*/ .length-27{ box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12); background-color: #fff; margin: 8px 1%; padding: 8px 2%; width: 27.333%; margin-bottom: 40px; } /*组件大小为29%*/ .length-29 { box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); background-color: #fff; margin: 8px 1%; padding: 8px 2%; width: 29%; } /*组件大小为59%*/ .length-59{ box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); background-color: #fff; margin: 8px 1%; padding: 8px 2%; width: 59%; margin-bottom: 30px; } #typecho-option-item-BGtype-2 { margin-bottom: 0px; } #typecho-option-item-bgcolor-4 { margin-bottom: 20px; } #typecho-option-item-BlogJob-10 { margin-bottom: 55px; } #typecho-option-item-titleintro-8{ margin-bottom: 50px; } EOF; } /** * 输出到后台编辑器的js和css * @return string */ public static function outputEditorJS(){ $options = mget(); if (!defined('THEME_URL')){//主题目录的绝对地址 define("THEME_URL", rtrim(preg_replace('/^'.preg_quote($options->siteUrl, '/').'/', $options->rootUrl.'/', $options->themeUrl, 1),'/').'/'); } $themeUrl = THEME_URL; $url = $themeUrl.'libs/Get.php'; $versionPrefix = Handsome::$version.Handsome::$versionTag; Handsome::$times ++; self::initCdnSetting(); $PUBLIC_CDN_ARRAY = unserialize(PUBLIC_CDN); return " "; } public static function returnCheckHtml(){ return <<