db->query("SELECT * FROM " . TABLE_PREFIX . "language"); while ($language = $bugsys->db->fetch_array($languages)) { $tempstore["$language[languageid]"] = $language; } $bugsys->db->query(" ### replacing the language cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('language', '" . $bugsys->escape(serialize($tempstore)) . "')" ); Bugdar::$datastore['language'] = $tempstore; } // ####################### Start build_settings ###################### function build_settings() { global $bugsys; $settings = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "setting"); while ($setting = $bugsys->db->fetch_array($settings)) { $options["$setting[varname]"] = $setting['value']; } $bugsys->db->query(" ### replacing the setting cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('setting', '" . $bugsys->escape(serialize($options)) . "')" ); Bugdar::$datastore['setting'] = $options; } // ###################### Start build_usergroups ##################### function build_usergroups() { global $bugsys; $usergroups = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "usergroup"); while ($usergroup = $bugsys->db->fetch_array($usergroups)) { $groups["$usergroup[usergroupid]"] = $usergroup; } $bugsys->db->query(" ### replacing usergroup cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('usergroup', '" . $bugsys->escape(serialize($groups)) . "')" ); Bugdar::$datastore['usergroup'] = $groups; } // ###################### Start build_assignedto ##################### function build_assignedto() { global $bugsys; // determine the groups that are assignable $ids = $exprs = array(); foreach (Bugdar::$datastore['usergroup'] AS $id => $group) { if ($group['permissions'] & $bugsys->permissions['canbeassignedto']) { $ids[] = $id; $exprs[] = "FIND_IN_SET($id, groupids)"; } } $ids = implode(',', $ids); $exprs = implode(' OR ', $exprs); $users = $bugsys->db->query(" SELECT email, displayname, userid, showemail FROM " . TABLE_PREFIX . "user AS user WHERE usergroupid IN ($ids) OR $exprs" ); while ($user = $bugsys->db->fetch_array($users)) { $devs["$user[userid]"] = $user; } $bugsys->db->query(" ### replacing developer / assign to cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('assignto', '" . $bugsys->escape(serialize($devs)) . "')" ); Bugdar::$datastore['assignto'] = $devs; } // ####################### Start build_versions ###################### function build_versions() { global $bugsys; $versions = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "version ORDER BY displayorder ASC"); while ($version = $bugsys->db->fetch_array($versions)) { $tempstore["$version[versionid]"] = $version; } $bugsys->db->query(" ### replacing version cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('version', '" . $bugsys->escape(serialize($tempstore)) . "')" ); Bugdar::$datastore['version'] = $tempstore; } // ####################### Start build_products ###################### function build_products() { global $bugsys; $products = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "product ORDER BY displayorder ASC"); while ($product = $bugsys->db->fetch_array($products)) { if ($product['parentid']) { $tempstore['component']["$product[productid]"] = $product; } else { $tempstore['product']["$product[productid]"] = $product; } } $bugsys->db->query(" ### replacing product / component cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('product', '" . $bugsys->escape(serialize($tempstore['product'])) . "'), ('component', '" . $bugsys->escape(serialize($tempstore['component'])) . "')" ); Bugdar::$datastore['product'] = $tempstore['product']; Bugdar::$datastore['component'] = $tempstore['component']; } // ##################### Start build_permissions ##################### function build_permissions() { global $bugsys; $permissions = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "permission ORDER BY usergroupid, productid"); while ($permission = $bugsys->db->fetch_array($permissions)) { $tempstore["$permission[usergroupid]"]["$permission[productid]"] = $permission['mask']; } $bugsys->db->query(" ### replacing permissions cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('permission', '" . $bugsys->escape(serialize($tempstore)) . "')" ); Bugdar::$datastore['permission'] = $tempstore; } // ##################### Start build_automations #################### function build_automations() { global $bugsys; $automations = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "automation ORDER BY name ASC"); while ($automation = $bugsys->db->fetch_array($automations)) { $actions["$automation[actionid]"] = $automation; } $bugsys->db->query(" ### replacing automation cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('automation', '" . $bugsys->escape(serialize($actions)) . "')" ); Bugdar::$datastore['automation'] = $actions; } // ###################### Start build_user_help ###################### function build_user_help() { global $bugsys; // custom field descriptions $descriptions = $bugsys->db->query("SELECT fieldid, name, description FROM " . TABLE_PREFIX . "bugfield"); while ($field = $bugsys->db->fetch_array($descriptions)) { $help["field$field[fieldid]"] = array('title' => $field['name'], 'body' => $field['description']); } // standard help texts $texts = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "fieldhelp"); while ($field = $bugsys->db->fetch_array($texts)) { $help["$field[keystring]"] = $field; } $bugsys->db->query(" ### replacing user help cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('help', '" . $bugsys->escape(serialize($help)) . "')" ); Bugdar::$datastore['help'] = $help; }