This commit is contained in:
fen 2013-12-17 11:19:45 +08:00
commit f52d4c88a7
6 changed files with 46 additions and 78 deletions

View File

@ -594,10 +594,11 @@ Typecho_Db::set(\$db);
<h2><?php _e('安装说明'); ?></h2>
<p><strong><?php _e('本安装程序将自动检测服务器环境是否符合最低配置需求. 如果不符合, 将在上方出现提示信息, 请按照提示信息检查您的主机配置. 如果服务器环境符合要求, 将在下方出现 "开始下一步" 的按钮, 点击此按钮即可一步完成安装.'); ?></strong></p>
<h2><?php _e('许可及协议'); ?></h2>
<p><?php _e('Typecho 基于 <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> 协议发布,我们允许用户在 GPL 协议许可的范围内使用,拷贝,修改和分发此程序.
您可以自由地将其用于商业以及非商业用途.'); ?></p>
<p><?php _e('Typecho 软件由其社区提供支持,核心开发团队负责维护程序日常开发工作以及新特性的制定.如果您遇到使用上的问题,
程序中的 BUG,以及期许的新功能,欢迎您在社区中交流或者直接向我们贡献代码.对于贡献突出者,他的名字将出现在贡献者名单中.'); ?></p>
<p><?php _e('Typecho 基于 <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> 协议发布, 我们允许用户在 GPL 协议许可的范围内使用, 拷贝, 修改和分发此程序.'); ?>
<?php _e('在GPL许可的范围内您可以自由地将其用于商业以及非商业用途.'); ?></p>
<p><?php _e('Typecho 软件由其社区提供支持, 核心开发团队负责维护程序日常开发工作以及新特性的制定.'); ?>
<?php _e('如果您遇到使用上的问题, 程序中的 BUG, 以及期许的新功能, 欢迎您在社区中交流或者直接向我们贡献代码.'); ?>
<?php _e('对于贡献突出者, 他的名字将出现在贡献者名单中.'); ?></p>
</div>
<p class="submit"><button type="submit" class="primary"><?php _e('我准备好了, 开始下一步 &raquo;'); ?></button></p>
</form>

View File

@ -2,8 +2,6 @@
#define root directory
DIR=../
TINYMCE=3_2_2
#update subversion
update:
@ -11,8 +9,8 @@ update:
rm -Rf build/
git clone https://github.com/typecho/typecho-replica.git build
rm -Rf build/.git
rm -Rf build/.gitignore
rm -Rf build/.gitattributes
rm -f build/.gitignore
rm -f build/.gitattributes
for i in `find build/ -name '*.css'`; do echo $$i && java -Xmx32m -jar yuicompressor-2.4.2.jar $$i --charset UTF-8 -o $$i; done;
for i in `find build/admin/js/ -name '*.js'`; do echo $$i && java -Xmx32m -jar yuicompressor-2.4.2.jar $$i --charset UTF-8 -o $$i; done;
for i in `find build/ -name '*.php'`; do php -l $$i; done;
@ -21,10 +19,10 @@ update:
package:
@echo 'package'
rm -Rf build/tools/
rm -Rf build/todo.txt
rm -Rf build/changelog.txt
rm -Rf build/.travis.yml
rm -Rf build/README.md
rm -f build/todo.txt
rm -f build/changelog.txt
rm -f build/.travis.yml
rm -f build/README.md
rm -Rf build/admin/scss
rm -Rf build/admin/img/editor
rm -Rf build/admin/img/icons
@ -59,10 +57,10 @@ theme:
install:
make update
rm -Rf build/tools/
rm -Rf build/todo.txt
rm -Rf build/changelog.txt
rm -Rf build/.travis.yml
rm -Rf build/README.md
rm -f build/todo.txt
rm -f build/changelog.txt
rm -f build/.travis.yml
rm -f build/README.md
rm -Rf build/admin/scss
rm -Rf build/admin/img/editor
rm -Rf build/admin/img/icons
@ -73,6 +71,12 @@ install:
make clear
pot:
cd ../ && php tools/list.php ./ > tools/files.txt
cd ../ && xgettext --files-from=tools/files.txt -Lphp --from-code=UTF-8 --keyword=_t --keyword=_e --keyword=_n:1,2 --no-location --copyright-holder=Typecho --package-name=Typecho --package-version=`grep -E "VERSION = '(.*)'" ./var/Typecho/Common.php | cut -d "'" -f 2` --no-wrap --output=tools/messages.pot
rm -f files.txt
all:
make update
make package

View File

@ -6,68 +6,31 @@ if (!isset($argv[1])) {
exit(1);
}
//获取一个目录下的文件
function mgGetFile($inpath, $trim = false,$stamp = NULL)
{
$file = array();
/**
* 获取所有文件
*
* @param string $dir
* @param string $pattern
* @return array
*/
function all_files($dir, $pattern = '*') {
$result = array();
if(!is_dir($inpath))
{
return $file;
}
$items = glob($dir . '/' . $pattern, GLOB_BRACE);
foreach ($items as $item) {
if (is_file($item)) {
$result[] = $item;
}
}
$handle=opendir($inpath);
if(NULL != $stamp)
{
$stamp = explode("|",$stamp);
}
while ($tmp = readdir($handle))
{
if(file_exists($inpath."/".$tmp) && eregi("^([_@0-9a-zA-Z\x80-\xff\^\.\%-]{0,})[\.]([0-9a-zA-Z]{1,})$",$tmp,$file_name))
{
if($stamp != NULL && in_array($file_name[2],$stamp))
{
$file[] = $trim ? $file_name[0] : $file_name[1];
}
else if($stamp == NULL)
{
$file[] = $trim ? $file_name[0] : $file_name[1];
}
}
}
closedir($handle);
return $file;
}
//获取一个目录下的目录
function mgGetDir($inpath)
{
$handle=opendir($inpath);
$dir = array();
while ($tmp = readdir($handle))
{
if(is_dir($inpath."/".$tmp) && $tmp != ".." && $tmp != "." && 0 !== stripos($tmp,'.'))
{
$dir[] = $tmp;
}
}
closedir($handle);
return $dir;
}
function listFile($inpath, $stamp)
{
$files = mgGetFile($inpath, true, $stamp);
$dirs = mgGetDir($inpath);
if ($dirs) {
foreach ($dirs as $dir) {
$files = array_merge($files, listFile($dir, $stamp));
$items = glob($dir . '/*', GLOB_ONLYDIR);
foreach ($items as $item) {
if (is_dir($item)) {
$result = array_merge($result, all_files($item, $pattern));
}
}
return $files;
return $result;
}
echo implode("\n", listFile($argv[1], 'php'));
echo implode("\n", all_files($argv[1], '*.php'));

View File

@ -621,7 +621,7 @@ class Widget_Archive extends Widget_Abstract_Contents
$src = parse_url($permalink);
$target = parse_url($requestUrl);
if ($src['host'] != $target['host'] || $src['path'] != $target['path']) {
if ($src['host'] != $target['host'] || urldecode($src['path']) != urldecode($target['path'])) {
$this->response->redirect($permalink, true);
}
}

View File

@ -110,7 +110,7 @@ class Widget_Users_Edit extends Widget_Abstract_Users implements Widget_Interfac
/** 用户密码 */
$password = new Typecho_Widget_Helper_Form_Element_Password('password', NULL, NULL, _t('用户密码'), _t('为此用户分配一个密码.')
. '<br />' . _t('建议使用特殊字符与字母的混编样式,以增加系统安全性.'));
. '<br />' . _t('建议使用特殊字符与字母、数字的混编样式,以增加系统安全性.'));
$password->input->setAttribute('class', 'w-60');
$form->addInput($password);

View File

@ -211,7 +211,7 @@ class Widget_Users_Profile extends Widget_Users_Edit implements Widget_Interface
/** 用户密码 */
$password = new Typecho_Widget_Helper_Form_Element_Password('password', NULL, NULL, _t('用户密码'), _t('为此用户分配一个密码.')
. '<br />' . _t('建议使用特殊字符与字母的混编样式,以增加系统安全性.'));
. '<br />' . _t('建议使用特殊字符与字母、数字的混编样式,以增加系统安全性.'));
$password->input->setAttribute('class', 'w-60');
$form->addInput($password);