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