This commit is contained in:
joyqi 2017-11-03 10:19:47 +08:00
parent cf002bb0c0
commit fee8bcc63c
8 changed files with 77 additions and 78 deletions

View File

@ -153,7 +153,7 @@ $baeDbPassword = "getenv('HTTP_BAE_ENV_SK')";
<option value="utf8"<?php if (_r('dbCharset') == 'utf8'): ?> selected<?php endif; ?>>utf8</option>
<option value="utf8mb4"<?php if (_r('dbCharset') == 'utf8mb4'): ?> selected<?php endif; ?>>utf8mb4</option>
</select>
<p class="description"><?php _e('选择一个数据库编码, utf8mb4 编码至少需要 MySQL 5.5.3 版本'); ?></p>
<p class="description"><?php _e('选择 utf8mb4 编码至少需要 MySQL 5.5.3 版本'); ?></p>
</li>
<li>
@ -162,5 +162,4 @@ $baeDbPassword = "getenv('HTTP_BAE_ENV_SK')";
<option value="MyISAM"<?php if (_r('dbEngine') == 'MyISAM'): ?> selected<?php endif; ?>>MyISAM</option>
<option value="InnoDB"<?php if (_r('dbEngine') == 'InnoDB'): ?> selected<?php endif; ?>>InnoDB</option>
</select>
<p class="description"><?php _e('请根据需要选择一种数据库引擎'); ?></p>
</li>

View File

