示例#1
0
 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();
 }
示例#2
0
 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;
 }
示例#4
0
 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;
 }