public static function form(\Request $request, $command = null) { javascript('jquery'); \Form::requiredScript(); if (empty($command)) { $command = 'run_search'; } $system_locations = \systemsinventory\Factory\SystemDevice::getSystemLocations(); $location_options = '<option value="0">All</opton>'; foreach ($system_locations as $val) { $location_options .= '<option value="' . $val['id'] . '">' . $val['display_name'] . '</option>'; } $vars['locations'] = $location_options; $system_types = \systemsinventory\Factory\SystemDevice::getSystemTypes(); $type_options = '<option value="0">All</opton>'; foreach ($system_types as $val) { $type_options .= '<option value="' . $val['id'] . '">' . $val['description'] . '</option>'; } $vars['system_types'] = $type_options; $system_dep = \systemsinventory\Factory\SystemDevice::getSystemDepartments(); $dep_optons = '<option value="0">All</opton>'; foreach ($system_dep as $val) { $dep_optons .= '<option value="' . $val['id'] . '">' . $val['display_name'] . '</option>'; } $vars['departments'] = $dep_optons; $vars['form_action'] = "./systemsinventory/search/" . $command; $template = new \Template($vars); $template->setModuleTemplate('systemsinventory', 'Search_System.html'); return $template->get(); }
private function createSearchConditional($db) { $conditional = NULL; if (empty($_SESSION['system_search_vars'])) { $conditional = NULL; } else { $search_vars = $_SESSION['system_search_vars']; $system_dep = \systemsinventory\Factory\SystemDevice::getSystemDepartments(); if ($search_vars['system_type']) { $conditional = new \Database\Conditional($db, 'device_type_id', $search_vars['system_type'], '='); } if ($search_vars['department']) { $tmp_cond = new \Database\Conditional($db, 'department_id', $search_vars['department'], '='); $conditional = $this->addSearchConditional($db, $conditional, $tmp_cond, 'AND'); } else { $cond = NULL; foreach ($system_dep as $val) { $tmp_cond = new \Database\Conditional($db, 'department_id', $val['id'], '='); $cond = $this->addSearchConditional($db, $cond, $tmp_cond, 'OR'); } $conditional = $this->addSearchConditional($db, $conditional, $cond, 'AND'); } if ($search_vars['location']) { $tmp_cond = new \Database\Conditional($db, 'location_id', $search_vars['location'], '='); $conditional = $this->addSearchConditional($db, $conditional, $tmp_cond, 'AND'); } if (!empty($search_vars['physical_id'])) { $tmp_cond = new \Database\Conditional($db, 'physical_id', $search_vars['physical_id'], 'like'); $conditional = $this->addSearchConditional($db, $conditional, $tmp_cond, 'AND'); } if (!empty($search_vars['model'])) { $tmp_cond = new \Database\Conditional($db, 'model', "%" . $search_vars['model'] . "%", 'like'); $conditional = $this->addSearchConditional($db, $conditional, $tmp_cond, 'AND'); } if (!empty($search_vars['username'])) { $tmp_cond = new \Database\Conditional($db, 'username', "%" . $search_vars['username'] . "%", 'LIKE'); $conditional = $this->addSearchConditional($db, $conditional, $tmp_cond, 'AND'); } if (!empty($search_vars['purchase_date'])) { $from_date = strtotime($search_vars['purchase_date']); $to_date = strtotime($search_vars['purchase_date']) + 86400; $tmp_cond = new \Database\Conditional($db, 'purchase_date', $from_date, '>'); $tmp_cond1 = new \Database\Conditional($db, 'purchase_date', $to_date, '<'); $tmp_cond = new \Database\Conditional($db, $tmp_cond, $tmp_cond1, 'AND'); $conditional = $this->addSearchConditional($db, $conditional, $tmp_cond, 'AND'); } if (!empty($search_vars['ip'])) { $tmp_cond = new \Database\Conditional($db, 'primary_ip', "%" . $search_vars['ip'] . "%", 'like'); $tmp_cond1 = new \Database\Conditional($db, 'secondary_ip', "%" . $search_vars['ip'] . "%", 'like'); $tmp_cond = new \Database\Conditional($db, $tmp_cond, $tmp_cond1, 'OR'); $conditional = $this->addSearchConditional($db, $conditional, $tmp_cond, 'AND'); } if (!empty($search_vars['mac'])) { $tmp_cond = new \Database\Conditional($db, 'mac', "%" . $search_vars['mac'] . "%", 'like'); $tmp_cond1 = new \Database\Conditional($db, 'mac2', "%" . $search_vars['mac'] . "%", 'like'); $tmp_cond = new \Database\Conditional($db, $tmp_cond, $tmp_cond1, 'OR'); $conditional = $this->addSearchConditional($db, $conditional, $tmp_cond, 'AND'); } } return $conditional; }
public static function getSystemDetails($system_id, $row_index) { include_once PHPWS_SOURCE_DIR . "mod/systemsinventory/config/device_types.php"; $device_details = array(); if (empty($system_id)) { throw new Exception("System ID invalid."); } // get the common device attributes $db = \Database::getDB(); $query = "SELECT * FROM systems_device WHERE id='{$system_id}'"; $pdo = $db->query($query); $result = $pdo->fetch(\PDO::FETCH_ASSOC); $device_type_id = $result['device_type_id']; $device_details = $result; // get the device specific attributes $table = SystemDevice::getSystemType($device_type_id); if (!empty($table)) { $device_table = $db->addTable($table); $device_table->addFieldConditional('device_id', $system_id); $device_result = $db->select(); $device_result = $device_result['0']; // set the specific device id so we can use it to save the device specific info later. $specific_device_id = $device_result['id']; unset($device_result['id']); $device_result['specific-device-id'] = $specific_device_id; //$device_attr = SystemDevice::getDeviceAttributes($device_type_id); $device_details = array_merge($device_details, $device_result); } $device_details['device-type-id'] = $device_type_id; $purchase_date = $device_details['purchase_date']; $device_details["purchase_date"] = date('Y-m-d', $purchase_date); $system_locations = SystemDevice::getSystemLocations(); $location_options = '<option value="1">Select Location</opton>'; foreach ($system_locations as $key => $val) { $location_options .= '<option value="' . $val['id'] . '">' . $val['display_name'] . '</option>'; } $device_details['locations'] = $location_options; $system_dep = SystemDevice::getSystemDepartments(); $dep_optons = '<option value="1">Select Department</opton>'; foreach ($system_dep as $val) { $dep_optons .= '<option value="' . $val['id'] . '">' . $val['display_name'] . '</option>'; } $device_details['departments'] = $dep_optons; $device_details['testarray'] = array("test1" => "test1", "test2" => "test2", "test3" => "test3"); $device_details['row_index'] = $row_index; return $device_details; }
public static function userPermissionsList($data, $request) { $users = Settings::getPHPWSUsers(); $departments_result = SystemDevice::getSystemDepartments(); // convert to associative array foreach ($departments_result as $dept) { $departments[$dept['id']] = $dept['display_name']; } $rows = array(); $db = \Database::getDB(); $tbl = $db->addTable('systems_permission'); $tbl->addField('user_id'); $tbl->addField('departments'); $tbl->addField('id'); foreach ($users as $user) { $permissions = ''; $permitted_dept = array(); $db->clearConditional(); $user_id = $user['id']; $tbl->addFieldConditional('user_id', $user_id, '='); $result = $db->select(); if (!empty($result)) { $permitted_dept = explode(':', $result['0']['departments']); foreach ($permitted_dept as $dept) { if (!empty($permissions)) { $permissions .= ', '; } $permissions .= $departments[$dept]; } } else { $permissions = "All Departments!"; } $action = '<a style="cursor:pointer" onclick="return confirm(\'Are you sure you want to delete this users permissions?\')" href="./systemsinventory/settings/editPermissions/?action=delete&user_id=' . $user_id . '")> <span class="glyphicon glyphicon-trash" title="Delete Restrictions"></span></a>'; $rows[] = array('display_name' => $user['display_name'], 'username' => $user['username'], 'permissions' => $permissions, 'action' => $action); } $pager = new \Pager(); $pager->setId('user-permission-list'); $pager->setHeaders(array('display_name' => 'Name', 'username' => 'Username', 'permissions' => 'Current Permissions')); $pager->setRows($rows); $data = $pager->getJson(); return $data; }