Example #1
0
/**
 * 获得用户在项目中的权限信息
 * @param $user
 * @param $project
 */
function biz_getUserProjectRight($userGUID = '', $projGUID = '')
{
    global $_W;
    if (empty($userGUID)) {
        $userGUID = isset($_W['user']['UserGUID']) ? $_W['user']['UserGUID'] : $_W['uid'];
    }
    if (empty($projGUID)) {
        $projGUID = $_W['project']['projguid'];
    }
    $callback = function () use($userGUID, $projGUID) {
        return db_getUserProjectRight($userGUID, $projGUID);
    };
    $key = $projGUID . '_' . $userGUID;
    return cache_GetData($key, $callback, 1800);
}
Example #2
0
function biz_getInvoice($InvoGUID)
{
    $key = 'Invo_' . $InvoGUID;
    $callback = function () use($InvoGUID) {
        return db_getInvoiceById($InvoGUID);
    };
    return cache_GetData($key, $callback);
}
Example #3
0
/**
 *获得签到全局表信息
 * 自动增加组
 * @param $pid 项目id
 */
function getGlobalSign($project)
{
    global $_W;
    $key = 'sign_' . $project['projguid'];
    $singset = biz_unserializer($project, 'signset');
    $max = empty($singset['num']) ? 10 : $singset['num'];
    $info = memcached_get($key);
    $reset = empty($info) || $info['group']['maxnum'] >= $max;
    if ($reset) {
        memcached_delete($key);
        $index = 1;
        if (!empty($info['group']['dispnum'])) {
            $index = $info['group']['dispnum'];
        }
        //获取组号
        $callback = function () use($index, $max, $project) {
            $info['maxnum'] = $max;
            //获取未签到组列表
            $info['group'] = Sign_GetEmptyGroup($index, $max, $project['id']);
            $info['group']['maxnum']++;
            return $info;
        };
        $info = cache_GetData($key, $callback, 1800);
    } else {
        $info['group']['maxnum']++;
        memcached_set($key, $info, 1800);
    }
    return $info;
}