标签归档:Uchome

iframe退出相关

aa.xx.com用iframe引入的www.xx.com的一个头部登陆条,有退出链接也是同步退出的(原理就是ajax去请求 然后输出<script src=“www.yy.com/….通信密钥。。”输出时要请求很多东西(这种思想可以借鉴,而不只是为要返回值而返回数据,可以用来做请求。)。就是uchome同步登陆那一套,用的fscokopen(),原理可参考:http://hi.baidu.com/zxsz4085/blog/item/549076ca08924912bf09e659.html) 现在说头部不要那个登陆条了,但是要在登陆后的页面其他地方做个退出链接,晕倒。 就想用js在父页面点子页面的退出,网上搜: 把头部登陆条display为none藏起来 其他地方加个链接 onclick=”document.getElementById(‘iframe_head’).contentDocument.getElementById(‘link_logout’).click();” 火狐说没权限。。。 试试本地,在本地项目下建立了一个页面就放了一个button 让它点击时就提示xxx,让头部iframe改成引用这个页面,结果发现头部iframe隐藏时,通过点击自己的退出链接无法触发点击button,显示iframe时就可以提示xxx 头疼,无赖,又做了个 iframe 把width和height设置得都很小,里面就一个退出链接,事件从头部登陆条的页面拷过来。写个方法供最底层刷新页面。  

发表在 默认分类 | 标签为 , , | 留下评论

近期关于uchome的小总结

1。防灌水那串字符在common.php里生成 //登录注册防灌水机if(empty($_SCONFIG['login_action'])) $_SCONFIG['login_action'] = md5(‘login’.md5($_SCONFIG['sitekey']));if(empty($_SCONFIG['register_action'])) $_SCONFIG['register_action'] = md5(‘register’.md5($_SCONFIG['sitekey'])); 2。set_time_limit(0); 设置页面不挂掉,默认是30秒 3。php连接Oracle (远程连接找网管做个端口映射) class dbo_oracle{ private $username = ‘dw’; private $password = ‘dw’; private $db = “(DESCRIPTION=(ADDRESS=(PROTOCOL =TCP)(HOST=xx.xx.xx.xx)(PORT = 1521))(CONNECT_DATA =(SID=dw)))”;  public function connect(){  $this->conn = oci_connect( $this->username, $this->password, $this->db, ‘UTF8′ );  if(empty($this->conn)){  echo ‘connect failed!’;  } } } … 继续阅读

发表在 Uchome | 标签为 , , , , , | 一条评论

【转】UCHOME2.0缓存机制分析 uchome,uchome2.0,uchome2.0分析,uchome缓存

缓存分为“模板文件缓存”、“模块数据缓存”、“系统配置缓存”以及“其他缓存” 模板文件缓存机制(采用从顶向下的方法来分析) 1:在要显示的页面通过include template($name) 语句来包含被编译后的模板文件 2:template($name)函数解释 大致过程为如果模板缓存文件不存在则重新编译模板文件,存在则直接调用缓存文件以显示 3:模板文件编译:parse_template($tpl) 传递的参数:为不包含文件类型后缀的完整文件路径 函数功能:替换掉模板标签,使其编译成PHP代码 模块数据缓存 A:管理员在后台可以设置是否进行模块缓存以及一文本模式缓存还是储存到数据库,同时还可以设置时储存到一个表还是多个表中。 若选在储存在数据库中,则被保存于cache cahe1 chae2 这些表中,若储存在文本中,则文本被存放于/data/block_cache 中。 B:设置数据被储存在config表中,一键值对的形式储存 C:所有模块缓存的更新周期是在代码中事先设定好的不能设置的,只能通过后台手动一次性的更新模块缓存, D:当手动更新缓存之后,通过block_data_cache();函数进行缓存更新,也就是清除所有模块缓存 模块缓存的产生 A:在后台数据调用功能处设置添加模块 B:之后会生成一个模块调用代码 C:模块数据被储存在block表中 未完…………… 系统配置缓存 A:管理员在后台设置好系统配置 B:数据被写入config表中 ,一键值对的形式存储 C:在common.php文件中,检测系统配置缓存文件dada_config.php是否存在,若存在则调用 不存在则生成系统配置缓存文件。$_SCONFIG数组用来储存系统配置数据的 D:其他缓存 通过该语句之后包含APP缓存与他、用户APP缓存等缓存文件 首页缓存(随便看看缓存) 首页一般是通过source/network.php文件来控制的,所以这里分析随便看看(network)的缓存 一:随便看看配置缓存 A:在管理员后台的随便看看处设置,将设置要显示的数目以及类别全部存在缓存文件 datadata_network.php 中,而不存入数据库 B:在source/network.php中调用该配置缓存文件 … 继续阅读

发表在 Uchome | 标签为 , | 留下评论

最近项目总结

项目最近涉及到 用curl调用远程接口,phpexcel导出xls文件,Linux下利用cron设置定时任务执行php文件做一些更新操作,Linux一些命令的熟悉,uchome数据库表和方法的一些深入了解,php连接远程Oracle数据库

发表在 心情随笔 | 标签为 , , , , | 留下评论

【转】Uchome 所用程序通用方法汇总

function_common.php 引用: //SQL ADDSLASHESfunction saddslashes($string) return $string; //取消HTML代码function shtmlspecialchars($string)   return $string; //字符串解密加密function authcode($string, $operation = ‘DECODE’, $key = ”, $expiry = 0) //清空cookiefunction clearcookie() //cookie设置function ssetcookie($var, $value, $life=0) //数据库连接function dbconnect() //获取在线IPfunction getonlineip($format=0) //判断当前用户登录状态function checkauth() //获取用户app列表function getuserapp($uid=0) //获取到表名function tname($name) //对话框function showmessage($msgkey, … 继续阅读

发表在 Uchome | 标签为 , , , , , | 留下评论

【转】ucenter1.5通讯过程分析

1,用户登录bbs,通过logging.php文件中,使用函数uc_user_login验证,如果验证成功,将调用函数uc_user_synlogin(位于uc_client下的client.php文件中),在这个函数中调用 uc_api_post(‘user’, ‘synlogin’, array(‘uid’=>$uid));之后向UC_API.’/index.php’传递了数据;这里的UC_API就是在config.inc.php中的定义的uc_server之URL地址2,uc_server的index.php接受参数数据,获得model为user,action为synlogin,就调用control目录下的user.php类中的onsynlogin方法,通过foreach循环,以javascript的方式通知uc应用列表中的应用同步登录;即通过get方式传递给应用目录中api下的uc.php一些数据;3,uc.php接收通知并处理get过来的数据,并在函数synlogin(位于uc.php中)通过函数_authcode加密数据(默认以UC_KEY作为密钥),用函数_setcookie设置cookie;4,各个应用在适当的文件中用对应的密钥解码上面设置的cookie,得到用户id等数据;通过这个值来判断用户是否经过其它应用登录过; ——————————————————————————————————- 不同的应用加密的函数名称可能不同,但密钥相同情况下,加密结果是一样的: uc.php里是_authcode,client.php里是uc_authcode,bbsincludeglobal.func.php里是authcodeuchomesourcefunction_common.php里是authcodesupersitefunctioncommon.func.php里是authcode —————————————————————————————————— 以discuz举例: 一、用户登录检查与用户登录验证logging.php 在bbs的logging.php中如下代码段 } elseif($action == ‘login’) { if($discuz_uid) {   $ucsynlogin = ”;   showmessage(‘login_succeed’, $indexname);} 检查用户id变量$discuz_uid是否为空来判断,用户是否登录(包括从别的应用登录。) 如果用户从bbs登录,则在登录验证成功后通过如下代码: $ucsynlogin = $allowsynlogin ? uc_user_synlogin($discuz_uid) : ”; 通知其它应用—-“用户已从bbs登录,请通知其它应用设置cookie” (uc_server通过javascript调用方式向其它应用的api/uc.php传递数据) 可以在uc应用目录下新建一个名为test.php的文件,来模拟登录成功,请求uc_server通知其它应用。文件内容为: ———————文件内容开始———————- <?phpinclude_once “config.inc.php”;include_once “./uc_client/client.php”;echo uc_user_synlogin(1);echo … 继续阅读

发表在 Uchome | 标签为 , , | 留下评论

JQuery的ajax实例

感觉自己好像捣鼓了一阵子jQuery了,不断地拿着火狐浏览器的错误控制台围绕着Google地图调啊调的,页面整Ajax登录验证,更新数据乱七八糟的好像捣了几个月了。。。之前想把prototype看一下的,毕竟也是比较好的js框架,一直没看,也不知道都忙到哪里去了,哎,发现其实时间挺好混的。。。想挣大钱还是能力不够的。。。以前我一直反感二次开发,但是现在公司很多都是弄这个,不得不研究discuz,uchome这些东西,还有phpcms,现在也只是大概清楚了数据走向,基本上可以改模板。现在发现康盛的东西还是不错的,phpcms也不错。要是一个人能把这样的整体框架设计(包括数据库的设计)出来,我认为他是个很牛的人!它们给我的印象:会拼凑变量充分利用资源!一个方法关联到几个文件!雷人! 没事发个文件吧,发现现在不做笔记,用的时候找还真是个麻烦。昨天想把依赖uchome做的那个postcrossing项目用smarty分离出来,不再用uchome的template那套机制的,不知道怎么调用foreach 的item的属性了,搞了很长时间,原来用 xx 点 数组下标,郁闷死我了! 今天没事整理桌面垃圾文件,不知道什么时候下的,看看还可以,顺便贴上来!也不知道是哪位哥哥之前写的。 JQuery的ajax实例: <html> <head> <title>jQuery Ajax 实例演示</title> </head> <script language="javascript" src="../lib/jquery.js"></script> <script language="javascript"> $(document).ready(function () {    $(‘#send_ajax’).click(function (){      var params=$(‘input’).serialize(); //序列化表单的值      $.ajax({        url:’ajax_json.php’, //后台处理程序        type:’post’,         //数据发送方式        dataType:’json’,     //接受数据格式 … 继续阅读

发表在 Ajax | 标签为 , , , | 4 条评论