/** * Marker en endring utført i forumet slik at den blir synlig i menyen */ public function forum_changed() { \Kofradia\DB::get()->beginTransaction(); // hent og lås params for alle medlemmer $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT u_id, u_params\n\t\t\tFROM ff_members\n\t\t\t\tJOIN users_players ON ffm_up_id = up_id\n\t\t\t\tJOIN users ON u_id = up_u_id\n\t\t\tWHERE ffm_ff_id = {$this->id} AND ffm_status = 1\n\t\t\tFOR UPDATE"); while ($u = $result->fetch()) { // hopp over den aktive brukeren if (login::$logged_in && $u['u_id'] == login::$user->id) { continue; } $params = new params($u['u_params']); if (!$params->exists("forums")) { continue; } $container = new container($params->get("forums")); foreach ($container->items as $key => $row) { if ($row[0] != "ff") { continue; } if ($row[1] != $this->id) { continue; } // oppdater if (!isset($row[4])) { $row[4] = 0; } $row[4]++; // lagre $container->items[$key] = $row; $params->update("forums", $container->build()); \Kofradia\DB::get()->exec("UPDATE users SET u_params = " . \Kofradia\DB::quote($params->build()) . " WHERE u_id = {$u['u_id']}"); continue; } } // fullfør transaksjon \Kofradia\DB::get()->commit(); }