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_statuses ###################### function build_statuses() { global $bugsys; $statuses = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "status ORDER BY displayorder ASC"); while ($status = $bugsys->db->fetch_array($statuses)) { $tempstore["$status[statusid]"] = $status; } $bugsys->db->query(" ### replacing status cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('status', '" . $bugsys->escape(serialize($tempstore)) . "')" ); bugdar::$datastore['status'] = $tempstore; } // ###################### Start build_severities ##################### function build_severities() { global $bugsys; $severities = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "severity ORDER BY displayorder ASC"); while ($severity = $bugsys->db->fetch_array($severities)) { $tempstore["$severity[severityid]"] = $severity; } $bugsys->db->query(" ### replacing severity cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('severity', '" . $bugsys->escape(serialize($tempstore)) . "')" ); bugdar::$datastore['severity'] = $tempstore; } // ###################### Start build_priorities ##################### function build_priorities() { global $bugsys; $priorities = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "priority ORDER BY displayorder ASC"); while ($priority = $bugsys->db->fetch_array($priorities)) { $tempstore["$priority[priorityid]"] = $priority; } $bugsys->db->query(" ### replacing priority cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('priority', '" . $bugsys->escape(serialize($tempstore)) . "')" ); bugdar::$datastore['priority'] = $tempstore; } // ###################### 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_resolutions ##################### function build_resolutions() { global $bugsys; $resolutions = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "resolution ORDER BY displayorder ASC"); while ($resolution = $bugsys->db->fetch_array($resolutions)) { $tempstore["$resolution[resolutionid]"] = $resolution; } $bugsys->db->query(" ### replacing resolution cache ### REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('resolution', '" . $bugsys->escape(serialize($tempstore)) . "')" ); bugdar::$datastore['resolution'] = $tempstore; } // ####################### 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; }