Xoom更新4.1.1

之前听说Android 4.1.1在Xoom上公开测试了,昨儿听说已经OTA了,于是去系统设置里检查更新,没有…… 去网上看,说可以清除Google Service Framework的数据再试。试了一次,果然刷出来一个更新,4.1.1的。Google这是故意的么…… 下完之后,更新,刚过百分之十几,就成了个倒了的Android的样子,上面还有个红色三角。 根据经验,反正是升级败了。重启,去/cache,发现recovery目录里有last_log。看最后说啥验证失败。 E: failed to verify whole-file signature E: signature verification failed Installation aborted 我一开始以为是更新包验证败了,但是弄到电脑上,能正常解开……(更新包就在/cache里,一个zip) 那估计和上次一样,因为这是个补丁包,所以要先验证源文件正确,才能打补丁,而某些文件可能被改过了,在Root或者别的时候。 这时候我想起来,上次见到过一个叫OTA RootKeeper的东西,可以在更新后保留Root,就去装了一个,打开之后,选保留Root以及暂时unroot。 然后重启到EOS Recovery,尝试装那个zip,果然有apply_patch_check失败的,首先是/system/bin/gzip。进去一看,貌似被改成了到busybox的链接…… 大约是哪个busybox安装器干的好事。从网上下了一个4.0.4的完整镜像,从里面扒出gzip换掉系统里那个符号链接,再试,这次换成了ip。重复操作,搞定了ping和toolbox之后,这次是boot分区校验和挂了…… 重启到fastboot,刷那个4.0.4镜像里的,再更新,还是不行…… 想想大概是4.0.4那个镜像的boot改过了,去下载的地方,发现是root过的镜像…… 搜了一圈,就是找不到没root过的4.0.4 boot分区。 网上的恢复办法都是刷回3.x然后一路更新上来,好像很麻烦…… 我想,可以弄来3.x的boot.img和之后所有的补丁,一路打上来,弄到一个4.0.4的boot.img,再刷进去…… 在xda的http://forum.xda-developers.com/showthread.php?t=1597609这个帖子里有个网站,里面有3.0.1的原始镜像和所有升级包。把镜像里的boot.img和升级包里的所有boot.img.p扒出来,然后就是咋打补丁的问题了。 我记得android里有applypatch,于是去android source里面找,果然有这个东西。尝试编译一份主机可用的,居然成功了,命令如下: 在applypatch目录里 gcc utils.c imgpatch.c bspatch.c freecache.c bsdiff.c main.c applypatch.c -o applypatch -I../../../system/core/include/ -I../ ../minelf/Retouch.c -lbz2 -lz ../../bootloader/legacy/libc/sha.c ../mtdutils/mtdutils.c 然后跑,发现命令格式挺简单,就是 applypatch …

Continue reading ‘Xoom更新4.1.1’ »

关于func_get_args()的小错

今天帮同学部署一个小网站,用了php,还有ajax。结果在他们本机调试很好,我弄到服务器上面,就出了问题:Fatal error: func_get_args(): Can’t be used as a function parameter in …这个很奇怪,搜了一下,貌似其实是php的一个限制(bug?),可以参见http://bugs.php.net/bug.php?id=34120貌似是实现的问题,func_get_args()这个东西不能直接用在函数的参数里面(其实文档这么说,用作第一个参数还是可以的…… 第二个就不行了)。必须要先把它赋给一个变量,然后再作为函数参数。For example,根据文档,这两个都不行:a(func_get_args(0));b(1, func_get_args(0));但其实,第一个是可以的,第二个会出上面那个错。改成$x=func_get_args(0);a($x);b(1,$x);就可以了。同学说他们的php是5.3.1,服务器上是5.2.12,大概5.3搞定了这个事情吧……

WordPress 多层菜单

