title="' . $config['rmbs_name'] . '">' . ' ' . $rmbs . '' . ' '; } return trim($r, '  \n\r\t\v\0'); } /** * 当用户参与任务系统时,将其UID添加到索引中 * * @param int $uid * @return void */ private function add_user_to_index($uid) { $index = kv_get('abs_task__user_index'); if (is_null($index)) { // 若它还不存在 $index = []; } if (!in_array($uid, $index, true)) { $index[] = $uid; kv_set('abs_task__user_index', $index); } } /** * 立刻保存缓存里的任务状态和活跃度到数据库里 * * @param int $uid 要保存的UID,零表示全部参与用户 * @return void */ public function force_save_task_state_and_activity($uid = 0) { if ($uid === 0) { $index = kv_get('abs_task__user_index'); if ($index === false || empty($index)) { return false; } foreach ($index as $uid) { $task_info = cache_get('abs_task__task_for_' . $uid); if (!is_null($task_info)) { kv_set('abs_task__task_for_' . $uid, $task_info); } } } elseif (is_int($uid)) { $task_info = cache_get('abs_task__task_for_' . $uid); if (!is_null($task_info)) { kv_set('abs_task__task_for_' . $uid, $task_info); } } $activity_info = cache_get('abs_task__activity'); if (!is_null($activity_info)) { kv_set('abs_task__activity', $activity_info); } return true; } /*============ End of 辅助函数 =============*/ } /*============ End of 业务代码 =============*/ /*============================================= = 其他辅助函数 = =============================================*/ /** * 生成展示三种积分的HTML * * 是TaskManager类的credits_display_html函数的别名,面向过程风格 * * @deprecated 使用TaskManager::credits_display_html代替 * * @param int|string $credits * @param int|string $golds * @param int|string $rmbs * @param array $config * @return string */ function abs_task_credits_display_html($credits = 0, $golds = 0, $rmbs = 0, $config = []) { return TaskManager::credits_display_html($credits, $golds, $rmbs, $config); } /** * 检查对应类型的任务的防抖机制是否触发 * * triggered有“红温了”的意思 * * @param string|array $generalTaskId 通用任务ID,通常传入string即可,但如果需要判断前置任务的话,传入array * @param int $uid * @return bool 防抖**触发**时返回true */ function abs_task_is_debounce_triggered($generalTaskId, $uid) { if (is_array($generalTaskId)) { $results = []; foreach ($generalTaskId as $taskId) { $results[$taskId] = abs_task_is_debounce_triggered($taskId, $uid); } return $results; } if (empty($generalTaskId) || empty($uid)) { return false; } $debounce_trigger_raw = cache_get(abs_task_get_debounce_cache_key($generalTaskId, $uid)); return !is_null($debounce_trigger_raw) ? boolval($debounce_trigger_raw) : false; } /** * 生成防抖缓存键名 * * 防止出错 * * `cache_set(abs_task_get_debounce_cache_key(任务ID, $uid),60)`就可以让一个任务有60秒防抖时间 * * @param string|array $generalTaskId 通用任务ID,通常传入string即可,但如果需要判断前置任务的话,传入array * @param int $uid * @return string */ function abs_task_get_debounce_cache_key($generalTaskId, $uid) { return 'abs_task_debounce_' . $generalTaskId . '_' . $uid; } /*============ End of 其他辅助函数 =============*/ 【分享网】

您所在的用户组无权下载该附件

本站杜绝一切以赌博获利的存在,所有项目均来自互联网转载。收录内容真实性需自行判断,如出现任何问题本站免责。感谢理解