public function refresh_assignments($mode_create = true) { $id_user = $this->id_user; $assign_servers = new assign_server(); $curr_assign_servers = $assign_servers->get_from_hashrange($id_user, $this->name, "BEGINS_WITH"); if ($curr_assign_servers && count($curr_assign_servers) > 0) { foreach ($curr_assign_servers as $curr_assign_server) { $del_assign_server = new assign_server(); $del_assign_server->set($curr_assign_server); if ($del_assign_server->id_user != "undefined") { $del_assign_server->delete(); } $curr_assign_server_split = explode("@", $curr_assign_server['server_hf']); if ($curr_assign_server_split) { $curr_hf = $curr_assign_server_split[1]; $curr_svr = $curr_assign_server_split[0]; $del_assign_hf = new assign_hf(); $del_assign_hf->get_from_hashrange($id_user, $curr_hf . '@' . $curr_svr); if ($del_assign_hf->id_user != "undefined") { $del_assign_hf->delete(); } } } } if (!$mode_create) { return; } // LOOP THROUGH ALL FUNCTIONS $user_function = new hf_id_user(); $user_functions = $user_function->get_from_hashrange($id_user); foreach ($user_functions as $user_function) { $hf_obj = new hf_id_user(); $hf_obj->set($user_function); if ($hf_obj->id != "undefined") { $hf_obj->build(array("obj_expression", "obj_hf_parameters", "bj_hf_tags", "obj_hf_files", "obj_hf_kill", "obj_hf_resources", "obj_cache_out_xml", "obj_cache_out_cxml", "obj_cache_approved", "obj_cache_latest", "obj_cache_ad", "obj_fastresponse")); $passed_filter = false; if ($hf_obj->obj_hf_node_filters) { if (count($hf_obj->obj_hf_node_filters) > 0) { $passed_filter = false; foreach ($hf_obj->obj_hf_node_filters as $node_filter) { if (strpos($this->name, $node_filter->value) !== FALSE) { $passed_filter = true; break; } } // end foreach (each filter) } else { $passed_filter = true; } } else { $passed_filter = true; } if ($passed_filter) { if ($hf_obj->obj_hf_system_kind) { $found_matched_sk = false; foreach ($hf_obj->obj_hf_system_kind as $hsk) { if ($hsk->id_sk == $this->id_sk || $hsk->id_sk == "any") { $found_matched_sk = true; break; } } if (count($hf_obj->obj_hf_system_kind) == 0) { $found_matched_sk = true; } if (!$found_matched_sk) { $passed_filter = false; } } } if ($passed_filter) { $new_assign_hf = new assign_hf(); $new_assign_hf->create(array("id_user" => $id_user, "hf_server" => $hf_obj->id . "@" . $this->name)); $new_assign_svr = new assign_server(); $new_assign_svr->create(array("id_user" => $id_user, "server_hf" => $this->name . "@" . $hf_obj->id)); } } // function is not undefined } // end foreach (each function) }