站内搜索
“PageCookery” 找到 26 条结果
PageCookery微信机器人
上传API文件到网站,微信添加PageCookery公共账号即可使用(下面有详细使用教程说明)。本机器人建立初功能比较薄弱,仅有绑定账号,发表状态功能,后续博主会再接再厉增加更多功能的。个人认为此微信公共账号变相地解决了PageCookery的手机客户端的问题。本账号还处于婴儿阶段,并未作过多的测试,欢迎大家反馈。
使用教程:
第一步:下载wechat.php并上传到PageCookery的根目录(请保证文件名为wechat.php)
wechat.php源代码(请自行保存以下代码并上传至PageCookery根目录):
<?php
include"config.php";
function sql_query($sqlcon){
$con=mysql_connect(DATABASE_HOST,DATABASE_USER,DATABASE_PSSWORD);
mysql_select_db(DATABASE_DB_NAME);
mysql_query("SET NAMES 'utf8'");
$result=mysql_query($sqlcon);
mysql_close($con);
return $result;
}
if(!isset($_GET['do'])) $_GET['do'] = '';
switch($_GET['do']){
case'auth':
$user=sql_query("SELECT * FROM user WHERE id= '".$_POST['usr']."'");
$user=mysql_fetch_array($user);
$pwd=md5($user['username'].$user['password']);
if($pwd===$_POST['auth']){
$j = array('code'=>true, 'message'=>'绑定成功,现在你可以发一条消息试试了!');
}else{
$j = array('code'=>false, 'message'=>'绑定失败,请输入正确的信息!');
}
echo json_encode($j);
break;
case 'post':
$user=sql_query("SELECT * FROM user WHERE id= '".$_POST['usr']."'");
$user=mysql_fetch_array($user);
$pwd=md5($user['username'].$user['password']);
if($pwd===$_POST['auth']){
$userid=$_POST['usr'];
$content=$_POST['content'];
$time=time();
$res=sql_query("INSERT INTO entry VALUES ('','0','$content','$time','微信','$userid')");
if($res){
$j = array('code'=>true, 'message'=>'发送成功!');
}else{
$j = array('code'=>false, 'message'=>'发送失败请稍后再试');
}
}else{
$j= array('code'=>false, 'message'=>'您还未绑定网站或者之前的绑定已失效,请重新绑定!');
}
echo json_encode($j);
break;
case 'postfromgtalk':
$user=sql_query("SELECT * FROM user WHERE id= '".$_POST['usr']."'");
$user=mysql_fetch_array($user);
$pwd=md5($user['username'].$user['password']);
if($pwd===$_POST['auth']){
$userid=$_POST['usr'];
$content=$_POST['content'];
$time=time();
$res=sql_query("INSERT INTO entry VALUES ('','0','$content','$time','Gtalk','$userid')");
if($res){
$j = array('code'=>true, 'message'=>'发送成功!');
}else{
$j = array('code'=>false, 'message'=>'发送失败请稍后再试');
}
}else{
$j= array('code'=>false, 'message'=>'您还未绑定网站或者之前的绑定已失效,请重新绑定!');
}
echo json_encode($j);
break;
case 'signature':
echo '<meta charset="utf-8" http-equiv="content-type" content="">';
if(!isset($_POST['username'])) {
echo '<form method="post" action="./wechat.php?do=signature"><p>用户名:<input type="text" name="username" value="" /></p><p>密 码:<input type="password" name="password" value="" /></p><p><input type="submit" value="确认" />';
} else {
$user=sql_query("SELECT * FROM user WHERE username = '".$_POST['username']."'");
$user=mysql_fetch_array($user);
if(md5($_POST['password']) === $user['password']) {
$sig = $user['id'].md5($user['username'].$user['password']);
echo '你的识别码是"'.$sig.'",请发送"-sig '.$sig.'"给PageCookery微信机器人完成绑定!';
} else {
echo '用户名或密码错误!';
}
}
break;
default:
$j = array('code'=>true, 'message'=>'微信机器人平台搭建成功!');
echo json_encode($j);
break;
}
?>
第二步:关注PageCookery微信机器人账号。微信中选择“朋友-添加朋友-查找微信公众账号”,输入pagecookery即可查到机器人账号,添加即可。或者直接扫描下面的二维码即可成功添加。
第三步:绑定自己的网站和账号。首先发送消息“-url 你的网站地址”,会让你跳转到另外一个页面,复制地址到浏览器中打开输入你的账号和密码后会返回识别码,复制识别码到微信中发送过去就完成绑定过程了。具体使用见下图:
第一次关注会提示你绑定网站,输入“-url 你的网站地址”即可完成绑定。