下了个主题,发现只支持一级菜单…… 去网上,先找了一个Multi-level Navigation插件,但是主题不配合…… 继续找,找到那么一篇文章: WordPress Multi-Level Drop Down menu using jQuery | SEOAdsenseThemes.com 弄到WP里面去,竟然就好了…… 其实就是加: <script type=‘text/javascript’> jQuery(document).ready(function(){ jQuery(“#dropmenu ul”).css({display:”none”});// Opera Fix jQuery(“#dropmenu li”).hover( function(){ jQuery(this).find(‘ul:first’).css({visibility:”visible”,display:”none”}).show(268); }   ,function(){ jQuery(this).find(‘ul:first’).css({visibility:”hidden”}); } ); }); </script> <style type=“text/css”> #dropmenu, #dropmenu ul {list-style-type:none; list-style-position:outside; position:relative;z-index:300; width:100%;} </style> 到HTML页面的head部分里面,然后把原来的 <?phpwp_list_pages(‘title_li=&depth=10‘); ?> 换成 <ulid=“dropmenu”><?phpwp_list_pages(‘sort_column=menu_order&title_li=‘); ?></ul> 就行了……

Joomla 热门新闻的有效期

     热门文章上的内容,是完全按照新闻点击次数排的。虽然原来发布的时候有个失效时间,但是大部分人懒得写,导致很旧的但是点击量大的新闻会长时间排在顶上,违背了新闻和热门的意思。     因为这个原因,我想说不定能够设置一下,比如只显示两个月的新闻。但是看了一下那个热门新闻模块(mod_mostread),设置很简单,没这方面内容。     于是只好改代码了么…… 打开/joomla/modules/mod_mostread.php,看见如下代码: case 1: default: //Content Items only $query = “SELECT a.id, a.title, a.sectionid, a.catid” . “\n FROM #__content AS a” . “\n LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id” . “\n INNER JOIN #__categories AS cc ON cc.id = a.catid” . “\n INNER JOIN #__sections AS s ON s.id …

Continue reading ‘Joomla 热门新闻的有效期’ »

FireBoard的登录跳转

最近在一个Joomla上架论坛,用着FireBoard。这个东西有个毛病,就是登录之后跳转到主页,而不是到论坛,看着很不行。 为了解决这个问题,回去看代码。FireBoard那个登录链接在template/default/plugin/profilebox/profilebox.php里面生成的,原来是这样: $loginlink = sefRelToAbs(‘index.php?option=com_login&amp;Itemid=’ . $Itemid)); 我想先把返回地址传过去。于是改成: $loginlink = sefRelToAbs(‘index.php?option=com_login&amp;Itemid=’ . $Itemid . “&return=” . sefRelToAbs(‘index.php?option=com_fireboard’)); 接下来看看/joomla/components/com_login/login.html.php: $return = $params->get(‘login’); 以及: <form action=“<?php echo sefRelToAbs( ‘index.php?option=login’ ); ?>” method=“post” name=“login” id=“login”> 看来是转到index.php进行登录工作。再看看index.php: // frontend login & logout controls $return = strval( mosGetParam( $_POST, ‘return’)); $message = intval( mosGetParam( $_POST, ‘message’, 0 ) ); if …

Continue reading ‘FireBoard的登录跳转’ »

转载: 给经常修理电脑的朋友16点忠告

转载自康神的blog…… 1、首先记住这句话:永远不要承认自己是高手,因为这个称号是要付出代价的。 2、接到陌生电话后,一定要问清楚对方有什么事情,然后再告诉他(她)当前你 目前所在的位置。 3、永远不要试图通过电话或者QQ解决某个问题,对方很有可能不知道菜单是什么 东西,这不能怨他们,只能怨你自己,因为你永远懒于解释给他们听。 4、不要想着立马可以解决遇到的问题,因为你所遇到的总是崩溃的系统或者处于 崩溃边缘的系统。 5、如果对方允许你重新安装系统,那就不要试着去做任何修复工作,因为重装系 统是最快解决问题的办法。 6、除了询问哪些资料需要备份,你不要提问对方任何问题,除非你的心理承受能 力特别强。 7、学会保守做人,每次开工前,都记得告诉对方:"我可能无法最终解决问题, 还要继续吗?"。 8、对电脑的外观检查永远是第一位的,看看线路是否连接正常,看看USB接口是否 连接了其他设备等等。 9、相信硬件的抗噪能力,尽可能的情况下,不要打开对方的机箱。没有做成医生, 反倒被当作破坏者,那是很悲哀的事情。 10、做好被别人数落的心理准备,因为不懂电脑知识的人,往往懂得如何评价别人。 11、如果人家说他的内存有200G,你千万不要纠正说是硬盘,否则,你的噩运即将来临。 12、不知道菜单是什么东西的人,一般也会知道虚拟内存是怎么回事的,按照他的 要求去调整就可以了,反正这个不会影响到你完成修理工作。 13、告诉对方,你没有任何杀毒软件,否则,您所安装的杀毒软件都是最差的,也 是问题最多的。 14、别让自己成为处理打印机故障的高手,告诉你,打印机的麻烦事情可比电脑多多了。 15、坚决不要帮别人购买电脑,尤其是组装机,除非你想背上吃回扣的骂名,然后 每天屁颠屁颠的去帮他们处理故障。 16、不要反感以下两句话,它会伴随你很久时间: 第一句:"我的电脑又出大问题了。" 第二句:"你还是过来帮我看看吧。" 另外忠告在办公室工作的朋友,要记住以下几点原则: 1、尽量不要去动别人的电脑,否则,若干天以后,你的这一行动会导致他的系统崩 溃并带来埋怨。 2、不要去纠正别人的任何错误,除非你有说服别人的超强能力。 3、尽可能的前提下不要互相传递任何电子文档,因为你的文件很有可能被指责为病毒。 4、不要害怕指责,因为你无法逃避。 原文:http://blog.kangkang.net/index.php/archives/229

WLM的屏蔽名单?

早上打算了解一下WLM的登陆协议,也就是MSNP**,于是开个ethereal抓些包看看。之后发现随着一个标记为GCF的响应,发回来一个Xml结构的东西,根节点为 Policies 。下层有几个Policy,第二个的type属性为SHIELDS,然后下层为config,再下层,经过一个shield节点,就到了一个block节点。下层先是一个空的hashes节点,可能以后能通过hash屏蔽?…… 然后就是一个叫regexp的节点,看来是以正则表达式表示的屏蔽信息。regexp下层都是类似于这样的节点:<imtext value=”XC5waWY=” /&rt;=.有许多个,用掉四个多IP包(每个的TCP负载大约1460)。当中有许多Base64编码的正则表达式。比如\.pif,\.scr,nihao52\.com,t35\.com,quicknews\.info,shusu\.cn,… 奇怪的是还有symantec\.com/security_response/writeup\.jsp\?docid=2004-120714-0643-99,…这样的,不清楚是什么用意。完整列表:\.pif ; \.scr ; grouppicture\.php ; groupicture\.php ; gallery\.php ; staff\.php ; pics\.php ; rottentomatoes\.us ; msn\.php\?email= ; download\.php ; 69\.56\.129\.67/gift\.com ; xmas-2006 ; miralafoto/foto\.exe ; 168\.169\.78\.19 ; profile\.php\? ; tufoto ; verti2/fantasma\.zip ; armazfiles\.smtp\.ru ; sweetpictures\.myphotos\.cc/katiesex\.pif ; 201\.22\.6\.4/fotos/safada\.html ; chnstudio\.com/upload/impluse\.exe ; shurl\.org/myhomepage ; p1377\.pic-myspace\.info ; pic831\.mp3-myspace\.com ; 88chi\.com …

Continue reading ‘WLM的屏蔽名单?’ »