导航

随笔分类 -  编程开发 - PHP

摘要:按登录非登录判断:uid){/*如果是当前浏览者为登录用户则显示下面的内容*/print;}else{/*如果是当前浏览者为非登录用户则显示下面的内容*/print;}?>按用户uid判断,这个很适合把一些特定区块只显示给管理员:uid==10){/*如果是当前浏览者登录且uid等于10则显示下面的... 阅读全文

posted @ 2014-05-19 08:48 eastson 阅读(303) 评论(0) 推荐(0)

摘要:问:如何校验和提交表单?答:Drupal允许定义默认的表单校验处理函数和提交处理函数。function practice_demo_form($form, &$form_state) { ... ... return $form;}function practice_demo_form_vali... 阅读全文

posted @ 2014-05-15 09:57 eastson 阅读(1362) 评论(0) 推荐(0)

摘要:原文地址:http://blog.hsdn.net/1266.html我的公司使用AD進行使用者驗證,因此在使用者操作的便利性考量前提下.如何讓使用者不需要重覆輸入帳號與密碼,而直接抓取使用者已經登入AD的帳號資訊,已經變成系統開發必須要考量的項目之一 (至少我自己是這樣認為啦 @@).NET整合A... 阅读全文

posted @ 2014-05-11 19:10 eastson 阅读(261) 评论(0) 推荐(0)

摘要:A class for PHP to talk to Active Directory through LDAP.http://sourceforge.net/projects/adldap/ 阅读全文

posted @ 2014-05-11 18:52 eastson 阅读(238) 评论(0) 推荐(0)

摘要:原文地址:http://hi.baidu.com/lllangxx/item/3ccb7cdfa13b56eb3dc2cb39一、学习如何管理Active Directory Active Directory 循序渐进系列指南二、ADExplorer 到网上下载一个ADExplorer,它是A... 阅读全文

posted @ 2014-05-11 18:46 eastson 阅读(786) 评论(0) 推荐(0)

摘要:Quercus是Caucho公司采用纯Java开发的一个PHP5引擎。基于开源授权协议GPL发布。Quercus自带很多个PHP模块和扩展如 PDF,PDO,MySQL和JSON。可以利用这个引擎在一些JavaEE应用容器(Resin,GlassFish等)中运行PHP程序,也可以在 PHP脚本中调... 阅读全文

posted @ 2014-05-07 11:05 eastson 阅读(337) 评论(0) 推荐(0)

摘要:原文地址:http://www.terrysco.com/node/drupal-as-mobile-backend.html用Drupal很容易实现一个API,让手机平台或者其他系统使用json的格式进行通信。 'login', 'register' => 'register', ... 阅读全文

posted @ 2014-05-07 10:40 eastson 阅读(364) 评论(0) 推荐(0)

摘要:Drupal使用_theme_build_registry()和_theme_process_registry()两个函数构建theme registry。theme registry是theme hook的集合组数。这里以practice模块定义两个theme hook为例,说明一下theme r... 阅读全文

posted @ 2014-05-05 15:30 eastson 阅读(322) 评论(0) 推荐(0)

摘要:drupal_render()只是对theme()的调用做了包装,真正做任务的还是theme()。function theme($hook, $variables = array()) { ... ...}theme()的开头检查了module_load_all()是否有执行。theme()只能在... 阅读全文

posted @ 2014-04-30 11:59 eastson 阅读(557) 评论(0) 推荐(0)

摘要:drupal_render()函数接收一个结构化的数组作为参数,然后调用theme()输出HTML。function drupal_render(&$elements) { ... ...}$elements['#printed']控制是否已经执行过,避免重复执行。在drupal_render()... 阅读全文

posted @ 2014-04-30 08:26 eastson 阅读(696) 评论(0) 推荐(0)

摘要:因个人需要需要重新安装Drupal。如何操纵呢?Drupal是在_drupal_bootstrap_database()函数里面检查是否已经安装过的。检查的依据是有没有$GLOBALS['databases']设置,或者是有没有设置常量MAINTENANCE_MODE=install。functio... 阅读全文

posted @ 2014-04-22 12:02 eastson 阅读(1120) 评论(0) 推荐(0)

摘要:Adminer是一个类似于phpMyAdmin的MySQL管理客户端。整个程序只有一个PHP文件,易于使用和安装。Adminer支持多语言(已自带11种翻译语言文件,可以按自己的需求翻译相应的语言)。支持PHP4.3+,MySQL 4.1+以上的版本。提供的功能包括:1:创建,修改,删除索引/外键/视图/存储过程和函数。2:查询,合计,排序数据。3:新增/修改/删除记录。4:支持所有数据类型,包括大字段。5:能够批量执行SQL语句。6:支持将数据,表结构,视图导成SQL或CSV。7:能够外键关联打印数据库概要。8:能够查看进程和关闭进程。9:能够查看用户和权限并修改。10:管理事件和表格分区( 阅读全文

posted @ 2014-02-13 09:46 eastson 阅读(856) 评论(0) 推荐(0)

摘要:FrontAccounting (FA)是一个针对企业ERP供应链的网页会计系统。FA 允許多使用者、多語系和多國貨幣。 FA允许多使用者、多语系和多国货币。FA接续OpenAccounting (OA)这套已停止开发软体的发展,并有更进一步的进展,OA则是由WebERP衍生出来的。 阅读全文

posted @ 2013-12-05 11:48 eastson 阅读(411) 评论(0) 推荐(0)

摘要:Drupal在本阶段为用户设置缓存头信息。Drupal不为验证用户缓存页面,每次请求时都是从新读取的。function _drupal_bootstrap_page_header() { bootstrap_invoke_all('boot'); // 调用boot钩子, 只是启动模块 if (!drupal_is_cli()) { ob_start(); drupal_page_header(); }}function drupal_page_header() { $headers_sent = &drupal_static(__FUNCTION__, FALSE); 阅读全文

posted @ 2013-10-21 11:51 eastson 阅读(329) 评论(0) 推荐(0)

摘要:原文地址:http://www.cnblogs.com/acpp/archive/2011/06/10/2077592.htmlsession.save_handler=files1.session_start()是session机制的开始,它有一定概率开启垃圾回收,因为session是存放在文件中的,PHP自身的垃圾回收是无效的,SESSION的回收是要删文件的,这个概率是根据php.ini的配置决定的,但是有的系统是 session.gc_probability=0,这也就是说概率是0,而是通过cron脚本来实现垃圾回收。session.gc_probability = 1session. 阅读全文

posted @ 2013-10-19 10:49 eastson 阅读(280) 评论(0) 推荐(0)

摘要:Drupal的很多功能都是可以定制的。以导航菜单为例,blog模块需要在菜单上添加一些功能,comment模块需要在菜单上添加一些功能,我们开发的自定义模块也需要在菜单上添加一些功能。Drupal开发者为了达到这样的扩展目的,设计了钩子系统,导航菜单就是其中一个名为menu的钩子。有了钩子系统,开发人员就可以在blog模块定义一个钩子函数从而实现menu钩子。Drupal要求钩子函数的命名必须要求以模块名开始,以钩子名为后缀。function block_menu() { $items['admin/structure/block/manage/%/%'] = array( & 阅读全文

posted @ 2013-10-17 17:21 eastson 阅读(398) 评论(0) 推荐(0)

摘要:Drupal的系统变量是指保存在后台数据库variable表中的一些参数设置,透过variable_get()和variable_set()存取:先看一看_drupal_bootstrap_variables()的代码:function _drupal_bootstrap_variables() { global $conf; // Initialize the lock system. require_once DRUPAL_ROOT . '/' . variable_get('lock_inc', 'includes/lock.inc'); 阅读全文

posted @ 2013-10-17 10:34 eastson 阅读(415) 评论(0) 推荐(0)

摘要:什么是模块载入?首先说载入,这里的载入是指require_once。模块载入就是指require_once模块目录中的某个PHP文件。每个Drupal模块都应该有自己的主文件。模块主文件以模块名开始,以.module为后缀。例如blog模块,其主文件就是blog.module。drupal_load()函数用来完成载入模块主文件:function drupal_load($type, $name) { static $files = array(); if (isset($files[$type][$name])) { return TRUE; } $filename = dru... 阅读全文

posted @ 2013-10-17 10:10 eastson 阅读(525) 评论(0) 推荐(0)

摘要:system_list()函数的目的是根据传入的资源类型,返回一个数组列表:function system_list($type) { ... ... }参数$type支持下面三种类型:bootstrap:返回启动模块列表module_enabled :返回模块列表theme:返回主题列表三种类型里面bootstrap处理方式有点不同,module_enabled和theme是相同的。先看看bootstrap是如此处理的。这里的bootstrap指的是系统表system里面标识为bootstrap的模块,是系统的启动模块,在Drupal启动过程中需要先被载入。首先检查是否有缓存:if ($ca 阅读全文

posted @ 2013-10-16 14:52 eastson 阅读(431) 评论(0) 推荐(0)

摘要:Drupal中,主题是可以继承的,或者说是扩展。例如,要创建一个新的名为custom的主题,该主题与名为default的主题只有某些细小的差别。这个时候,不需要复制一份default到custom,可以在custom声明该主题继承自default就可以了。主题的继承关系在info文件中说明。首先,default主题的info文件不需要修改:name = Default Themecustom主题的info文件需要特别地声明base theme属性:name = Custom Themebase theme = defaultDrupal内部是如何解析这种继承关系的呢?解析的过程发生在syste 阅读全文

posted @ 2013-10-16 14:39 eastson 阅读(312) 评论(0) 推荐(0)