@ -21,13 +21,13 @@ CREATE TABLE `typecho_comments` (
`coid` int(10) unsigned NOT NULL auto_increment,
`cid` int(10) unsigned default '0',
`created` int(10) unsigned default '0',
`author` varchar(200) default NULL,
`author` varchar(150) default NULL,
`authorId` int(10) unsigned default '0',
`ownerId` int(10) unsigned default '0',
`mail` varchar(200) default NULL,
`url` varchar(200) default NULL,
`mail` varchar(150) default NULL,
`url` varchar(150) default NULL,
`ip` varchar(64) default NULL,
`agent` varchar(200) default NULL,
`agent` varchar(150) default NULL,
`text` text,
`type` varchar(16) default 'comment',
`status` varchar(16) default 'approved',
@ -45,8 +45,8 @@ CREATE TABLE `typecho_comments` (
CREATE TABLE `typecho_contents` (
`cid` int(10) unsigned NOT NULL auto_increment,
`title` varchar(200) default NULL,
`slug` varchar(200) default NULL,
`title` varchar(150) default NULL,
`slug` varchar(150) default NULL,
`created` int(10) unsigned default '0',
`modified` int(10) unsigned default '0',
`text` longtext,
@ -74,7 +74,7 @@ CREATE TABLE `typecho_contents` (
CREATE TABLE `typecho_fields` (
`cid` int(10) unsigned NOT NULL,
`name` varchar(200) NOT NULL,
`name` varchar(150) NOT NULL,
`type` varchar(8) default 'str',
`str_value` text,
`int_value` int(10) default '0',
@ -92,10 +92,10 @@ CREATE TABLE `typecho_fields` (
CREATE TABLE `typecho_metas` (
`mid` int(10) unsigned NOT NULL auto_increment,
`name` varchar(200) default NULL,
`slug` varchar(200) default NULL,
`name` varchar(150) default NULL,
`slug` varchar(150) default NULL,
`type` varchar(32) NOT NULL,
`description` varchar(200) default NULL,
`description` varchar(150) default NULL,
`count` int(10) unsigned default '0',
`order` int(10) unsigned default '0',
`parent` int(10) unsigned default '0',
@ -138,8 +138,8 @@ CREATE TABLE `typecho_users` (
`uid` int(10) unsigned NOT NULL auto_increment,
`name` varchar(32) default NULL,
`password` varchar(64) default NULL,
`mail` varchar(200) default NULL,
`url` varchar(200) default NULL,
`mail` varchar(150) default NULL,
`url` varchar(150) default NULL,
`screenName` varchar(32) default NULL,
`created` int(10) unsigned default '0',
`activated` int(10) unsigned default '0',

View File

@ -6,13 +6,13 @@ CREATE SEQUENCE "typecho_comments_seq";
CREATE TABLE "typecho_comments" ( "coid" INT NOT NULL DEFAULT nextval('typecho_comments_seq'),
"cid" INT NULL DEFAULT '0',
"created" INT NULL DEFAULT '0',
"author" VARCHAR(200) NULL DEFAULT NULL,
"author" VARCHAR(150) NULL DEFAULT NULL,
"authorId" INT NULL DEFAULT '0',
"ownerId" INT NULL DEFAULT '0',
"mail" VARCHAR(200) NULL DEFAULT NULL,
"url" VARCHAR(200) NULL DEFAULT NULL,
"mail" VARCHAR(150) NULL DEFAULT NULL,
"url" VARCHAR(150) NULL DEFAULT NULL,
"ip" VARCHAR(64) NULL DEFAULT NULL,
"agent" VARCHAR(200) NULL DEFAULT NULL,
"agent" VARCHAR(150) NULL DEFAULT NULL,
"text" TEXT NULL DEFAULT NULL,
"type" VARCHAR(16) NULL DEFAULT 'comment',
"status" VARCHAR(16) NULL DEFAULT 'approved',
@ -31,8 +31,8 @@ CREATE INDEX "typecho_comments_created" ON "typecho_comments" ("created");
CREATE SEQUENCE "typecho_contents_seq";
CREATE TABLE "typecho_contents" ( "cid" INT NOT NULL DEFAULT nextval('typecho_contents_seq'),
"title" VARCHAR(200) NULL DEFAULT NULL,
"slug" VARCHAR(200) NULL DEFAULT NULL,
"title" VARCHAR(150) NULL DEFAULT NULL,
"slug" VARCHAR(150) NULL DEFAULT NULL,
"created" INT NULL DEFAULT '0',
"modified" INT NULL DEFAULT '0',
"text" TEXT NULL DEFAULT NULL,
@ -58,7 +58,7 @@ CREATE INDEX "typecho_contents_created" ON "typecho_contents" ("created");
--
CREATE TABLE "typecho_fields" ("cid" INT NOT NULL,
"name" VARCHAR(200) NOT NULL,
"name" VARCHAR(150) NOT NULL,
"type" VARCHAR(8) NULL DEFAULT 'str',
"str_value" TEXT NULL DEFAULT NULL,
"int_value" INT NULL DEFAULT '0',
@ -76,10 +76,10 @@ CREATE INDEX "typecho_fields_float_value" ON "typecho_fields" ("float_value");
CREATE SEQUENCE "typecho_metas_seq";
CREATE TABLE "typecho_metas" ( "mid" INT NOT NULL DEFAULT nextval('typecho_metas_seq'),
"name" VARCHAR(200) NULL DEFAULT NULL,
"slug" VARCHAR(200) NULL DEFAULT NULL,
"name" VARCHAR(150) NULL DEFAULT NULL,
"slug" VARCHAR(150) NULL DEFAULT NULL,
"type" VARCHAR(16) NOT NULL DEFAULT '',
"description" VARCHAR(200) NULL DEFAULT NULL,
"description" VARCHAR(150) NULL DEFAULT NULL,
"count" INT NULL DEFAULT '0',
"order" INT NULL DEFAULT '0',
"parent" INT NULL DEFAULT '0',
@ -116,8 +116,8 @@ CREATE SEQUENCE "typecho_users_seq";
CREATE TABLE "typecho_users" ( "uid" INT NOT NULL DEFAULT nextval('typecho_users_seq') ,
"name" VARCHAR(32) NULL DEFAULT NULL,
"password" VARCHAR(64) NULL DEFAULT NULL,
"mail" VARCHAR(200) NULL DEFAULT NULL,
"url" VARCHAR(200) NULL DEFAULT NULL,
"mail" VARCHAR(150) NULL DEFAULT NULL,
"url" VARCHAR(150) NULL DEFAULT NULL,
"screenName" VARCHAR(32) NULL DEFAULT NULL,
"created" INT NULL DEFAULT '0',
"activated" INT NULL DEFAULT '0',

View File

@ -1,13 +1,13 @@
CREATE TABLE typecho_comments ( "coid" INTEGER NOT NULL PRIMARY KEY,
"cid" int(10) default '0' ,
"created" int(10) default '0' ,
"author" varchar(200) default NULL ,
"author" varchar(150) default NULL ,
"authorId" int(10) default '0' ,
"ownerId" int(10) default '0' ,
"mail" varchar(200) default NULL ,
"url" varchar(200) default NULL ,
"mail" varchar(150) default NULL ,
"url" varchar(150) default NULL ,
"ip" varchar(64) default NULL ,
"agent" varchar(200) default NULL ,
"agent" varchar(150) default NULL ,
"text" text ,
"type" varchar(16) default 'comment' ,
"status" varchar(16) default 'approved' ,
@ -17,8 +17,8 @@ CREATE INDEX typecho_comments_cid ON typecho_comments ("cid");
CREATE INDEX typecho_comments_created ON typecho_comments ("created");
CREATE TABLE typecho_contents ( "cid" INTEGER NOT NULL PRIMARY KEY,
"title" varchar(200) default NULL ,
"slug" varchar(200) default NULL ,
"title" varchar(150) default NULL ,
"slug" varchar(150) default NULL ,
"created" int(10) default '0' ,
"modified" int(10) default '0' ,
"text" text ,
@ -38,7 +38,7 @@ CREATE UNIQUE INDEX typecho_contents_slug ON typecho_contents ("slug");
CREATE INDEX typecho_contents_created ON typecho_contents ("created");
CREATE TABLE "typecho_fields" ("cid" INTEGER NOT NULL,
"name" varchar(200) NOT NULL,
"name" varchar(150) NOT NULL,
"type" varchar(8) default 'str',
"str_value" text,
"int_value" int(10) default '0',
@ -50,10 +50,10 @@ CREATE INDEX typecho_fields_int_value ON typecho_fields ("int_value");
CREATE INDEX typecho_fields_float_value ON typecho_fields ("float_value");
CREATE TABLE typecho_metas ( "mid" INTEGER NOT NULL PRIMARY KEY,
"name" varchar(200) default NULL ,
"slug" varchar(200) default NULL ,
"name" varchar(150) default NULL ,
"slug" varchar(150) default NULL ,
"type" varchar(32) NOT NULL ,
"description" varchar(200) default NULL ,
"description" varchar(150) default NULL ,
"count" int(10) default '0' ,
"order" int(10) default '0' ,
"parent" int(10) default '0');
@ -72,10 +72,10 @@ CREATE TABLE typecho_relationships ( "cid" int(10) NOT NULL ,
CREATE UNIQUE INDEX typecho_relationships_cid_mid ON typecho_relationships ("cid", "mid");
CREATE TABLE typecho_users ( "uid" INTEGER NOT NULL PRIMARY KEY,
"name" varchar(32) default NULL ,
"name" varchar(32) default NULL ,
"password" varchar(64) default NULL ,
"mail" varchar(200) default NULL ,
"url" varchar(200) default NULL ,
"mail" varchar(150) default NULL ,
"url" varchar(150) default NULL ,
"screenName" varchar(32) default NULL ,
"created" int(10) default '0' ,
"activated" int(10) default '0' ,

View File

@ -212,8 +212,8 @@ Typecho_Date::setTimezoneOffset($options->timezone);
$db->query('CREATE TABLE ' . $prefix . 'users_' . $uuid . ' ( "uid" INTEGER NOT NULL PRIMARY KEY,
"name" varchar(32) default NULL ,
"password" varchar(64) default NULL ,
"mail" varchar(200) default NULL ,
"url" varchar(200) default NULL ,
"mail" varchar(150) default NULL ,
"url" varchar(150) default NULL ,
"screenName" varchar(32) default NULL ,
"created" int(10) default \'0\' ,
"activated" int(10) default \'0\' ,
@ -227,8 +227,8 @@ Typecho_Date::setTimezoneOffset($options->timezone);
$db->query('CREATE TABLE ' . $prefix . 'users ( "uid" INTEGER NOT NULL PRIMARY KEY,
"name" varchar(32) default NULL ,
"password" varchar(64) default NULL ,
"mail" varchar(200) default NULL ,
"url" varchar(200) default NULL ,
"mail" varchar(150) default NULL ,
"url" varchar(150) default NULL ,
"screenName" varchar(32) default NULL ,
"created" int(10) default \'0\' ,
"activated" int(10) default \'0\' ,
@ -250,24 +250,24 @@ Typecho_Date::setTimezoneOffset($options->timezone);
//do nothing
}
//将slug字段长度增加到200
//将slug字段长度增加到150
try {
switch (true) {
case false !== strpos($adapterName, 'Mysql'):
$db->query("ALTER TABLE `" . $prefix . "contents` MODIFY COLUMN `slug` varchar(200)", Typecho_Db::WRITE);
$db->query("ALTER TABLE `" . $prefix . "metas` MODIFY COLUMN `slug` varchar(200)", Typecho_Db::WRITE);
$db->query("ALTER TABLE `" . $prefix . "contents` MODIFY COLUMN `slug` varchar(150)", Typecho_Db::WRITE);
$db->query("ALTER TABLE `" . $prefix . "metas` MODIFY COLUMN `slug` varchar(150)", Typecho_Db::WRITE);
break;
case false !== strpos($adapterName, 'Pgsql'):
$db->query('ALTER TABLE "' . $prefix . 'contents" ALTER COLUMN "slug" TYPE varchar(200)', Typecho_Db::WRITE);
$db->query('ALTER TABLE "' . $prefix . 'metas" ALTER COLUMN "slug" TYPE varchar(200)', Typecho_Db::WRITE);
$db->query('ALTER TABLE "' . $prefix . 'contents" ALTER COLUMN "slug" TYPE varchar(150)', Typecho_Db::WRITE);
$db->query('ALTER TABLE "' . $prefix . 'metas" ALTER COLUMN "slug" TYPE varchar(150)', Typecho_Db::WRITE);
break;
case false !== strpos($adapterName, 'SQLite'):
$uuid = uniqid();
$db->query('CREATE TABLE ' . $prefix . 'contents' . $uuid . ' ( "cid" INTEGER NOT NULL PRIMARY KEY,
"title" varchar(200) default NULL ,
"slug" varchar(200) default NULL ,
"title" varchar(150) default NULL ,
"slug" varchar(150) default NULL ,
"created" int(10) default \'0\' ,
"modified" int(10) default \'0\' ,
"text" text ,
@ -284,8 +284,8 @@ Typecho_Date::setTimezoneOffset($options->timezone);
$db->query('INSERT INTO ' . $prefix . 'contents' . $uuid . ' SELECT * FROM ' . $prefix . 'contents', Typecho_Db::WRITE);
$db->query('DROP TABLE ' . $prefix . 'contents', Typecho_Db::WRITE);
$db->query('CREATE TABLE ' . $prefix . 'contents ( "cid" INTEGER NOT NULL PRIMARY KEY,
"title" varchar(200) default NULL ,
"slug" varchar(200) default NULL ,
"title" varchar(150) default NULL ,
"slug" varchar(150) default NULL ,
"created" int(10) default \'0\' ,
"modified" int(10) default \'0\' ,
"text" text ,
@ -305,19 +305,19 @@ Typecho_Date::setTimezoneOffset($options->timezone);
$db->query('CREATE INDEX ' . $prefix . 'contents_created ON ' . $prefix . 'contents ("created")', Typecho_Db::WRITE);
$db->query('CREATE TABLE ' . $prefix . 'metas' . $uuid . ' ( "mid" INTEGER NOT NULL PRIMARY KEY,
"name" varchar(200) default NULL ,
"slug" varchar(200) default NULL ,
"name" varchar(150) default NULL ,
"slug" varchar(150) default NULL ,
"type" varchar(32) NOT NULL ,
"description" varchar(200) default NULL ,
"description" varchar(150) default NULL ,
"count" int(10) default \'0\' ,
"order" int(10) default \'0\' )', Typecho_Db::WRITE);
$db->query('INSERT INTO ' . $prefix . 'metas' . $uuid . ' SELECT * FROM ' . $prefix . 'metas', Typecho_Db::WRITE);
$db->query('DROP TABLE ' . $prefix . 'metas', Typecho_Db::WRITE);
$db->query('CREATE TABLE ' . $prefix . 'metas ( "mid" INTEGER NOT NULL PRIMARY KEY,
"name" varchar(200) default NULL ,
"slug" varchar(200) default NULL ,
"name" varchar(150) default NULL ,
"slug" varchar(150) default NULL ,
"type" varchar(32) NOT NULL ,
"description" varchar(200) default NULL ,
"description" varchar(150) default NULL ,
"count" int(10) default \'0\' ,
"order" int(10) default \'0\' )', Typecho_Db::WRITE);
$db->query('INSERT INTO ' . $prefix . 'metas SELECT * FROM ' . $prefix . 'metas' . $uuid, Typecho_Db::WRITE);
@ -732,8 +732,8 @@ Typecho_Date::setTimezoneOffset($options->timezone);
case false !== strpos($adapterName, 'SQLite'):
$uuid = uniqid();
$db->query('CREATE TABLE ' . $prefix . 'contents_tmp ( "cid" INTEGER NOT NULL PRIMARY KEY,
"title" varchar(200) default NULL ,
"slug" varchar(200) default NULL ,
"title" varchar(150) default NULL ,
"slug" varchar(150) default NULL ,
"created" int(10) default \'0\' ,
"modified" int(10) default \'0\' ,
"text" text ,
@ -755,8 +755,8 @@ Typecho_Date::setTimezoneOffset($options->timezone);
"allowPing", "allowFeed", "parent" FROM ' . $prefix . 'contents', Typecho_Db::WRITE);
$db->query('DROP TABLE ' . $prefix . 'contents', Typecho_Db::WRITE);
$db->query('CREATE TABLE ' . $prefix . 'contents ( "cid" INTEGER NOT NULL PRIMARY KEY,
"title" varchar(200) default NULL ,
"slug" varchar(200) default NULL ,
"title" varchar(150) default NULL ,
"slug" varchar(150) default NULL ,
"created" int(10) default \'0\' ,
"modified" int(10) default \'0\' ,
"text" text ,
@ -1030,7 +1030,7 @@ Typecho_Date::setTimezoneOffset($options->timezone);
$config = $db->getConfig();
$db->query("CREATE TABLE `{$prefix}fields` (
`cid` int(10) unsigned NOT NULL,
`name` varchar(200) NOT NULL,
`name` varchar(150) NOT NULL,
`type` varchar(8) default 'str',
`str_value` text,
`int_value` int(10) default '0',
@ -1043,7 +1043,7 @@ Typecho_Date::setTimezoneOffset($options->timezone);
case false !== strpos($adapterName, 'Pgsql'):
$db->query('CREATE TABLE "' . $prefix . 'fields" ("cid" INT NOT NULL,
"name" VARCHAR(200) NOT NULL,
"name" VARCHAR(150) NOT NULL,
"type" VARCHAR(8) NULL DEFAULT \'str\',
"str_value" TEXT NULL DEFAULT NULL,
"int_value" INT NULL DEFAULT \'0\',
@ -1056,7 +1056,7 @@ Typecho_Date::setTimezoneOffset($options->timezone);
case false !== strpos($adapterName, 'SQLite'):
$db->query('CREATE TABLE "' . $prefix . 'fields" ("cid" INTEGER NOT NULL,
"name" varchar(200) NOT NULL,
"name" varchar(150) NOT NULL,
"type" varchar(8) default \'str\',
"str_value" text,
"int_value" int(10) default \'0\',
@ -1134,10 +1134,10 @@ Typecho_Date::setTimezoneOffset($options->timezone);
case false !== strpos($adapterName, 'SQLite'):
$uuid = uniqid();
$db->query('CREATE TABLE ' . $prefix . 'metas' . $uuid . ' ( "mid" INTEGER NOT NULL PRIMARY KEY,
"name" varchar(200) default NULL ,
"slug" varchar(200) default NULL ,
"name" varchar(150) default NULL ,
"slug" varchar(150) default NULL ,
"type" varchar(32) NOT NULL ,
"description" varchar(200) default NULL ,
"description" varchar(150) default NULL ,
"count" int(10) default \'0\' ,
"order" int(10) default \'0\' ,
"parent" int(10) default \'0\')', Typecho_Db::WRITE);
@ -1145,10 +1145,10 @@ Typecho_Date::setTimezoneOffset($options->timezone);
SELECT "mid", "name", "slug", "type", "description", "count", "order" FROM ' . $prefix . 'metas', Typecho_Db::WRITE);
$db->query('DROP TABLE ' . $prefix . 'metas', Typecho_Db::WRITE);
$db->query('CREATE TABLE ' . $prefix . 'metas ( "mid" INTEGER NOT NULL PRIMARY KEY,
"name" varchar(200) default NULL ,
"slug" varchar(200) default NULL ,
"name" varchar(150) default NULL ,
"slug" varchar(150) default NULL ,
"type" varchar(32) NOT NULL ,
"description" varchar(200) default NULL ,
"description" varchar(150) default NULL ,
"count" int(10) default \'0\' ,
"order" int(10) default \'0\' ,
"parent" int(10) default \'0\')', Typecho_Db::WRITE);

View File

@ -66,20 +66,20 @@ class Widget_Feedback extends Widget_Abstract_Comments implements Widget_Interfa
$validator->addRule('author', 'required', _t('必须填写用户名'));
$validator->addRule('author', 'xssCheck', _t('请不要在用户名中使用特殊字符'));
$validator->addRule('author', array($this, 'requireUserLogin'), _t('您所使用的用户名已经被注册,请登录后再次提交'));
$validator->addRule('author', 'maxLength', _t('用户名最多包含200个字符'), 200);
$validator->addRule('author', 'maxLength', _t('用户名最多包含150个字符'), 150);
if ($this->options->commentsRequireMail && !$this->user->hasLogin()) {
$validator->addRule('mail', 'required', _t('必须填写电子邮箱地址'));
}
$validator->addRule('mail', 'email', _t('邮箱地址不合法'));
$validator->addRule('mail', 'maxLength', _t('电子邮箱最多包含200个字符'), 200);
$validator->addRule('mail', 'maxLength', _t('电子邮箱最多包含150个字符'), 150);
if ($this->options->commentsRequireUrl && !$this->user->hasLogin()) {
$validator->addRule('url', 'required', _t('必须填写个人主页'));
}
$validator->addRule('url', 'url', _t('个人主页地址格式错误'));
$validator->addRule('url', 'maxLength', _t('个人主页地址最多包含200个字符'), 200);
$validator->addRule('url', 'maxLength', _t('个人主页地址最多包含150个字符'), 150);
$validator->addRule('text', 'required', _t('必须填写评论内容'));
@ -186,11 +186,11 @@ class Widget_Feedback extends Widget_Abstract_Comments implements Widget_Interfa
$validator = new Typecho_Validate();
$validator->addRule('url', 'required', 'We require all Trackbacks to provide an url.')
->addRule('url', 'url', 'Your url is not valid.')
->addRule('url', 'maxLength', 'Your url is not valid.', 200)
->addRule('url', 'maxLength', 'Your url is not valid.', 150)
->addRule('text', 'required', 'We require all Trackbacks to provide an excerption.')
->addRule('author', 'required', 'We require all Trackbacks to provide an blog name.')
->addRule('author', 'xssCheck', 'Your blog name is not valid.')
->addRule('author', 'maxLength', 'Your blog name is not valid.', 200);
->addRule('author', 'maxLength', 'Your blog name is not valid.', 150);
$validator->setBreak();
if ($error = $validator->run($trackback)) {

View File

@ -36,7 +36,7 @@ class Widget_Register extends Widget_Abstract_Users implements Widget_Interface_
$validator->addRule('mail', 'required', _t('必须填写电子邮箱'));
$validator->addRule('mail', array($this, 'mailExists'), _t('电子邮箱地址已经存在'));
$validator->addRule('mail', 'email', _t('电子邮箱格式错误'));
$validator->addRule('mail', 'maxLength', _t('电子邮箱最多包含200个字符'), 200);
$validator->addRule('mail', 'maxLength', _t('电子邮箱最多包含64个字符'), 64);
/** 如果请求中有password */
if (array_key_exists('password', $_REQUEST)) {

View File

@ -2147,7 +2147,7 @@ class Widget_XmlRpc extends Widget_Abstract_Contents implements Widget_Interface
'created' => $this->options->time,
'agent' => $this->request->getAgent(),
'ip' => $this->request->getIp(),
'author' => $finalTitle,
'author' => Typecho_Common::subStr($finalTitle, 0, 150, '...'),
'url' => Typecho_Common::safeUrl($source),
'text' => $finalText,
'ownerId' => $post->author->uid,