Fatal error: Call to undefined function is_active_module() in /opt/lampp/htdocs/
找了下资料,要是我自己的,就不用这个模板了
1. If you get this error:
Fatal error: Call to undefined function: get_option() in [...]/wp-content/themes/k2/theloop.php on line 28
To fix this, disable all the plugins that load their own version of prototype.js.
这个也太狠了··其他用了prototype的插件都得禁用
I had a slight issue with the 2.2 Wordpress upgrade. I got a “undefined function is_active_module()” from k2. The solution was to run the uninstall k2 function from its options page. Then set the theme as current and all is well.
这个搞得只有两栏目了
I solved the problem with Call to undefined function: is_active_module() and can continue using the sidebar widgets that I love.
It is not clean but, commenting the code that manages asides works.
I have commented the lines 76 to 78 in theloop.php
//if (is_home() and is_active_module(‘asides_sidebar_module’)) {
// $hide_asides = true;
//}
I noticed that I had no problem with sidebar widgets in all the other pages but home.
Now everything works smoothly. Hopefully I will have some time in this century to see how I could save asides, but I do not use them
这个不知道有没有什么后遗症··
Installation
* Copy ‘TechnoBlue’ folder to the ’styles’ folder of TripleK2
* Go to Presentation > K2 Options
* Select technoblue.css as the K2 Scheme
* Click ‘Update Options’ to save
今天开始折腾WP了
要在PHP5里面开启SQLITE支持
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
否则会报告:
Fatal error: Call to undefined function sqlite_open() in xxx.php on line XX
<?php
print_r(PDO::getAvailableDrivers());
$db=sqlite_open(“db.sqlite”); //打开db.sqlite数据库,如果不存在则尝试创建。
sqlite_query($db,”drop table test”);
sqlite_query($db,”create table test (id INTEGER PRIMARY KEY,name text);”); //创建test表,id字段为自动递增主键
sqlite_query($db,”insert into test (name) values(‘hello’);”); //插入一行内容
sqlite_query($db,”insert into test (name) values(‘world’);”);//插入一行内容
$result=sqlite_query($db,”select * from test”); //取得test表的所有内容
while($row=sqlite_fetch_array($result)) { //通过while循环表中所有内容
print “”;
print_r($row);
print “”;
}
sqlite_close($db);//关闭数据库的连接
?>
输出:
Array ( [0] => mysql [1] => sqlite [2] => sqlite2 ) Array ( [0] => 1 [id] => 1 [1] => hello [name] => hello ) Array ( [0] => 2 [id] => 2 [1] => world [name] => world ) ?>
验证完后,按照 http://wordpress.org/extend/plugins/pdo-for-wordpress/installation/
Step 1: unzip the files in your wp-content directory. After unzipping the structure should look like this
wp-content
->plugins
->themes
->pdo
db.php
index.php[maybe]
The key thing is the presence of the pdo directory and the db.php file in the ‘root’ of the wp-content directory.
Step 2: Edit your wp-config.php file so that:
this line of code is placed directly after the define(‘COLLATE’,”); line:
define(‘DB_TYPE’, ’sqlite’); //mysql or sqlite`
Note: currently only mysql and sqlite are supported. I hope that more flavours will appear soon.
标签:php, sql, sqlite, word, wordpress
既然初步决定使用WP,就收集了一些相关的资料
关于SQLITE:
系统环境依赖要求:
主机php套件必须支持SQLite和PDO扩展(不过放心,常见系统都是完美支持的);SQLite的数据库信息存于独立文件中,该文件及文件夹必须要求读写权限。很简单,就这些要求。
升级更换wordpress数据系统:
这里指出一个简易的方法:首先在wordpress后台中使用“工具-导出”功能导出.xml文件。
然后,下载SQLite的wordpress功能插件-“PDO(SQLite) For Wordpress”,将压缩包中的db.php和pdo文件夹放置到wp-content文件夹中。
然后,编辑wp-config.php文件,在define(‘DB_COLLATE’, ”); 后面加入“define(‘DB_TYPE’,’sqlite’);”。
关于URL重写
进入管理后台,点菜单紧靠右边的“设置”,点选其下的“永久链接”(Permalinks)
点选“自定义,请在下面填入自定义结构”,再其下框里输入:/posts/%post_id%.html
点页面右下按钮“更新永久链接结构>>”保存设置,此时在 Wordpress 的根目录自动生成里一 .htaccess 文件,内容大体如下:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /codemo/wordpress23/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /codemo/wordpress23/index.php [L]
</IfModule>
# END WordPress
刷新下你的 Wordpress 首页,便会发现帖子链接都变成形如:http://www.yyyqi.com/codemo/wordpress23/posts/1.html 的静态页形式了,伪静态顺利实现!
另,其它自定义永久链接写法及对应效果:
0、
Permalinks写法:/%year%/%monthnum%/%postname%/
效果:http://www.yyyqi.com/2007/03/zero-to-riding-the-rails-in-four-months.html
1、
Permalinks写法:/%year%/%monthnum%/%day%/%postname%/
效果:http://www.yyyqi.com/2007/10/14/zero-to-riding-the-rails-in-four-months/
2、
Permalinks写法:/%year%/%monthnum%/%postname%.html
效果:http://www.yyyqi.com/2007/03/zero-to-riding-the-rails-in-four-months.html
3、
Permalinks写法:/%year%/%monthnum%/%day%/%postname%.html
效果:http://www.yyyqi.com/2007/03/15/zero-to-riding-the-rails-in-four-months.html
4、
Permalinks写法:/%category%/%postname%.html
效果:http://www.yyyqi.com/category/zero-to-riding-the-rails-in-four-months.html
关于数据导入导出···
wordpress数据库表基本结构:
wp_options:系统基本设置信息;
wp_users:注册用户基本信息;
wp_usermeta:注册用户附加信息,主要包括权限等设置;
wp_categories: 日记分类,友站链接(blogroll)也包含其中;分类之间也可以有从属关系;公开日记在category_count中计数,私人日记不计数;
wp_links:友站链接(blogroll);
wp_link2cat: 友站链接的分类;
wp_posts:日记,其中的上传的附件和图片也作为其中的记录,不过类别不同,与日记存在从属关系;其中有几个字段好像没用,如: post_category,post_parent
wp_post2cat:日记(包括附件)的分类;
wp_postmeta:日记中的一些附加信息,也包括上传附件的一些附加信息,自定义字段也存在这里,如:Jerome’s Keywords的tag属性就是保存在这里的;
wp_comments:评论,评论的游客的userid为0;
wordpress仅仅用了 10 个 Table就实现了这么强大的系统,让我钦佩:
wp_comments
wp_links
wp_options
wp_postmeta
wp_posts
wp_term_relationships
wp_term_taxonomy
wp_terms
wp_usermeta
wp_users
下面我们按照它们之间的关系来介绍一下这几个表:
按照功能大致分为五类。
* user: 用户信息,包括wp_users表和wp_usermeta表。
* link:链接信息,包括wp_links表。
* post: 文章及评论信息,包括wp_posts、wp_postmeta、wp_comments。
* category,link_category,tag:这个是比较复杂的信息模块,它包含了对分类,链接分类,标签的管理,包括wp_term,wp_term_relationships和wp_term_taxonomy表。
* option: 全局设置信息,包括wp_options表。
wp_posts
作为一个博客系统,最核心的当然是博主发表的一些“文章”了,这些“文章”存放的地方就是这个 wp_posts 表了。注意,这里所说的“文章”是加引号的,因为这个表里存放的除了普通的文章之外,还有附件和页面(page)的一些信息。表里面的 post_type 这个字段就是用来标示类型的。还有一点需要注意的就是,这个表里一些字段是针对于 post_type 的特定类型的,比如 menu_order 这个字段是“页面(page)”特有的,用来指定“页面”的顺序。post_mime_type 是针对附件的,来指定附件的类型。
wp_postmeta
每篇文章的属性是不可能仅仅用 wp_posts 表里的那几个字段来完全标示的,往往还有一些因人而异的属性:写这篇文章时候的心情,地点等等。这些属性的名称和值类型都是不确定的,因此,Wordpress 采用了元信息(meta)来表示它们。这个表很简单,只有 meta_id, post_id, meta_key, meta_value 这四个字段。post_id 是相关 post 的 id。我们注意到 meta_value 是 longtext 类型的,这里仅是用来存储值,至于值的确切类型,需要程序员来关心。
在撰写文章的时候,我们可以发现编辑框下面有一个 Custom Fields 的选项,我们可以在这里添加 post 的 meta 信息。
wp_comments
用户评论。除了评论的内容以外,还记录了评论用户的名字,邮箱,网址,浏览器类型等信息。比较重要的两个字段是 comment_post_ID 和 comment_approved,前一个用来指示这条评论隶属于哪一篇文章,后一个用来记录审核状况。还有一个比较有意思的是这个 commnet_agent 字段,我们可以利用这个字段来统计一下用户浏览器类型。
wp_users
用户帐号表。存储用户名、密码还有一些用户的基本信息。
wp_usermeta
类似上面的 wp_postmeta,存储一些因人而异的用户信息。(比如QQ?ICQ?)
wp_options
用来记录 Wordpress 的一些设置和选项。里面有一个 blog_id 字段,这个应该是用在 MU 版里面来标示不同的 Blog 的。
wp_links
用来存储 Blogroll 里面的链接。
wp_terms
wp_term_relationships
wp_term_taxonomy
这三个表是这里面关系最复杂的了,在 Wordpress 2.2 及以前的版本中是没有这三个表的,代之的是 wp_categories、wp_post2cat 和 wp_link2cat 这三个表。对比这两个版本我们可以发现:在 2.2 版和之前的版本,post 和 link 和 category 的关系都是通过各自单独的表来记录的。而在 2.3 版中加入了 tag 的支持,Wordpress 把 post、link、tag 的分类都抽象成了统一的形式,用新的三个表来记录这些信息。
wp_terms
记录分类,链接分类,标签的一些简要信息,包括名称,缩写。
wp_term_taxonomy
是对wp_terms中的信息的关系信息补充,有所属类型(category,link_category,tag),详细描述,父类,所拥有文章(链接)数量。
wp_term_relationships
关系表,多对多的,object_id是与不同的对象关联,例如wp_posts中的ID(wp_links中的link_id)等,term_taxonomy_id就是关联wp_term_taxonomy中的term_taxonomy_id。
用了这麽久BOBLOG文本版本,主版本早已经升级到MYSQL了。我这个也许久没有动过了,这几天正好练手.NET SQLITE等。就把BLOG备份到SQLITE里面了。所以这段时间也没有更新。不过FEEDSKY订阅居然还增加了几个,真是奇怪。
居然已经2000多了。目前的BOBLOG似乎还撑得住,可是占用的空间越来越大了。因此也想试一试WORDPRESS了。
找了一些资料:
首先看到一个BOBLOG转WORDPRESS的:从Bo-Blog搬家到WordPress全程攻略。发现要数据库版本的BOBLOG,又找了通文本版本升级到数据库版本的·····实在晕
http://www.bo-blog.com/weblog/read.php/343.htm
1. 完整正常安装 Bo-Blog V2.0.1。
2. 安装后进入2.0的后台,到文章管理中删除自动生成的第一篇日志。
3. 到2.0的后台的分类管理中删除自动生成的分类 (如果此时程序报错,请忽略)。
4. 到2.0后台的“数据维护”-“刷新缓存”中,选择“刷新计数器”选项下的“最大ID缓存”,按“确定”。
5. 上传 convert.php 到您安装 1.7 的文件夹下并在浏览器内运行,按照这个程序的指导完成数据转换。
6. 程序在完成数据转换后,会要求您填写数据库的一些信息,此时如实填写,即可将所有数据转入数据库中。
7. 转换完成后,到后台的维护选项中,先刷新所有计数器项目,然后刷新所有缓存。
8. 在2.0里重新设置联合撰写人,重新更改副管理员撰写的日志的作者。
http://bbs.bo-blog.com/thread-7863-1-1.html 这里一堆安装包 2.0.3以下版本升级文件包。
1.首先你得确保你的部落格程序的版本号为1.7.0108.2。
如果程序为非此版本号,请先升级至该版本。
程序升级文件包请访问该连接:http://bbs.bo-blog.com/viewthrea … &extra=page%3D1
2.先将数据备份。这是很重要滴。然后下载1.7~2.0版本的转换程式。
请访问这里获取:http://bbs.bo-blog.com/viewthread.php?tid=2806&extra=page%3D2
3.全新安装一个2.0版本的程序。建议安装版本号为2.0.1 sp1版本的程序。
请访问这里获取:http://bbs.bo-blog.com/viewthread.php?tid=7863&extra=page%3D1
4.然后根据1.7~2.0的转换程式包里面的要求操作。将1.7的数据转换到2.0.1 sp1里。这里是很关键的一步。要仔细操作。转换成功之后后面的工作会比较容易了。
5.如果数据成功完整的转换到2.0.1sp1里,那么接下来就开始从这个版本上往上升级至2.1.1版本。请根据下面的向导操作,各个版本之间不可跳跃式升级。因为每个版本之间的数据库都有较大改动,跳跃式升级会带来不可预想的错误。
2.0.1 sp1 –>2.0.2 sp2 –>2.0.3 beta 1 –>2.0.3 –>2.0.3 sp1 –>2.1.0 –>2.1.1
建议按照该顺序进行升级。在操作前还是要说一句,请仔细阅读文件包内的相关升级说明后再操作。
20090720 wordpress tags 删除
SIMPLE TAGS 修改
SIMPLE TAG功能很强大,可是默认是整个页面搜索TAG,我习惯标题直接放了,并且整个页面搜索内容实在太多,生成的TAG也太多。
修改:D:\PhpNow\htdocs\wp\wp-content\plugins\simple-tags\2.7\inc
simple-tags.admin
// Get objects
global $wpdb;
$objects = (array) $wpdb->get_results(“SELECT p.ID, p.post_title, p.post_title FROM {$wpdb->posts} p WHERE {$post_type_sql} ORDER BY ID DESC LIMIT {$n}, 20″);
直接把P.POST_COMMENT也改为POST_TITLE,让它搜索两次标题
~
突然无法批量从管理页面删除TAG,点击删除后整个页面就白了。刷新返回后,TAG又出现了。找了找资料,看了看数据。折腾下,直接从数据库里面把所有TAG干掉了。
TAG总共关系到三个表
select a.* FROM `wp_term_relationships` a, wp_term_taxonomy b, wp_terms c WHERE a.term_taxonomy_id = b.term_taxonomy_id AND c.term_id = b.term_id AND b.taxonomy = ‘post_tag’ //找出所有TAG
delete
FROM `wp_term_relationships`
WHERE term_taxonomy_id in (select term_taxonomy_id from wp_term_taxonomy
where taxonomy = ‘post_tag’) 删除
可是服务器上居然是MYSQL 4.0,不支持嵌套SELELCT,只好改
select wp_term_relationships.* from wp_term_relationships
LEFT JOIN wp_term_taxonomy ON wp_term_relationships.term_taxonomy_id=wp_term_taxonomy.term_taxonomy_id
where wp_term_relationships.term_taxonomy_id is not NULL and wp_term_taxonomy.taxonomy = ‘post_tag’
wp_term_relationships这是POST ID和term_taxonomy_id关联
SELECT wp_terms . *
FROM wp_terms, wp_term_taxonomy
WHERE wp_terms.term_id = wp_term_taxonomy.term_id
AND wp_term_taxonomy.taxonomy = ‘post_tag’ and wp_terms.term_id >20
wp_term_taxonomy 是 TAG ID和 term_taxonomy_id 关联
wp_terms 存放每个ID的名称等
标签:tag, word, wordpress, 删除20090723 wordpress WP Cleaner
WP Cleaner v1.0.1
用了这个插件手工清除
这个方法好像太麻烦了
关掉wordpress的自动保存(autosave)功能
方法:在wordpress目录/wp-admin/中找到以下四个文件:
post-new.php
page-new.php
post.php
page.php
用文本编辑工具打开后在其中搜索“autosave”(不包括引号),都会在相应位置找到这样的一行:
wp_enqueue_script(‘autosave’);
通过在该行前加入“//”(不包括引号)来将这一行注释掉,保存。
这个方法好像无效
关掉WP自动保存,一劳永逸:
首先,打开你的代码编辑器,我用的是EditPlus(小巧玲珑),把下面的代码粘帖上去。
<?php
/*
Plugin Name: Disable Autosave
*/
function disable_autosave() {
wp_deregister_script(’autosave’);
}
add_action( ‘wp_print_scripts’, ‘disable_autosave’ );
?>
保存为close-wp-autosave.php或者其它名字(字母),但是后缀一定要是.php,然后上传到你网站的plugin目录里,然后去管理页面的插件里激活它。就可以自动生效了
用了个超级切换插件 好像也无效
WordPress 给用户和插件开发者预留了一个参数,WP_POST_REVISIONS,可以让你轻松关闭文章版本管理功能。
你可以直接在 wp-config.php 文件中定义 WP_POST_REVISIONS 这个常量,其共有三个参数:
* true, –1: 默认值,将存储文章每一次的修订;
* false, 0: 不保存任何修订的版本,但自动保存功能依然有效;
* >0 的整数: 最多保留的版本数量,超过此数的版本将被删除。
采用 WordPress API wrapper for .Net.
在POST结构增加
public string mt_keywords; //标签
public string wp_slug; //URL别名
Post pp = new Post();
pp.title = nl.name;
pp.description = nl.txt;
pp.dateCreated = DateTime.Parse(nl.time);
TreeNode[] ts = treeType.Nodes.Find(nl.parent, true);
if (ts.Length > 0)
{
pp.categories = new string[] { ts[0].Text };
}
pp.wp_slug = nl.p;
string[] stags = nl.p.Split(‘-’);
string strtag = “”;
for (int i = 1; i < stags.Length;i++ )
{
strtag = stags[i] + “,” + strtag;
}
pp.mt_keywords = strtag;
string s = wp.NewPost(pp, true);
将别名分拆后组成TAG
然后发布,返回BLOGID号
标签:c++, rpc, word, wordpress, xml
搞了半天,终于搞定了。
由于空间PHP版本的问题,没有办法使用SQLITE
本机很快就已经搭建完成。
数据也很快导入了。
但是发布出现两个问题
1、当部署到服务器的时候,安装插件的时候,发现TAG不正常显示,直接搜索插件也提示出现未知错误。原本是把自己本机弄好的直接上传,因此重新弄了一次。重新进行干净安装。但是奇怪的是,问题还是存在,然后在网吧又是正常的。
由于服务器速度问题,数据导入倒出问题,导致折腾了好几天。
2、数据错位问题,也许由于垃圾留言的影响,导致丢了几个BLOG,结果导入的时候没有发现,直接忽略空白内容,导致错位,标题和内容失配,只好又重新来过,这次在网吧折腾,好像速度会快些。
主题采用的是:Contrast Style 1.1 三栏,因为比较喜欢堆彻东西。
插件用了不少
Antispam Bee 屏蔽垃圾留言的
Akismet 自带反垃圾留言的,但是不知道到哪里去找被它砍掉的留言(上线才半天,报告干掉了24个)
Disable Canonical URL Redirection WP默认首页为不带index.php
Genki Announcement 公告栏
Peter’s Custom Anti-Spam 增加留言验证码
Simple Tags 智能标签,这个比较强大
Some Chinese Please 屏蔽纯洋文留言,上次就被阿拉伯文搞死两个BLOG
Wordpress Thread Comment 嵌套留言
WP-PageNavi 页码导航 但是不能输入
WP-PostViews BLOG点击数
WP-T-Wap WAP插件
WP Kit CN 强大
用来解决官方 WordPress 没有照顾到的中文相关问题。使用这个插件,你可以显示随机文章,最新留言(最新引用),留言最多文章,发表评论最多的网友,还有真正的文章摘要,等等,真正截断,没有乱码。此插件在桑葚基础上修改,支持最新评论显示表情。支持指定最新评论截断字数。使用了对中文兼容更好的截断算法,现在控制字数更精确了。
Genki AnnouncementSCP SettingPageNaviPostViewsWP-T-WAPSimple TagsWP Kit CN
标签:blog, com, http, log, org, page, php, post, sql, sqlite, thread, url, wap, word, wordpress, 上传, 中文, 乱码, 修改, 发布, 安装, 屏蔽, 插件, 搜索, 数据, 服务, 服务器, 比较, 版本, 结果, 部署, 错误, 问题WordPress 2.7 XML-RPC wrapper for .Net
http://www.orbifold.net/default/?p=1721
XML-RPC.Net
http://www.xml-rpc.net/
WordPress 2.5 XML-RPC wrapper for .Net
http://www.orbifold.net/default/?p=1003
Using Wordpress XMLRPC services | PHP Made Simple
http://www.phpmadesimple.info/2009/07/05/using-wordpress-xmlrpc-services/
Weblog Client « WordPress Codex
http://codex.wordpress.org/Weblog_Client
3.4. C# XML-RPC Tutorial
http://www.wordtracker.com/docs/api/ch03s04.html
CodeProject: Coding Blog Engine with MetaWeblog API Support and Using it with Windows Live Writer. Free source code and programming help
http://www.codeproject.com/KB/XML/MetaWeblogAPI.aspx?display=Print
WP-XML-RPCLib2 – SharpLab.
http://blog.sharplab.net/computer/cprograming/wp-xml-rpclib/3015/
WP-XML-RPCLib2 – SharpLab.
http://blog.sharplab.net/computer/cprograming/wp-xml-rpclib/computer/cprograming/wp-xml-rpclib/3015/
CodeProject: Coding Blog Engine with MetaWeblog API Support and Using it with Windows Live Writer. Free source code and programming help
http://www.codeproject.com/KB/XML/MetaWeblogAPI.aspx
MetaWebLog API and Blog Writers – Rick Strahl’s Web Log
http://www.west-wind.com/WebLog/posts/23858.aspx
Windows Live Writer Beta 2 Now Available
http://www.gtrifonov.com/blog/2007/06/06/Windows_Live_Writer_Beta_2_Now_Available.aspx
Coding blog engine with MetaWeblog API support and using it with Windows Live Writer
http://www.gtrifonov.com/blog/2006/11/27/Coding_blog_engine_with_MetaWeblog_API_support_and.aspx
15 Seconds : Programming for the Palm Part 2 – The Synchronization Process
http://www.15seconds.com/Issue/030722.htm
C# blog client
http://www.aspcode.net/C-blog-client.aspx
The MetaBlog API (Creating and Editing Posts)
http://geekswithblogs.net/Tariq/archive/2009/07/05/133264.aspx
public string wp_slug;
XML-RPC Request Format
http://www.tutorialspoint.com/xml-rpc/xml_rpc_request.htm
3.4. C# XML-RPC Tutorial
http://www.wordtracker.com/docs/api/ch03s04.html
原来采用的样式是老外的,黑白感觉太过明显了。花了一点时间找了下,采用了国人的。http://www.yippeesoft.com/yippeesoft/helloflash-bbtheme.php WordPress BBtheme CMS。
基本上用起来了,也调整了一些地方。记录下,方面以后追溯。

