You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.1 KiB
84 lines
2.1 KiB
<?php |
|
if (!defined('__TYPECHO_ROOT_DIR__')) exit; |
|
/** |
|
* Typecho Blog Platform |
|
* |
|
* @copyright Copyright (c) 2008 Typecho team (http://www.typecho.org) |
|
* @license GNU General Public License 2.0 |
|
* @version $Id$ |
|
*/ |
|
|
|
/** |
|
* 皮肤配置组件 |
|
* |
|
* @author qining |
|
* @category typecho |
|
* @package Widget |
|
* @copyright Copyright (c) 2008 Typecho team (http://www.typecho.org) |
|
* @license GNU General Public License 2.0 |
|
*/ |
|
class Widget_Themes_Config extends Widget_Abstract_Options |
|
{ |
|
/** |
|
* 绑定动作 |
|
* |
|
* @access public |
|
* @return void |
|
* @throws Typecho_Widget_Exception |
|
*/ |
|
public function execute() |
|
{ |
|
$this->user->pass('administrator'); |
|
|
|
if (!self::isExists()) { |
|
throw new Typecho_Widget_Exception(_t('外观配置功能不存在'), 404); |
|
} |
|
} |
|
|
|
/** |
|
* 配置功能是否存在 |
|
* |
|
* @access public |
|
* @return boolean |
|
*/ |
|
public static function isExists() |
|
{ |
|
$options = Typecho_Widget::widget('Widget_Options'); |
|
$configFile = $options->themeFile($options->theme, 'functions.php'); |
|
|
|
if (file_exists($configFile)) { |
|
require_once $configFile; |
|
|
|
if (function_exists('themeConfig')) { |
|
return true; |
|
} |
|
} |
|
|
|
return false; |
|
} |
|
|
|
/** |
|
* 配置外观 |
|
* |
|
* @access public |
|
* @return Typecho_Widget_Helper_Form |
|
*/ |
|
public function config() |
|
{ |
|
$form = new Typecho_Widget_Helper_Form($this->security->getIndex('/action/themes-edit?config'), |
|
Typecho_Widget_Helper_Form::POST_METHOD); |
|
themeConfig($form); |
|
$inputs = $form->getInputs(); |
|
|
|
if (!empty($inputs)) { |
|
foreach ($inputs as $key => $val) { |
|
$form->getInput($key)->value($this->options->{$key}); |
|
} |
|
} |
|
|
|
$submit = new Typecho_Widget_Helper_Form_Element_Submit(NULL, NULL, _t('保存设置')); |
|
$submit->input->setAttribute('class', 'btn primary'); |
|
$form->addItem($submit); |
|
return $form; |
|
} |
|
}
|
|
|