139 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * ---------------------------------------------------------------------
 | |
|  * GLPI - Gestionnaire Libre de Parc Informatique
 | |
|  * Copyright (C) 2015-2020 Teclib' and contributors.
 | |
|  *
 | |
|  * http://glpi-project.org
 | |
|  *
 | |
|  * based on GLPI - Gestionnaire Libre de Parc Informatique
 | |
|  * Copyright (C) 2003-2014 by the INDEPNET Development Team.
 | |
|  *
 | |
|  * ---------------------------------------------------------------------
 | |
|  *
 | |
|  * LICENSE
 | |
|  *
 | |
|  * This file is part of GLPI.
 | |
|  *
 | |
|  * GLPI is free software; you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License as published by
 | |
|  * the Free Software Foundation; either version 2 of the License, or
 | |
|  * (at your option) any later version.
 | |
|  *
 | |
|  * GLPI is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|  * GNU General Public License for more details.
 | |
|  *
 | |
|  * You should have received a copy of the GNU General Public License
 | |
|  * along with GLPI. If not, see <http://www.gnu.org/licenses/>.
 | |
|  * ---------------------------------------------------------------------
 | |
|  */
 | |
| 
 | |
| // Direct access to file
 | |
| if (strpos($_SERVER['PHP_SELF'], "visibility.php")) {
 | |
|    $AJAX_INCLUDE = 1;
 | |
|    include ('../inc/includes.php');
 | |
|    header("Content-Type: text/html; charset=UTF-8");
 | |
|    Html::header_nocache();
 | |
| }
 | |
| 
 | |
| Session::checkLoginUser();
 | |
| 
 | |
| if (isset($_POST['type']) && !empty($_POST['type'])
 | |
|     && isset($_POST['right'])) {
 | |
|    $display = false;
 | |
|    $rand    = mt_rand();
 | |
|    $prefix = '';
 | |
|    $suffix = '';
 | |
|    if (isset($_POST['prefix']) && !empty($_POST['prefix'])) {
 | |
|       $prefix = $_POST['prefix'].'[';
 | |
|       $suffix = ']';
 | |
|    } else {
 | |
|       $_POST['prefix'] = '';
 | |
|    }
 | |
| 
 | |
|    echo "<table class='tab_format'><tr>";
 | |
|    switch ($_POST['type']) {
 | |
|       case 'User' :
 | |
|          echo "<td>";
 | |
|          User::dropdown(['right' => $_POST['right'],
 | |
|                               'name'  => $prefix.'users_id'.$suffix]);
 | |
|          echo "</td>";
 | |
|          $display = true;
 | |
|          break;
 | |
| 
 | |
|       case 'Group' :
 | |
|          echo "<td>";
 | |
|          $params             = ['rand' => $rand,
 | |
|                                      'name' => $prefix.'groups_id'.$suffix];
 | |
|          $params['toupdate'] = ['value_fieldname'
 | |
|                                                   => 'value',
 | |
|                                      'to_update'  => "subvisibility$rand",
 | |
|                                      'url'        => $CFG_GLPI["root_doc"]."/ajax/subvisibility.php",
 | |
|                                      'moreparams' => ['items_id' => '__VALUE__',
 | |
|                                                            'type'     => $_POST['type'],
 | |
|                                                            'prefix'   => $_POST['prefix']]];
 | |
| 
 | |
|          Group::dropdown($params);
 | |
|          echo "</td><td>";
 | |
|          echo "<span id='subvisibility$rand'></span>";
 | |
|          echo "</td>";
 | |
|          $display = true;
 | |
|          break;
 | |
| 
 | |
|       case 'Entity' :
 | |
|          echo "<td>";
 | |
|          Entity::dropdown(['entity' => $_SESSION['glpiactiveentities'],
 | |
|                                 'value'  => $_SESSION['glpiactive_entity'],
 | |
|                                 'name'   => $prefix.'entities_id'.$suffix]);
 | |
|          echo "</td><td>";
 | |
|          echo __('Child entities');
 | |
|          echo "</td><td>";
 | |
|          Dropdown::showYesNo($prefix.'is_recursive'.$suffix);
 | |
|          echo "</td>";
 | |
|          $display = true;
 | |
|          break;
 | |
| 
 | |
|       case 'Profile' :
 | |
|          echo "<td>";
 | |
|          $checkright   = (READ | CREATE | UPDATE | PURGE);
 | |
|          $righttocheck = $_POST['right'];
 | |
|          if ($_POST['right'] == 'faq') {
 | |
|             $righttocheck = 'knowbase';
 | |
|             $checkright   = KnowbaseItem::READFAQ;
 | |
|          }
 | |
|          $params             = [
 | |
|             'rand'      => $rand,
 | |
|             'name'      => $prefix.'profiles_id'.$suffix,
 | |
|             'condition' => [
 | |
|                'glpi_profilerights.name'     => $righttocheck,
 | |
|                'glpi_profilerights.rights'   => ['&', $checkright]
 | |
|             ]
 | |
|          ];
 | |
|          $params['toupdate'] = ['value_fieldname'
 | |
|                                                   => 'value',
 | |
|                                      'to_update'  => "subvisibility$rand",
 | |
|                                      'url'        => $CFG_GLPI["root_doc"]."/ajax/subvisibility.php",
 | |
|                                      'moreparams' => ['items_id' => '__VALUE__',
 | |
|                                                            'type'     => $_POST['type'],
 | |
|                                                            'prefix'   => $_POST['prefix']]];
 | |
| 
 | |
|          Profile::dropdown($params);
 | |
|          echo "</td><td>";
 | |
|          echo "<span id='subvisibility$rand'></span>";
 | |
|          echo "</td>";
 | |
|          $display = true;
 | |
|          break;
 | |
|    }
 | |
| 
 | |
|    if ($display && (!isset($_POST['nobutton']) || !$_POST['nobutton'])) {
 | |
|       echo "<td><input type='submit' name='addvisibility' value=\""._sx('button', 'Add')."\"
 | |
|                    class='submit'></td>";
 | |
|    } else {
 | |
|       // For table w3c
 | |
|       echo "<td> </td>";
 | |
|    }
 | |
|    echo "</tr></table>";
 | |
| }
 |