Wordpress
WORDPRESS定制之處:
1、D:\PhpNow\htdocs\wp\wp-includes\post.php
//if ( mysql2date(‘U’, $post_date_gmt, false) > mysql2date(‘U’, $now, false) )
// $post_status = ‘future’;
这两行判断时间,进行定时发布,我习惯一天一天累加发布
2、SIMPLE TAGS
D:\PhpNow\htdocs\wp\wp-content\plugins\simple-tags\extras simple-tags.importer.php
importer 函数:
$objects = $wpdb->get_results( “SELECT ID, post_title, post_title FROM {$wpdb->posts} WHERE {$type_posts} ORDER BY ID DESC LIMIT {$n}, 20″ );
原本获得内容,进行比较等。这样生成的TAG非常多。
D:\PhpNow\htdocs\wp\wp-content\plugins\simple-tags\2.7\inc simple-tags.admin.php
pageAutoTags函数
$objects = (array) $wpdb->get_results(“SELECT p.ID, p.post_title, p.post_title FROM {$wpdb->posts} p WHERE {$post_type_sql} ORDER BY ID DESC LIMIT {$n}, 20″);
3、页面部分
single.php
增加 上一篇、下一篇:<div class=”post-title”>
<h1><?php previous_post(); ?> <?php next_post(); ?></h1>
</div>
增加阅读次数:<?php if(function_exists(‘the_views’)) { the_views(); } ?>
right-sidebar.php
增加页面显示计时:<div class=”widget-header”>Post Stats</div>
<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
left-sidebar.php
增加BACKLINKS显示
<div class=”left-widget”>
<?php if(get_option(‘backlinks_key’)) : ?>
<div class=”widget-header”>Partner links</div>
<?php backlinks_links()?>
</div>
<?php endif; ?>
footer.php
增加 备案链接、统计JS代码
archive.php
不显示 目录说明: <?php /* echo category_description(); */?>
增加时间、评论、页面URL、点击次数等
<?php /* the_content(‘read this entry »’); */?>
<?php if(is_category() || is_archive() || is_home() ) {
the_excerpt();
} else {
the_content(‘Read the rest of this entry »’);
} ?>
<div class=”details”><div class=”inside”> <?php the_time(‘F j, Y’); ?> at <?php the_time(‘g:i a’); ?> – <?php comments_popup_link(‘No Comments’, ‘1 Comment’, ‘% Comments’); ?> so far | <a href=”<?php the_permalink() ?>”>Read On »</a> <?php if(function_exists(‘the_views’)) { the_views(); } ?> </div></div>
去除原WP默认的旧条目,改为PAGENAV导航
<!– <?php next_posts_link(‘« old entrys’) ?>
<?php previous_posts_link(‘new entrys »’) ?> –>
<?php wp_pagenavi() ?>
\index.php
增加发布时间显示 <?php the_time(‘Y F j ‘) ?>-<?php the_time(‘g:i a’); ?>
改为摘要显示 <?php /* the_content(‘read the entry »’); */ ?>
<?php if(is_category() || is_archive() || is_home() ) {
the_excerpt();
} else {
the_content(‘Read the rest of this entry »’);
} ?>
<div class=”details”><div class=”inside”> – <?php comments_popup_link(‘No Comments’, ‘1 Comment’, ‘% Comments’); ?> so far | <a href=”<?php the_permalink() ?>”>Read On »</a> <?php if(function_exists(‘the_views’)) { the_views(); } ?> </div></div>
修改导航:<!– <?php next_posts_link(‘« old Posts’) ?>
<?php previous_posts_link(‘new Posts »’) ?>–>
<?php wp_pagenavi() ?>
\header.php
统统改用固定文字,不调用函数
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<title>YippeeSoft开心软件-盛放</title>
<link rel=”stylesheet” href=”http://www.yippeesoft.com/blog/wp-content/themes/contrast-style/style.css” type=”text/css” media=”screen” />
<link rel=”alternate” type=”application/rss+xml” title=”盛放 RSS Feed” href=”http://www.yippeesoft.com/blog/feed” />
<link rel=”pingback” href=”http://www.yippeesoft.com/blog/xmlrpc.php” />
YippeeSoft开心软件-盛放<div id=”sitename”>YippeeSoft开心软件-盛放</div>
define(‘WP_CACHE’, true);
define(‘WP_POST_REVISIONS’, false);
20080201 word 版本 比较
http://www.yippeesoft.com
WORD比较工具-总结
修订标记的方法也好,
但是对于修改WORD文档较大时,
尤其是WORD文档中本身就有带颜色字时,
会把你看的眼花缭乱,
真的很头晕。
经过这两天查找,
我找到以下可以比较WORD文档的工具,
(以下排列无排名,都是最新的版本号):
1。8楼说的Compare It! 3(http://www.grigsoft.com/)
2。Compare Suite 3.0(http://www.comparesuite.com/)
3。DiffDoc3.62(http://www.softinterface.com)
4。Change-Pro 5.0(http://www.change-pro.com/)
4款工具的比较
1。Change-Pro 5.0 找不到下载地址,也没有破解版,不知道好不好用。
2。带有WORD格式(比如字体信息,表格等)的比较
只有DiffDoc3.62,功能强大,但是有时会出错,
由于WORD本身的复杂性,本身有WORD复杂格式的文档,比较后的结果
会很乱。
3。去除WORD格式(比如字体信息,表格等)的比较
有Compare Suite 3.0和Compare It! 3,
Compare Suite 3.0不如Compare It! 3好用,
两个软件的功能基本差不多,
但是Compare Suite 3.0慢,而且需要转换,
Compare It! 3不需要转换,速度较快,
建议使用Compare It! 3
使用建议:
通过我的使用,建议如下:
如果改动小的WORD文档,
使用DiffDoc3.62,
改动大的WORD文档,
使用Compare It! 3。
DiffDoc3.62同时具有比较PDF,TXT,C,XLS,PPT,HTML等文件的功能,
同时可以比较目录,功能前大,很需要有一个这样的工具。
Compare It! 3同时具有比较TXT,C,XLS,PPT,ZIP等文件的功能,
同时可以比较目录,功能简单易用,对于复杂的文档,DiffDoc3.62会很乱或出错的时候,
就很需要它了。
另外Compare It! 3很小1M多,有绿色版,
DiffDoc3.62较大4M多,没有听说有绿色版。
撰写工作报告或是演讲文稿,经常是改了再写,写了再改,有时候甚至需要预备多个版本。通常的做法是将每个版本的文档单独保存为一个文件,相似的文件多了,不仅占用了磁盘空间,而且管理起来也不方便。有没有什么好办法可以解决这个问题呢?当然有!
解决这个问题的关键就是Word 2000/XP的“版本”功能,打开Word 2000/XP的“文件”菜单,可以找到这项不为常人所关注的命令。
提示:Word 2000/XP采用了智能菜单,可以隐藏不常用的命令,所以,如果打开“文件”菜单后找不到“版本”命令,请将菜单完全展开,便可以看到。
以演讲文稿为例,当第一稿录入完毕后,执行“版本”命令,在弹出的窗口中点击“现在保存,紧接着在出现的“保存版本”窗口中输入“第一稿”,如图所示,最后点击“确定”完成保存。
继续编辑文档,当第二稿、第三稿完成后,重复上述操作,不同的是在“保存版本”中输入“第二稿”、“第三稿”。
当需要调用该演讲文稿的早期版本时,再次“版本”命令,单击要打开的版本,再点击 “打开”按钮即可。
如果希望在同一个文档中保存文档的多个版本,务必记得使用“版本”功能。由于Word 2000/XP仅保存版本间的差别而不是每个版本的完整副本,使用这种方法还可节省磁盘空间哦!
技巧:在执行“版本”命令时可以选中“关闭时自动保存版本”复选框,再单击“关闭”,这样每次关闭文档都会自动生成一个备份版本。
ThinkPad X61 – 1 Year Depot Warranty
Description Part number Unit price* Quantity Price*
ThinkPad X61 – 1 Year Depot Warranty
Edit 7675CTO $1,110.00 1 $1,110.00
Processor: Intel® Core™ 2 Duo T7500 NV (2.2GHz, 4MB L2, 800MHz FSB) 1
Operating System: Genuine Windows Vista Home Basic 1
Operating System Language: Genuine Windows Vista Home Basic US English 1
Display: 12.1" XGA TFT, 2×3 Ultraconnect II antenna 1
Total memory: 1 GB PC2-5300 DDR2 SDRAM 667MHz SODIMM Memory (1 DIMM) 1
Keyboard: Keyboard US English 1
Pointing device: TrackPoint 1
Hard Drive: 120GB Hard Disk Drive, 5400rpm Serial ATA (2.5") 1
Wireless card: Intel PRO/Wireless 3945ABG 1
Battery: ThinkPad X60 Series 4 cell Enhanced Capacity Battery 1
Power cord: Country Pack North America 1
Language Pack: Language Pack US English 1
Warranty: 7675: Express – 1 Year Depot Warranty 1
X61BE9
台湾 9500 现货 T7500
2.2G 1G 160G
5400 12.1XGA
(1024*768) Intel X3100
最大共享256M 无 无线蓝牙/指纹/4芯
/Vista
X61BH7
香港 10100 现货 T7500
2.2G 1G 160G
5400 12.1XGA
(1024*768) Intel X3100
最大共享256M 无 无线蓝牙/指纹/4芯
1G讯盘/Vista
ThinkPad X61 – 1 Year Depot Warranty
Description Part number Unit price* Quantity Price*
ThinkPad X61 – 1 Year Depot Warranty
Edit 7675CTO $1,234.00 1 $1,234.00
Processor: Intel® Core™ 2 Duo T7500 NV (2.2GHz, 4MB L2, 800MHz FSB) 1
Operating System: Genuine Windows Vista Home Basic 1
Operating System Language: Genuine Windows Vista Home Basic US English 1
Display: 12.1" XGA TFT, 2×3 Ultraconnect II antenna 1
Total memory: 1 GB PC2-5300 DDR2 SDRAM 667MHz SODIMM Memory (1 DIMM) 1
Keyboard: Keyboard US English 1
Pointing device: TrackPoint 1
Hard Drive: 160GB Hard Disk Drive, 5400rpm Serial ATA (2.5") 1
Intel® Turbo Memory hard drive cache: Intel Turbo Memory 1GB 1
Bluetooth: Integrated Bluetooth PAN 1
Wireless card: Intel PRO/Wireless 3945ABG 1
Battery: ThinkPad X60 Series 4 cell Enhanced Capacity Battery 1
Power cord: Country Pack North America 1
Language Pack: Language Pack US English 1
Warranty: 7675: Express – 1 Year Depot Warranty 1
按当前汇率兑换结果
人民币 当前汇率 美元
8900 0.1391 1,238.3470
至少官方价格和水货只差1000人民币
标签:word, 比较, 版本20070707 MSDE SA PASSWORD 备份 恢复
http://www.yippeesoft.com
打开SQL安装目录里的 MSDE 目录。打开SETUP.INI,加入以下内容:
[Options]
SECURITYMODE=SQL
SAPWD=123?? 这行是密码,重要。
然后运行里面的SETUP.EXE安装。
我都是用批次檔
setup.exe INSTANCENAME="" SAPWD="1234" DISABLENETWORKPROTOCOLS=0 SECURITYMODE=MSSQL
Microsoft 建议, 此问题会带来潜在安全问题。
要确定这是否适用于系统, 尝试登录到 MSDE 通过使用 OSQL 实用程序从命令提示符。 使用下列语法:
C:\\>osql – U sa – P
如果您收到以下消息
对于用户\’sa\’登录失败
sa 密码为空, 不表示系统上不存在问题。
但是, 如果您运行命令后收到以下信息
" > 1 "
安全漏洞适用于系统, 您必须按照下节来更改 sa 密码中步骤。
回到顶端
如何保护具有密码 sa 帐户
可以使用 sp _ password 存储过程来设置为 sa 帐户密码 例如, 要从 NULL 以更改 sa 密码 ": 测试 01", 使用类似于以下代码 !
sp _ EXEC password NULL, \’ 01\’、 \’ sa \’ 测试 !
要设置安全密码上 Microsoft Data Engine (MSDE) \’ sa \’ 帐户, 请按照下列步骤操作: 1. 在命令提示符下, 登录到 MSDE: 如下
C:\\>osql – U sa – P
2. 当收到: 1 " 消息, 通过使用以下命令更改 sa 帐户密码 > "
sp _ EXEC password NULL, 、 \’ sa \’ 测试 01\’ \’ !
注意此命令,\’Test 01\’是安全密码满足组织的安全准则并能记住 !
为了安全起见,要求使用强 SA 密码。请使用 SAPWD 开关提供同一密码。有关详细信息,请参阅自述文件。安装程序将立即退出。
更改 MSDE sa 密码和登录验证模式
Microsoft SQL Desktop engine 2000 是一个常用的SQL支持数据库,但安装后其 sa 的默认密码为空,这样对数据安全有一定影响。因为MSDE2000是简化版本,无管理控制台,修改密码只能进入命令行方式。
要注意的是要在切换了SQL的身份验证方式后才可以命令行修改密码。默认的SQL身份验证方式是Windows账户模式,要改为采用SQL身份验证。
要Windows账户身份验证模式切换到SQL的身份验证模式,请按以下步骤操作:
1. 先停止 MSSQLSERVER 以及所有其他相关服务(如 SQLSERVERAgent)。
2. 打开注册表编辑器。
3. 找到以下两个子项之一(取决于 MSDE 是作为默认 MSDE 实例安装的还是作为命名实例安装的):
HKEY_LOCAL_MACHINE\\\\Software\\\\Microsoft\\\\MSSqlserver\\\\MSSqlServer
– 或者 -
HKEY_LOCAL_MACHINE\\\\Software\\\\Microsoft\\\\Microsoft SQL Server\\\\<Instance Name>\\\\MSSQLServer\\\\
4. 在右窗格中,双击 LoginMode 子项。
5. 在 DWORD 编辑器对话框中,将此子项的值设置为 2。确保选择了 Hex 选项,然后单击确定。 (默认情况下,Windows LoginMode 注册表子项的值设置为 1。如果启用SQL的身份验证模式,则此值为 2。)
6. 重新启动 MSSQLSERVER 和 SQLSERVERAgent 服务以使更改生效。至此,SQL验证模式切换完毕。
7.在运行菜单执行 CMD 命令先进入命令行模式
8.进入MSDE安装目录C:\\\\Program Files\\\\Microsoft SQL Server\\\\80\\\\Tools\\\\Binn目录
9.执行命令
osql -U sa -Q "sp_password NULL, \\\’password\\\’, \\\’sa\\\’"
(其中 password 改为你要设置的密码,输入时注意单引号和双引号的格式)
10、之后会提示输入默认口令,直接按回车即可。密码修改成功。
修改了口令后不影响使用。如果要改密码步骤同上。此方法也可使用与命令行修改SQL2000企业版和专业版的sa口令。(前提是必须知道sa密码哦)
如何验证 SA 密码是否为空
1. 在正在连接到的 MSDE 实例的宿主计算机中,打开命令提示符窗口。
2. 在命令提示符处键入以下命令,然后按 Enter 键:
osql -U sa
这样可以通过 sa 帐户连接到 MSDE 的本地默认实例。要连接到您的计算机上安装的命名实例,请键入:
osql -U sa -S servername\\\\instancename
随即将出现以下提示:
Password:
3. 再次按 Enter 键。此操作将为 sa 传递一个 NULL(空)密码。
如果按 Enter 键后出现以下提示,则您对 sa 帐户没有密码:
1>
为了符合安全方案的要求,Microsoft 建议您创建非空的强密码。
但是,如果收到以下错误信息,则表示您输入的密码不正确。此错误信息表示已为 sa 帐户创建了密码:
"Login Failed for user \\\’sa\\\’."
以下错误信息表示运行 SQL Server 的计算机设置为只限 Windows 身份验证:
Login failed for user \\\’sa\\\’.Reason:Not associated with a trusted SQL Server connection.
在 Windows 身份验证模式下无法验证 sa 密码。但可以创建 sa 密码,以便 sa 帐户在以后身份验证模式更改为混合模式时仍然是安全的。
如果您收到以下错误信息,则表示 SQL Server 可能未运行,或者您可能为安装的 SQL Server 的命名实例提供了错误名称:
[Shared Memory]SQL Server does not exist or access denied.
[Shared Memory]ConnectionOpen (Connect()).
另一种简单的更改 sa 密码的方法
1. 在正在连接到的 MSDE 实例的宿主计算机中,打开命令提示符窗口。
2. 键入下面的命令,然后按 Enter 键:
osql -U sa
在 Password:提示符下,按 Enter 键(如果密码为空)或键入当前密码。这样可以使用 sa 帐户连接到 MSDE 的本地默认实例。
要使用 Windows 身份验证进行连接,请键入此命令:
use osql -E
3. 在各个单独的行内键入下列命令,然后按 Enter 键:
sp_password @old = null, @new = \\\’password\\\’, @loginame =\\\’sa\\\’
go
注意:确保将“password”替换为你的密码。
您将收到以下提示信息,表示已成功更改密码:
Password changed.
1:备份数据库
backup database 库名 to disk=\’c:\\备份文件名.bak\’
2:恢复数据库
restore database 库名 from disk=\’x:\\备份文件名.bak\’
2 楼vivianfdlpw()回复于 2005-09-22 11:08:01 得分 0
RESTORE DATABASE 新数据库名
FROM DISK=\’bjgl.bak\’
WITH REPLACE,
MOVE \’数据文件逻辑名\’ TO \’数据文件新物理位置\’,
MOVE \’日志文件逻辑名\’ TO \’日志文件新物理位置\’
20070604 word 比较 数据库 字段名 c#
http://www.yippeesoft.com
如何读sql数据库结构的字段名的描述? ds.tables(0).columns(i).columnname和
ds.tables(0).columns(i).caption读到的都是字段名称,而不是字段描述?
回复人: dahuzizyd(你就是我心中的女神) ( ) 信誉:105 2003-10-05 11:39:44z 得分:0
?
不知这个是不是你想要的:
private void form1_load(object sender, system.eventargs e)
&leftsign;
string strdsn = "provider=microsoft.jet.oledb.4.0;data source=c:\\\\mctest.mdb";
string strsql = "select * from developer" ;
// create objects of adoconnection and adocommand
oledbconnection myconn = new oledbconnection(strdsn);
oledbdataadapter mycmd = new oledbdataadapter( strsql, myconn );
myconn.open();
dataset dtset = new dataset();
mycmd.fill( dtset, "developer" );
datatable dt = dtset.tables[0];
listbox1.items.add("field name datatype unique autoincrement allownull");
listbox1.items.add("==================================================================");
foreach( datacolumn dc in dt.columns )
&leftsign;
listbox1.items.add(dc.columnname+" , "+dc.datatype +" ,"+dc.unique +" ,"+dc.autoincrement+" ,"+dc.allowdbnull );
&rightsign;
&rightsign;
详见:
http://www.c-sharpcorner.com/database/table_p.asp
这个用的是access,如果是sql server的话,要先使用adapter的fillschema方法得到表架构信息
top
回复人: lihonggen0(李洪根,ms mvp,标准答案来了) ( ) 信誉:100 2003-11-11 20:33:23z 得分:20
?
select rtrim(b.name) as colname
,case when h.id is not null then \’pk\’ else \’\’ end as primarykey
,type_name(b.xusertype) + case when b.colstat & 1 = 1 then \’[id(\' + convert(varchar,ident_seed(a.name)) + \',\'page.asp?page=CSDN/asppost9/ + convert(varchar,ident_incr(a.name)) + \')]\’ else \’\’ end as type
,b.length
,case b.isnullable when 0 then \’n\’ else \’y\’ end as [isnull]
,isnull(e.text,\’\') as [default]
,isnull(c.value,\’\') as descript
from sysobjects a,syscolumns b
left outer join sysproperties c on b.id = c.id and b.colid = c.smallid
left outer join syscomments e on b.cdefault = e.id
left outer join (select g.id,g.colid from sysindexes f,sysindexkeys g where f.id = g.id and f.indid = g.indid and f.indid > 0 and f.indid < 255 and (f.status & 2048)<>0) h on b.id = h.id and b.colid = h.colid
where a.id = b.id
and a.id = object_id(\’table1\’) –tablename改成你要导出的表的名称
order by b.colid
top
回复人: lihonggen0(李洪根,ms mvp,标准答案来了) ( ) 信誉:100 2003-11-11 20:33:52z 得分:0
?
select *
from ::fn_listextendedproperty (\’ms_description\’, \’user\’, \’dbo\’, \’table\’, \’table11\’, \’column\’, default)
top
回复人: lihonggen0(李洪根,ms mvp,标准答案来了) ( ) 信誉:100 2003-11-11 20:34:44z 得分:0
?
所有字段的描述放在表sysproperties里
如果要比较两个Word文档内容是否相同,最简单的就是直接在Word程序中直接进行比较(以Word2003为例)。这种方法适用于所有能被word直接读取的文件比较。
先打开要比较的Word原始文件,然后点击“工具”菜单下的 “比较并合并文档”菜单项,在弹出的“比较并合并文档”对话框中现选择目标文件,为了比较出具体的差异,请务必选中“精确比较”复选框,再单击“比较”按钮,这样Word便会新建一个文档,并将比较结果中所有不同之处以蓝色显示.
工具-比较合并文档 这个功能不算完美,但是还不错,谢谢推荐。
这个功能实际上就是在文档改动时没有用改动跟踪的情况下,逆向找出改动痕迹。如果文档是顺着一条线改下来的,对比新旧版本,这个功能实用性还不错;如果文档有很多分支版本后再来比较,会显得很混乱。没办法,机器只能机械的识别出内容的改变,而不能象人一样懂得分主次。我觉得word的跟踪改动把目录的改动也给我标出来真的有点无聊