最近一直忙于做项目,虽说做了点新东西。感觉自己进步不是很大,总体水平还是跟半年前差不多,想到的东西跟以前差不多,写出来的东西也跟以前差不多。只是现在做的东西多些,比以前敢做了。
近期准备利用点时间,读读一些开源系统,之前一直想学习下discuz,无奈多次放弃。还是对老外的感兴趣,虽然自己英语差的不行,之前也做过wordpress的二次开发,这次准备对fluxbb下手。啥也不说了,直接上场。
整体结构是面向过程写的,自己也喜欢这样的风格,老外不少优秀的开源系统都是这样的风格,wordpress也是。
在fluxbb中引入的文件一般都省略“?>”结束
首先分析的是common.php及相关文件(定义常量、引入函数库、建立数据库连接、环境检查等)
//关闭魔术引用(如已开启),php 5.2及以下默认开启
//过滤POST、GET等,此处用到array_map(),如果是上传文件另做处理
1 // Turn off magic_quotes_runtime 2 if (get_magic_quotes_runtime()) 3 set_magic_quotes_runtime(0); 4 5 // Strip slashes from GET/POST/COOKIE/REQUEST/FILES (if magic_quotes_gpc is enabled) 6 if (!defined('FORUM_DISABLE_STRIPSLASHES') && get_magic_quotes_gpc()) 7 { 8 function stripslashes_array($array) 9 {10 return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);11 }12 13 $_GET = stripslashes_array($_GET);14 $_POST = stripslashes_array($_POST);15 $_COOKIE = stripslashes_array($_COOKIE);16 $_REQUEST = stripslashes_array($_REQUEST);17 if (is_array($_FILES))18 {19 // Don't strip valid slashes from tmp_name path on Windows20 foreach ($_FILES AS $key => $value)21 $_FILES[$key]['tmp_name'] = str_replace('\', '\\', $value['tmp_name']);22 $_FILES = stripslashes_array($_FILES);23 }24 }