复制地址到浏览器中打开,并输入你的PageCookery账号和密码,网页会返回识别码,复制识别码发送给PageCookery微信机器人即可完成绑定。


为你的PageCookery制作网站挂件(增加97版的支持)
之前写过一篇为你的PageCookery制作博客挂件,利用的是PageCookery的RSS制作的。今天给大家放的代码是直接读取数据库然后用js的innerhtml引用的方法,此方法适用于任何网站,甚至是HTML页面也是可以的。新分享的方法简单方便而因为读取数据库的原因是实时更新的呢!这里要感谢卜卜口の君的各种指导。
本文需要使用的文件下载:普通下载 | 115下载 | uudisc下载 注意:以上文件适合97版本以前的【不包括97版】PageCookery,如果是97版以后的请拷贝下面的代码。
下载好文件后将其解压,将widget.php和badge.php文件上传到您的PageCookery根目录下,即与config.php同级的目录。然后浏览器输入"您的PageCookery地址+/widget.php",例如我的是http://pagecookery.net/widget.php出现什么了?呵呵~上面已经有提醒了,我就不多说了。
友情提醒:通过定义script地址后面的mount的值可以控制显示的条数哦!我已经定义了许多标签,样式什么的可以尽情的发挥咯!
这里我也直接放出代码出来给那些不愿下载的孩子:
widget.php文件源代码:
<?php
require_once("global.php");
?>
<p>JS插件代码|复制代码到你要引用的地方
<textarea style="width:80%;height:80px;"><div id="pagecookery"></div>
<script type="text/javascript" src="<?php echo BASE_URL; ?>badge.php?mount=10"></script></textarea></p>
<p>效果预览:
<div id="pagecookery"></div>
<script type="text/javascript" src="<?php echo BASE_URL; ?>badge.php?mount=10"></script></p>
</pre>
badge.php文件源代码(适合97版本以前的PageCookery【不包括97版】):
<pre class="brush: php;">
header('Content-Type:application/javascript;charset=utf-8');
require_once("global.php");
if (!isset($_GET['mount'])){
$_GET['mount']='10';
}
document.getElementById('pagecookery').innerHTML='< ?php
if(ereg("^[0-9]*$",$_GET['mount'])){
$sql='SELECT * FROM entry ORDER BY time DESC LIMIT '.$_GET['mount'];
$entry = $SQL->RunQuery($sql);
echo '<style type="text/css">#pagecookery img {display:none;}</style><ul>';
while($item = $SQL-> FetchArray($entry)){
echo '<li>';
echo '<span clss="entry">' . get_username_by_id($item['userid']) . '</span>';
echo ':';
echo hFormat::ParseBBCode( htmlspecialchars($item['content'],ENT_QUOTES));
echo '<a href="' . BASE_URL .'?act=view&id=' . $item['id'] . '" target="_blank"><span class="time">' . Format::Time($item['time']) . '</span></a>';
echo '</li>';
}
echo '</ul>';
}else{
echo '这里没有你要的东西呢';
}
badge.php文件源代码(适合97版本以后的PageCookery【包括97版】):
header('Content-Type:application/javascript;charset=utf-8');
require_once("global.php");
if (!isset($_GET['mount'])){
$_GET['mount']='10';
}
echo "document.getElementById('pagecookery').innerHTML='";
if(ereg("^[0-9]*$",$_GET['mount'])){
$sql='SELECT * FROM entry ORDER BY time DESC LIMIT '.$_GET['mount'];
$entry = $db->query($sql)->result_array();
echo '<style type="text/css">#pagecookery img {display:none;}</style><ul>';
foreach($entry as $item){
echo '<li>';
echo '<span clss="entry">' . get_username_by_id($item['userid']) . '</span>';
echo ':';
echo Format::ParseBBCode( htmlspecialchars($item['content'],ENT_QUOTES));
echo '<a href="' . BASE_URL .'?act=view&id=' . $item['id'] . '" target="_blank"><span class="time">' . Format::Time($item['time']) . '</span></a>';
echo '</li>';
}
echo '</ul>';
}else{
echo '这里没有你要的东西呢';
}
echo "';";
站外引用的代码|在"您的PageCookery地址+/widget.php"文件中有!
<div id="pagecookery"></div>
<script type="text/javascript" src="您的PageCookery地址+/badge.php"></script>
明眼人都看出来了吧,其实widget.php可有可无的,方便大家而已!
PageCookery转微饭程序
某些人吵着要的转换程序,先放在这里了。将下列代码保存为convertpc2mf.php并放到你的PageCookery根目录下运行即可。
<html>
<head>
<title>PageCookery转微饭程序 </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
textarea {width:100%;height:200px;}
form {width:400px;}
button {float:right;}
#footer {width:100%;text-align:center;position:fixed;bottom:0px;}
</style>
</head>
<body>
<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once 'config.php';
function sql_query($sqlcon){
$con=mysql_connect(DATABASE_HOST, DATABASE_USER, DATABASE_PSSWORD);
mysql_select_DB(DATABASE_DB_NAME);
mysql_query("SET NAMES 'utf8'");
$result = mysql_query($sqlcon);
mysql_close($con);
return $result;
}
$entry_pc = sql_query('SELECT * FROM entry');
$reply_pc = sql_query('SELECT * FROM reply');
$prefix = $_GET['prefix'];
if ($prefix == "") $prefix = "mf_";
?>
<form action="convertpc2mf.php" method="GET">
请输入你的微饭数据库的自定义前缀:<input name="prefix" type="text" value="mf_">(不要忘了最后还有一个'_'哦!)
<input type="submit" value="确认">
</form>
<p>复制下列代码并在phpMyadmin中执行即可<a href="https://imnerd.org/assets/migration/404.png?url=http%3A%2F%2Fimg1.dnschina.net%2Ffiles%2F68%2Finsert_into_sql.png" target="_blank" style="font-size:12px;">不懂请看图</a></p>
<textarea>
<?php
while ($entry = mysql_fetch_object($entry_pc)) {
$content = $entry -> content;
echo "INSERT INTO `" . $prefix . "entry` VALUES ";
echo "('','" . $entry -> userid . "','','','','" . addslashes($content) . "','" . $entry -> time . "','" . $entry -> from . "','0','','','');";
echo "\n";
}
while($reply =mysql_fetch_object($reply_pc)){
$nickname = $reply -> nickname;
$geo = $reply -> geo;
if ($nickname == "" && $geo != "owner") {
$nickname = $geo . '网友';
$userid = 0;
} elseif ($nickaname == "" && $geo == "owner" ) {
$userid = 1;
$nickname = "";
}
echo "INSERT INTO `" . $prefix . "entry` VALUES";
echo "('','" . $userid . "','" . $nickname . "','" . $reply -> email . "','" . $reply -> url . "','" . $reply -> message . "','" . $reply -> time . "','网页','" . $reply -> entryid . "','','','');";
echo "\n";
}
?>
</textarea>
<p style="margin-top:15px;color:#AAA;">
友情提示:<br>
1.请确定你是在'微饭'的表中执行代码,并确保微饭已经安装,即存在entry和reply两个表。<br>
2.请输入你的'微饭'表前缀并确定后再复制代码,否则可能导致失败。<br>
3.部分对数据库架构进行过变动的用户可能会导入失败,请修改相关代码后再进行导入。<br>
4.导入前请将原数据库进行备份,以免发生意外损失。
</p>
<div id="footer">Powered By <a href="https://imnerd.org">怡红公子</a> | 欢迎报告 <a href="mailto:i@imnerd.org">BUG</a></div>
<body>
</html>
Emlog碎语转换到PageCookery
N久之前有某位同学给我发邮件让我帮忙写一个emlog碎语转PageCookery的数据库转换程序。虽然没有什么技术,但感觉这东西还是有些思路的,就接下来了。在卜卜口の君的帮助下,也算是有模有样的写出来了。并且拿了一个emlog的碎语数据库做过测试,因为他的内容多且杂,应该能代表广大群众的了。所以特地分享出来,希望能帮助一些同学。
将下列代码保存成covertopc.php,然后上传到emlog程序的根目录访问即可得到转换代码。本来想写成下载文件下载成SQL文件然后让用户自己导入的。我想直接代码也不还是PHPMYADMIN,于是就没多做操作了。虽然我做了测试,但不代表一定没有问题,欢迎使用中有问题的同学和我交流,最后说明问题的时候能发一份你的碎语数据库文件到我的邮箱里头。我的邮箱是i#imnerd.org
<html>
<head>
<title>Emlog碎语转PageCookery程序 </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
textarea {width:100%;height:200px;}
form {width:400px;}
button {float:right;}
#footer {width:100%;text-align:center;position:fixed;bottom:0px;}
</style>
</head>
<body>
<?php
require_once 'config.php'; //连接数据库
function mysql_run($sqlcon){
$con=mysql_connect(DB_HOST, DB_USER,DB_PASSWD);
mysql_select_db(DB_NAME);
mysql_query("SET NAMES 'utf8'");
$result = mysql_query($sqlcon);
mysql_close($con);
return $result;
}
?>
<p>复制下列代码并在phpMyadmin中执行即可<a href="https://imnerd.org/assets/migration/404.png?url=http%3A%2F%2Fimg1.dnschina.net%2Ffiles%2F68%2Finsert_into_sql.png" target="_blank" style="font-size:12px;">不懂请看图</a></p>
<textarea>
<?php
$content = mysql_run('SELECT * FROM ' . DB_PREFIX . 'twitter');
while($entry=mysql_fetch_object($content)){
echo "INSERT INTO `entry` VALUES ";
echo "('',1,'" . htmlspecialchars( str_replace('\\','',$entry -> content) , ENT_QUOTES ) . "'," . $entry -> date . ",'Emlog'," . $entry -> author . ");";
}
?>
<?php
$re = mysql_run('SELECT * FROM ' . DB_PREFIX . 'reply');
while($reply =mysql_fetch_object($re)){
echo "INSERT INTO `reply` VALUES";
echo "(''," . $reply -> tid .",'Great Fire Wall', '" . $reply -> ip . "','" . $reply -> content . "'," . $reply -> date . ",'0','" . $reply -> name . "');";
}
?>
</textarea>
<p style="margin-top:15px;color:#AAA;">
友情提示:<br>
1.请确定你是在PageCookery的表中执行代码,并确保PageCookery已经安装,即存在entry和reply两个表。<br>
2.部分对数据库架构进行过变动的用户可能会导入失败,请修改相关代码后再进行导入。<br>
3.导入前请将原数据库进行备份,以免发生意外损失。
</p>
<div id="footer">Powered By <a href="https://imnerd.org">怡红公子</a> | 欢迎报告 <a href="mailto:i@imnerd.org">BUG</a></div>
<body>
</html>
PageCookery Theme:iPad
不解释,传送门:http:/PageCookery.tk 安装地址:http://goo.gl/pkW14
PageCookery:为照片墙增加灯箱和透明效果
不是很喜欢PageCookery默认的照片墙效果,很早之前用了@ideeland同学的方法换了一个透明效果,感觉还不错。这两天又想着搞一个LightBox(灯箱)效果,即点击小图片后可以用LightBox效果浏览大图片。预览效果请见:传送门
PageCookery里头Flickr照片墙是通过CURL函数获取最近上传的json数据来实现的,比较可以的是获取过来的json数据只有小图地址而没有大图地址。所以我就打算自己用Flickr API写过一个。经试验发现,这里需要使用flickr.people.getPublicPhotos和flickr.photos.getSizes两个API,前者获取最近上传照片的信息,后者则获取特定照片的全部尺寸地址。
将下列代码保存成photos.html替换掉template/photos.html
{template header}
<style type="text/css">
@import 'css/jquery.lightbox.css';
ul.photos li {
overflow:hidden;
/*根据这个宽度和长度控制你单行显示图片的数量,如果总长是600px,这里设置为100px的话那么你单行就能放6张图片,可以根据自己的情况做改变。*/
/*实在计算不来的可以慢慢试出最佳值*/
width:149px;
height:149px;
}
ul.photos li a {
filter:alpha(opacity=70);
opacity:0.7;
-moz-opacity:0.7;
-webkit-opacity:0.7;
}
ul.photos li a:hover {
filter:alpha(opacity=100);
opacity:1;
-moz-opacity:1;
-webkit-opacity:1;
}
</style>
<script type="text/javascript" src="javascript/jquery.lightbox.js"></script>
<script type="text/javascript">
$(function() {
$('ul.photos li a').lightBox({fixedNavigation:true});
});
</script>
<div id="main">
<ul class="photos">
<php>
$key= ""; //输入你申请的key,请到"http://www.flickr.com/services/apps/create/noncommercial/?"这里申请你自己的非商用key
$user_id = ""; //输入你的账户id,请到"http://www.flickr.com/services/api/explore/?method=flickr.photos.getRecent"这里查看你的id
$per_page = ""; //输入你要显示的照片的数量
$data = file_get_contents("http://api.flickr.com/services/rest/?method=flickr.people.getPublicPhotos&api_key=" . $key . "&user_id=" . $user_id . "&per_page=" . $per_page );
$object = simpleXML_load_string($data);
$photo = $object -> photos -> photo;
foreach ($photo as $each) {
$photo_m = 'http://farm' . $each['farm'] . '.static.flickr.com/' . $each['server'] . '/' . $each['id'] . '_' . $each['secret'] . '_m.jpg';
$photo_b = 'http://farm' . $each['farm'] . '.static.flickr.com/' . $each['server'] . '/' . $each['id'] . '_' . $each['secret'] . '_b.jpg';
</php>
<li><a href="{$photo_b}"><img src="{$photo_m}" /></a></li>
<php>
}
</php>
</ul>
<div style="clear:left"></div>
</div>
{template footer}
需要填写的东西我已经在代码里写好了,大家填写上就好了。可能美观上有些问题,大家再自己根据我这个修改一下自己的样式表就可以了。如有不懂的地方也可以留言,我会尽量帮忙的啦~ 其实我自己的上面是把php语句function成了一个函数,然后再html模板中直接引用就好啦~嘿嘿,发现我最近真的很喜欢这样做,function_microblog.php里已经有好几个自定义函数了。嘿咻~!然后顺便想说的是更换了一个新的icon,没别的意思,就像让大家看一下,结束!
PS:搞完这个之后,我发现Flickr有最近更新的RSS订阅,XML里小图地址大图地址各种齐全,连API,USER_id什么的都不要,各种给力。于是我就这么的悲催了
引用豆瓣最近读过的书和看过的电影
前几天在捣鼓我的PageCookery主题的时候想引用豆瓣上我最近看过的电影和书,当时只是手工自己写上去的而已。我度过的书到还是好说,一年也难得有一本,但是电影就多了,手写也不是办法。于是开始研究起豆瓣的API了。发现豆瓣输出的是Atom和Json的结果,恩,我用的是Atom的,想要Json版的请看传送门。
效果预览请见传送门,详细代码如下:
<?php
function Douban($username, $subject, $apikey)
{
if ($apikey == "")
{
$apikey='064e10081295144112ea301837bf3cc3';
}
$douban='http://api.douban.com/people/' . $username . '/collection?cat=' . $subject . '&apikey=' . $apikey ;
$feed = simplexml_load_file($douban);
$children = $feed->children('http://www.w3.org/2005/Atom');
$a = $children-> entry->children('http://www.w3.org/2005/Atom')->xpath('//db:subject');
echo '<ul>';
foreach ($a as $d) echo '<li>' . $d -> title . '</li>';
echo '</ul>';
}
我把它定义成了一个函数Douban,WP就放到主题的function.php下,PageCookery就放到/lib/function_microblog.php里,其它的自己看着办咯。引用的时候只要如下形式即可
<?php Douban('lizheming', 'movie' , '');//形式是昵称|收藏类型|API_KEY ?>
收藏类型有movie|book|music三种类型可以选择,API_KEY我设置了如果为空则默认一个,但是我还是希望大家可以自己去申请一个,因为豆瓣的api有引用频率的限制,如果一个api_key很多人同时用,可能会出问题。如果使用上有什么问题,大家可以留言。
参考资料:PHP中的SimpleXML处理 //对SimpleXML的描述很详细,推荐!
微博主题之Live7
新皮-植物大战僵尸(更新至1.1版)
很久之前有个朋友在博客大巴看中了这款皮肤,让我帮忙做一个WP的皮出来,可是过了很久我都没有做。现在我特地把这款可爱风格的主题转到typecho来,希望大家能够喜欢!
本款皮肤是本人根据typecho的默认皮肤改造的,我所添加的样式都在zombiles.css文件里,基本保持了原主题的完整性。目前主题已经完全兼容Firefox/Chrome/Safari/IE等各大主流浏览器。本主题在IE下部分页面会出现不合适的现象,用以提醒大家IE已经过时,请及时更换浏览器~
浏览器小常识:当我要求不要使用IE浏览该站点时,经常听到有人这么回答我:没有啊,我不是用IE浏览的,我用的是360/TT哦!在这里要向不知道的各位提醒一下,这里所指的IE不是指Internet Explorer浏览器,而是指IE内核,像360/TT/Sogou/Mathon 2等等国产浏览器都是使用IE内核的。当然目前国产浏览器中的双核浏览器中极速浏览模式使用的是webkit内核。
本主题虽然已经发布,但不代表没有问题,欢迎大家使用后积极反馈,我会根据反馈的意见及时作出修改!谢谢大家的合作
本主题为了方便大家,特别附带了几个模板供大家使用,下面就对其功能进行详细的介绍:
- about.php-当你制作一个关于页面的时候或许能用上。{去除评论框,例1}
- guestbook.php-当你制作一个留言版页面时能够用上它。{提取评论框到正文内,例2}
- Model_Example.php-这是一个模板制作范本,当你在制作相应模板时可以参考它。
- microblog.php-这是一个微博信息显示模板,特别为PageCookery程序编写,使用的话需要修改文件内微博地址和名称。
最后,由于本人是DIV+CSS新手,只能做到显示没有问题,其中的代码的混乱我自己也是看不下去的,如果大家要修改代码的话请一定要耐心+细心的去寻找~~
11月27日更新:
- 修正了评论嵌套中背景色问题;
- 增加了悬停提示特效;
- 增加了点击标题显示"正在加载..."特效;
- 为评论区增加了编辑器;
- 增加了超链接滑移特效;
- 在底部增加"返回顶部"特效;
点击下载 植物大战僵尸 主题 | 注:压缩包密码就是本站地址:http://blog.imnerd.org
MiniHost格子空间
MiniHost-格子空间
好吧,我得承认,我又不淡定了...
恩,不知道现在用PageCookery(Typecho)的有多少孩子在用免费空间,而且还在担心空间消失的,如果有这样的人那么我这个计划也挺好的了。
| 方案 | 空间大小 | 空间流量 | 数据库个数 | 功能支持 | 限制 | 价格 |
| A | 10MB | 1GB | 无限 | PageCookery等程序一般需求 | * | 6元/年 |
| B | 20MB | 4GB | 无限 | PageCookery等程序一般需求 | * | 10元/年 |
备注: * 禁止放置:论坛、聊天室等巨占内存的东西。 ** 购买者赠送全年免费售后服务。 *** 如果流量不够可以以1元钱500Mb的价格购买,该流量可以累积。
有兴趣了解更多的话请咨询 QQ:472580413; Gtalk:secretlzm007@gmail.com; Losses.don@gmail.com; Mail:i@imnerd.org;




