• 2010-07-30

    ecshop 函数说明

    所有函数功能说明:
    lib_time.php
    gmtime()
    P: 获得当前格林威治时间的时间戳 /$0
    server_timezone()
    P: 获得服务器的时区 /$0
    local_mktime($hour = NULL , $minute= NULL, $second = NULL,  $month = NULL,  $day = NULL,  $year = NULL)
    P: 生成一个用户自定义时区日期的GMT时间戳
    local_date($format, $time = NULL)
    P: 将GMT时间戳格式化为用户自定义时区日期
    gmstr2time($str)
    P: 转换字符串形式的时间表达式为GMT时间戳
    local_strtotime($str)
    P: 将一个用户自定义时区的日期转为GMT时间戳
    local_gettime($timestamp = NULL)
    P:  获得用户所在时区指定的时间戳
    local_getdate($timestamp = NULL)
    P: 获得用户所在时区指定的日期和时间信息
    lib_base.php
    sub_str($str, $length = 0, $append = true)
    P: 截取UTF-8编码下字符串的函数
    real_ip()
    P: 获得用户的真实IP地址
    str_len($str)
    P: 计算字符串的长度(汉字按照两个字符计算)
    get_crlf()
    P: 获得用户操作系统的换行符
    send_mail($name, $email, $subject, $content, $type = 0, $notification=false)
    P: 邮件发送
    gd_version()
    P:  获得服务器上的 GD 版本
    file_get_contents($file)
    P: 如果系统不存在file_get_contents函数则声明该函数
    file_put_contents($file, $data, $flags = '')
    P: 如果系统不存在file_put_contents函数则声明该函数
    floatval($n)
    P: 如果系统不存在 floatval 函数则声明该函数
    file_mode_info($file_path)
    P: 文件或目录权限检查函数
    log_write($arg, $file = '', $line = '')
    P: 写入日志内容
    make_dir($folder)
    P: 检查目标文件夹是否存在,如果不存在则自动创建该目录
    gzip_enabled()
    P: 获得系统是否启用了 gzip
    addslashes_deep($value)
    P: 递归方式的对变量中的特殊字符进行转义
    addslashes_deep_obj($obj)
    P: 将对象成员变量或者数组的特殊字符进行转义
    stripslashes_deep($value)
    P: 递归方式的对变量中的特殊字符去除转义
    make_semiangle($str)
    P: 将一个字串中含有全角的数字字符、字母、空格或'%+-()'字符转换为相应半角字符
    check_file_type($filename, $realname = '', $limit_ext_types = '')
    P: 检查文件类型 /文件名/真实文件名/允许的文件类型
    mysql_like_quote($str)
    P: 对 MYSQL LIKE 的内容进行转义 过滤掉_ %等字符.
    real_server_ip()
    P: 获取服务器的ip
    ecs_header($string, $replace = true, $http_response_code = 0)
    P: 自定义 header 函数,用于过滤可能出现的安全隐患
    ecs_iconv($source_lang, $target_lang, $source_string = '')
    P: 自定义的编码转换
    ecs_geoip($ip)
    P: 取得IP的地址,采用IP库
    trim_right($str)
    P: 去除字符串右侧可能出现的乱码
    move_upload_file($file_name, $target_name = '')
    P: 将上传文件转移到指定位置
    json_str_iconv($str)
    P: 将JSON传递的参数转码
    get_file_suffix($file_name, $allow_type = array())
    P: 获取文件后缀名,并判断是否合法
    read_static_cache($cache_name)
    P: 读结果缓存文件
    write_static_cache($cache_name, $caches)
    P: 写结果缓存文件
    lib_common.php (公用函数库)
    db_create_in($item_list, $field_name = '')
    P: 创建像这样的查询: "IN('a','b')" $item_list为数组
    is_email($user_email)
    P: 验证输入的邮件地址是否合法
    is_time($time)
    P: 检查是否为一个合法的时间格式
    assign_query_info()
    P: 获得查询时间和次数,并赋值给smarty
    region_result($parent, $sel_name, $type)
    P: 创建地区的返回信息
    get_regions($type = 0, $parent = 0)
    P: 获得指定国家的所有省份, 函数需要数据库支持.
    get_shipping_config($area_id)
    P: 获得配送区域中指定的配送方式的配送费用的计算参数 比如快捷公司不同.
    init_users()
    P: 初始化会员数据整合类
    cat_list($cat_id = 0, $selected = 0, $re_type = true, $level = 0, $is_show_all = true)
    P: 获得指定分类下的子分类的数组, $re_type控制返回类型
    cat_options($spec_cat_id, $arr)
    P: 过滤和排序所有分类,返回一个带有缩进级别的数组
    load_config()
    P: 载入配置信息
    get_brand_list()
    P: 取得品牌列表
    get_brands($cat = 0, $app = 'brand')
    P: 获得某个分类下的品牌列表
    get_promotion_info($goods_id = '')
    P: 所有的促销活动信息
    get_children($cat = 0)
    P: 获得指定分类下所有底层分类的ID
    get_article_children ($cat = 0)
    P: 获得指定文章分类下所有底层分类的ID
    get_mail_template($tpl_name)
    P: 获取邮件模板
    order_action($order_sn, $order_status, $shipping_status, $pay_status, $note = '', $username = null)
    P: 记录订单操作记录
    price_format($price, $change_price = true)
    P: 格式化商品价格
    get_virtual_goods($order_id, $shipping = false)
    P: 返回订单中的虚拟商品 记录是否发货.
    virtual_goods_ship(&$virtual_goods, &$msg, $order_sn, $return_result = false, $process = 'other')
    P:  虚拟商品发货
    virtual_card_shipping ($goods, $order_sn, &$msg, $process = 'other')
    P: 虚拟卡发货
    virtual_card_result($order_sn, $goods)
    P: 返回虚拟卡信息
    get_snatch_result($id)
    P: 获取指定 id snatch 活动的结果
    clear_tpl_files($is_cache = true, $ext = '')
    P: 清除指定后缀的模板缓存或编译文件
    clear_compiled_files($ext = '')
    P: 清除模版编译文件
    clear_cache_files($ext = '')
    P: 清除缓存文件
    clear_all_files($ext = '')
    P: 清除模版编译和缓存文件
    smarty_insert_scripts($args)
    P: 页面上调用的js文件,组合功能.
    smarty_create_pages($params)
    P: 创建分页的列表
    build_uri($app, $params, $append = '', $page = 0, $size = 0)
    P: 重写 URL 地址
    formated_weight($weight)
    P: 格式化重量
    log_account_change($user_id, $user_money = 0, $frozen_money = 0, $rank_points = 0, $pay_points = 0, $change_desc = '', $change_type = ACT_OTHER)
    P: 记录帐户变动
    article_cat_list($cat_id = 0, $selected = 0, $re_type = true, $level = 0)
    P: 获得指定分类下的子分类的数组/ 向下取数组.
    article_cat_options($spec_cat_id, $arr)
    P: 过滤和排序所有文章分类,返回一个带有缩进级别的数组
    uc_call($func, $params=null)
    P: 调用UCenter的函数
    exception_handler($errno, $errstr, $errfile, $errline)
    P: error_handle回调函数未启用.
    get_image_path($goods_id, $image='', $thumb=false, $call='goods', $del=false)
    P: 重新获得商品图片与商品相册的地址
    user_uc_call($func, $params = null)
    P: 调用使用UCenter插件时的函数
    get_volume_price_list($goods_id, $price_type = '1')
    P: 取得商品优惠价格列表
    get_final_price($goods_id, $goods_num = '1', $is_spec_price = false, $spec = array())
    P: 取得商品最终使用价格
    get_package_info($id)
    P: 获取指定id package 的信息
    get_package_goods($package_id)
    P: 获得指定礼包的商品
    lib_main.php (前台公用函数库)
    update_user_info()
    P: 更新用户SESSION,COOKIE及登录时间、登录次数。
    get_user_info($id=0)
    P:  获取用户信息数组
    assign_ur_here($cat = 0, $str = '')
    P: 取得当前位置和页面标题
    get_parent_cats($cat)
    P: 获得指定分类的所有上级分类
    build_pagetitle($arr, $type = 'category')
    P: 根据提供的数组编译成页面标题
    build_urhere($arr, $type = 'category')
    P: 根据提供的数组编译成当前位置
    assign_dynamic($tmp
    P: 获得指定页面的动态内容
    assign_articles($id, $num)
    P: 分配文章列表给smarty
    get_shop_help()
    P: 分配帮助信息
    assign_pager($app, $cat, $record_count, $size, $sort, $order, $page = 1,$keywords = '', $brand = 0, $price_min = 0, $price_max = 0, $display_type = 'list', $filter_attr='', $url_format='', $sch_array='')
    P: 创建分页信息.分页函数.
    get_pager($url, $param, $record_count, $page = 1, $size = 10)
    P: 生成给pager.lbi赋值的数组
    get_vote($id = '')
    P: 调用调查内容
    get_user_browser()
    P: 获得浏览器名称和版本
    is_spider($record = true)
    P: 判断是否为搜索引擎蜘蛛
    get_os()
    P: 获得客户端的操作系统
    visit_stats()
    P: 统计访问信息
    save_searchengine_keyword($domain, $path)
    P: 保存搜索引擎关键字
    get_tags($goods_id = 0, $user_id = 0)
    P: 获得指定用户、商品的所有标记
    get_dyna_libs($theme, $tmp)
    P:  获取指定主题某个模板的主题的动态模块
    dyna_libs_replace($matches)
    P: 换动态模块
    upload_file($upload, $type)
    P: 处理上传文件,并返回上传图片名(上传失败时返回图片名为空)
    show_message($content, $links = '', $hrefs = '', $type = 'info', $auto_redirect = true)
    P: 显示一个提示信息
    parse_rate_value($str, &$operate)
    P: 将一个形如+10, 10, -10, 10%的字串转换为相应数字,并返回操作符号
    recalculate_price()
    P: 重新计算购物车中的商品价格:目的是当用户登录时享受会员价格,当用户退出登录时不享受会员价格
    assign_comment($id, $type, $page = 1)
    P: 查询评论内容
    assign_template($ctype = '', $catlist = array())
    P: 默认的smarty赋值
    time2gmt($time)
    P: 将一个本地时间戳转成GMT时间戳
    get_user_bonus($user_id = 0)
    P: 查询会员的红包金额
    set_affiliate()
    P: 保存推荐uid
    get_affiliate()
    P: 获取推荐uid
    article_categories_tree($cat_id = 0)
    P: 获得指定分类同级的所有分类以及该分类下的子分类
    get_article_parent_cats($cat)
    P: 获得指定文章分类的所有上级分类
    get_library_number($library, $template = null)
    P: 取得某模板某库设置的数量
    get_navigator($ctype = '', $catlist = array())
    P: 取得自定义导航栏列表
    license_info()
    P: 授权信息内容
    lib_insert.php (动态内容函数库)
    insert_query_info()
    P: 获得查询次数以及查询时间
    insert_history()
    P: 调用浏览历史
    insert_cart_info()
    P: 调用购物车信息
    insert_ads($arr)
    P: 调用指定的广告位的广告
    insert_member_info()
    P: 调用会员信息
    insert_comments($arr)
    P: 调用评论信息
    insert_vote()
    P: 调用在线调查信息
    lib_goods.php (商品相关函数库)
    goods_sort($goods_a, $goods_b)
    P: 商品推荐usort用自定义排序行数
    get_categories_tree($cat_id = 0)
    P: 获得指定分类同级的所有分类以及该分类下的子分类
    get_child_tree($tree_id = 0)
    P: 取和指定分类ID下的分类树
    get_top10($cats = '')
    P: 调用当前分类的销售排行榜
    get_recommend_goods($type = '', $cats = '')
    P: 获得推荐商品
    get_promote_goods($cats = '')
    P: 获得促销商品
    get_category_recommend_goods($type = '', $cats = '', $brand = 0, $min =0,  $max = 0, $ext='')
    P: 获得指定分类下的推荐商品
    get_goods_info($goods_id)
    P: 获得商品的详细信息
    get_goods_properties($goods_id)
    P: 获得商品的属性和规格
    get_same_attribute_goods($attr)
    P:  获得属性相同的商品
    get_goods_gallery($goods_id)
    P: 获得指定商品的相册
    assign_cat_goods($cat_id, $num = 0, $from = 'web')
    P: 获得指定分类下的商品
    assign_brand_goods($brand_id, $num = 0, $cat_id = 0)
    P: 获得指定的品牌下的商品
    get_extension_goods($cats)
    P: 获得所有扩展分类属于指定分类的所有商品ID
    bargain_price($price, $start, $end)
    P: 判断某个商品是否正在特价促销期
    spec_price($spec)
    P: 获得指定的规格的价格
    group_buy_info($group_buy_id, $current_num = 0)
    P: 取得团购活动信息
    group_buy_stat($group_buy_id, $deposit)
    P: 取得某团购活动统计信息
    group_buy_status($group_buy)
    P: 获得团购的状态
    auction_info($act_id, $config = false)
    P: 取得拍卖活动信息
    auction_log($act_id)
    P: 取得拍卖活动出价记录
    auction_status($auction)
    P: 计算拍卖活动状态(注意参数一定是原始信息)
    goods_info($goods_id)
    P: 取得商品信息
    favourable_info($act_id)
    P: 取得优惠活动信息
    wholesale_info($act_id)
    P: 批发信息
    add_style($goods_name, $style)
    P:  添加商品名样式
    get_goods_attr($goods_id)
    P: 取得商品属性
    get_goods_fittings($goods_list = array())
    P: 获得购物车中商品的配件
    lib_article.php (文章及文章分类相关函数库)
    get_cat_articles($cat_id, $page = 1, $size = 20 ,$requirement='')
    P: 获得文章分类下的文章列表
    get_article_count($cat_id ,$requirement='')
    P: 获得指定分类下的文章总数

  • 2010-05-13

    世界以痛吻我

    The world has kissed my soul with its pain, asking for its return in songs.
    世界以痛吻我,要我回报以歌。

                                                                                                   ---泰戈尔

     

    我欣赏这样态度,但是不赞同这样行为。

    无论世界怎么样吻我,那是世界事;是否给予回报、回报什么,那是我的事。

    世界用痛苦吻我,我并不想歌唱,更不想回吻。

    我只是身怀利刃,站在那里

    也许下一秒看到直指鼻尖的剑忍,也许只会看到淡淡的微笑

  • 来自科学松鼠会

    耶鲁大学的一个研究小组,通过分析大肠杆菌和Linux系统的控制网络,试图找出为什么有机生命体和计算机操作系统,一个一般运行平稳,一个却会崩溃。

    生物医学信息教授Mark Gerstein 说:“有一个司空见惯的比喻:基因组实际就是一个生物体的操作系统 。我们想看看这个比喻是不是符合实际。”

    大肠杆菌和Linux网络都是层级结构,但在运转效率方面有显著的差异。细菌的分子网络排列成金字塔形状,塔尖少部分的主调控基因独立行事,控制着塔基广泛的基础功能。

    相比之下,Linux操作系统更像一个倒置的金字塔,由许多顶层线程控制少量底层功能。Gerstein 说这个架构的产生是由于软件工程师为节省资金和时间倾向于依靠现有资源,而不是从头开始。

    左为大肠杆菌的转录调控网络,是一个金字塔式结构。右边是Linux的调用图,它有更多的常规控制更少的底部通用功能。

    Gerstein说:“但这也意味着操作系统更容易受到损坏,因为也许只是更新一个普通的组件,都具有破坏性,为了弥补缺陷,设计师必须对这些通用的组件进行不断地精确调整。”

    操作系统就像城市街道——工程师的目光集中于车流量很大的区域,但如果对大肠杆菌这样的生命体,情形就不一样了:因为没有微调,一个随机突变对主要分子通道的破坏将是致命的。这就是为什么大肠杆菌没有基础通用组件,却有高度专业化的模块组织的原因。在几十亿年的进化过程中,已经证明了这样一个健全的组织,可以保护机体免遭随机突变破坏。

  • 五一蜗居诸暨小山村,珠龙湖村。

    典型的江南农村,有山,山上满是竹子;有水,水中绿藻溪鱼。

    每天天光微亮就起床,拔笋采茶,翻山越岭,巡查水库。

    然后五一终究是要结束,我终究还是要回到上海……

  • 2010-04-27

    谁控制谁

    从基因角度说,人就是机器。基因在细胞复制过程中一旦造成不可逆的损坏,就会导致细胞自杀或者被清除。以我的理解,新生的人类就好像一台新买来的电脑,随着使用次数不断增加,暴露在公共环境中不断受到各种各样的压力测试。最终,电脑积累过多无法还原的错误,再也无法正常启动需要重装系统。而对于无法重新格式化肉体的人类来说,唯一选择只有制造一个有自己一半基因的副本,然后让维护成本越来越大的旧机体自然损耗掉……所以要生孩子,所以会衰老,所以会死。

     

    对于肉体的抗衰老有几个途径:

    1 降低损耗速度。具体来说就是少吃(参考恒河猴卡路里控制的论文),少吃就少消耗。按照中国传统理论来说就是培固先天元气。

    2 避免极端环境下的异常行为。不难过,不伤感,不嫉妒,不愤怒……甚至不开怀大笑,所有会造成情绪波动的思绪,全部淡然以对。避免一切极端情绪状态下对身体释放的有损信息。喜怒哀乐愁忧思,所有情绪上的波动都会导致身体错误数据的积累。道教里一个修行中人,需要渡劫方能成仙——而最厉害最无可抵挡的是情劫。(注:劫这个概念其实来自佛教,如果没记错的话。佛学几乎整个体系都是修心的,因为肉体是容器,对不对?)

    3 药物补充。花青素、茄红素、花黄素、虾青素、胶原蛋白、VC、VE各种抗氧化补充剂对延缓身体衰老,提高身体修复机能至关重要。

    4 基因欺骗……这个目前在世界上有大量基因公司从事这个方向的研究。

    人的思想是可以控制肉体,否则就无所谓意志力;人的行为也可以影响思维,否则一两次的假装开心就不会转为真正的开心。

    蜂蜜、花粉、VC、VE、螺旋藻、葡萄籽油都算效果不错的抗氧化补品,关键还不贵。虾青素的抗氧化能力是VC的1000多倍,经常吃三文鱼获取虾青素也不错,可惜三文鱼生鱼片价格实在不怎么亲民。

    太极拳、八段锦、五禽戏、易筋经这类中国古典养身功法,作用是性命双修,身体精神一起锻炼。太极的最高境界是神明,连续坚持练几十年后,情绪控制能力大幅度提升。通过简单的肢体运动,反复练习,从而达成术近乎道的境界。

     

    另外为什么要按时睡觉?

    睡觉的作用是修补身体,回复机体活力。实际上不睡觉也能达成同样目的。睡觉最重要的是做梦,通过梦可以对冲缓解现实世界中的种种需求欲望情绪波动。大脑需要梦境来欺骗自己,保护自己不要过载不要超负荷。密宗里有一门修行就是专门论述如何控梦,打通梦和现实的界限。你知道自己什么时候睡着怎么睡着的那天,你就已经开始学会了解大脑对自己的控制……先有了解,才有摆脱……有点像黑客帝国对不对?

     

    了解自己的身体运作机制,了解人类情绪和思考模式,避免自己被各种几亿年以来积累下来的基因法则所控制。