├── COPYING.txt ├── README.md ├── ajax └── display_ind.php ├── config.php ├── hook.php ├── inc ├── ind.class.php └── indicator.inc.php ├── install.php ├── scripts └── ind.js ├── setup.php ├── src ├── css │ ├── css_ind.css │ └── css_styles.min.css ├── index.php ├── indicators.png ├── pics │ ├── bg │ │ ├── back-def.jpg │ │ ├── back.jpg │ │ └── fd_logo-def.png │ ├── login_logo_glpi-def.png │ └── login_logo_glpi.png └── script.js ├── uninstall.php ├── upfile.php ├── uplogo.php └── uplogo_int.php /COPYING.txt: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc., 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your 12 | freedom to share and change it. By contrast, the GNU General Public 13 | License is intended to guarantee your freedom to share and change free 14 | software--to make sure the software is free for all its users. This 15 | General Public License applies to most of the Free Software 16 | Foundation's software and to any other program whose authors commit to 17 | using it. (Some other Free Software Foundation software is covered by 18 | the GNU Lesser General Public License instead.) You can apply it to 19 | your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Our General Public Licenses are designed to make sure that you 23 | have the freedom to distribute copies of free software (and charge for 24 | this service if you wish), that you receive source code or can get it 25 | if you want it, that you can change the software or use pieces of it 26 | in new free programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must show them these terms so they know their 37 | rights. 38 | 39 | We protect your rights with two steps: (1) copyright the software, and 40 | (2) offer you this license which gives you legal permission to copy, 41 | distribute and/or modify the software. 42 | 43 | Also, for each author's protection and ours, we want to make certain 44 | that everyone understands that there is no warranty for this free 45 | software. If the software is modified by someone else and passed on, we 46 | want its recipients to know that what they have is not the original, so 47 | that any problems introduced by others will not reflect on the original 48 | authors' reputations. 49 | 50 | Finally, any free program is threatened constantly by software 51 | patents. We wish to avoid the danger that redistributors of a free 52 | program will individually obtain patent licenses, in effect making the 53 | program proprietary. To prevent this, we have made it clear that any 54 | patent must be licensed for everyone's free use or not licensed at all. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | GNU GENERAL PUBLIC LICENSE 60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 | 62 | 0. This License applies to any program or other work which contains 63 | a notice placed by the copyright holder saying it may be distributed 64 | under the terms of this General Public License. The "Program", below, 65 | refers to any such program or work, and a "work based on the Program" 66 | means either the Program or any derivative work under copyright law: 67 | that is to say, a work containing the Program or a portion of it, 68 | either verbatim or with modifications and/or translated into another 69 | language. (Hereinafter, translation is included without limitation in 70 | the term "modification".) Each licensee is addressed as "you". 71 | 72 | Activities other than copying, distribution and modification are not 73 | covered by this License; they are outside its scope. The act of 74 | running the Program is not restricted, and the output from the Program 75 | is covered only if its contents constitute a work based on the 76 | Program (independent of having been made by running the Program). 77 | Whether that is true depends on what the Program does. 78 | 79 | 1. You may copy and distribute verbatim copies of the Program's 80 | source code as you receive it, in any medium, provided that you 81 | conspicuously and appropriately publish on each copy an appropriate 82 | copyright notice and disclaimer of warranty; keep intact all the 83 | notices that refer to this License and to the absence of any warranty; 84 | and give any other recipients of the Program a copy of this License 85 | along with the Program. 86 | 87 | You may charge a fee for the physical act of transferring a copy, and 88 | you may at your option offer warranty protection in exchange for a fee. 89 | 90 | 2. You may modify your copy or copies of the Program or any portion 91 | of it, thus forming a work based on the Program, and copy and 92 | distribute such modifications or work under the terms of Section 1 93 | above, provided that you also meet all of these conditions: 94 | 95 | a) You must cause the modified files to carry prominent notices 96 | stating that you changed the files and the date of any change. 97 | 98 | b) You must cause any work that you distribute or publish, that in 99 | whole or in part contains or is derived from the Program or any 100 | part thereof, to be licensed as a whole at no charge to all third 101 | parties under the terms of this License. 102 | 103 | c) If the modified program normally reads commands interactively 104 | when run, you must cause it, when started running for such 105 | interactive use in the most ordinary way, to print or display an 106 | announcement including an appropriate copyright notice and a 107 | notice that there is no warranty (or else, saying that you provide 108 | a warranty) and that users may redistribute the program under 109 | these conditions, and telling the user how to view a copy of this 110 | License. (Exception: if the Program itself is interactive but 111 | does not normally print such an announcement, your work based on 112 | the Program is not required to print an announcement.) 113 | 114 | These requirements apply to the modified work as a whole. If 115 | identifiable sections of that work are not derived from the Program, 116 | and can be reasonably considered independent and separate works in 117 | themselves, then this License, and its terms, do not apply to those 118 | sections when you distribute them as separate works. But when you 119 | distribute the same sections as part of a whole which is a work based 120 | on the Program, the distribution of the whole must be on the terms of 121 | this License, whose permissions for other licensees extend to the 122 | entire whole, and thus to each and every part regardless of who wrote it. 123 | 124 | Thus, it is not the intent of this section to claim rights or contest 125 | your rights to work written entirely by you; rather, the intent is to 126 | exercise the right to control the distribution of derivative or 127 | collective works based on the Program. 128 | 129 | In addition, mere aggregation of another work not based on the Program 130 | with the Program (or with a work based on the Program) on a volume of 131 | a storage or distribution medium does not bring the other work under 132 | the scope of this License. 133 | 134 | 3. You may copy and distribute the Program (or a work based on it, 135 | under Section 2) in object code or executable form under the terms of 136 | Sections 1 and 2 above provided that you also do one of the following: 137 | 138 | a) Accompany it with the complete corresponding machine-readable 139 | source code, which must be distributed under the terms of Sections 140 | 1 and 2 above on a medium customarily used for software interchange; or, 141 | 142 | b) Accompany it with a written offer, valid for at least three 143 | years, to give any third party, for a charge no more than your 144 | cost of physically performing source distribution, a complete 145 | machine-readable copy of the corresponding source code, to be 146 | distributed under the terms of Sections 1 and 2 above on a medium 147 | customarily used for software interchange; or, 148 | 149 | c) Accompany it with the information you received as to the offer 150 | to distribute corresponding source code. (This alternative is 151 | allowed only for noncommercial distribution and only if you 152 | received the program in object code or executable form with such 153 | an offer, in accord with Subsection b above.) 154 | 155 | The source code for a work means the preferred form of the work for 156 | making modifications to it. For an executable work, complete source 157 | code means all the source code for all modules it contains, plus any 158 | associated interface definition files, plus the scripts used to 159 | control compilation and installation of the executable. However, as a 160 | special exception, the source code distributed need not include 161 | anything that is normally distributed (in either source or binary 162 | form) with the major components (compiler, kernel, and so on) of the 163 | operating system on which the executable runs, unless that component 164 | itself accompanies the executable. 165 | 166 | If distribution of executable or object code is made by offering 167 | access to copy from a designated place, then offering equivalent 168 | access to copy the source code from the same place counts as 169 | distribution of the source code, even though third parties are not 170 | compelled to copy the source along with the object code. 171 | 172 | 4. You may not copy, modify, sublicense, or distribute the Program 173 | except as expressly provided under this License. Any attempt 174 | otherwise to copy, modify, sublicense or distribute the Program is 175 | void, and will automatically terminate your rights under this License. 176 | However, parties who have received copies, or rights, from you under 177 | this License will not have their licenses terminated so long as such 178 | parties remain in full compliance. 179 | 180 | 5. You are not required to accept this License, since you have not 181 | signed it. However, nothing else grants you permission to modify or 182 | distribute the Program or its derivative works. These actions are 183 | prohibited by law if you do not accept this License. Therefore, by 184 | modifying or distributing the Program (or any work based on the 185 | Program), you indicate your acceptance of this License to do so, and 186 | all its terms and conditions for copying, distributing or modifying 187 | the Program or works based on it. 188 | 189 | 6. Each time you redistribute the Program (or any work based on the 190 | Program), the recipient automatically receives a license from the 191 | original licensor to copy, distribute or modify the Program subject to 192 | these terms and conditions. You may not impose any further 193 | restrictions on the recipients' exercise of the rights granted herein. 194 | You are not responsible for enforcing compliance by third parties to 195 | this License. 196 | 197 | 7. If, as a consequence of a court judgment or allegation of patent 198 | infringement or for any other reason (not limited to patent issues), 199 | conditions are imposed on you (whether by court order, agreement or 200 | otherwise) that contradict the conditions of this License, they do not 201 | excuse you from the conditions of this License. If you cannot 202 | distribute so as to satisfy simultaneously your obligations under this 203 | License and any other pertinent obligations, then as a consequence you 204 | may not distribute the Program at all. For example, if a patent 205 | license would not permit royalty-free redistribution of the Program by 206 | all those who receive copies directly or indirectly through you, then 207 | the only way you could satisfy both it and this License would be to 208 | refrain entirely from distribution of the Program. 209 | 210 | If any portion of this section is held invalid or unenforceable under 211 | any particular circumstance, the balance of the section is intended to 212 | apply and the section as a whole is intended to apply in other 213 | circumstances. 214 | 215 | It is not the purpose of this section to induce you to infringe any 216 | patents or other property right claims or to contest validity of any 217 | such claims; this section has the sole purpose of protecting the 218 | integrity of the free software distribution system, which is 219 | implemented by public license practices. Many people have made 220 | generous contributions to the wide range of software distributed 221 | through that system in reliance on consistent application of that 222 | system; it is up to the author/donor to decide if he or she is willing 223 | to distribute software through any other system and a licensee cannot 224 | impose that choice. 225 | 226 | This section is intended to make thoroughly clear what is believed to 227 | be a consequence of the rest of this License. 228 | 229 | 8. If the distribution and/or use of the Program is restricted in 230 | certain countries either by patents or by copyrighted interfaces, the 231 | original copyright holder who places the Program under this License 232 | may add an explicit geographical distribution limitation excluding 233 | those countries, so that distribution is permitted only in or among 234 | countries not thus excluded. In such case, this License incorporates 235 | the limitation as if written in the body of this License. 236 | 237 | 9. The Free Software Foundation may publish revised and/or new versions 238 | of the General Public License from time to time. Such new versions will 239 | be similar in spirit to the present version, but may differ in detail to 240 | address new problems or concerns. 241 | 242 | Each version is given a distinguishing version number. If the Program 243 | specifies a version number of this License which applies to it and "any 244 | later version", you have the option of following the terms and conditions 245 | either of that version or of any later version published by the Free 246 | Software Foundation. If the Program does not specify a version number of 247 | this License, you may choose any version ever published by the Free Software 248 | Foundation. 249 | 250 | 10. If you wish to incorporate parts of the Program into other free 251 | programs whose distribution conditions are different, write to the author 252 | to ask for permission. For software which is copyrighted by the Free 253 | Software Foundation, write to the Free Software Foundation; we sometimes 254 | make exceptions for this. Our decision will be guided by the two goals 255 | of preserving the free status of all derivatives of our free software and 256 | of promoting the sharing and reuse of software generally. 257 | 258 | NO WARRANTY 259 | 260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 | REPAIR OR CORRECTION. 269 | 270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 | POSSIBILITY OF SUCH DAMAGES. 279 | 280 | END OF TERMS AND CONDITIONS 281 | 282 | How to Apply These Terms to Your New Programs 283 | 284 | If you develop a new program, and you want it to be of the greatest 285 | possible use to the public, the best way to achieve this is to make it 286 | free software which everyone can redistribute and change under these terms. 287 | 288 | To do so, attach the following notices to the program. It is safest 289 | to attach them to the start of each source file to most effectively 290 | convey the exclusion of warranty; and each file should have at least 291 | the "copyright" line and a pointer to where the full notice is found. 292 | 293 | 294 | Copyright (C) 295 | 296 | This program is free software; you can redistribute it and/or modify 297 | it under the terms of the GNU General Public License as published by 298 | the Free Software Foundation; either version 2 of the License, or 299 | (at your option) any later version. 300 | 301 | This program is distributed in the hope that it will be useful, 302 | but WITHOUT ANY WARRANTY; without even the implied warranty of 303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 | GNU General Public License for more details. 305 | 306 | You should have received a copy of the GNU General Public License along 307 | with this program; if not, write to the Free Software Foundation, Inc., 308 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 309 | 310 | Also add information on how to contact you by electronic and paper mail. 311 | 312 | If the program is interactive, make it output a short notice like this 313 | when it starts in an interactive mode: 314 | 315 | Gnomovision version 69, Copyright (C) year name of author 316 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 317 | This is free software, and you are welcome to redistribute it 318 | under certain conditions; type `show c' for details. 319 | 320 | The hypothetical commands `show w' and `show c' should show the appropriate 321 | parts of the General Public License. Of course, the commands you use may 322 | be called something other than `show w' and `show c'; they could even be 323 | mouse-clicks or menu items--whatever suits your program. 324 | 325 | You should also get your employer (if you work as a programmer) or your 326 | school, if any, to sign a "copyright disclaimer" for the program, if 327 | necessary. Here is a sample; alter the names: 328 | 329 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 330 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 331 | 332 | , 1 April 1989 333 | Ty Coon, President of Vice 334 | 335 | This General Public License does not permit incorporating your program into 336 | proprietary programs. If your program is a subroutine library, you may 337 | consider it more useful to permit linking proprietary applications with the 338 | library. If this is what you want to do, use the GNU Lesser General 339 | Public License instead of this License. 340 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Atenção: 2 | # Com o lançamento do GLPI 10 este plugin será descontinuado. 3 | Mais informações em: 4 | 5 | https://glpi-project.org/ 6 | 7 | https://glpi10.com/ 8 | 9 | 10 | # Attention: 11 | # With the release of GLPI 10 this plugin will be discontinued. 12 | More info: 13 | 14 | https://glpi-project.org/ 15 | 16 | https://glpi10.com/ 17 | 18 | 19 | # Compatível com GLPI 9.5.x 20 | 21 | - Antes de instalar remova qualquer versão anterior do plugin. 22 | - Depois de descompactar o arquivo, renomeie a pasta para "mod". 23 | 24 | # GLPI 9.5.x compatible 25 | 26 | - Before installing, remove any previous versions of plugin. 27 | - Rename the unziped folder to "mod". 28 | -------------------------------------------------------------------------------- /ajax/display_ind.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /config.php: -------------------------------------------------------------------------------- 1 | isActivated("mod")) { 51 | 52 | if(isset($_REQUEST['act'])) { 53 | $action = $_REQUEST['act']; 54 | } 55 | else { $action = '';} 56 | 57 | Html::header('Plugin Modifications', "", "plugins", "mod"); 58 | 59 | echo "

\n"; 60 | echo "


61 | ".__('Plugin Modifications')."

\n"; 62 | 63 | // Index page 64 | echo "\n"; 65 | echo "\n"; 66 | 67 | echo " 68 | 69 | \n"; 77 | 78 | echo " 79 | \n"; 87 | echo "
".__('Index Page').":
".__('Default').": 70 |
"; 71 | if ($action == 'def') { 72 | indexDef(); 73 | } 74 | echo " "; 75 | Html::closeForm(); 76 | echo "
".__('Mod').": 80 | "; 81 | if ($action == 'mod') { 82 | indexMod(); 83 | } 84 | echo " "; 85 | Html::closeForm(); 86 | echo "
\n"; 88 | 89 | //Index Page 90 | 91 | 92 | // Indicators 93 | echo " 94 | \n"; 95 | echo " 96 | \n 97 | \n"; 98 | echo " \n"; 106 | 107 | echo " 115 | \n"; 116 | //Indicators 117 | 118 | 119 | // Background 120 | echo "
".__('Indicators').": ind 99 | "; 100 | if ($action == 'indon') { 101 | indOn(); 102 | } 103 | echo " "; 104 | Html::closeForm(); 105 | echo " 108 | "; 109 | if ($action == 'indoff') { 110 | indOff(); 111 | } 112 | echo " "; 113 | Html::closeForm(); 114 | echo "
121 | \n"; 122 | echo " 123 | 124 | \n"; 125 | echo " 126 | 127 | 128 | 134 | 142 | \n"; 143 | // Background 144 | 145 | // Logo index 146 | echo " 147 | 148 | 149 | \n"; 150 | 151 | echo " 152 | 153 | 154 | 160 | 168 | \n"; 169 | // Logo index 170 | 171 | // Logo internal 100x55 172 | echo " 173 | 174 | 175 | \n"; 176 | 177 | echo " 178 | 179 | 180 | 186 | 194 | \n"; 195 | // Logo internal 196 | 197 | echo "
Background:
".__('Upload').": 129 | 130 |


131 | "; 132 | Html::closeForm(); 133 | echo "

135 | "; 136 | if ($action == 'back') { 137 | imgBack(); 138 | } 139 | echo " "; 140 | Html::closeForm(); 141 | echo "
Logo - Index (png 150 X 150px):
".__('Upload').": 155 | 156 |


157 | "; 158 | Html::closeForm(); 159 | echo "

161 | "; 162 | if ($action == 'logo') { 163 | imgLogo(); 164 | } 165 | echo " "; 166 | Html::closeForm(); 167 | echo "
Logo (png 100 X 55px):
".__('Upload').": 181 | 182 |


183 | "; 184 | Html::closeForm(); 185 | echo "

187 | "; 188 | if ($action == 'logo_int') { 189 | imgLogo_int(); 190 | } 191 | echo " "; 192 | Html::closeForm(); 193 | echo "
\n"; 198 | 199 | echo "

200 | ".__('Back')." 201 | 202 |
203 |
\n"; 204 | 205 | 206 | 207 | } 208 | 209 | ?> 210 | -------------------------------------------------------------------------------- /hook.php: -------------------------------------------------------------------------------- 1 | . 20 | -------------------------------------------------------------------------- 21 | @package modifications 22 | @author Stevenes Donato 23 | @copyright Copyright (c) 2020 Stevenes Donato 24 | @license GPLv3 25 | http://www.gnu.org/licenses/gpl.txt 26 | @link https://github.com/stdonato/glpi-modifications 27 | @link http://www.glpi-project.org/ 28 | @since 2018 29 | -------------------------------------------------------------------------- 30 | */ 31 | 32 | /** 33 | * @name plugin_mod_install 34 | * @access public 35 | * @return boolean 36 | */ 37 | 38 | function plugin_mod_install(){ 39 | 40 | //include('install.php'); 41 | return true; 42 | } 43 | 44 | function plugin_mod_uninstall(){ 45 | 46 | //include('uninstall.php'); 47 | return true; 48 | } 49 | 50 | ?> 51 | -------------------------------------------------------------------------------- /inc/ind.class.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inc/indicator.inc.php: -------------------------------------------------------------------------------- 1 | query($query_sat) or die('erro'); 24 | $media = round($DB->result($result_sat,0,'media'),0); 25 | 26 | 27 | //count due tickets 28 | $sql_due = "SELECT DISTINCT COUNT(glpi_tickets.id) AS due 29 | FROM glpi_tickets_users, glpi_tickets, glpi_users 30 | WHERE glpi_tickets.status NOT IN (5,6) 31 | AND glpi_tickets.is_deleted = 0 32 | AND glpi_tickets.id = glpi_tickets_users.tickets_id 33 | AND glpi_tickets_users.users_id = glpi_users.id 34 | AND glpi_tickets.time_to_resolve IS NOT NULL 35 | AND glpi_tickets.time_to_resolve < NOW() 36 | AND glpi_tickets_users.type = 2 37 | AND glpi_users.id = ".$_SESSION['glpiID']." "; 38 | 39 | $result_due = $DB->query($sql_due); 40 | 41 | $due = $DB->result($result_due,0,'due'); 42 | 43 | if($due > 0) { 44 | $href_due = "".$CFG_GLPI["root_doc"]."/front/ticket.php?is_deleted=0&criteria[0][field]=5&criteria[0] 45 | [searchtype]=equals&criteria[0][value]=".$_SESSION['glpiID']."&criteria[1][link]=AND&criteria[1][field]=82 46 | &criteria[1][searchtype]=equals&criteria[1][value]=1&itemtype=Ticket&start=0"; 47 | } 48 | else { $href_due = "#"; } 49 | 50 | //count open tickets 51 | $sql_cham = "SELECT DISTINCT COUNT(glpi_tickets.id) AS number 52 | FROM glpi_tickets_users, glpi_tickets, glpi_users 53 | WHERE glpi_tickets.status NOT IN (5,6) 54 | AND glpi_tickets.is_deleted = 0 55 | AND glpi_tickets.id = glpi_tickets_users.`tickets_id` 56 | AND glpi_tickets_users.`users_id` = glpi_users.id 57 | AND glpi_tickets_users.type = 2 58 | AND glpi_users.id = ".$_SESSION['glpiID']." "; 59 | 60 | $result_cham = $DB->query($sql_cham); 61 | 62 | $number = $DB->result($result_cham,0,'number'); 63 | 64 | if($number > 0) { 65 | $href_cham = $CFG_GLPI["root_doc"]."/front/ticket.php?is_deleted=0&criteria[0][field]=5 66 | &criteria[0][searchtype]=equals&criteria[0][value]=".$_SESSION['glpiID']."&criteria[1][link]=AND 67 | &criteria[1][field]=12&criteria[1][searchtype]=equals&criteria[1][value]=notold 68 | &itemtype=Ticket&start=0"; 69 | } 70 | else { $href_cham = "#"; } 71 | 72 | 73 | //select tasks 74 | $query_task = " 75 | SELECT glpi_tickettasks.id AS id, glpi_tickettasks.content AS content, glpi_tickettasks.tickets_id AS tid 76 | FROM glpi_tickettasks, glpi_tickets 77 | WHERE glpi_tickettasks.users_id_tech = ".$_SESSION['glpiID']." 78 | AND glpi_tickettasks.state NOT IN (2) 79 | AND glpi_tickettasks.tickets_id = glpi_tickets.id 80 | AND glpi_tickets.is_deleted = 0 81 | AND glpi_tickets.status NOT IN (5,6)"; 82 | 83 | $res_task = $DB->query($query_task); 84 | $num_tasks = $DB->numrows($res_task); 85 | 86 | if($num_tasks > 0) { 87 | $href_tasks = $CFG_GLPI["root_doc"]."/front/ticket.php?is_deleted=0&criteria[0][field]=12&criteria[0][searchtype]=equals 88 | &criteria[0][value]=notclosed&criteria[1][link]=AND&criteria[1][field]=95&criteria[1][searchtype]=equals 89 | &criteria[1][value]=".$_SESSION['glpiID']."&itemtype=Ticket&start=0"; 90 | } 91 | else { $href_tasks = "#"; } 92 | 93 | //task label color 94 | if($num_tasks <= 0) { $label3 = 'label-success'; } 95 | if($num_tasks >= 1 && $num_tasks <= 3) { $label3 = 'label-primary'; } 96 | if($num_tasks >= 4 && $num_tasks <= 5) { $label3 = 'label-warning'; } 97 | if($num_tasks > 5) { $label3 = 'label-danger'; } 98 | 99 | //label color due 100 | if($due == 0) { $label = 'label-success'; } 101 | if($due >= 1 ) { $label = 'label-danger'; } 102 | 103 | if($number <= 0) { $label2 = 'label-success'; } 104 | if($number >= 1 && $number <= 3) { $label2 = 'label-primary'; } 105 | if($number >= 4 && $number <= 5) { $label2 = 'label-warning'; } 106 | if($number > 5) { $label2 = 'label-danger'; } 107 | 108 | echo " 109 | \n"; 114 | 115 | 116 | //tasks 117 | echo "
    \n"; 118 | echo "
  • \n"; 119 | echo "\n"; 122 | echo "
  • \n"; 123 | 124 | //late tickets 125 | echo "\n"; 129 | 130 | //tickets 131 | echo "\n"; 135 | 136 | //new ticket 137 | echo "
  • "; 138 | echo "\n"; 143 | echo "
  • \n"; 144 | 145 | 146 | //check new version 147 | /*if(Session::haveRight("profile", READ)){ 148 | 149 | $ver = explode(" ",implode(" ",plugin_version_mod())); 150 | $urlv = "https://sourceforge.net/p/glpithemes/screenshot/".$ver[11]."-".$ver[2].".png"; 151 | $headers = get_headers($urlv, 1); 152 | 153 | if($headers[0] != '') { 154 | //if ($headers[0] == 'HTTP/1.1 200 OK') { 155 | if ($headers[0] == 'HTTP/1.0 404 Not Found' || $headers[0] == 'HTTP/1.1 404 Not Found') { 156 | $newversion = "  ". __('New version'). " ". __( 'avaliable'). " "; 157 | 158 | echo "
  • "; 159 | echo $newversion; 160 | echo "
  • \n"; 161 | 162 | } 163 | } 164 | }*/ 165 | 166 | echo "
\n"; 167 | 168 | 169 | ?> 170 | -------------------------------------------------------------------------------- /install.php: -------------------------------------------------------------------------------- 1 | 53 | -------------------------------------------------------------------------------- /scripts/ind.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | 3 | var ajax_baseurl = '../plugins/mod/ajax'; 4 | var path = document.location.pathname; 5 | // construct url for plugin pages 6 | if(path.indexOf('plugins/') !== -1) { 7 | var plugin_path = path.substring(path.indexOf('plugins')); 8 | var nb_directory = (plugin_path.match(/\//g) || []).length + 1; 9 | var ajax_baseurl = Array(nb_directory).join("../") + 'plugins/mod/ajax'; 10 | } 11 | 12 | var pluginModMenu = function () { 13 | $("#c_preference").append(""); 14 | $("#c_preference").css("width",'70%'); 15 | $("#load_ind").before().load(ajax_baseurl + "/display_ind.php"); 16 | }; 17 | 18 | 19 | 20 | if (document.getElementById('champRecherche') != null ) { 21 | 22 | pluginModMenu(); 23 | 24 | } 25 | 26 | 27 | }); 28 | -------------------------------------------------------------------------------- /setup.php: -------------------------------------------------------------------------------- 1 | . 19 | -------------------------------------------------------------------------- 20 | @package modifications 21 | @author Stevenes Donato 22 | @copyright Copyright (c) 2020 Stevenes Donato 23 | @license GPLv3 24 | http://www.gnu.org/licenses/gpl.txt 25 | @link https://github.com/stdonato/glpi-modifications 26 | @link http://www.glpi-project.org/ 27 | @since 2018 28 | -------------------------------------------------------------------------- 29 | */ 30 | 31 | /** 32 | * //@name plugin_mod_install 33 | * @access public 34 | * @return boolean 35 | */ 36 | 37 | 38 | function plugin_init_mod() { 39 | 40 | global $PLUGIN_HOOKS, $LANG ; 41 | 42 | $PLUGIN_HOOKS['csrf_compliant']['mod'] = true; 43 | 44 | $plugin = new Plugin(); 45 | if ($plugin->isInstalled('mod') && $plugin->isActivated('mod')) { 46 | 47 | Plugin::registerClass('PluginMod', [ 48 | 'addtabon' => ['Config'] 49 | ]); 50 | 51 | $PLUGIN_HOOKS['add_javascript']['mod'][] = "scripts/ind.js"; 52 | $PLUGIN_HOOKS['config_page']['mod'] = 'config.php'; 53 | include('install.php'); 54 | } 55 | 56 | if ($plugin->isInstalled('mod') && !$plugin->isActivated('mod')) { 57 | include('uninstall.php'); 58 | } 59 | 60 | } 61 | 62 | 63 | function plugin_version_mod(){ 64 | global $DB, $LANG; 65 | 66 | return array('name' => __('GLPI Modifications'), 67 | 'version' => '2.0.3', 68 | 'author' => ' Stevenes Donato ', 69 | 'license' => 'GPLv2+', 70 | 'homepage' => 'https://github.com/stdonato/glpi-modifications', 71 | 'minGlpiVersion' => '9.5'); 72 | } 73 | 74 | 75 | function plugin_mod_check_prerequisites(){ 76 | if (version_compare(GLPI_VERSION, '9.5', 'lt') || version_compare(GLPI_VERSION, '9.6', 'ge')) { 77 | echo "GLPI version not compatible! 9.5.x only"; 78 | return false; 79 | } 80 | return true; 81 | } 82 | 83 | 84 | function plugin_mod_check_config($verbose=false){ 85 | if ($verbose) { 86 | echo 'Installed / not configured'; 87 | } 88 | return true; 89 | } 90 | 91 | 92 | ?> 93 | -------------------------------------------------------------------------------- /src/css/css_ind.css: -------------------------------------------------------------------------------- 1 | 2 | /*a, a:link { 3 | font-weight: bold; 4 | text-decoration: none !important; 5 | font-size : 11px; 6 | } 7 | 8 | a.fa, a.fa:link { 9 | font-size: inherit; 10 | font-weight: normal; 11 | } 12 | */ 13 | #page a.fa-clock, #page a.fa:link, a .fa-clock, a .fa-tasks, a .fa-ticket-alt, a .fa-plus-mod { 14 | color: #fff; 15 | } 16 | 17 | a:hover { 18 | color: black; 19 | } 20 | 21 | hr { 22 | border: 1px solid #cccccc; 23 | } 24 | 25 | .pointer { 26 | cursor:pointer; 27 | } 28 | 29 | .label-success { 30 | background-color: #5cb85c; 31 | } 32 | 33 | .label-primary { 34 | background-color: #337ab7; 35 | } 36 | 37 | .label-warning { 38 | background-color: #f0ad4e; 39 | } 40 | 41 | .label-danger { 42 | background-color: #d9534f; 43 | } 44 | 45 | .label_ind { 46 | border: 0px solid #000; 47 | } 48 | .label_ind { 49 | display: inline; 50 | padding: .2em .6em .3em; 51 | font-size: 75%; 52 | font-weight: bold; 53 | line-height: 1; 54 | color: #fff; 55 | text-align: center; 56 | white-space: nowrap; 57 | vertical-align: baseline; 58 | border-radius: .25em; 59 | } -------------------------------------------------------------------------------- /src/css/css_styles.min.css: -------------------------------------------------------------------------------- 1 | @import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700;800&display=swap";body{font-family:'Bitstream Vera Sans', Verdana, Tahoma, 'Sans serif';font-size:12px;margin:0;padding:0;background:#f8f7f3;height:auto;min-height:100%}body.iframed{margin-top:1em;overflow-x:hidden;background:inherit}ul,li,dt,dl,dd,form,img,input{margin:0;padding:0}ul{list-style-type:none}span.invisible{visibility:hidden}.starthidden{display:none}div.sep{font-size:1px;height:1px;padding:0;margin:0;clear:both}img{border:0}small{font-family:verdana;font-size:10px}sup{vertical-align:baseline;position:relative;top:-0.4em}.big{font-size:14px}.b{font-weight:bold}.center{text-align:center}.left{text-align:left}.right{text-align:right !important}.floatright{position:relative;float:right}.floatleft{position:relative;float:left}.nofloat{float:none !important}.center-h{margin:auto}.middle{vertical-align:middle}.bottom{vertical-align:bottom}.top{vertical-align:top}.relative{position:relative}.red{color:red}.blue{color:blue}.green{color:green}.yellow{color:#ff0}.deleted{background-color:#cf9b9b}.separ{clear:both;visibility:hidden}.btn-linkstyled{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-decoration:underline;outline:inherit}a,.btn-linkstyled{font-weight:bold;text-decoration:none}a:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),.btn-linkstyled:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x){font-size:11px}a:link,.btn-linkstyled:link{font-weight:bold;text-decoration:none}a:link:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),.btn-linkstyled:link:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x){font-size:11px}a.fa,a.far,a.fas,.btn-linkstyled.fa,.btn-linkstyled.far,.btn-linkstyled.fas{font-weight:900}a.fa:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),a.far:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),a.fas:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),.btn-linkstyled.fa:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),.btn-linkstyled.far:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),.btn-linkstyled.fas:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x){font-size:inherit}a.fa:link,a.far:link,a.fas:link,.btn-linkstyled.fa:link,.btn-linkstyled.far:link,.btn-linkstyled.fas:link{font-weight:900}a.fa:link:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),a.far:link:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),a.fas:link:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),.btn-linkstyled.fa:link:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),.btn-linkstyled.far:link:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x),.btn-linkstyled.fas:link:not(.fa-lg):not(.fa-2x):not(.fa-3x):not(.fa-4x):not(.fa-5x){font-size:inherit}#page a.fa,#page a.far,#page a.fas{color:#222}#page a.fa:link,#page a.far:link,#page a.fas:link{color:#222}a .fa,a .far,a .fas,.btn-linkstyled .fa,.btn-linkstyled .far,.btn-linkstyled .fas{color:#222}a:hover{color:#000}a.target-deleted{text-decoration:line-through}hr{border:1px solid #ccc}.pointer{cursor:pointer}.grab{cursor:grab}.pager_controls{margin-left:.5em}.pager_controls .fa.pointer{font-size:1.5em}.pager_controls label span.fa{margin-right:1em}.invisible{display:none}.unselectable{-moz-user-select:none;-o-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.rich_text_container ul{list-style-type:disc;margin:1em 0;padding:0 0 0 40px}.rich_text_container ul ul{margin-bottom:0;margin-top:0}.rich_text_container ol{list-style-type:decimal}.rich_text_container ol ul,.rich_text_container ol ol{margin-bottom:0;margin-top:0}.rich_text_container ul ul,.rich_text_container ol ul{list-style-type:circle}.rich_text_container ul ul ul,.rich_text_container ul ol ul{list-style-type:square}.rich_text_container ol ul ul,.rich_text_container ol ol ul{list-style-type:square}#fuzzysearch{position:fixed;width:500px;min-height:50px;top:30%;left:50%;margin-top:-100px;margin-left:-250px;background:#fff;z-index:200}#fuzzysearch input{border:2px solid #ccc;font-size:1.5em;border-radius:3px;height:50px;width:calc(100% - 20px);margin:10px;box-sizing:border-box}#fuzzysearch .results:not(:empty){width:calc(100% - 20px);margin:10px;box-sizing:border-box;height:300px;overflow-y:auto;overflow-x:none}#fuzzysearch .results li:nth-child(odd){background:#e8e8e8}#fuzzysearch .results li.selected,#fuzzysearch .results li:hover{background:#848484;color:#fff}#fuzzysearch .results a{padding:10px;font-size:1.3em;color:inherit;font-weight:normal;line-height:100%;display:block}#fuzzysearch .fa-times{position:absolute;top:0;right:-30px;color:#848484;cursor:pointer;background:#fff;width:30px;height:30px;padding:3px 6px;box-sizing:border-box}@media screen and (max-width: 700px){#fuzzysearch{width:85%;top:20%;left:0;margin:0 5%}}.alltab{font-size:14px;text-align:center;padding:10px;font-weight:bold}#page{padding:8px 8px 20px 8px;min-height:80%;margin:15px auto}#page form{font-size:12px;margin:0;margin-bottom:5px;padding:0}#page .form #page{max-width:1400px}option{border:1px solid #ccc;background-color:#fff}.submit{text-align:center}select{font-size:11px;color:#000;background-color:#fff;line-height:19px;border:1px solid #bbb}textarea,input:not(.submit):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not(.select2-search__field):not(.numInput){border:1px solid #d3d3d3;font-size:11px;border-radius:3px;padding:0 5px}textarea:not([disabled]),input:not(.submit):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not(.select2-search__field):not(.numInput):not([disabled]){background-color:#fcfcfc;color:#000}textarea:focus,input:not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not(.select2-search__field):not(.numInput):focus{border-color:#5897fb}.select2-container--open .select2-selection,.select2-container--open .select2-dropdown{border-color:#5897fb}input{height:17px;vertical-align:middle}input:required{border:1px rgba(255,0,0,.6) solid !important;border-left-width:3px !important;padding-right:0 !important;box-shadow:none}.mce-edit-area.required{border:1px rgba(255,0,0,.6) solid !important;border-left-width:3px !important;padding-right:0 !important;box-shadow:none}input:required:valid{border:1px solid #d3d3d3 !important}input:not(.submit):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not(.select2-search__field)[type=color]{padding:0;width:3em}span.required{color:red;margin-left:.2em}.no-wrap{white-space:nowrap}.ui-datepicker-trigger{cursor:pointer}.ui-datepicker{background:#f3f3f3}.ui-datepicker .ui-state-default{background:#fff}.ui-datepicker .ui-state-active{background:#ccc}.form-group-checkbox{position:relative;width:16px;height:16px;margin:0 auto;display:inline-block}th .form-group-checkbox{margin:4px auto}.label-checkbox{cursor:pointer;width:16px;height:16px;display:block}.label-checkbox span{display:block;position:absolute;left:0;-webkit-transition-duration:.2s;-moz-transition-duration:.2s;transition-duration:.2s}input[type=checkbox].new_checkbox{display:none}.label-checkbox .box{top:-2px;background-color:#e6e6e6;border-radius:3px;height:16px;width:16px}.subheader .box,th .label-checkbox .box{background-color:#d0d0d0;border:0}.label-checkbox .check{top:-5px;left:4px;width:8px;height:16px;border:3px solid #727272;border-top:none;border-left:none;opacity:0;-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);transform:rotate(180deg)}input[type=checkbox]:checked~.label-checkbox .box{opacity:0}input[type=checkbox]:checked~.label-checkbox .check{opacity:1;-webkit-transform:scale(1) rotate(45deg);-moz-transform:scale(1) rotate(45deg);transform:scale(1) rotate(45deg)}input[type=image]{height:auto;background-color:transparent;border:0}input[type=file]{height:22px;border:1px solid #ccc}input.submit{padding:5px;cursor:pointer;height:auto;font:bold 12px Arial,Helvetica;color:#8f5a0a;background-color:#fec95c;border:0;white-space:nowrap;display:inline-block}.vsubmit{padding:5px;cursor:pointer;height:auto;font:bold 12px Arial,Helvetica;color:#8f5a0a;background-color:#fec95c;border:0;white-space:nowrap;display:inline-block}.secondary{padding:5px;cursor:pointer;height:auto;font:bold 12px Arial,Helvetica;color:#5f5f5f;background-color:#e6e6e6;border:0;white-space:nowrap;display:inline-block;vertical-align:middle}.submit:hover,.vsubmit:hover,.secondary:hover{opacity:.9;box-shadow:0px 1px 1px #999}.submit[type=reset]{background-color:transparent;margin-left:.5em}#page .mce-fullscreen{top:105px}#page .mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:0;margin-left:0}.entity_select:hover{opacity:.6}.tree{width:100%;border:0;border-bottom:1px solid #c0cad4}.entity_tree.jstree.jstree-classic ins{background-image:url("../pics/d.png")}.entity_tree.jstree .jstree-node:not(.jstree-leaf){position:relative}.entity_tree.jstree .jstree-node:not(.jstree-leaf)>a>i:last-child{content:" ";height:10px;width:10px;background:url("../pics/entity_all.png") no-repeat;position:absolute;top:8px;margin-left:6px;cursor:pointer}.treeroot{width:100%;background:url("../pics/treeroot.png") 0 2px no-repeat;border:0;font-weight:bold}.tree:hover,.treeroot:hover{background-color:#eee}#kb_browse{display:flex;align-items:stretch;border:1px solid #e6e6e6;height:100%;min-height:60vh;margin-left:-10px;margin-top:-5px}@media screen and (max-width: 700px){#kb_browse{flex-wrap:wrap}}#kb_browse .kb_tree{flex-basis:250px;flex-shrink:0;padding-right:10px;text-align:left;background-color:#f8f8f8}#kb_browse .kb_tree a{font-weight:normal}#kb_browse .kb_tree_search{width:100%;margin:5px;padding:10px 5px;border-radius:0;box-sizing:border-box}#kb_browse .kb_items{padding:10px}#kb_browse .kb_items .tab_cadre_pager{width:100%}#kb_browse i.fa.sub_items{color:#787878}.pointer{opacity:.7}.pointer:hover{opacity:1}.pointer.disabled{opacity:.3}.pointer.disabled:hover{opacity:.3}#page .protected{padding-right:50px}#page .disclosablefield{position:relative}#page .disclosablefield span{position:absolute;right:0;top:0}.layout_classic.form div.navigationheader,.layout_classic.form div.objectlockmessage,.layout_vsplit.form div.navigationheader,.layout_vsplit.form div.objectlockmessage{margin:0 auto 10px;width:90%}.layout_classic.form .main_form,.layout_vsplit.form .main_form{width:950px;margin:0 auto}.layout_classic.form div.ui-tabs,.layout_vsplit.form div.ui-tabs{width:950px}.layout_classic.form div.ui-tabs-panel,.layout_vsplit.form div.ui-tabs-panel{padding:1px}.ui-tabs-paging-disabled{display:none}.ui-tabs-paging-prev,.ui-tabs-paging-next{height:25px;width:12px;padding:0 !important}.layout_classic.form div.ui-tabs-panel{padding-top:5px}.layout_vsplit #backtotop{display:none}.layout_lefttab .ui-tabs,.layout_classic .ui-tabs,.layout_vsplit .ui-tabs{border:1px solid #e1e1e1;border-top-width:0;box-sizing:border-box}.ui-tabs{background:#fff repeat-x top left;box-shadow:0px 3px 1px #dfdfdf;width:90%}.ui-tabs-anchor{height:18px}.ui-tabs sup.tab_nb{border-radius:50%;background-color:#fff;min-width:18px;margin-left:5px;display:inline-block;text-align:center;vertical-align:top;padding:3px 2px 5px;box-sizing:border-box;margin-right:-5px}.layout_lefttab .ui-tabs sup.tab_nb{position:absolute;right:8px;top:5px}.ui-tabs .alltab sup.tab_nb{position:relative;top:0;right:0;background-color:#f1f1f1}.ui-tabs .ui-state-active sup.tab_nb{background-color:#e6e6e6}.layout_vsplit.form .ui-tabs{height:100%;width:100%;padding:0}.debug .ui-tabs-nav,.layout_lefttab .ui-tabs-nav{margin:5px !important;box-sizing:border-box}.debug .ui-tabs-nav,.layout_lefttab .ui-tabs-nav,.layout_classic .ui-tabs-nav,.layout_vsplit .ui-tabs-nav{border:0;background:none}.layout_classic.form .stNavMain li,.layout_vsplit.form .stNavMain li{border:1px solid #d3d3d3 !important;border-bottom:none !important}.main_form{background-color:#fff;box-shadow:0px 1px 2px 1px #d2d2d2}.main_form .actor_title{text-align:right}.main_form tr:not(.headerRow):not(.footerRow) th:not(.actor-th){text-align:right}.main_form tr.headerRow th{border-bottom:1px solid #efefef;font-size:1.5em;padding:8px 0}.headerRow th>.fa,.headerRow th>.far,.headerRow th>.fas,.headerRow th>button{margin-left:8px;vertical-align:middle}.layout_lefttab .new_form_tabs .ui-tabs-nav{width:100%}.layout_lefttab .new_form_tabs .ui-tabs-panel{margin:0;clear:both}@media screen and (min-width: 1300px){html{height:100%}body.layout_vsplit{height:100%;overflow:hidden}.layout_vsplit #page{max-width:inherit;min-height:0;position:absolute;top:105px;bottom:15px;width:100%;padding:0;overflow:auto}.layout_vsplit.form #page{overflow:hidden}.layout_vsplit #page .glpi_tabs{height:calc(100% - 50px);position:relative;z-index:1}.layout_vsplit #page .main_form.create_form{width:950px;margin:0 auto}.layout_vsplit.form table.tab_cadre_pager,.layout_vsplit.form table.tab_cadre_fixe,.layout_vsplit.form table.tab_cadre_fixehov{width:100%;margin:0}.layout_vsplit.form .dates_timelines{width:100%;margin:0}.layout_vsplit div.navigationheader,.layout_vsplit div.objectlockmessage{margin:0;border:0;min-width:150px}.layout_vsplit.form table.tab_cadre_pager{margin:0;border:0;min-width:150px}.layout_vsplit.form .ui-tabs-panel table.tab_cadre_pager{width:100%}.layout_vsplit.form .form_content{position:relative;width:46%;float:left;height:96%;z-index:2}.layout_vsplit.form div.main_form:not(.no_tab){width:100%;margin:0 15px;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;bottom:33px}div.singleaction{text-align:center}.layout_classic #tabspanel+div.ui-tabs:not(.horizontal){height:100%;box-sizing:border-box}.layout_vsplit #tabspanel+div.ui-tabs{height:100%;box-sizing:border-box}.layout_vsplit.form #tabspanel+div.ui-tabs:not(.horizontal){width:50% !important;margin:0 15px;float:right;border:none;box-shadow:0px 1px 2px 1px #d2d2d2}.layout_vsplit.form .ui-tabs{position:absolute;top:0;bottom:0;width:52%;margin:0;right:0}.layout_vsplit>#page>div>.ui-tabs>.ui-tabs-panel{overflow-x:hidden;overflow-y:auto;position:absolute;top:32px;bottom:2px;width:100%;box-sizing:border-box}.layout_vsplit .ui-tabs-panel .tab_cadre_fixehov th{background-color:#e6e6e6}.layout_vsplit.form .main_form input[type=text]:not([size]){width:74%;min-width:175px}.layout_vsplit.form .main_form textarea{resize:vertical;width:97%;min-height:125px}.layout_vsplit.form input.submit,.layout_vsplit.form span.vsubmit,.layout_vsplit.form a.vsubmit{white-space:nowrap}.layout_vsplit.form .boxnote{width:100%}.layout_vsplit .debug:not(.debug_ajax),.layout_vsplit #footer{position:absolute;bottom:0;width:100%;z-index:3}.layout_vsplit .debug_ajax{width:100% !important}}.card:not(.no-shadow){box-shadow:0px 1px 2px 1px #999}.card .field{display:table-row;padding:5px}.card .field label{display:table-cell;padding:10px 5px}.card .field label~div{display:table-cell}table{font-size:11px;border:0}.tab_glpi{margin:0 auto}.tab_cadre{margin:0 auto;z-index:1;text-align:left;font-size:11px;background-color:#fff;border-spacing:0;box-shadow:0px 1px 2px 1px #999}.tab_cadre_central{margin:0 auto;z-index:1;text-align:left;font-size:11px;width:90%}.tab_cadre_postonly{margin:0 auto;z-index:1;text-align:left;font-size:11px;width:80%}.tab_cadre_navigation{margin:0 auto;padding:4px;margin:1px;border:1px solid #aaa;background-color:#fff;border-radius:5px;font-size:12px;font-weight:bold}.tab_cadre_fixe{margin:0px auto 5px auto;background:#fff;z-index:1;text-align:left;font-size:11px;max-width:950px;width:100%;border-spacing:0}.tab_cadre_fixehov{margin:0px auto 5px auto;background:#fff;z-index:1;text-align:left;font-size:11px;max-width:950px;width:100%;border-spacing:0;box-shadow:0px 1px 2px 1px #999}.ui-tabs .tab_cadre_fixehov{box-shadow:inherit}.tab_cadre_fixe img{vertical-align:middle}.tab_cadrehov{margin:10px auto;border:0;text-align:left;font-size:11px;width:95%;background-color:#fff;box-shadow:0px 1px 2px 1px #d2d2d2;border-spacing:0}.tab_cadre th,.tab_cadre_fixe th,.tab_cadre_fixehov th,.tab_cadrehov th,h2.header{font-size:12px;font-weight:bold;border-radius:4px;padding:2px;border-radius:0;margin:0;font-size:1.1em;color:#000;padding:10px 5px;background-color:#f1f1f1}.tab_spaced{border-collapse:separate;border-spacing:3px}.tab_cadre_fixehov th,.tab_cadrehov th{background-color:#f8f8f8;color:#2e2e2e;font-size:11px;border-bottom:1px solid #eee}.tab_cadre_fixehov td,.tab_cadrehov td{padding:8px 5px}.tab_cadre td,.tab_cadre_fixe td{padding:5px}.tab_cadre td,.tab_cadre_fixehov td{border-bottom:1px solid #eee}.tab_cadrehov td{border-bottom:1px solid #eee}.tab_cadrehov th.headHover{background-color:#f3f3f3}.tab_cadre_fixehov th.headHover,.tab_cadrehov td.columnHover,.tab_cadre_fixehov td.columnHover{background-color:#f3f3f3}.tab_cadrehov tr.rowHover,.tab_cadrehov td.rowHover{background-color:#f7f7f3}.tab_cadre_fixehov tr.rowHover,.tab_cadre_fixehov td.rowHover{background-color:#f7f7f3}.tab_format{padding:0px;width:100%;margin:0px;border:0px;border-collapse:collapse}.tabcompact{padding:0px;margin:0px;border:0px;border-collapse:collapse}.tab_format td{padding:1px;margin:0px}.tab_bg_1{background-color:#fff}.tab_bg_1_2{background-color:#cf9b9b}.tab_bg_2{background-color:#fff}.tab_bg_2_2{background-color:#cf9b9b}.tab_bg_3{background-color:#e7e7e2}.tab_bg_4{background-color:#ebebeb}.tab_bg_5{background-color:#f2f2f2}.tab_resa{border:1px dashed #ccc;background-color:#d7d7d2;font-size:10px}.tab_resa:hover{background-color:#fff;border:1px dotted #000}.tab_date{white-space:nowrap}.central{padding-top:15px;width:100%}.central table{margin-bottom:5px}.central .tab_cadre_fixehov th,.central .tab_cadrehov th{background-color:#f1f0f0}div.rss{margin-left:10px}td.numeric,th.numeric{text-align:right}td.htmltable_upper_separation_cell,th.htmltable_upper_separation_cell{border-top:dashed 1px #a0a0a0}td.nopadding,th.nopadding{padding:0}td.subheader,th.subheader{background-color:#eee;text-align:center;font-weight:bold}td.subheader.left,th.subheader.left{text-align:left !important}td.rotate,th.rotate{-moz-transform:rotate(-70deg);-o-transform:rotate(-70deg);-webkit-transform:rotate(-70deg);-ms-transform:rotate(-70deg);width:10%;height:80px}.order_DESC:before{content:"▼";color:#b3b3b3;font-size:.8em;padding-right:5px;vertical-align:1px}.order_ASC:before{content:"▲";color:#b3b3b3;font-size:.8em;padding-right:5px;vertical-align:1px}.tab_actors{display:table}.actor_title{width:13%;float:left;font-weight:bold;text-align:center;padding-top:30px;font-size:1.1em;padding:3px 5px;background-color:#f1f1f1}.actor-bloc{width:29%}.actor_title,.actor-bloc{display:table-cell;float:none;vertical-align:top}.actor-head{background-color:#f1f1f1;margin:0 0 0 5px;padding:4px 0;height:16px;font-weight:bold;text-align:center;font-size:1.1em}.actor-head .fa{padding:0 .2em}.actor-content{margin:10px 15px;padding:4px 0}.actor_row{margin-bottom:8px}.tab_actors hr{border:0}.add-observer{display:block}.actor_single{border-top:1px dashed #aaa;padding:15px 0 8px 0;margin-top:8px;background-color:#f5f5f5}.actor_single.first-actor{padding-left:10px}.actor_clear{clear:both}.tab_cadre_pager{margin:0 auto;text-align:center;font-size:10px;width:950px;border-collapse:collapse;margin-top:15px}.tab_cadre_pager tr,.tab_cadre_pager td{background-color:inherit}#searchcriteria{margin-top:10px;background-color:#fff;width:80%;margin:0 auto;box-shadow:0px 1px 2px 1px #d2d2d2;border-radius:5px;padding:10px}#searchcriteria.sub_criteria{display:inline-block;border-radius:2px;width:100%;margin-left:7px;box-shadow:none;border:1px solid #ddd;background-color:rgba(0,0,0,.015)}#searchcriteria .normalcriteria,#searchcriteria .metacriteria{margin:10px;display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;align-content:flex-start}#searchcriteria .normalcriteria *{white-space:nowrap}#searchcriteria .metacriteria{flex-wrap:wrap}#searchcriteria .metacriteria *{white-space:nowrap}#searchcriteria .metacriteria blockquote{flex-basis:100%;margin:0 10px}#searchcriteria .switch{opacity:.7}#searchcriteria .switch:hover{opacity:1}@media screen and (max-width: 700px){#searchcriteria{width:95%}#searchcriteria .normalcriteria,#searchcriteria .metacriteria{display:block}#searchcriteria .normalcriteria *,#searchcriteria .metacriteria *{white-space:normal}}.search_actions>*{margin:0 3px}.priority_block{white-space:nowrap;border:1px solid transparent;padding-right:6px;border-radius:2px;display:inline-block}.priority_block span{width:20px;height:20px;display:inline-block;vertical-align:middle}.reset-search{color:#ccc !important}.reset-search:link{color:#ccc !important}.reset-search:hover{color:#999}.tab_cadre_pager select,.tab_cadre_pager span,.tab_cadre_pager form{font-size:10px;margin:0}.tab_cadre_pager input{vertical-align:middle}.tab_cadre_pager th{font-size:10px;font-weight:bold;text-align:center}#page .navigationheader,#page div.objectlockmessage{margin:0 auto;padding:7px 10px;width:90%;border:1px solid #e1e1e1;background-color:#fff;box-sizing:border-box;display:flex}#page .navigationheader>*,#page div.objectlockmessage>*{margin:0 5px}#page .navigationheader .navicon,#page div.objectlockmessage .navicon{margin-top:5px}#page .navigationheader .navicon i.fa,#page div.objectlockmessage .navicon i.fa,#page .navigationheader .navicon i.fas,#page div.objectlockmessage .navicon i.fas,#page .navigationheader .navicon i.far,#page div.objectlockmessage .navicon i.far{font-size:1.53em}#page .navigationheader i.ma-icon,#page div.objectlockmessage i.ma-icon{font-size:.875em;margin-right:5px}#page .navigationheader .big,#page div.objectlockmessage .big{font-size:16px}#page .navigationheader form,#page div.objectlockmessage form{display:inline-block;margin-bottom:0}#page .navigationheader .center,#page div.objectlockmessage .center{margin:0 auto}#page .navigationheader .dropdown-menu,#page div.objectlockmessage .dropdown-menu{display:none}#page .navigationheader .nav_title,#page div.objectlockmessage .nav_title{font-size:13px;font-weight:bold;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media screen and (max-width: 1300px){#page .navigationheader .nav_title,#page div.objectlockmessage .nav_title{max-width:30%}}#page .navigationheader .single-actions,#page div.objectlockmessage .single-actions{position:relative;font-size:11px}#page .navigationheader .single-actions .btn,#page div.objectlockmessage .single-actions .btn{background-color:#e7e7e7;border-radius:.2rem;border:1px solid transparent;padding:.1rem 1rem;line-height:1.5}#page .navigationheader .single-actions .btn:hover,#page div.objectlockmessage .single-actions .btn:hover{background-color:#ccc;cursor:pointer}#page .navigationheader .single-actions .btn i.fa-caret-down,#page div.objectlockmessage .single-actions .btn i.fa-caret-down{margin-left:5px}#page .navigationheader .single-actions .dropdown-menu,#page div.objectlockmessage .single-actions .dropdown-menu{background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);position:absolute;top:25px;right:0;white-space:nowrap;padding:5px 10px;z-index:1000;font-size:11px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}#page .navigationheader .single-actions .dropdown-menu a,#page div.objectlockmessage .single-actions .dropdown-menu a{padding:5px;display:block}#page .navigationheader .single-actions .dropdown-menu a:hover,#page div.objectlockmessage .single-actions .dropdown-menu a:hover{background-color:#ccc}.layout_vsplit #page .navigationheader,.layout_vsplit #page div.objectlockmessage{width:calc(100% - 30px);margin-bottom:10px;box-shadow:0px 1px 2px 0px #d2d2d2;border:0}.layout_classic #page .navigationheader,.layout_classic #page div.objectlockmessage{width:952px}@media screen and (max-width: 490px){#page .navigationheader,#page div.objectlockmessage{display:none}}.tab_cadre_pager .pager_controls img{padding-right:10px;vertical-align:middle}.showplan{font-weight:bold;text-decoration:none;color:#4a8865;cursor:pointer}.qtip{max-width:380px !important}.tooltip{font-size:11px !important}.tooltip:contains(img){white-space:nowrap;height:100px !important;border:10px solid red}.tooltip_picture_border{padding:2px;border-radius:51px;border:5px inset #d0d99d;_border:3px solid #d0d99d;width:72px;height:72px;position:absolute}.tooltip_picture{width:71px;height:71px;border-radius:50px}.tooltip_text{margin-left:90px;min-height:85px}.user_picture_border{padding:2px;border-radius:6px;border:5px inset #d0d99d;width:232px;height:232px;margin-right:5px;background-color:#fff}.user_picture{margin:0 auto;width:230px;height:230px;border-radius:5px}.user_picture_border_small{padding:2px;border-radius:6px;border:3px inset #d0d99d;width:72px;height:72px;margin-right:5px;background-color:#fff}.user_picture_small{margin:0 auto;width:71px;height:71px;border-radius:5px}.user_picture_verysmall{margin:0 auto;width:35px;height:35px;border-radius:5px}img.picture_square{box-shadow:0px 1px 1px #999}.very_small_space{margin-left:15px}.small_space{margin-left:38px}.medium_space{margin-left:120px}.big_space{margin-left:250px}.spaced{margin-bottom:15px}.firstbloc{margin:10px 0 20px 0}.ui-datepicker-trigger,.slt,#refresh_planning{border:none;background:none;padding:0;font-size:1.2em !important}.fc button.ui-datepicker-trigger{height:auto;padding:0}.fc .fc-toolbar>*>*{float:none;display:inline-block}.ui-datepicker-trigger .fa{padding:0 !important}.calendrier{vertical-align:middle}.calendrier:hover{cursor:pointer}.calendrier_mois{font-family:Verdana,Arial,Sans,sans-serif;font-size:10px}.calendrier_jour{font-family:arial,helvetica,sans-serif;font-size:14px;color:#000}.calendrier_case1{margin-left:10px;padding:2px;border-radius:5px;margin-top:2px;border:1px solid #666;background-color:#fff}.calendrier_case2{margin-left:10px;padding:2px;border-radius:5px;margin-top:2px;border:1px solid #ccc;background-color:#eee}.calendrier_case_white{background-color:#fff}#contenukb{height:100%;width:600px;margin:0 auto}#contenukb legend{font-weight:bold}#contenukb fieldset{background-color:#eee;border:1px solid #ffc65d;border-radius:8px;padding-bottom:10px;width:600px}#contenukb textarea{width:550px}#kbanswer ul{padding-left:15px;list-style-type:circle}#kbanswer ol{padding-left:15px;list-style-type:decimal}#kbanswer p{margin:1.12em 0}#kbanswer h1{font-size:2em;margin:.67em 0}#kbanswer h2{font-size:1.5em;margin:.75em 0;font-weight:bolder}#kbanswer h3{font-size:1.17em;margin:.83em 0;font-weight:bolder}#kbanswer h4{margin:1.12em 0;font-weight:bolder}#kbanswer h5{font-size:.83em;margin:1.5em 0;font-weight:bolder}#kbanswer h6{font-size:.75em;margin:1.67em 0;font-weight:bolder}#kbanswer h1:target,#kbanswer h2:target,#kbanswer h3:target,#kbanswer h4:target,#kbanswer h5:target,#kbanswer h6:target{background-color:#fff2a8}#kbanswer h1>a,#kbanswer h2>a,#kbanswer h3>a,#kbanswer h4>a,#kbanswer h5>a,#kbanswer h6>a{line-height:1;margin-left:-20px;padding-right:4px}#kbanswer h1 svg,#kbanswer h2 svg,#kbanswer h3 svg,#kbanswer h4 svg,#kbanswer h5 svg,#kbanswer h6 svg{visibility:hidden}#kbanswer h1:hover svg,#kbanswer h2:hover svg,#kbanswer h3:hover svg,#kbanswer h4:hover svg,#kbanswer h5:hover svg,#kbanswer h6:hover svg{visibility:visible}#kbanswer address{font-style:italic}#kbanswer pre{font-family:monospace;white-space:pre}.tdkb_result{vertical-align:top;text-align:left;width:33%;padding:3px 20px 3px 25px}.kb{text-align:left;padding-top:5px}.kb_resume{text-align:left;font-size:9px;line-height:10px;clear:both;padding:5px 0 10px 25px}.tdkb{text-align:left;font-size:10px;color:#aaa}.baskb{position:relative;text-align:left;font-size:10px;color:#aaa}.baskb_right{position:absolute;right:0;margin-right:5px}.code{width:95%;border:dotted 2px #ccc}a.knowbase{margin-left:8px}.kb i.faq{color:#c9993c}.kb i.not-published{color:#dd2f2a}.pubfaq:hover{color:#000}a.icon_nav_move img{padding:4px;margin:1px;border:1px solid #aaa;background-color:#fff;border-radius:5px}a.icon_nav_move:hover img{padding:4px;margin:1px;border:1px solid #999;background-color:#e4e4e4;border-radius:5px}.faqadd_block{position:relative;display:inline-block}.faqadd_block .display_faq_chkbox{display:none}.faqadd_entries{background:#fff;border:1px solid #ccc;box-shadow:0px 1px 2px 1px #d2d2d2;position:absolute;padding:5px;width:450px;height:40vh;right:-5px;z-index:1000;margin-top:20px;border-radius:2px;display:none}.faqadd_block .display_faq_chkbox:checked+.faqadd_entries{display:block}.faqadd_entries:before{content:"";display:inline-block;width:0;height:0;border-style:solid;border-width:0 10px 17.3px 10px;border-color:transparent transparent #ccc transparent;top:-18px;right:5px;position:absolute}.faqadd_entries:after{content:"";display:inline-block;width:0;height:0;border-style:solid;border-width:0 10px 18.3px 10px;border-color:transparent transparent #fff transparent;top:-16px;right:5px;position:absolute}.faqadd_block_content{overflow-x:hidden;overflow-y:auto;position:absolute;top:40px;bottom:0;left:0;right:0}.faqadd_entries .tab_cadre_fixe{width:100%;padding:5px}.faqadd_entries tr{display:block}.main_form .faqadd_entries table.tab_cadre_fixe th:not(.actor-th){display:block;text-align:center}.fileupload{text-align:center;border:1px dashed #ccc;min-height:65px;background-color:#fff;border-radius:5px;max-width:950px;margin:.5em auto;padding:.5em;margin-top:5px}.fileupload_info{margin-bottom:10px}.upload_rich_text{display:none}.draghover{background:#fbf8df}#planning_container{position:relative;padding-left:310px}#planning_filter{position:absolute;top:0;bottom:0;text-align:left;left:0;overflow-y:auto;width:300px}#planning_filter .toggle{float:right;margin:8px 8px 0 0;height:18px;width:18px;display:block;background:url(../pics/toggle-left.png) no-repeat}#planning_filter.folded{width:18px}#planning_filter.folded .toggle{float:none;background:url(../pics/toggle-right.png) no-repeat}#planning_container.folded{padding-left:28px}#planning_filter h3{background:#e6e6e6;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-weight:normal;line-height:1.3;font-size:13px}#planning_filter ul.filters{border:0;padding:5px}#planning_filter ul.filters>li{clear:both;padding:5px 0 5px 5px}#planning_filter ul.filters>li:nth-child(even){background-color:#f3f3f3}#planning_filter ul.filters>li .form-group-checkbox{margin-right:6px}#planning_filter ul.filters>li .actor_icon{padding-bottom:2px;vertical-align:top;color:#444;font-size:14px}#planning_filter ul.filters>li label{padding-left:4px;line-height:16px;width:185px;overflow:hidden;text-overflow:ellipsis;display:inline-block;white-space:nowrap}#planning_filter ul.filters>li .filter-icon{float:right;padding:0;border:none}#planning_filter ul.filters>li .sp-replacer{float:right;padding:0;border:none}#planning_filter ul.filters>li .sp-replacer .sp-preview{margin-right:0;border:none}#planning_filter ul.filters>li .sp-replacer .sp-dd{display:none}#planning_filter ul.filters>li.group_users .toggle{width:14px;height:14px;background:url(../pics/expand.png) no-repeat;display:inline-block;margin:0 4px 2px 0;vertical-align:middle;float:right}#planning_filter ul.filters>li.group_users.expanded .toggle{background:url(../pics/collapse.png) no-repeat}#planning_filter ul.filters>li.group_users ul.group_listofusers{border-left:1px dashed #d4d4d4;margin:6px 0 0 6px;padding:0;display:none}#planning_filter ul.filters>li.group_users.expanded ul.group_listofusers{display:block}#planning_filter ul.filters>li.group_users.expanded ul.group_listofusers>li label{width:173px}#planning_filter .planning_link{text-align:center;display:block}#planning_filter .planning_add_filter{float:right;margin-right:3px}#planning_filter .filter_option{float:right;width:12px;height:12px;margin:3px 2px;display:inline-block;position:relative;left:0}#planning_filter .filter_option>img{z-index:1}#planning_filter .filter_option ul{display:none;position:absolute;background:#fff repeat-x top left;box-shadow:0px 1px 1px #7f7979;padding:5px;z-index:2;left:auto;right:0;top:15px;margin-right:-10px;width:140px;text-align:right}#planning_filter .filter_option ul li{padding:5px;cursor:pointer;font-size:13px}#planning_filter .filter_option ul li:hover{background-color:#eaeaea}#planning_filter .filter_option ul li a{color:inherit;font-size:13px;font-weight:normal}.planning_on_central .ui-widget-content{border:none}.planning_on_central .fc-head{display:none}.planning_on_central .fc-scroller{height:auto !important;max-height:400px}#planning{width:auto;overflow:hidden}#planning .fc-time-grid-event{overflow:hidden}#planning .end-of-day{border-right:1px solid #bdbdbd}#planning .fc-toolbar h2{font-size:1.2em}#planning .fc-toolbar h2 .ui-datepicker-trigger{margin-left:4px}#planning .event_past .ui-widget-content{color:#ccc}#planning .event_past .ui-widget-content a{color:#ccc}#planning .event_past.event_todo .ui-widget-content{color:red}#planning .event_past.event_todo .ui-widget-content a{color:red}#planning .event_today{background:#fcf8e3}#planning .event_today.event_todo .ui-widget-content{color:#ffa100}#planning .event_today.event_todo .ui-widget-content a{color:#ffa100}#planning .fc-event{font-weight:normal;display:block}#planning .fc-event .fc-content{margin-right:8px}#planning .fc-event .fc-time{overflow:hidden}#planning .fc-event .fc-title{font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#planning .fc-event .content{font-weight:normal;padding:0 7px 0 2px;overflow:hidden;text-overflow:ellipsis}#planning .fc-event .content .event-description{border-top:1px solid rgba(0,0,0,.2);margin-top:2px;padding-top:2px}#planning .fc-event .content .event-description p{margin:0}#planning .fc-event .event_type{position:absolute;width:7px;bottom:0;top:0;right:0}#planning .fc-timeline .fc-event .content{max-height:25px}#planning .fc-list-item-title .event_type{height:12px;width:6px;margin-right:3px;display:inline-block}#planning .event_past .fc-list-item-title .event_type{opacity:.5}#planning .planning-select-helper{border:2px solid #3b8cbe;background-color:rgba(59,140,190,.5)}#planning .fc-day-grid-event .fc-resizer{width:10px}#planning .fc-time-grid-event .fc-resizer{height:10px}#planning .fc-divider{border:1px dashed #ccc}#planning .fc-list-empty-wrap2{position:initial}.planning{text-align:center;border:1px dashed #ccc;background-color:#d7d7d2;font-size:9px}.planning:hover{border:1px solid #999;background-color:#fff}.available{background-color:green}.notavailable{background-color:red}.partialavailableend{background-image:-webkit-linear-gradient(left, red 50%, green 0%);background-image:-moz-linear-gradient(left, red 50%, green 0%);background-image:-ms-linear-gradient(left, red 50%, green 0%);background-image:-o-linear-gradient(left, red 50%, green 0%);background-image:linear-gradient(left, red 50%, green 0%)}.partialavailablebegin{background-image:-webkit-linear-gradient(left, green 50%, red 0%);background-image:-moz-linear-gradient(left, green 50%, red 0%);background-image:-ms-linear-gradient(left, green 50%, red 0%);background-image:-o-linear-gradient(left, green 50%, red 0%);background-image:linear-gradient(left, green 50%, red 0%)}.planning-context-menu{position:fixed;z-index:20000;background-color:#fff;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.planning-context-menu li{padding:8px 10px;cursor:pointer}.planning-context-menu li i.fas,.planning-context-menu li i.far{margin-right:5px;color:#555}.planning-context-menu li:hover{background-color:#ccc}#menu_navigate{margin:auto;z-index:1;font-size:10px;width:900px}#menu_navigate li{margin-left:2px;display:block;float:left;padding:2px}#menu_navigate li.info{margin-left:2px;display:block;float:left;font-size:12px;padding:2px}#tabcontent{width:950px;text-align:center;margin:0 auto}.boxnote{margin:0 auto;width:950px;text-align:left;border-radius:10px;background:#e7e7e2;margin-bottom:5px;position:relative;overflow:auto;font-size:11px}.boxnoteleft{float:left;width:10%;min-height:40px;height:100%;padding:4px}.boxnotecontent{float:left;padding:1px;padding:5px 0 5px 0;width:75%}.boxnoteright{float:right;width:10%;min-height:40px;padding:1px;vertical-align:middle}.boxnotefloatright{float:right;position:relative;padding-left:20px;padding-bottom:5px}.boxnotetext{padding:5px}.bytech{background:#f2f2f2}.byuser{background:#e7e7e2}.accepted{background-color:#9fd6ed;color:#425b64}.ui-widget-content.message_after_redirect{font-family:"Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;color:#393939;font-size:11px;background:#dfdfdf}.message_after_redirect h3{font-size:11px;font-weight:bold;zoom:1}.ui-widget-content.message_after_redirect.err_msg{background-color:#f99}.message_after_redirect.err_msg div.ui-widget-header{color:#fff;background:rgba(255,0,0,.8);border-color:rgba(255,0,0,.8)}.ui-widget-content.message_after_redirect.warn_msg{background-color:#ffdb99}.message_after_redirect.warn_msg div.ui-widget-header{color:#fff;background:rgba(255,165,0,.8);border-color:rgba(255,165,0,.8)}.message_after_redirect.info_msg div.ui-widget-header{color:#fff;background:#a9a9a9;border-color:#a9a9a9}#login-container{display:flex;align-items:center;justify-content:center;width:100%;min-height:100vh;background:url("../pics/bg/back.jpg") no-repeat center center fixed;background-size:cover}#firstboxlogin{height:auto;width:350px;border-radius:10px}#logo_login{margin:0;padding:38px 0 0 0;text-align:center;border-radius:10px 10px 0 0}#logo_login img{display:block;margin-left:auto;margin-right:auto;max-width:120px;max-height:120px}#display-login,#text-login{width:100%;margin:0 auto;padding:20px 20%;font-size:13px;text-align:center;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}#boxlogin{padding-top:10px;bottom:0;width:100%}#boxlogin .login_input{position:relative;width:13em;margin:20px auto 5px;width:300px}#boxlogin input[type=text],#boxlogin select{color:#495057;width:100%;height:35px;display:block;border:none;padding:3px 0 3px 40px;font-size:1.2em;font-family:"Open Sans",sans-serif;border-radius:.25rem;box-sizing:border-box;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;border-color:#6c757d !important}#boxlogin input[type=password]{color:#495057;width:100%;height:35px;display:block;border:none;padding:3px 0 3px 40px;font-size:1.2em;font-family:"Open Sans",sans-serif;border-radius:.25rem;box-sizing:border-box;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;border-color:#6c757d !important}#boxlogin input[type=text]:focus{color:#9b9b9b;background-color:#fff;border-color:#f8f9fa !important;outline:0;box-shadow:0 0 0 .15rem rgba(255,165,0,.55)}#boxlogin select:focus,#boxlogin input[type=password]:focus{color:#9b9b9b;background-color:#fff;border-color:#f8f9fa !important;outline:0;box-shadow:0 0 0 .15rem rgba(255,165,0,.55)}#boxlogin label{color:#fff;font-size:1.2em}#boxlogin input:-webkit-autofill{box-shadow:0 0 0px 1000px #fff inset}#boxlogin input:-webkit-autofill:focus{box-shadow:0 0 0px 1000px #fff inset}#boxlogin .login_input:before{font-family:"Font Awesome 5 Free";left:8px;position:absolute;top:3px;color:#9b9b9b;font-size:20px;font-weight:900}#boxlogin #login_input_name:before{content:"";top:6px;left:11px;font-weight:900}#boxlogin #login_input_name:before{content:"";top:6px;left:11px;font-weight:900}#boxlogin #login_input_password:before{content:"";top:6px;left:11px;font-weight:900}#boxlogin #login_input_src:before{content:"";top:6px;left:11px;font-weight:900}#boxlogin #dropdown_auth1:before{background:url(../pics/login_source.png) no-repeat 3% 50%}#boxlogin input.submit{margin-top:10px;width:100%;height:35px;font-size:1.3em;font-family:"Open Sans",sans-serif;border-radius:.25rem;outline:none}#boxlogin #forget{margin-top:50px;color:#fff;width:100%;display:block;text-align:center}#box-faq{padding-top:30px;text-align:center;margin:auto}#box-faq a{color:#cfcfcf}.sous_logo{font-family:arial;font-size:9px;color:#eee;text-decoration:none}.error{color:red;margin-top:20px;text-align:center}.error a{font-weight:normal;color:red;font-size:inherit}.error a:link{font-weight:normal;color:red;font-size:inherit}.ui-widget-content .error a{font-weight:normal;color:red;font-size:inherit}.error a:hover{text-decoration:underline}#footer-login{position:absolute;right:10px;bottom:0px;font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold}#footer-login.home{bottom:15px}#footer-login.home a{color:#fff}#header{height:96px}#header_top{width:100%;height:20px;padding:10px 0}#c_preference{height:20px;text-align:right;margin-right:5px;top:4px;font-size:.9em;display:inline-block;float:right}#c_preference a.fa{font-size:1.6em;color:#fff}#c_preference a.fa:hover{text-decoration:none;color:#ccc}#c_preference ul{list-style:none}#c_preference ul li{float:right;margin:0 10px}#c_preference a{text-decoration:none;font-size:.9em}#c_preference a.debugon{color:red !important}#c_preference a.debugon:hover{color:red !important}#c_preference a:hover{text-decoration:underline}#c_preference .select2-choice{color:#3a5693}#c_preference p{margin:0}#c_recherche{position:relative}#c_recherche form #champRecherche button{border:none;height:22px;vertical-align:bottom;border-radius:0 3px 3px 0;cursor:pointer;margin:0}#c_recherche form #champRecherche button:hover{background-color:#ccc}#c_recherche form #champRecherche input{border:none;height:22px;width:150px;padding:0 3px;font-family:"Bitstream Vera Sans",Verdana,Tahoma,"Sans serif";font-size:12px;border-radius:3px 0px 0px 3px;position:relative}#myname{font-size:11px;font-family:"Bitstream Vera Sans",Verdana,Tahoma,"Sans serif";margin:0 0 .5em .5em;display:inline-block;vertical-align:bottom;font-weight:bold}#language_link>a,#language_link>span{display:inline-block;padding:.5em 0;font-weight:bold}#c_menu{height:30px;text-align:center;padding-left:95px}#c_menu ul#menu{height:30px;list-style:none;font-size:13px;box-sizing:border-box;margin:0 auto;display:inline-block}ul#menu a.itemP,ul#menu a.itemP1{display:block;text-align:center;text-decoration:none;font-size:13px;white-space:nowrap;padding:7px 1em}ul#menu ul.ssmenu{background:rgba(255,255,255,.9);display:none;box-shadow:0px 2px 2px 1px #bcb6b3}ul#menu ul li{list-style:none;text-align:left;line-height:20px;font-size:.9em}ul#menu ul li:last-child{border-bottom:0px}ul#menu ul li a{text-decoration:none;display:block;padding:5px 5px 5px 5px}#menu_all_button{float:right;width:24px;height:24px;margin-right:10px;display:inline-block;margin-top:2px;font-size:1.6em}@media screen and (max-width: 1055px){#c_menu ul#menu,#language_link,#help_link,#myname{display:none}}@media screen and (max-width: 490px){#show_all_menu .top{display:block;float:left;height:370px;border-bottom:2px solid #ddd;margin-bottom:15px}}.button-icon:hover{opacity:.5}ul#menu>li{display:inline-block;min-width:135px;height:30px}ul#menu ul.ssmenu{position:absolute;min-width:135px;z-index:500}ul#menu .empty-icon::before{content:""}#header #c_logo{position:absolute;z-index:1000;width:100px;height:55px;float:left;background:url("../pics/fd_logo.png") 0 0 repeat-x}#header #c_logo a{display:block;width:100%;height:100%;text-decoration:none}#c_ssmenu1{background:#d0d99d;height:24px;clear:both;font-size:.8em}#c_ssmenu1 ul{position:relative;top:4px;left:0px;list-style:none}#c_ssmenu1 ul li{float:left;padding:0 10px}#c_ssmenu1 ul li a{text-decoration:none;color:#666}#c_ssmenu1 ul li a:hover{text-decoration:underline}#c_ssmenu2{min-height:34px;padding:3px 0;box-sizing:border-box;background-color:#fff}#c_ssmenu2 ul{left:0px;list-style:none}#c_ssmenu2 ul li{float:left;padding:5px 10px 0 10px}#c_ssmenu2 ul li a{text-decoration:none;color:#000}#c_ssmenu2 a.here{font-size:14px}.breadcrumb_item{height:23px;position:relative}.profile-selector{float:right !important;height:28px;line-height:24px;z-index:40;position:relative}.breadcrumb_item:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;border-left-color:#fff;border-width:17px;margin-top:-17px;z-index:20}.breadcrumb_item:after{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;border-left-color:#fff;border-width:14px;margin-top:-14px;z-index:20;margin-left:-1px}.breadcrumb_item:not(:nth-of-type(1)){padding-left:25px !important}.breadcrumb_item:nth-of-type(1),.breadcrumb_item:nth-of-type(2){background-color:#f2f2f2}.breadcrumb_item:nth-of-type(1):after,.breadcrumb_item:nth-of-type(2):after{border-left-color:#f2f2f2}.breadcrumb_item:nth-of-type(3){background-color:#fec95c}.breadcrumb_item:nth-of-type(3):after{border-left-color:#fec95c}.icons_block{margin-left:10px;height:28px;float:inherit !important;box-sizing:border-box;display:inline-block;position:relative;z-index:40}.icons_block span{padding:0 8px;min-width:20px;display:inline-block;line-height:23px}.icons_block a>img,.icons_block i.fa,.icons_block i.far,.icons_block i.fas{font-size:1.7em;vertical-align:top}#show_all_menu{font-size:11px;text-align:left;min-width:150px;column-count:3;-moz-column-count:3}#show_all_menu dl{padding-bottom:.5em;break-inside:avoid-column;page-break-inside:avoid;-webkit-column-break-inside:avoid}#show_all_menu a{display:block;padding:.2em .5em}#show_all_menu dt a{color:#fff}#show_all_menu dt a:hover{background:#8baada}#show_all_menu a:hover{background-color:#3a5693;color:#c7dbf5}.iframe{width:100%;height:100%;margin:0;border-width:0px}.iframe.hidden{height:0;width:0}#footer{font-size:9px;font-family:"Open Sans",sans-serif;color:#000;background-color:#e2e1de;padding:6px;height:18px;padding:5px}#footer>table{width:100%}a.copyright{font-size:9px;font-family:"Open Sans",sans-serif;color:#000}#dbslave-float{top:0px;left:300px;position:absolute;z-index:100}#dbslave-float a{border-top:1px solid #cecece;border-bottom:2px solid #4a4a4a;border-left:1px solid #cecece;border-right:1px solid #cecece;text-decoration:none;text-align:center;margin:0;padding:1px .5em;font-family:helvetica,arial,sans-serif;font-size:10px;font-weight:bold;background-color:#fff;color:blue}#debug-float{top:0px;left:80px;position:absolute;z-index:100}#maintenance-float{top:0px;left:280px;position:absolute;z-index:100}#debug-float a,#maintenance-float a{border-top:1px solid #cecece;border-bottom:2px solid #4a4a4a;border-left:1px solid #cecece;border-right:1px solid #cecece;text-decoration:none;text-align:center;margin:0;padding:1px .5em;font-family:helvetica,arial,sans-serif;font-size:10px;font-weight:bold;background-color:#fff;color:red}#debug-float a:hover,#maintenance-float a:hover{background-color:#fc3;border-bottom:2px solid #36f}#debugajax{margin:auto;text-align:center}.debug .ui-tabs{border:10px solid #dadada !important}.debug h1{font-size:18px;text-align:center;padding:5px}#debugajax h1{font-size:18px;text-align:center;padding:5px}.debug h2,#debugajax h2{font-size:14px;padding-left:10px;border-left:4px solid #ffc65d;border-bottom:2px solid #ffc65d}.debug table,#debugajax table{margin:0}.debug .ui-tabs .close{right:14px;position:absolute;width:20px;top:1px}.debug .ui-tabs .tab_cadre{width:100%}.debug .ui-tabs .tab_cadre td:nth-child(2){word-break:break-all}.debug .ui-tabs .tab_cadre .tab_cadre{width:auto}#see_debug,#backtotop{position:fixed;bottom:35px;right:10px;cursor:pointer;color:#fff;z-index:99}#c_preference a.fa:hover,#see_debug:hover,#backtotop:hover{opacity:.8}#see_debug.wbttop{right:40px}#see_debug.on a:hover{color:red}.debug .ui-tabs{display:none;position:fixed !important;left:0 !important;bottom:0 !important;top:inherit !important;height:300px !important;z-index:100 !important;width:98%}.debug_ajax .ui-tabs{position:relative !important;height:inherit !important;display:block}#page .debug_ajax div.ui-tabs{width:98%}.debug_ajax .see_debug{display:none}.debug .ui-tabs-panel{height:273px;overflow:auto}.debug_ajax .ui-tabs .ui-tabs-panel{height:auto}.debug .tab_cadre{box-shadow:none}.timeline_box{text-align:left;padding:4px 8px;margin-top:-10px;font-family:"Bitstream Vera Sans",Verdana,Tahoma,"Sans serif"}.timeline_box .break{clear:both}.timeline_box h2{font-size:16px}.timeline_box textarea{resize:vertical;width:97%}.timeline_form{width:100%;padding-left:4px}.timeline_choices h2{display:inline-block;margin:1em 1em 0 0}.timeline_choices li{display:inline-block;min-width:90px;text-align:center;padding:.5em .5em;margin-top:5px;margin-right:3%;cursor:pointer;font-weight:bold}.timeline_choices li i{margin-right:1em;font-size:1.2em;vertical-align:bottom}.timeline_choices li:before{margin-right:1em;font-weight:normal}.timeline_choices li:hover{box-shadow:0px 1px 1px #999}.timeline_choices li.followup{background-color:#e0e0e0;color:#535353}.timeline_choices li.task{background-color:#feda90;color:#535353}.timeline_choices li.document{background-color:#80cead;color:#3a5d4e}.timeline_choices li.solution{background-color:#9fd6ed;color:#425b64}.timeline_choices li.validation{background-color:#b6f47e;color:#535353}.timeline_box .tab_cadre_fixe{width:930px}.timeline_stats{opacity:.2;text-align:right;margin-top:.2em}.timeline_stats:hover{opacity:1}.timeline_stats h3{font-weight:bold;font-size:1em;margin:0 .5em 0 0;padding:0}.timeline_history{border-top:1px dashed #3c5874;overflow:hidden;font-size:12px;width:100%}.timeline_history>h2{float:left}.timeline_history .filter_timeline{opacity:.2;text-align:right;margin-top:.2em;float:right}.timeline_history .filter_timeline>*{vertical-align:middle}.timeline_history .filter_timeline:hover{opacity:1}.timeline_history .filter_timeline h3{display:inline-block}.timeline_history .filter_timeline ul{display:inline-block}.timeline_history .filter_timeline ul li{display:inline-block}.timeline_history .filter_timeline h3{font-weight:bold;font-size:1em;margin:0 .5em 0 0;padding:0}.timeline_history .filter_timeline a{font-size:1.5em;display:inline-block;padding:0 .2em}.filter_timeline a.h_active{color:green !important}.timeline_history .h_item{clear:both;padding-top:8px;border-top:1px dashed #d2d2d2;display:flex;flex-flow:row wrap}.timeline_history .h_item.right{flex-direction:row-reverse}.timeline_history .h_hidden{display:none}.timeline_history .h_info{float:left;width:25%;max-width:145px;margin:0 10px}.timeline_history .right .h_info{float:right}.timeline_history .h_user{background-repeat:no-repeat;padding-left:24px;padding-top:1px;text-transform:capitalize;text-align:center}.timeline_history .h_date{background-repeat:no-repeat;padding-left:24px;padding-top:1px;text-transform:capitalize;text-align:center;white-space:nowrap;margin-bottom:10px;text-align:left;line-height:20px;padding-left:0 !important}.timeline_history .h_date i{font-size:1.8em;margin-right:.3em;opacity:.7;vertical-align:-15%}.timeline_history .h_user .h_user_name{display:inline-block;margin-bottom:5px;vertical-align:middle;width:100%;text-align:center;margin-top:5px}.timeline_history .h_user a:hover{text-decoration:underline}.timeline_history .h_user .tooltip_picture_border{padding:2px;border-radius:50%;border:3px inset #e7e7e7;_border:3px solid #e7e7e7;width:51px;height:51px;position:relative;margin:0 auto}.timeline_history .h_user .user_picture{width:51px;height:51px;border-radius:50%}.timeline_history .users_id_tech img{vertical-align:middle}.timeline_history .left .h_user,.timeline_history .left .h_date{padding-left:24px;padding-right:0;padding-top:2px}.timeline_history .middle .h_user,.timeline_history .middle .h_date{padding-left:24px;padding-right:0;padding-top:2px}.timeline_history .left .h_date,.timeline_history .middle .h_date{margin:0 auto}.timeline_history .h_user,.timeline_history .middle .h_user,.timeline_history .left .h_user{padding-right:0;padding-left:0;padding-top:0}.timeline_history img.group_assign{vertical-align:bottom}.timeline_history .h_content{width:50%;min-width:200px;padding:5px 5px 5px 8px;margin-bottom:10px;min-height:70px;position:relative;margin:0 10px;word-wrap:break-word;display:flex}.timeline_history .h_content.Document_Item{display:block}.timeline_history .h_content.Document_Item .displayed_content{display:block}.timeline_history .h_content.Document_Item .displayed_content figure{width:max-content}.timeline_history .h_content .displayed_content{width:100%;display:flex;flex-direction:column}.timeline_history .right .h_content{margin-left:0;margin-right:20px;float:right;text-align:left}.timeline_history .middle .h_content{max-width:inherit;width:69%}.timeline_history .h_content:after,.timeline_history .h_content:before{right:100%;top:53px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.timeline_history.standalone .h_content:after{display:none}.timeline_history .h_content:after{border-width:8px;margin-top:-15px;border-top-color:transparent !important;border-bottom-color:transparent !important}.timeline_history .right .h_content:after,.timeline_history .right .h_content:before{left:100%}.timeline_history .left .h_content:after,.timeline_history .left .h_content:before{border-left-color:transparent !important}.timeline_history .right .h_content:after,.timeline_history .right .h_content:before{border-right-color:transparent !important}.timeline_history .ITILFollowup:after,.timeline_history .KnowbaseItemComment:after{border-color:#e0e0e0}.timeline_history .ITILTask:after{border-color:#feda90}.timeline_history .Solution:after{border-color:#9fd6ed}.timeline_history .ITILValidation.status_3:after{border-color:#a1d7a2}.timeline_history .ITILValidation:after{border-color:#fff}.timeline_history .ITILValidation.status_4:after{border-color:#d3a4a4}.timeline_history .ITILValidation .b_right button[type=submit]{border:unset;padding:.5em .5em;font-weight:bold;font-size:unset}.timeline_history .ITILValidation .b_right button[type=submit].approve{background-color:#b6f47e;color:#002e00}.timeline_history .ITILValidation .b_right button[type=submit].refuse{background-color:#eba696;color:#380b0b}.timeline_history .right .h_content p{margin:2px 0 0}.timeline_history .left .h_content.timeline_active{border-right:8px solid #3c5874}.timeline_history .right .h_content.timeline_active{border-left:8px solid #3c5874}.timeline_history .h_content.edited{width:inherit;text-align:center}.timeline_history .h_content.edited .tab_cadre_fixe{width:100%;margin:0}.timeline_history .h_content .edit_item_content{display:none;border:1px dotted silver}.timeline_history .h_content .cancel_edit_item_content{display:none;background-image:url(../pics/close.png);width:16px;height:16px;cursor:pointer;opacity:.5;position:absolute;top:12px;right:12px}.timeline_history .h_content .cancel_edit_item_content:hover{opacity:1}.timeline_history .h_content.ITILFollowup,.timeline_history .h_content.KnowbaseItemComment{background-color:#e0e0e0;color:#535353;background-image:url(../pics/timeline/followup.png);background-repeat:no-repeat}.timeline_history .h_content.ITILTask{background-color:#feda90;color:#38301f;background-image:url(../pics/timeline/task.png);background-repeat:no-repeat}.timeline_history .h_content.Solution{border-left:1em green solid;background-color:#9fd6ed;color:#425b64}.timeline_history .h_content.Solution.waiting{border-left-color:orange}.timeline_history .h_content.Solution.refused{border-left:1em red solid}.timeline_history .h_content.Solution .solimg{position:absolute;color:rgba(66,91,100,.1);pointer-events:none}.timeline_history .h_content.Document_Item,.timeline_history .h_content.Assign{border:none;box-shadow:none;margin-bottom:0;padding:0}.timeline_history .h_content.ITILContent{background-color:#b2e0b6;color:#093806;background-repeat:no-repeat}.timeline_history .h_content.ITILContent .title{font-weight:bold;font-size:1.2em;margin-bottom:5px}.timeline_history .h_content.ITILContent img{max-width:100%}.timeline_history span.buttons{opacity:.1;vertical-align:middle}.timeline_history span.buttons:hover{opacity:1}@media screen and (max-width: 490px){.timeline_history .h_content{width:100%}.timeline_history .middle .h_content{max-width:inherit;width:100%}}.edit_document,.delete_document{font-size:1.5em !important;margin-left:.5em}.timeline_history .timeline_img_preview img{width:100px;border:3px solid #4a8865;border-radius:3px}.timeline_history .timeline_img_preview a:hover img{border:3px solid #000}.timeline_history .h_content.ITILValidation{background-color:#fff;border-color:#becadd;color:#030f21;padding:5px 5px 5px 8px}.timeline_history .h_content.ITILValidation.status_3{background-color:#a1d7a2;border-color:#385139}.timeline_history .h_content.ITILValidation.status_4{background-color:#d3a4a4;border-color:#5e3232}.timeline_history .h_content img.h_requesttype{float:right;height:20px}.timeline_history .h_content .h_controls{display:block;align-self:flex-end}.timeline_history .h_content .h_controls .control_item{margin-left:5px;opacity:.5;font-size:1.3em}.timeline_history .h_content .h_controls .control_item:hover{opacity:1;cursor:pointer}.timeline_history .h_content .h_controls .control_item.fa-lock{cursor:inherit;opacity:1;color:#d97e7e}.timeline_history .h_content .long_text{max-height:350px;position:relative;overflow:hidden}.timeline_history .h_content .read_more{position:absolute;bottom:0;left:0;width:100%;text-align:center;margin:0;padding:30px 0}.timeline_history .h_content .read_more a{bottom:5px;position:absolute}.timeline_history .h_content.ITILFollowup .read_more,.timeline_history .h_content.KnowbaseItemComment .read_more{background:-moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #f1f4e3 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, #f1f4e3));background:-webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #f1f4e3 100%);background:-o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #f1f4e3 100%);background:-ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #f1f4e3 100%);background:linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #f1f4e3 100%)}.timeline_history .h_content.ITILTask .read_more{background:-moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #f0e4b5 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, #f0e4b5));background:-webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #f0e4b5 100%);background:-o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #f0e4b5 100%);background:-ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #f0e4b5 100%);background:linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #f0e4b5 100%)}.timeline_history .h_content.Solution .read_more{background:-moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #e9f1ff 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, #e9f1ff));background:-webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #e9f1ff 100%);background:-o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #e9f1ff 100%);background:-ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, #e9f1ff 100%);background:linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #e9f1ff 100%)}.timeline_history .b_right{padding-right:3px;font-style:italic;color:#7e7e7e;text-align:right;align-self:flex-end;width:100%;background:rgba(255,255,255,.2)}.timeline_history .b_right .actiontime{padding-left:15px;background-image:url(../pics/timeline/actiontime.png);background-repeat:no-repeat;margin-right:6px}.timeline_history .state{display:inline-block;width:20px;height:20px;margin-right:3px;background-repeat:no-repeat;vertical-align:middle}.timeline_history .state.state_0{background-image:url(../pics/timeline/information.png)}.timeline_history .state.state_1{cursor:pointer;background-image:url(../pics/timeline/todo.png)}.timeline_history .state.state_2{cursor:pointer;background-image:url(../pics/timeline/done.png)}.timeline_history .b_right .planification{padding-left:17px;background-image:url(../pics/timeline/planification.png);background-repeat:no-repeat}.timeline_history .approbation_separator{margin-bottom:55px}.timeline_history .item_content img,.timeline_history table{max-width:100%}.fa-label{margin-bottom:10px;white-space:nowrap}.fa-label i.far,.fa-label i.fas{color:#a3a3a3;margin-right:3px;vertical-align:middle;font-size:1.5em}.fa-label .fa-stack i.far.fa-stack-1x,.fa-label .fa-stack i.fas.fa-stack-1x{font-size:.8em;top:.4em}.fa-label .fa-stack i.far.fa-inverse,.fa-label .fa-stack i.fas.fa-inverse{color:#fff}.assign_la{float:left;white-space:nowrap;margin-top:4px}.x-split-button{position:relative;width:250px;left:40%;word-wrap:normal;white-space:normal}.x-button{position:relative;margin:0;float:left;outline:none;padding:5px;cursor:pointer;font:bold 12px Arial,Helvetica;color:#8f5a0a;background-color:#fec95c;border:none;border-radius:0}.x-button:hover{cursor:pointer;background-color:#fddb6f;box-shadow:0px 1px 1px #999}.x-button.x-button-main{width:100px;height:26px}.x-button.x-button-drop{border-left:0;width:15px;height:16px;background-repeat:no-repeat;background-position:center}.x-button.x-button-drop:after{content:"▼"}.open .x-button.x-button-drop:after{content:"▲"}.x-button-drop:after{font-family:"Font Awesome 5 Free";font-weight:900}.x-button.x-button-drop.new:after{content:"";color:#49bf4d}.x-button.x-button-drop.assigned:after{content:"";font-weight:400;color:#49bf4d}.x-button.x-button-drop.planned:after{content:"";color:#1b2f62}.x-button.x-button-drop.waiting:after{content:"";color:orange}.x-button.x-button-drop.solved:after{content:"";font-weight:400;color:#000}.x-button.x-button-drop.closed:after{content:"";color:#000}.open>.x-button-drop-menu{display:block}.x-button-drop-menu{position:absolute;top:27px;left:0;z-index:1000;display:none;float:left;min-width:136px;list-style:none;border:0;text-align:left}.x-button-drop-menu li input[type=radio]{position:absolute;left:-9999px}.x-button-drop-menu li label{background-color:#fddb6f;padding:4px;color:#8f5a0a;cursor:pointer;display:block;font-weight:bold}.x-button-drop-menu li:hover label{background-color:#ffb94b !important}.x-button-drop-menu li input[type=radio]:checked+label{background-color:#fec95c}.dates_timelines{width:100%;max-width:950px;font-size:11px;margin:0 auto;text-align:left}.dates_timelines ul{position:relative}.dates_timelines ul:before{content:"";position:absolute;top:0;bottom:0;left:163px;width:3px;background-color:#a8a8a8}.dates_timelines li{margin:5px 0 25px 0;display:block}.dates_timelines time{height:30px;position:absolute;left:0;text-align:right;width:145px;color:#999}.dates_timelines .dot{position:absolute;left:156px;display:inline-block;width:14px;height:14px;border-radius:8px;background-color:#fff;border:2px solid dimgray}.dates_timelines .dot:before{color:#929292;font-family:"Font Awesome 5 Free";padding-left:2px}.dates_timelines .now{font-weight:bold;color:inherit !important}.dates_timelines .now time{font-weight:bold;color:inherit !important}.dates_timelines .now .dot{background-color:#49baf6;border-color:#4a9bc5}.dates_timelines .creation .dot{border:0;font-size:15px;height:18px}.dates_timelines .creation .dot:before{content:"";font-weight:900}.dates_timelines .passed time,.dates_timelines .passed label{border-color:#ff0014;color:#ff0014}.dates_timelines .passed .dot{border-color:#ff0014;color:#ff0014}.dates_timelines .passed .dot:before{content:"";padding-left:6px;color:#e54e5a;font-weight:900}.dates_timelines .checked .dot:before{content:"";padding-left:2px;font-weight:900}.dates_timelines .end .dot{border:0;font-size:15px}.dates_timelines .end .dot:before{content:"";font-weight:900}.dates_timelines label{position:absolute;left:180px;text-align:right}.switch{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none;padding:4px;display:inline-block}.switch *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.switch img{padding-right:10px}.grey_border{border:1px dotted #e2e2e2}.switch label{cursor:pointer}.switch label input[type=checkbox]{display:none;opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked~.lever{background-color:#e8aeae}.switch label input[type=checkbox]:checked~.fa{color:#e8aeae}.switch label input[type=checkbox]:checked~.lever:after{background-color:#cf9b9b}.switch label .lever{content:"";display:inline-block;position:relative;width:15px;height:10px;background-color:#b8b8b8;border-radius:15px;margin-right:5px;transition:background .3s ease}.switch label img{vertical-align:middle}.switch label .lever:after{content:"";position:absolute;display:inline-block;width:14px;height:14px;background-color:#f1f1f1;border-radius:21px;box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-7px;top:-2px;transition:left .3s ease,background .3s ease,box-shadow .3s ease}input[type=checkbox]:checked:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(89,89,89,.08627)}input[type=checkbox]:not(:disabled)~.lever:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.08)}.switch label input[type=checkbox]:checked~.lever:after{left:8px}.switch input[type=checkbox][disabled]~.lever{cursor:default}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#bdbdbd}.queuemail_preview .tab_cadre{width:inherit !important}.comments{margin:0 0 0 1em;padding:0;list-style:none;position:relative}.comments ul{margin:0 0 0 1em;padding:0;list-style:none;position:relative;margin-left:3em;clear:both}.comments:before,.comments ul:before{content:"";display:block;width:0;position:absolute;top:0;bottom:0;left:0;border-left:1px solid #cecece}.comments li{margin:0;padding:0;line-height:2em;position:relative;clear:left}.comments li:before{content:"";display:block;width:20px;height:0;border-top:1px solid #cecece;margin-top:-1px;position:absolute;top:5em;left:0}.comments li:last-child:before{background:#fff;height:auto;top:5em;bottom:0}.comments .h_content{position:relative}.comments .h_info{padding-left:20px}.comments .add_answer{background-image:url(../pics/answer.png);width:16px;height:16px;display:block;position:absolute;right:5px;bottom:5px;opacity:.5}.comments .add_answer:hover{opacity:1;cursor:pointer}.comments .h_item{border:none}.forcomments.timeline_history{border:none}.comments hr{border:none;border-top:1px #222 dotted;margin-top:2px}.comment_form textarea{width:100%;min-height:70px}input[type=checkbox].toggle_comments{display:none}input[type=checkbox].toggle_comments+.toggle_label{cursor:pointer;position:absolute;left:-6px;top:calc(5em - 8px);background:#fff url("../pics/expand.png") no-repeat;width:14px;height:14px}input[type=checkbox].toggle_comments:checked+.toggle_label{background:#fff url("../pics/collapse.png") no-repeat}input[type=checkbox].toggle_comments:checked~ul{display:block}input[type=checkbox].toggle_comments~ul{display:none}.copy_to_clipboard_wrapper{cursor:pointer}.copy_to_clipboard_wrapper input[type=text]{padding-right:18px !important}.copy_to_clipboard_wrapper *{cursor:pointer}.copy_to_clipboard_wrapper:after{font-family:"Font Awesome 5 Free";position:relative;left:-15px;top:1px;content:"";color:#7f7f7f;transition:color .3s ease-in-out;font-weight:900}.copy_to_clipboard_wrapper.copied:after{content:"";color:green;font-weight:900}.copy_to_clipboard_wrapper.copyfail:after{content:"";color:red;font-weight:900}tr.log_history_filter_row>th{vertical-align:top}tr.log_history_filter_row .select2-container{min-width:125px}tr.log_history_filter_row .select2-container .select2-selection--multiple{box-sizing:border-box;min-height:28px}tr.log_history_filter_row>th>input{box-sizing:border-box;min-height:28px}tr.log_history_filter_row .select2-container--default .select2-selection--multiple .select2-selection__choice{padding:1px}@media screen and (max-width: 700px){#header{transition:top .2s ease-in-out;position:fixed;top:0;width:100%;z-index:1000}#c_ssmenu2{overflow:auto;border-bottom:1px solid #ddd}#header.nav-up{top:-150px}#page{padding-top:130px}.nav-up~#page{padding-top:50px}#firstboxlogin{overflow-y:auto}#logo_login{padding:0}#display-login,#text-login{padding:1px 2%}#footer-login{display:none}.icons_block{margin-left:0}.profile-selector{padding:4px 2px !important;max-width:95px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inline-block}.profile-selector .select2-container{max-width:90px}.ui-dialog{max-width:100%}#page .pointer{zoom:1.1}.layout_classic.form .main_form,.layout_vsplit.form .main_form{width:100%}.responsive_hidden{display:none !important}.search_page>form>.center{width:100%;overflow-y:auto}.ui-tabs{width:100% !important}.ui-tabs-vertical .ui-tabs-nav{padding:.2em .2em 0;float:inherit;width:inherit}.ui-tabs-vertical .ui-tabs-nav li{clear:none;width:initial;border-bottom-width:1px !important;border-right-width:0 !important;margin:1px .2em 0 0}.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:1px}.ui-tabs-vertical .ui-tabs-nav li a{width:inherit}.ui-tabs-panel,.ui-tabs .ui-tabs-panel .ui-tabs-vertical .ui-tabs-panel{padding:2px !important;overflow-y:auto}.ui-tabs-vertical .ui-tabs-panel{margin-left:0}.tab_cadre_pager{width:100%}.tab_cadre_pager .big{display:none}.main_form tr:not(.headerRow) th:not(.actor-th){display:block;width:100%;text-align:left}.tab_cadre_fixe:not(.tab_actors){display:block;width:100%;text-align:left}.tab_cadre_fixe:not(.tab_actors)>tbody{display:block;width:100%;text-align:left}.tab_cadre_fixe:not(.tab_actors)>tbody>tr{display:block;width:100%;text-align:left}.tab_cadre_fixe:not(.tab_actors)>tbody>tr>th,.tab_cadre_fixe:not(.tab_actors)>tbody>tr>td{display:block;width:100%;text-align:left}.tab_actors tr{display:block;width:100%;text-align:left}.tab_actors tr:first-child th:first-child{display:block;width:100%;text-align:left}.tab_cadre_fixe input[type=text],.tab_cadre_fixe textarea{max-width:95%}.tab_cadrehov{margin:0;width:100%}table.tab_cadre_postonly{display:inline-block;width:100%}table.tab_cadre_postonly>tbody{display:inline-block;width:100%}table.tab_cadre_postonly>tbody>tr{display:inline-block;width:100%}table.tab_cadre_postonly>tbody>tr>td{display:inline-block;width:100%}table.tab_cadre_postonly table.central .tab_cadrehov>tbody>tr{display:inline-block;width:100%}table.tab_cadre_postonly table.central .tab_cadrehov>tbody>tr:first-child>th{display:inline-block;width:100%}table.central{display:inline-block;width:100%}table.central>tbody{display:inline-block;width:100%}table.central>tbody>tr{display:inline-block;width:100%}table.central>tbody>tr>th{display:inline-block;width:100%}table.central>tbody>tr>td{display:inline-block;width:100%}table.central>tbody>tr>td>.tab_cadrehov{display:inline-block;width:100%}table.central>tbody>tr>td>.tab_cadrehov>tbody{display:inline-block;width:100%}table.tab_cadre_postonly table.central .tab_cadrehov>tbody>tr>th,table.tab_cadre_postonly table.central .tab_cadrehov>tbody>tr>td{display:inline-block;width:50%;box-sizing:border-box}.mceToolbar,#image_paste{display:none}#searchcriteria ul{border-collapse:collapse;width:100%}#searchcriteria .metacriteria,#searchcriteria .normalcriteria{clear:left;display:block;width:100%;margin:6px;overflow:auto}.timeline_history .h_date{background-image:none;padding-left:0}.timeline_history .h_info{font-size:.7em}.tab_cadre_central .top{display:block;width:100%}#page .tab_actors,#page .actor-bloc{display:block}.actor-bloc{width:initial;float:none}.actor-dropdown{display:block}.select2-focusser{display:none !important}#planning_container{padding-left:10px}#planning_filter{position:relative;width:100%;margin-bottom:10px}#c_preference #debug_mode{display:none}#c_recherche{position:relative;top:33px;left:77px}#c_recherche form #champRecherche input{width:100px}}.documentation{background-color:#fff;max-width:700px;margin:0 auto;padding:10px 20px}.documentation h1{color:#300000}.documentation>ul:nth-child(2){list-style-type:disc;margin-top:40px}.documentation>ul:nth-child(2)>li{margin-left:30px}.documentation h2{color:#940000;margin-top:70px;border-bottom:1px solid #a87a7a}.documentation li{margin-left:10px;padding:5px 0 5px 5px}.documentation>ul>li>ul>li{border-left:1px solid gray}.documentation>ul>li>ul>li>ul>li{list-style-type:disc;margin-left:35px}.documentation pre{border:1px solid #ccc;border-radius:4px;font-size:13px}.documentation dt{font-weight:bold;margin-top:20px}.documentation dd{margin-left:20px}td.diff ins{color:green;text-decoration:none}td.diff del{color:red;text-decoration:none}.planning_on_central .fc-view-container *{min-height:1em}.planning_on_central .fc-view-container *::before,.planning_on_central .fc-view-container *::after{min-height:1em}.loadingindicator{background:#fff url(../pics/spinner.48.gif) no-repeat center .5em;padding:60px .5em .5em;text-align:center;max-width:350px;margin:auto;border:none}.small{width:1%}.slidepanel{z-index:1000;position:fixed;width:30em;max-width:40%;background:#fff;top:0;min-height:100vh;height:calc(100% - 28px);border:none;overflow:auto}.slidepanel a.fa{font-size:1.5em;color:#ccc}.slidepanel a.fa:link{font-size:1.5em;color:#ccc}.fa.bookmark_record,.fa.reset-search,.fa.fold-search{font-size:1.5em;color:#ccc !important}.fa.bookmark_record:link,.fa.reset-search:link,.fa.fold-search:link{font-size:1.5em;color:#ccc !important}.fa.bookmark_default{font-size:1.5em;color:#f3b51f !important}.fa.bookmark_default:link{font-size:1.5em;color:#f3b51f !important}.fa.reset-search:hover,.fa.bookmark_record.save:hover,.fa.fold-search:hover{color:#999 !important}.slidepanel a .count .fa{color:#fff}.drag{display:inline-block;height:18px;padding-right:1em;cursor:move}.slidepanel .header{border-bottom:1px solid #ccc;min-height:2.4em}.slidepanel .header>h3{margin:0;padding-top:.3em;text-align:center}.slidepanel .header .icon{margin-top:.5em;margin-right:.5em}.slidepanel .contents{clear:both}.layout_lefttab .slidepanel .new_form_tabs .ui-tabs-nav{width:auto}.slidepanel .ui-tabs{width:auto}.slidepanel.onleft{left:0;border-right:1px solid #ccc}.slidepanel.onleft .close{float:right}.slidepanel.onleft .icon{float:left}.slidepanel.onright{right:0;border-left:1px solid #ccc}.slidepanel.onright .close{float:left}.slidepanel.onright .icon{float:right}.slidepanel .tab_cadre_fixehov{box-shadow:none}.slidepanel .default{display:inline-block;width:18px;height:18px}.slidepanel td *{vertical-align:middle}.slidepanel .toggle{font-size:1.5em;position:absolute;right:.2em}a.savedsearchlink{display:block;padding:.4em 0}span.count{border-radius:10px;display:inline-block;text-align:center;padding:.2em .5em;float:right;margin-top:-0.2em;margin-left:.5em;font-weight:bold}span.count img{vertical-align:-10%}.primary-bg{background:#3a5693}.primary-bg-inverse{background:#fff}.primary-fg{color:#fff}.primary-fg:link,.primary-fg:hover{color:#fff}.primary-fg-inverse{color:#3a5693}.primary-fg-inverse:hover{color:#3a5693}.tab_cadre_fixe .fa{padding:0 .3em}button.unstyled{background:none;border:none;margin:none}.warning{padding:.5em;margin:0 5px 1em;cursor:pointer;font:bold 12px Arial,Helvetica;color:#8f5a0a;background-color:#fec95c;border:0;text-align:center}.warning li{margin-bottom:.5em}.warning li:last-child{margin-bottom:0}.warning .fa{color:#fff;float:left;margin-right:.2em}tr.linked-template td:not(.top){background-color:#ffb4b4}.notifs_setup{display:table;margin:0 auto;border-spacing:1em 0}.notifs_setup>form,.notifs_setup>table{display:table-cell}.massiveactions{padding:.5em;width:90%}.massiveactions input.submit{margin-top:.5em}.missing{color:orange}.ok{color:green}#switchview{font-size:2em;text-align:right;float:right}#switchview i{margin-left:.5em}#switchview i.selected{color:green}#viewlist{display:none}#viewgraph{width:calc(100% - 80px);overflow-x:auto}#viewgraph table{width:100%;table-layout:fixed}#viewgraph .tipcontent{display:none}#viewgraph .rooms a.fa{color:#fff;position:absolute;right:0;top:0;padding:.5em}#viewgraph .rooms a.fa:link{color:#fff;position:absolute;right:0;top:0;padding:.5em}#viewgraph .rooms a .fa{color:#fff;position:absolute;right:0;top:0;padding:.5em}#viewgraph .rooms a.itemlink .fa{right:1.2em}div#viewgraph table{background-color:#e0e0e0;border-collapse:collapse}div#viewgraph th,div#viewgraph td{height:2em;border-bottom:1px solid #fff;text-align:center;padding:0}div#viewgraph table.rooms th,div#viewgraph table.rooms td{height:5em}div#viewgraph th{border:1px solid #fff}div#viewgraph td[data-hpos="1"]{border-left:1px solid #fff}div#viewgraph table.rooms td{border-left:1px solid #fff}div#viewgraph table th{color:#fff;background-color:#4682b4}div#viewgraph table td div{border:none !important;position:relative;z-index:10;color:#fff;height:100%;display:flex;padding:0 1%;flex-direction:column;justify-content:center;max-height:5em}div#viewgraph table td div.rack-add{color:#e0e0e0}div#viewgraph table td div.rack-add:hover{background-color:rgba(0,128,0,.5);cursor:pointer}div#viewgraph .mini_toggle{font-size:11px;opacity:.5;cursor:pointer;position:relative;padding-left:20px;margin:15px 5px;float:left}div#viewgraph .mini_toggle:before{content:"";left:0;top:0;font-size:15px;font-family:"Font Awesome 5 Free";position:absolute;font-weight:900}div#viewgraph .mini_toggle.active:before{content:"";font-weight:900}div#viewgraph .mini_toggle:hover{opacity:1}.grid-stack .grid-stack-item{z-index:3;opacity:1}.clear_picture .grid-stack .grid-stack-item .grid-stack-item-content,.clear_picture .grid-stack .grid-stack-item:after{background:none !important}.grid-stack-item{position:relative}.grid-stack-item:not(.lock-bottom) .grid-stack-item-content{font-size:11px;text-align:center;overflow:hidden;cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.grid-stack-item:not(.lock-bottom) .grid-stack-item-content:active{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.grid-stack-item-content a{font-size:1em;font-weight:bold}.clear_text:not(.clear_picture) .grid-stack .grid-stack-item .itemrack_name{display:none}#viewgraph:not(.clear_picture) .with_picture .grid-stack-item-content .itemrack_name{background-color:rgba(255,255,255,.65);color:#000 !important}#viewgraph:not(.clear_picture) .with_picture .grid-stack-item-content .rel-link{opacity:.6}.grid-stack-item-content .rel-link{position:absolute;right:3px;bottom:3px;opacity:0}.grid-stack-item-content .rel-link a i.fa{color:#000}.grid-stack-item-content:hover .rel-link{opacity:.8}.grid-stack .grid-stack-item .grid-stack-item-content,.grid-stack .grid-stack-item .placeholder-content{left:0;right:0}.grid-stack .grid-stack-placeholder>.placeholder-content{border:1px dashed #bcbf33;background-color:rgba(229,245,105,.5)}#viewgraph table.outbound{width:400px;margin-bottom:20px}div#viewgraph table.outbound td div{padding:0}div#viewgraph table.outbound td div .grid-stack-item-content{box-shadow:none}ul.indexes{list-style-type:none;margin:0;padding:0;text-align:center;font-size:.7em;color:silver;float:left}.virtual_pdu_space{height:20px;clear:both}.side_pdus_float{float:left;min-height:100%;width:20px}.side_pdus.side_pdus_nofloat{clear:left;margin:0 2px 2px}.side_pdus_nofloat .grid-stack-item:not(.lock-bottom) .grid-stack-item-content{cursor:initial}.side_pdus{background-color:#575757;margin:0 1px}.side_pdus .grid-stack-item:not(.lock-bottom){background-color:#ff9d1f;overflow:hidden}.side_pdus_float .grid-stack-item .grid-stack-item-content{border:0 solid rgba(4,4,4,.4);border-width:4px 1px}.side_pdus_float .grid-stack-item .grid-stack-item-content .rotated_text{transform:rotate(-90deg);transform-origin:bottom left;position:absolute;bottom:25px;left:15px;white-space:nowrap}.side_pdus_float .grid-stack-item .item_rack_icon{position:absolute;bottom:1px;left:0;position:absolute;bottom:1px;left:0}.side_pdus_float .grid-stack-item-content .rel-link{left:3px;top:3px;bottom:unset;right:unset}.side_pdus_float .grid-stack-item:after{content:"";position:absolute;height:20px;bottom:4px;left:20px;z-index:-1;transform:rotate(-90deg);transform-origin:bottom left}.racks_add .cell_add{box-sizing:border-box;display:block;opacity:0;z-index:2;position:relative}.racks_add .cell_add:after{content:"";left:45%;font-size:1em;color:gray;top:5px;font-family:"Font Awesome 5 Free";position:absolute;font-weight:900}.racks_add .cell_add:hover{opacity:1;cursor:pointer}.grid-room{margin:10px 0 10px 10px;float:left;padding:15px 0 0 15px;overflow-y:hidden}.grid-room .blueprint{margin-left:15px;width:calc(100% - 16px)}.clear_blueprint .grid-room .blueprint{background:none !important}.grid-room .racks_add{border:1px solid #eee;border-width:0 1px 1px 0;background-size:40px 39px;background-image:linear-gradient(to right, #EEEEEE 1px, transparent 1px),linear-gradient(to bottom, #EEEEEE 1px, transparent 1px)}.grid-room .grid-stack{float:left}.clear_grid .grid-room .grid-stack{background-image:none}.grid-room .grid-stack-item{border:1px solid #444;box-sizing:border-box}.grid-room .grid-stack-item:after{position:absolute;content:" ";background-color:rgba(0,0,0,.3)}.grid-room .grid-stack-item.room_orientation_1:after{top:0;left:0;width:100%;height:4px}.grid-room .grid-stack-item.room_orientation_2:after{top:0;right:0;width:4px;height:100%}.grid-room .grid-stack-item.room_orientation_3:after{bottom:0;left:0;width:100%;height:4px}.grid-room .grid-stack-item.room_orientation_4:after{top:0;left:0;width:4px;height:100%}.grid-room .grid-stack-item .grid-stack-item-content{padding-top:4px}.grid-room .grid-stack-item.lock-bottom{display:none}.grid-room ul.indexes.indexes-x{width:100%;float:none;height:15px;padding-left:15px;box-sizing:border-box}.grid-room ul.indexes.indexes-x li{float:left;width:40px}.grid-room ul.indexes.indexes-y{width:15px}.grid-room ul.indexes.indexes-y li{width:10px;height:39px;line-height:40px}.clear_grid .grid-room ul.indexes{visibility:hidden}.grid-room .racks_add{margin-left:15px}.grid-room .racks_add .cell_add{height:39px;width:40px;float:left}.grid-room .racks_add .cell_add:after{left:15px;top:14px}.racks_row{width:100%}.racks_col{margin-left:2px;float:left;position:relative}.racks_col:not(:last-child){margin-right:40px}.rack_side{float:left;text-align:center;background:#4c4c4c;padding-top:18px}.racks_col h2{font-size:1em;color:#555;background-color:#e6e6e6;height:18px;margin:0;padding:5px 0}@media screen and (max-width: 900px){.racks_col:not(:last-child){margin-right:0;margin-bottom:15px}#viewgraph{min-width:100%}}.racks_add{position:absolute;display:block;width:100%;z-index:2}.grid-rack{width:217px;background:#fff repeating-linear-gradient(transparent, transparent 21px, rgba(0, 0, 0, 0.1) 21px, rgba(0, 0, 0, 0.1) 42px);z-index:1;border:1px solid #d4d4d4;float:left}.grid-rack .racks_add .cell_add{height:20px;margin-bottom:1px;width:100%}.side_pdus_nofloat .grid-stack-item .grid-stack-item-content,.grid-rack .grid-stack-item:not(.lock-bottom) .grid-stack-item-content{color:#2c3e50;border:0 solid rgba(4,4,4,.4);border-width:1px 4px;box-shadow:1px 1px 5px 0px #656565}#viewgraph:not(.clear_picture) .grid-rack .grid-stack-item.with_picture .grid-stack-item-content{border-color:rgba(4,4,4,.25);border-width:0 4px}.grid-rack .grid-stack-item.reserved .grid-stack-item-content{border:1px solid #ff7c24;box-shadow:none}.grid-rack .grid-stack-item.reserved .grid-stack-item-content a.itemrack_name{color:#7f4723 !important}.grid-rack .grid-stack-item.item_rear{background:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15) 10px, rgba(59, 59, 59, 0.15) 10px, rgba(59, 59, 59, 0.15) 20px)}.grid-rack .grid-stack-item.reserved{background:repeating-linear-gradient(115deg, #FF8A3C, #FF8A3C 30px, #FFD7BC 30px, #FFD7BC 60px)}.grid-stack-item .item_rack_icon{float:left;opacity:.6;padding:3px 0 0 2px;font-size:14px}#viewgraph:not(.clear_picture) .grid-rack .grid-stack-item.with_picture .item_rack_icon{display:none}.rack_tipcontent span{display:block}.rack_tipcontent label{font-weight:bold;margin-right:3px}.grid-rack .grid-stack-item.lock-bottom{background:#4c4c4c;width:101% !important;margin:0 -1px}.racks_row ul.indexes li{height:20px;width:20px;margin-bottom:1px;box-sizing:border-box;line-height:20px}.rack_side_block{width:200px;border:1px solid #e6e6e6;background-color:#f3f3f3;text-align:left;font-size:11px;margin-bottom:20px}.rack_side_block_content{padding:10px 5px}.rack_side_block h2{color:#555;margin:0;padding:5px 10px;font-size:14px;font-weight:bold;background-color:#e6e6e6}.rack_side_block h3{color:#6f6f6f;margin:0;font-size:11px;font-weight:bold}.rack_side_block .ui-progressbar{height:13px}.rack_side_block .doaction_progress_text{font-weight:normal;padding:0}.rack_side_block_content i{margin:0 3px}.rack_side_block .sub_action{display:block;color:#555;cursor:pointer;padding:5px;text-align:center}.rack_side_block .sub_action:hover{background-color:#d1d1d1}.rack_side_block .sub_action i{margin-right:3px;color:#555}div#viewgraph .rack_side_block .pdu_list{background:none}div#viewgraph .rack_side_block .pdu_list td{text-align:left;border:1px solid rgba(0,0,0,.2);padding:0 3px}.pdu_list .rack_position{width:20px}.pdu_list i.fa{color:rgba(0,0,0,.6)}ul#menu ul{-webkit-column-count:2;-webkit-column-gap:10px;-moz-column-count:2;-moz-column-gap:10px;column-count:2;column-gap:10px}ul#menu ul li{break-inside:avoid}.fail_info{padding:6px 8px;box-shadow:0 0 15px rgba(0,0,0,.2);border-radius:5px;font-weight:bold;background:red;background-color:rgba(255,0,0,.8);color:#fff}.fail_info #reload_data{display:block;text-align:center;cursor:pointer}input[name=as_map]{visibility:hidden}input[name=as_map]+label span.fa{margin:.5em}input[name=as_map]:checked+label{color:blue}.leaflet-control-geocoder-form{margin:.2em !important}.leaflet-control-geocoder-form input[type=text]{width:10em}.leaflet-control-geocoder-form input[type=submit]{border:1px transparent solid}.itilstatus{font-size:1.4em;margin-right:.2em;color:red;background-color:transparent;vertical-align:middle}.itilstatus.assigned,.itilstatus.new{color:#49bf4d}.itilstatus.accepted{color:green}.itilstatus.test,.itilstatus.qualif,.itilstatus.waiting{color:orange}.itilstatus.approval{color:#8cabdb}.itilstatus.eval{color:#add8e6}.itilstatus.closed,.itilstatus.solved,.itilstatus.observe{color:#000}.itilstatus.planned{color:#1b2f62}.fup-popup{overflow-y:auto;width:350px;height:200px;font-size:11px}@media screen and (max-width: 900px){.documentation{margin-left:0 !important}}@media screen and (min-width: 900px){.documentation #summary{position:fixed;top:40px;left:15px;margin-top:0}.documentation #summary+ul{width:200px;position:fixed;top:70px;left:10px;bottom:0;overflow:auto}}@media screen and (max-width: 1100px){.documentation{margin-left:200px}}.fa:before,.fas:before,.fa:after,.fas:after{font-weight:900}.far:before,.far:after{font-weight:400}.fa-lg{font-size:1.2em}.disabled{color:red !important}.enabled{color:green !important}input:disabled+.label-checkbox{cursor:not-allowed}.custom_css_configuration td:not([colspan]){width:50%}.custom_css_configuration tbody,.custom_css_configuration tr,.custom_css_configuration td,.custom_css_configuration .custom_css_container{max-width:inherit}.custom_css_configuration .custom_css_container{width:100%}.custom_css_configuration .custom_css_container textarea{box-sizing:border-box;min-height:250px;width:100%}.custom_css_configuration .custom_css_container .CodeMirror.input-disabled{background:#ebebe4}div.banner-impersonate{background:#ff3d2a;color:#fff;font-weight:bold;padding:10px;text-align:right}div.banner-impersonate button{color:inherit;margin-left:5px;text-decoration:underline}div.objectlockmessage{background-color:#ffa07a !important;flex-wrap:wrap;align-items:center}div.objectlockmessage a.vsubmit{margin:0 15px;white-space:nowrap}div.objectlockmessage>.form-group-checkbox{padding-left:5px}#network_container{height:70vh}#network_container div{z-index:1 !important;position:absolute !important}#network_container.fullscreen{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;background-color:#fff;z-index:80}#help_text{font-weight:bold;display:none;position:absolute;padding:10px;color:#707e8c;font-size:1.3em;z-index:2}#impact_tools{margin-left:auto;margin-right:5px;background-color:#fff;padding:5px;border:1px solid #d3d3d3;border-radius:2px}#impact_tools span:hover{background-color:#d3d3d3;border-radius:2px}.impact-mb-2{margin-bottom:2em}.network-parent{border:1px solid #f1f1f1;position:relative;padding:0 !important}.network-table{max-width:none !important}.impact-dialog{display:none}i.fa-impact-manipulation{display:inline;font-size:14px}.impact_toolbar{position:absolute;display:inline-flex;justify-content:flex-start;left:0;right:0;z-index:20;flex-wrap:wrap}.impact_toolbar span{float:left;color:gray;font-size:1.3em;padding:4px 8px;transition:all .3s ease;cursor:pointer;border:2px inset transparent}.impact_toolbar .active{border:2px inset #f4f4f4;background-color:#fafafa}.impact_toolbar.fullscreen{position:fixed;top:5px;z-index:81}.impact_toolbar_right{float:right !important}.clean{animation:clean-fade 3s}@keyframes clean-fade{0%{color:#1ca448}100%{color:#707e8c}}.dirty{color:#eea818 !important}.dirty:hover{background-color:#fec95c !important;color:#8f5a0a !important}.cy-context-menus-cxt-menuitem{padding-left:5px !important;font-size:1.15em;background-color:#fff}.cy-context-menus-cxt-menuitem i{padding-right:10px !important;color:gray;max-width:10px}.cy-context-menus-cxt-menu{border-radius:2px;border:1px solid #d3d3d3;-webkit-box-shadow:4px 4px 6px 3px rgba(0,0,0,.17);-moz-box-shadow:4px 4px 6px 3px rgba(0,0,0,.17);box-shadow:4px 4px 6px 3px rgba(0,0,0,.17)}.impact-range{height:18px;-webkit-appearance:none;margin:10px 0;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important}.impact-range:focus{outline:none}.impact-range::-webkit-slider-runnable-track{width:100%;height:4px;cursor:pointer;animate:.2s;box-shadow:0px 0px 0px #000;background:#aec8d8;border-radius:25px;border:1px solid #8a8a8a}.impact-range::-webkit-slider-thumb{box-shadow:1px 1px 1px #828282;border:1px solid #8a8a8a;height:10px;width:14px;border-radius:2px;background:#66757f;cursor:pointer;-webkit-appearance:none;margin-top:-4px}.impact-range:focus::-webkit-slider-runnable-track{background:#aec8d8}.impact-range::-moz-range-track{width:100%;height:4px;cursor:pointer;animate:.2s;box-shadow:0px 0px 0px #000;background:#aec8d8;border-radius:25px;border:1px solid #8a8a8a}.impact-range::-moz-range-thumb{box-shadow:1px 1px 1px #828282;border:1px solid #8a8a8a;height:10px;width:14px;border-radius:2px;background:#66757f;cursor:pointer}.impact-range::-ms-track{width:100%;height:4px;cursor:pointer;animate:.2s;background:transparent;border-color:transparent;color:transparent}.impact-range::-ms-fill-lower{background:#aec8d8;border:1px solid #8a8a8a;border-radius:50px;box-shadow:0px 0px 0px #000}.impact-range::-ms-fill-upper{background:#aec8d8;border:1px solid #8a8a8a;border-radius:50px;box-shadow:0px 0px 0px #000}.impact-range::-ms-thumb{margin-top:1px;box-shadow:1px 1px 1px #828282;border:1px solid #8a8a8a;height:10px;width:14px;border-radius:2px;background:#66757f;cursor:pointer}.impact-range:focus::-ms-fill-lower{background:#aec8d8}.impact-range:focus::-ms-fill-upper{background:#aec8d8}.impact-header{display:flex;justify-content:center;align-items:center;background-color:#f1f1f1}.impact-header h2{margin-left:auto}.impact-header #switchview{margin-left:auto;margin-right:10px}.impact-header #switchview a{font-size:.85em !important}#impact_list_view{margin-top:2em;display:flex;justify-content:center}.impact-list-container{flex-grow:1}.impact-list-group{margin-bottom:5em}.impact-left{padding-left:10px !important}.impact-pointer{cursor:pointer}.impact-list-toolbar{display:flex;flex-direction:column;flex-wrap:wrap;text-align:right}.impact-list-toolbar i{padding:10px}.impact-list-header{padding:1px 5px !important}.impact-list-tools{font-size:1.3em}.impact-toggle-subitems-master{float:right;padding-right:5px;font-size:1.15rem}.impact-toggle-subitems{float:right;padding-right:5px;font-size:1.15rem}.impact-side{height:100%;position:absolute;top:0;right:0;background-color:#fafafa;z-index:80;border-left:1px solid #f1f1f1;border-right:1px solid #f1f1f1;display:flex;justify-content:space-between}.impact-side ul{list-style:none;border-left:1px solid #f1f1f1}.impact-side li{color:#707e8c;width:100%;vertical-align:middle;cursor:pointer}.impact-side li i{padding:10px 8px;font-size:1.5em}.impact-side li:hover{color:#0e0e0e;background-color:#f1f1f1}.impact-side li.active{color:#444 !important;background-color:#d5d5d5 !important;border-radius:2px}.impact-side li.impact-disabled{cursor:default !important;color:#aaaeb3}.impact-side li.impact-disabled:hover{color:#aaaeb3;background-color:#fafafa}.impact-side li.impact-separator{border-top:2px solid #dfdfdf}.impact-side.impact-side-expanded{border-left:3px solid #f1f1f1}.impact-side.impact-side-expanded li{text-align:right}.impact-side.fullscreen{position:fixed;z-index:81}.impact-drop-preview{display:none;position:fixed;z-index:83;opacity:50%;width:48px;height:48px;pointer-events:none}.impact-side-panel{color:#707e8c;width:0px;overflow:hidden;transition:width .5s ease}.impact-side-panel.impact-side-expanded{padding:3px 10px;overflow:auto;width:210px}.impact-side-panel h3{white-space:nowrap}.impact-side-icon{width:32px;height:32px;padding:4px}#impact-side-filter-itemtypes{margin-bottom:1em}.impact-side-search{display:none}.impact-side-search i{cursor:pointer;margin-right:5px}.impact-side-search img{width:16px;height:16px;margin-right:5px}.impact-side-search h4{white-space:nowrap}.impact-side-search-footer{height:37px}.impact-side-search-more{cursor:pointer}.impact-side-search-more i{margin-right:3px}.impact-side-toggle{display:none;background-color:#f1f1f1;position:absolute;bottom:0;color:#707e8c;width:100%;text-align:center;cursor:pointer}.impact-side-toggle i{padding:10px 5px;font-size:1.5em}.impact-side-toggle:hover{color:#0e0e0e}.impact-side-filter-itemtypes-items{display:flex;flex-wrap:wrap;flex-direction:column;white-space:nowrap}.impact-side-search-results p{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.impact-side-filter-itemtypes-item{cursor:pointer}.impact-side-filter-itemtypes-item span{display:inline;margin-left:4px}.impact-side-filter-itemtypes-item h4{margin-top:0;margin-bottom:0}.impact-side-search-spinner{margin-top:10px;text-align:center;display:none}.impact-side-search-no-results{display:none}.impact-checkbox-label{margin-left:8px}.impact-side-settings h4{white-space:nowrap;margin-top:25px}.impact-side-settings-item{margin-bottom:10px;white-space:nowrap}.impact-res-hidden{float:right}.impact-res-disabled{opacity:.5;cursor:not-allowed !important}.impact-res-disabled i{cursor:not-allowed !important}#save_impact,#add_node,#add_edge,#add_compound,#delete_element,#impact_settings{display:none}#page .kanban{position:relative;height:100%}#page .kanban .kanban-toolbar{display:flex;align-items:center;margin-bottom:5px;font-size:14px;background-color:#fbfbfb;border:1px solid #d6d6d6;padding:10px}#page .kanban .kanban-toolbar .select2-selection{height:30px}#page .kanban .kanban-toolbar .select2-selection .select2-selection__rendered{font-size:13px;line-height:29px}#page .kanban .kanban-toolbar .select2-selection .select2-selection__arrow{height:25px}#page .kanban .kanban-toolbar input[type=text][name=filter]:not([type=submit]):not([type=button]){flex:1 0 auto;border-radius:unset;background-color:#fff !important;padding:5px 10px;font-size:13px}#page .kanban .kanban-toolbar input[type=button].kanban-add-column:not([type=submit]):not([type=text]){margin-left:5px;padding:7px 10px;font-size:13px}#page .kanban .kanban-toolbar .fas{margin:auto auto auto 10px;font-size:1.2em;cursor:pointer}#page .kanban .kanban-toolbar .select2{min-width:150px}#page .kanban .kanban-form{text-align:left;padding:10px 10px 10px 10px;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1);border:#d3d3d3 1px solid;z-index:10}#page .kanban .kanban-form input{border-radius:unset !important}#page .kanban .kanban-form input[type=checkbox]{margin-right:5px}#page .kanban .kanban-form input:not([type=checkbox]){display:block}#page .kanban .kanban-form input:not([type=submit]):not([type=checkbox]){width:90%;padding:5px 10px}#page .kanban .kanban-form input[type=submit]{margin:auto}#page .kanban .kanban-form input[type=button]{width:100%}#page .kanban .kanban-form .select2{width:90%}#page .kanban .kanban-form .select2 .selection .select2-selection{max-width:unset}#page .kanban .kanban-form .kanban-item-subtitle{font-style:italic;font-weight:normal}#page .kanban .kanban-form .kanban-item-content{margin-bottom:5px}#page .kanban .kanban-form .kanban-item-content .kanban-columns-list{max-height:50vh;overflow-y:auto;margin:10px 0}#page .kanban .kanban-form .kanban-item-content .kanban-columns-list li{padding:5px 0px 0px 0px}#page .kanban .kanban-container{overflow:auto}#page .kanban .kanban-container .kanban-dropdown{position:fixed;width:max-content;min-width:100px;background-color:#f1f1f1;border:1px solid #7f7979;text-align:left}#page .kanban .kanban-container .kanban-dropdown li{background-color:#fff;color:#333;padding:10px;margin-top:2px;cursor:pointer;position:relative}#page .kanban .kanban-container .kanban-dropdown li:hover{background-color:#3a5693;color:#fff}#page .kanban .kanban-container .kanban-dropdown li ul{position:absolute;left:100%;top:0;display:block;width:max-content;min-width:100px;background-color:#f1f1f1;outline:1px solid #7f7979;margin-left:1px}#page .kanban .kanban-container .kanban-dropdown li i{margin-right:1em}#page .kanban .kanban-container .kanban-dropdown li:first-of-type{margin-top:0}#page .kanban .kanban-container .kanban-dropdown li.dropdown-trigger:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900;float:right}#page .kanban .kanban-container .kanban-dropdown li.dropdown-trigger.active{background-color:#3a5693;color:#fff}#page .kanban .kanban-container .kanban-dropdown li.dropdown-trigger a{color:inherit}#page .kanban .kanban-container .kanban-columns{width:max-content;display:flex}#page .kanban .kanban-container .kanban-columns .kanban-column{margin-right:8px;background-color:#f1f1f1;border:#d3d3d3 1px solid;min-width:200px;height:600px;border-radius:5px;flex-direction:column;flex:1 0 auto;text-align:center}#page .kanban .kanban-container .kanban-columns .kanban-column.ui-sortable-helper{cursor:grab}#page .kanban .kanban-container .kanban-columns .kanban-column.collapsed{min-width:unset;width:calc(1.2em + 20px)}#page .kanban .kanban-container .kanban-columns .kanban-column.collapsed .kanban-column-header{box-shadow:unset}#page .kanban .kanban-container .kanban-columns .kanban-column.collapsed .kanban-column-header .kanban-column-header-content{flex-direction:column}#page .kanban .kanban-container .kanban-columns .kanban-column.collapsed .kanban-column-header .kanban-column-header-content .kanban-collapse-column,#page .kanban .kanban-container .kanban-columns .kanban-column.collapsed .kanban-column-header .kanban-column-header-content .kanban-column-title,#page .kanban .kanban-container .kanban-columns .kanban-column.collapsed .kanban-column-header .kanban-column-header-content .kanban_nb{transform:rotate(90deg);transform-origin:center;display:inline-block;margin:calc(50% - 8px) 0;white-space:nowrap}#page .kanban .kanban-container .kanban-columns .kanban-column.collapsed .kanban-column-header .kanban-column-header-content .kanban-collapse-column{margin:0 0 8px 0}#page .kanban .kanban-container .kanban-columns .kanban-column.collapsed .kanban-column-header .kanban-column-header-content .kanban-column-toolbar{display:none}#page .kanban .kanban-container .kanban-columns .kanban-column.collapsed .kanban-body{display:none}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header{background-color:#f1f1f1;border-top:3px solid #f1f1f1;box-shadow:0 1px 1px #dbdbdb;font-size:1.2em;padding:10px;margin-bottom:5px}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header .kanban-column-header-content{display:flex;justify-content:space-between;align-items:center}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header .pointer{opacity:.3}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header .pointer:hover{opacity:1}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header i.fas{cursor:pointer;flex:0 1 auto;position:relative}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header i.fas:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header .kanban-column-title{margin-left:15px;padding:3px 12px;border-radius:50px}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header .kanban-column-title.kanban-text-light{color:#fff}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header .kanban-column-title.kanban-text-dark{color:#000}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header .kanban_nb{padding:2px 5px 2px 5px;background-color:#fff;border-radius:20px;margin-left:10px}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header .kanban-column-toolbar{margin-left:auto;flex-direction:column;flex:0 1 auto}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-column-header .kanban-column-toolbar i{margin-left:12px}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body{min-height:150px;padding:0 5px 0 5px;height:calc(100% - (1.2em + 35px));overflow-y:auto;overflow-x:hidden}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form input{border-radius:unset !important;display:block;margin:8px 0 0;padding:5px 10px}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form input:not([type=submit]){width:90%}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form input[type=submit]{margin:auto}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form textarea{border-radius:unset !important;width:90%;resize:vertical;margin:8px 0;padding:5px 10px}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form{padding-top:10px !important;padding-bottom:10px !important}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form{text-align:left;padding-left:0;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1);min-height:50px;margin-top:5px;border-radius:5px;border:#d3d3d3 1px solid;min-width:250px}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item.filtered-out,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form.filtered-out{display:none}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item.ui-sortable-helper,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form.ui-sortable-helper{cursor:grab}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-header,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-header a,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-header,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-header a{padding:5px 10px 0;color:#000;font-size:1.1em;font-weight:bold}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-header .fas,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-header a .fas,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-header .fas,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-header a .fas{float:right;cursor:pointer}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-header .fas:hover,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-header a .fas:hover,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-header .fas:hover,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-header a .fas:hover{text-decoration:none}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-header a:hover,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-header a a:hover,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-header a:hover,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-header a a:hover{text-decoration:underline}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-header a,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-header a a,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-header a,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-header a a{padding:unset}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-content,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-content{padding:0 10px 0 10px}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-content .kanban-core-content,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-content .kanban-core-content{display:flex;flex-wrap:wrap;margin:10px 0 10px 0}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-team,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-team{display:flex;padding-right:10px;padding-bottom:10px}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-team span:first-of-type,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-team span:first-of-type{margin-left:auto}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-team span,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-team span{margin-right:2px}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-team span img,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-team span img{border-radius:50%}#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-item .kanban-item-team span.fa-stack,#page .kanban .kanban-container .kanban-columns .kanban-column .kanban-body .kanban-add-form .kanban-item-team span.fa-stack{width:2em}#page .kanban .kanban-container .kanban-columns>.sortable-placeholder{min-width:200px;height:600px;margin:0 8px 0 0;border-radius:5px}#page .kanban .kanban-color-preview{width:1em;height:1em;display:inline-block;margin-right:5px;vertical-align:middle}#page .kanban .sortable-placeholder{border:2px dashed #dad55e;background:#fffa90;color:#777620;height:40px;margin-top:5px}#page .kanban .sortable-placeholder.invalid-position{border:2px dashed #d3413c;background:#ff7370;color:#792220}.flex-break{width:100%}div.progress{background-color:#d3d3d3;width:100%;height:1em;border-radius:5px}div.progress .progress-fg{background-color:#8cabdb;height:1em;float:left;border-radius:5px}.tab_check td i.fas{font-size:12px;margin-right:3px}.tab_check td i.fa-check{color:#008e2c}.tab_check td i.fa-exclamation-triangle{color:orange}/*# sourceMappingURL=css_styles.min.css.map */ 2 | -------------------------------------------------------------------------------- /src/index.php: -------------------------------------------------------------------------------- 1 | . 30 | * --------------------------------------------------------------------- 31 | */ 32 | 33 | 34 | /** @file 35 | * @brief 36 | */ 37 | 38 | // Modified by Helton Mulinaria 39 | // heltonmulinaria@gmail.com 40 | // 41 | // Check PHP version not to have trouble 42 | // Need to be the very fist step before any include 43 | if (version_compare(PHP_VERSION, '7.2.0') < 0) { 44 | die('PHP >= 7.2.0 required'); 45 | } 46 | 47 | 48 | use Glpi\Event; 49 | 50 | //Load GLPI constants 51 | define('GLPI_ROOT', __DIR__); 52 | include (GLPI_ROOT . "/inc/based_config.php"); 53 | 54 | define('DO_NOT_CHECK_HTTP_REFERER', 1); 55 | 56 | // If config_db doesn't exist -> start installation 57 | if (!file_exists(GLPI_CONFIG_DIR . "/config_db.php")) { 58 | Html::redirect("install/install.php"); 59 | die(); 60 | 61 | } else { 62 | $TRY_OLD_CONFIG_FIRST = true; 63 | include (GLPI_ROOT . "/inc/includes.php"); 64 | $_SESSION["glpicookietest"] = 'testcookie'; 65 | 66 | // For compatibility reason 67 | if (isset($_GET["noCAS"])) { 68 | $_GET["noAUTO"] = $_GET["noCAS"]; 69 | } 70 | 71 | if (!isset($_GET["noAUTO"])) { 72 | Auth::redirectIfAuthenticated(); 73 | } 74 | Auth::checkAlternateAuthSystems(true, isset($_GET["redirect"])?$_GET["redirect"]:""); 75 | 76 | // Send UTF8 Headers 77 | header("Content-Type: text/html; charset=UTF-8"); 78 | 79 | // Start the page 80 | echo "\n"; 81 | echo ""; 82 | echo ''.__('GLPI - Authentication').''."\n"; 83 | echo ''."\n"; 84 | echo "\n"; 85 | echo ''; 87 | 88 | // auto desktop / mobile viewport 89 | echo ""; 90 | 91 | // Appel CSS 92 | echo Html::scss('css/styles'); 93 | 94 | if (isset($_SESSION['glpihighcontrast_css']) && $_SESSION['glpihighcontrast_css']) { 95 | echo Html::scss('css/highcontrast'); 96 | } 97 | $theme = isset($_SESSION['glpipalette']) ? $_SESSION['glpipalette'] : 'auror'; 98 | echo Html::scss('css/palettes/' . $theme); 99 | 100 | // external libs CSS 101 | echo Html::css('public/lib/base.css'); 102 | 103 | 104 | // Custom CSS for root entity 105 | $entity = new Entity(); 106 | $entity->getFromDB('0'); 107 | echo $entity->getCustomCssTag(); 108 | 109 | // CFG 110 | echo Html::getCoreVariablesForJavascript(); 111 | 112 | echo Html::script("public/lib/base.js"); 113 | echo Html::script("public/lib/fuzzy.js"); 114 | echo Html::script('js/common.js'); 115 | 116 | echo ""; 117 | 118 | echo ""; 119 | echo "
"; 120 | echo "
"; 121 | echo "

GLPI

"; 122 | echo "
"; 123 | echo nl2br(Toolbox::unclean_html_cross_side_scripting_deep($CFG_GLPI['text_login'])); 124 | echo "
"; 125 | 126 | echo "
"; 127 | echo ""; 128 | 129 | $_SESSION['namfield'] = $namfield = uniqid('fielda'); 130 | $_SESSION['pwdfield'] = $pwdfield = uniqid('fieldb'); 131 | $_SESSION['rmbfield'] = $rmbfield = uniqid('fieldc'); 132 | 133 | // Other CAS 134 | if (isset($_GET["noAUTO"])) { 135 | echo ""; 136 | } 137 | // redirect to ticket 138 | if (isset($_GET["redirect"])) { 139 | Toolbox::manageRedirect($_GET["redirect"]); 140 | echo ''; 141 | } 142 | echo ''; 147 | echo ''; 152 | 153 | if (GLPI_DEMO_MODE) { 154 | //lang selector 155 | echo ''; 164 | } 165 | 166 | // Add dropdown for auth (local, LDAPxxx, LDAPyyy, imap...) 167 | if ($CFG_GLPI['display_login_source']) { 168 | Auth::dropdownLogin(); 169 | } 170 | 171 | if ($CFG_GLPI["login_remember_time"]) { 172 | echo ''; 178 | } 179 | echo ''; 182 | 183 | if ($CFG_GLPI["notifications_mailing"] 184 | && countElementsInTable( 185 | 'glpi_notifications', [ 186 | 'itemtype' => 'User', 187 | 'event' => 'passwordforget', 188 | 'is_active' => 1 189 | ]) 190 | ) { 191 | echo ''. 192 | __('Forgotten password?').''; 193 | } 194 | Html::closeForm(); 195 | 196 | $js = "$(function() { 197 | $('#login_name').focus(); 198 | });"; 199 | echo Html::scriptBlock($js); 200 | 201 | echo "
"; // end login box 202 | 203 | 204 | echo "
"; 205 | echo ""; 208 | 209 | if (isset($_GET['error']) && isset($_GET['redirect'])) { 210 | switch ($_GET['error']) { 211 | case 1 : // cookie error 212 | echo __('You must accept cookies to reach this application'); 213 | break; 214 | 215 | case 2 : // GLPI_SESSION_DIR not writable 216 | echo __('Checking write permissions for session files'); 217 | break; 218 | 219 | case 3 : 220 | echo __('Invalid use of session ID'); 221 | break; 222 | } 223 | } 224 | echo "
"; 225 | 226 | // Display FAQ is enable 227 | if ($CFG_GLPI["use_public_faq"]) { 228 | echo ''; 231 | } 232 | 233 | echo "
"; 234 | Plugin::doHook('display_login'); 235 | echo "
"; 236 | 237 | 238 | echo "
"; // end contenu login 239 | 240 | echo ""; 241 | 242 | } 243 | // call cron 244 | if (!GLPI_DEMO_MODE) { 245 | CronTask::callCronForce(); 246 | } 247 | echo "
"; 248 | echo ""; 249 | -------------------------------------------------------------------------------- /src/indicators.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stdonato/glpi-modifications/e5cd01d90a7d8d296f22cca2710c0aa8f22258f6/src/indicators.png -------------------------------------------------------------------------------- /src/pics/bg/back-def.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stdonato/glpi-modifications/e5cd01d90a7d8d296f22cca2710c0aa8f22258f6/src/pics/bg/back-def.jpg -------------------------------------------------------------------------------- /src/pics/bg/back.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stdonato/glpi-modifications/e5cd01d90a7d8d296f22cca2710c0aa8f22258f6/src/pics/bg/back.jpg -------------------------------------------------------------------------------- /src/pics/bg/fd_logo-def.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stdonato/glpi-modifications/e5cd01d90a7d8d296f22cca2710c0aa8f22258f6/src/pics/bg/fd_logo-def.png -------------------------------------------------------------------------------- /src/pics/login_logo_glpi-def.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stdonato/glpi-modifications/e5cd01d90a7d8d296f22cca2710c0aa8f22258f6/src/pics/login_logo_glpi-def.png -------------------------------------------------------------------------------- /src/pics/login_logo_glpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stdonato/glpi-modifications/e5cd01d90a7d8d296f22cca2710c0aa8f22258f6/src/pics/login_logo_glpi.png -------------------------------------------------------------------------------- /src/script.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This array is used to remember mark status of rows in browse mode 3 | */ 4 | var marked_row = new Array; 5 | 6 | var timeoutglobalvar; 7 | 8 | 9 | /** 10 | * modifier la propriete display d'un element 11 | * 12 | * @param objet 13 | * @param statut 14 | **/ 15 | function setdisplay(objet, statut) { 16 | 17 | var e = objet; 18 | if (e.style.display != statut) { 19 | e.style.display = statut; 20 | } 21 | return true; 22 | } 23 | 24 | 25 | /** 26 | * tester le type de navigateur 27 | **/ 28 | function isIe() { 29 | 30 | var ie = false; 31 | var appVer = navigator.appVersion.toLowerCase(); 32 | var iePos = appVer.indexOf('msie'); 33 | 34 | if (iePos != -1) { 35 | var is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos))); 36 | var is_major = parseInt(is_minor); 37 | } 38 | if (navigator.appName.substring(0,9) == "Microsoft") { 39 | // Check if IE version is 6 or older 40 | if (is_major <= 6) { 41 | ie = true; 42 | } 43 | } 44 | return ie; 45 | } 46 | 47 | 48 | /** 49 | * @param id 50 | **/ 51 | function cleandisplay(id) { 52 | 53 | var e = document.getElementById(id); 54 | if (e) { 55 | setdisplay(e,'block'); 56 | if (isIe()) { 57 | doHideSelect(e); 58 | } 59 | } 60 | } 61 | 62 | 63 | /** 64 | * @param id 65 | **/ 66 | function cleanhide(id) { 67 | 68 | var e = document.getElementById(id); 69 | if (e) { 70 | if (isIe()) { 71 | doShowSelect(e); 72 | } 73 | setdisplay(e,'none'); 74 | } 75 | } 76 | 77 | 78 | /** 79 | * @param id 80 | **/ 81 | function completecleandisplay(id) { 82 | 83 | var e = document.getElementById(id); 84 | if (e) { 85 | setdisplay(e,'block'); 86 | 87 | 88 | if (isIe()) { 89 | e.onmouseleave = function(){ completecleanhide(id) }; 90 | hideSelect(0,0,document.documentElement.clientWidth,document.documentElement.clientHeight); 91 | } else { 92 | e.onmouseout = function(){ completecleanhide(id) }; 93 | } 94 | } 95 | } 96 | 97 | 98 | /** 99 | * @param id 100 | **/ 101 | function completecleanhide(id) { 102 | 103 | var e = document.getElementById(id); 104 | if (e) { 105 | setdisplay(e,'none'); 106 | if (isIe()) { 107 | showSelect(0,0,document.documentElement.clientWidth,document.documentElement.clientHeight); 108 | } 109 | } 110 | } 111 | 112 | 113 | /** 114 | * effacer tous les menus du menu principal 115 | * afficher les select du document 116 | * 117 | * @param idMenu 118 | **/ 119 | function hidemenu(idMenu) { 120 | 121 | var e = document.getElementById(idMenu); 122 | var e = e.getElementsByTagName('ul'); 123 | 124 | for (var i=0 ; i x) 200 | && (selx < (x + w)) 201 | && ((sely + selh) > y) 202 | && (sely < (y + h))) 203 | || (selx < 0) 204 | || (sely < 0)) { 205 | sel[i].style.visibility="visible"; 206 | } 207 | } 208 | return true; 209 | } 210 | 211 | 212 | /** 213 | * execute la fonction hideMenu 214 | * 215 | * @param objet 216 | **/ 217 | function doHideSelect(object) { 218 | 219 | var e = object; 220 | if (isIe()) { 221 | var selx = 0; 222 | var sely = 0; 223 | var selp; 224 | 225 | selx = getLeft(e); 226 | sely = getTop(e); 227 | selw = e.offsetWidth; 228 | selh = e.offsetHeight; 229 | hideSelect(selx,sely,selw,selh); 230 | } 231 | return true; 232 | } 233 | 234 | 235 | /** 236 | * masque les select du document 237 | * 238 | * @param x 239 | * @param y 240 | * @param w 241 | * @param h 242 | **/ 243 | function hideSelect(x,y,w,h) { 244 | 245 | var selx,sely,selw,selh,i; 246 | var sel = document.getElementsByTagName("SELECT"); 247 | for (i=0 ; i x) 257 | && (selx < (x + w)) 258 | && ((sely + selh) > y) 259 | && (sely < (y + h))) 260 | || (selx < 0) 261 | || (sely < 0 )) { 262 | sel[i].style.visibility="hidden"; 263 | } 264 | } 265 | return true; 266 | } 267 | 268 | 269 | /** 270 | * @param id 271 | * @param idMenu 272 | **/ 273 | function menuAff(id,idMenu){ 274 | 275 | var m = document.getElementById(idMenu); 276 | var item = m.getElementsByTagName('li'); 277 | for (var i=0 ; i= 3)) 329 | || ((browserName == "Microsoft Internet Explorer") && (browserVer >= 4))){ 330 | version = "n3"; 331 | } else { 332 | version = "n2"; 333 | } 334 | 335 | 336 | function historyback() { 337 | history.back(); 338 | } 339 | 340 | 341 | function historyforward() { 342 | history.forward(); 343 | } 344 | 345 | 346 | /** 347 | * @param Type 348 | * @param Id 349 | **/ 350 | function fillidfield(Type,Id) { 351 | 352 | window.opener.document.forms["helpdeskform"].elements["items_id"].value = Id; 353 | window.opener.document.forms["helpdeskform"].elements["itemtype"].value = Type; 354 | window.close(); 355 | } 356 | 357 | /** 358 | * marks all checkboxes inside the given element 359 | * the given element is usaly a table or a div containing the table or tables 360 | * 361 | * @param container_id DOM element 362 | **/ 363 | function markCheckboxes(container_id) { 364 | 365 | var checkboxes = document.getElementById(container_id).getElementsByTagName('input'); 366 | for (var j=0 ; j 0) { 803 | current_el.attr('src', current_el.attr('src').replace('_active', '')); 804 | } else { 805 | current_el.attr('src', current_el.attr('src').replace(/\.(png)$/, '_active.$1')); 806 | } 807 | 808 | //find active classname 809 | active_classnames = []; 810 | $('.filter_timeline .h_active').each(function(index) { 811 | active_classnames.push(".h_content."+$(this).attr('class').replace(' h_active', '')); 812 | }) 813 | 814 | $(active_classnames.join(', ')).each(function(index){ 815 | $(this).parent().removeClass('h_hidden'); 816 | }) 817 | 818 | //show all items when no active filter 819 | if (active_classnames.length == 0) { 820 | $('.h_item').removeClass('h_hidden'); 821 | } 822 | }); 823 | } 824 | 825 | 826 | read_more = function() { 827 | $(document).on("click", ".long_text .read_more a", function(event) { 828 | $(this).parents('.long_text').removeClass('long_text'); 829 | $(this).parent('.read_more').remove(); 830 | return false; 831 | }); 832 | } 833 | 834 | 835 | var split_button_fct_called = false; 836 | split_button = function() { 837 | if (split_button_fct_called) { 838 | return true; 839 | } 840 | split_button_fct_called = true 841 | 842 | // unfold status list 843 | $(document).on("click", '.x-button-drop', function(event) { 844 | $(this).parents(".x-split-button").toggleClass('open'); 845 | }); 846 | 847 | $(document).on("click", '.x-split-button', function(event) { 848 | event.stopPropagation(); 849 | }); 850 | 851 | //click on an element of status list 852 | $(document).on("click", '.x-button-drop-menu li', function(event) { 853 | if (event.target.children.length) { 854 | var xBtnDrop = $(this).parent().siblings(".x-button-drop"); 855 | //clean old status class 856 | xBtnDrop.attr('class','x-button x-button-drop'); 857 | 858 | //find status 859 | match = event.target.children[0].src.match(/.*\/(.*)\.png/); 860 | cstatus = match[1]; 861 | 862 | //add status to dropdown button 863 | xBtnDrop.addClass(cstatus); 864 | 865 | //fold status list 866 | $(this).parents(".x-split-button").removeClass('open'); 867 | } 868 | }); 869 | 870 | //fold status list on click on document 871 | $(document).on("click", function(event) { 872 | if ($('.x-split-button').hasClass('open')) { 873 | $('.x-split-button').removeClass('open'); 874 | } 875 | }); 876 | } 877 | 878 | // Responsive header 879 | if ($(window).width() <= 700) { 880 | var didScroll; 881 | var lastScrollTop = 0; 882 | var delta = 5; 883 | var navbarHeight = $('header').outerHeight(); 884 | 885 | $(window).scroll(function(event){ 886 | didScroll = true; 887 | }); 888 | 889 | setInterval(function() { 890 | if (didScroll) { 891 | scollHeaderResponsive(); 892 | didScroll = false; 893 | } 894 | }, 250); 895 | 896 | var scollHeaderResponsive = function() { 897 | var st = $(this).scrollTop(); 898 | 899 | // Make sure they scroll more than delta 900 | if(Math.abs(lastScrollTop - st) <= delta) 901 | return; 902 | 903 | 904 | if (st > lastScrollTop && st > navbarHeight){ 905 | // Scroll Down 906 | $('#header').removeClass('nav-down').addClass('nav-up'); 907 | } else { 908 | // Scroll Up 909 | if(st + $(window).height() < $(document).height()) { 910 | $('#header').removeClass('nav-up').addClass('nav-down'); 911 | } 912 | } 913 | lastScrollTop = st; 914 | } 915 | } 916 | 917 | 918 | // prevent jquery ui dialog to keep focus 919 | $(function(){ 920 | $.ui.dialog.prototype._focusTabbable = function(){}; 921 | }); 922 | 923 | /* Fixed footer */ 924 | $(document).ready(function() { 925 | 926 | var docHeight = $(window).height(); 927 | var footerHeight = $('#footer').height(); 928 | var footerTop = $('#footer').position().top + footerHeight; 929 | 930 | if (footerTop < docHeight) { 931 | $('#footer').css('margin-top', 4+ (docHeight - footerTop) + 'px'); 932 | } 933 | }); 934 | 935 | 936 | $(function(){ 937 | var nav = $('#c_menu'); 938 | var nav2 = $('menu_all_button'); 939 | var nav3 = $('#c_ssmenu2'); 940 | 941 | $(window).scroll(function () { 942 | if ($(this).scrollTop() > 50) { 943 | nav.addClass('menu-fixo'); 944 | nav2.addClass('menu-fixo'); 945 | nav3.addClass('menu-fixo2'); 946 | } else { 947 | nav.removeClass('menu-fixo'); 948 | nav2.removeClass('menu-fixo'); 949 | nav3.removeClass('menu-fixo2'); 950 | } 951 | }); 952 | }); 953 | 954 | -------------------------------------------------------------------------------- /uninstall.php: -------------------------------------------------------------------------------- 1 | $path) { 21 | //Call our recursive function. 22 | deleteAll($path); 23 | } 24 | //Remove the directory itself. 25 | return @rmdir($str); 26 | } 27 | } 28 | 29 | 30 | if(is_file(GLPI_ROOT.'/index.php.bak')) { 31 | 32 | //exec('rm '.GLPI_ROOT.'/index.php'); 33 | array_map('unlink', array_filter((array) glob("/index.php"))); 34 | rename(GLPI_ROOT.'/index.php.bak', GLPI_ROOT.'/index.php'); 35 | 36 | rename(GLPI_ROOT.'/css_compiled/css_styles.min.css.bak', GLPI_ROOT.'/css_compiled/css_styles.min.css'); 37 | deleteAll(GLPI_ROOT.'/css_compiled/css_ind.css'); 38 | 39 | //exec('rm '.GLPI_ROOT.'/pics/favicon.ico'); 40 | deleteAll(GLPI_ROOT.'/pics/bg'); 41 | 42 | 43 | } 44 | 45 | 46 | ?> 47 | -------------------------------------------------------------------------------- /upfile.php: -------------------------------------------------------------------------------- 1 | isActivated("mod")) { 10 | 11 | //if they DID upload a file... 12 | if($_FILES['photo']['name']) 13 | { 14 | //if no errors... 15 | if(!$_FILES['photo']['error']) 16 | { 17 | //now is the time to modify the future file name and validate the file 18 | $new_file_name = strtolower($_FILES['photo']['name']); //rename file 19 | 20 | $info = getimagesize($_FILES['photo']['tmp_name']); 21 | 22 | if($_FILES['photo']['size'] > (10240000)) //can't be larger than 10 MB 23 | { 24 | $valid_file = false; 25 | $message = 'Oops! Your file\'s size is to large.'; 26 | } 27 | elseif($info === false) { 28 | $valid_file = false; 29 | die("Unable to determine image type of uploaded file"); 30 | } 31 | else { $valid_file = true; } 32 | 33 | //if the file has passed the test 34 | if($valid_file) 35 | { 36 | //move it to where we want it to be 37 | $currentdir = getcwd(); 38 | $target = '../../pics/bg/' . basename($_FILES['photo']['name']); 39 | //$target = $currentdir .'/uploads/' . basename($_FILES['photo']['name']); 40 | move_uploaded_file($_FILES['photo']['tmp_name'], $target); 41 | //move_uploaded_file($_FILES['photo']['tmp_name'], 'uploads'.$new_file_name); 42 | rename('../../pics/bg/'.basename($_FILES['photo']['name']), '../../pics/bg/back.jpg'); 43 | $message = 'Congratulations! Your file was accepted.'; 44 | header('Location: ../../plugins/mod/config.php '); 45 | //echo $message; 46 | } 47 | } 48 | //if there is an error... 49 | else 50 | { 51 | //set that to be the returned message 52 | header('Location: ../../plugins/mod/config.php '); 53 | $message = 'Ooops! Your upload triggered the following error: '.$_FILES['photo']['error']; 54 | echo $message; 55 | } 56 | } 57 | else 58 | { 59 | //set that to be the returned message 60 | header('Location: ../../plugins/mod/config.php '); 61 | } 62 | } 63 | 64 | ?> 65 | -------------------------------------------------------------------------------- /uplogo.php: -------------------------------------------------------------------------------- 1 | isActivated("mod")) { 10 | 11 | //if they DID upload a file... 12 | if($_FILES['photo']['name']) 13 | { 14 | //if no errors... 15 | if(!$_FILES['photo']['error']) 16 | { 17 | //now is the time to modify the future file name and validate the file 18 | $new_file_name = strtolower($_FILES['photo']['name']); //rename file 19 | 20 | $info = getimagesize($_FILES['photo']['tmp_name']); 21 | 22 | if($_FILES['photo']['size'] > (1024000)) //can't be larger than 1 MB 23 | { 24 | $valid_file = false; 25 | $message = 'Oops! Your file\'s size is to large.'; 26 | } 27 | elseif($info === false) { 28 | $valid_file = false; 29 | die("Unable to determine image type of uploaded file"); 30 | } 31 | else { $valid_file = true; } 32 | 33 | //if the file has passed the test 34 | if($valid_file) 35 | { 36 | //move it to where we want it to be 37 | $currentdir = getcwd(); 38 | $target = '../../pics/' . basename($_FILES['photo']['name']); 39 | 40 | move_uploaded_file($_FILES['photo']['tmp_name'], $target); 41 | 42 | rename('../../pics/'.basename($_FILES['photo']['name']), '../../pics/login_logo_glpi.png'); 43 | $message = 'Congratulations! Your file was accepted.'; 44 | header('Location: ../../plugins/mod/config.php '); 45 | //echo $message; 46 | } 47 | } 48 | //if there is an error... 49 | else 50 | { 51 | //set that to be the returned message 52 | header('Location: ../../plugins/mod/config.php '); 53 | $message = 'Ooops! Your upload triggered the following error: '.$_FILES['photo']['error']; 54 | echo $message; 55 | } 56 | } 57 | else 58 | { 59 | //set that to be the returned message 60 | header('Location: ../../plugins/mod/config.php '); 61 | } 62 | } 63 | 64 | ?> 65 | -------------------------------------------------------------------------------- /uplogo_int.php: -------------------------------------------------------------------------------- 1 | isActivated("mod")) { 10 | 11 | //if they DID upload a file... 12 | if($_FILES['photo2']['name']) 13 | { 14 | //if no errors... 15 | if(!$_FILES['photo2']['error']) 16 | { 17 | //now is the time to modify the future file name and validate the file 18 | $new_file_name = strtolower($_FILES['photo2']['name']); //rename file 19 | 20 | $info = getimagesize($_FILES['photo2']['tmp_name']); 21 | 22 | if($_FILES['photo2']['size'] > (1024000)) //can't be larger than 1 MB 23 | { 24 | $valid_file = false; 25 | $message = 'Oops! Your file\'s size is to large.'; 26 | } 27 | elseif($info === false) { 28 | $valid_file = false; 29 | die("Unable to determine image type of uploaded file"); 30 | } 31 | else { $valid_file = true; } 32 | 33 | //if the file has passed the test 34 | if($valid_file) 35 | { 36 | //move it to where we want it to be 37 | $currentdir = getcwd(); 38 | $target = '../../pics/' . basename($_FILES['photo2']['name']); 39 | 40 | move_uploaded_file($_FILES['photo2']['tmp_name'], $target); 41 | 42 | rename('../../pics/'.basename($_FILES['photo2']['name']), '../../pics/fd_logo.png'); 43 | $message = 'Congratulations! Your file was accepted.'; 44 | header('Location: ../../plugins/mod/config.php '); 45 | //echo $message; 46 | } 47 | } 48 | //if there is an error... 49 | else 50 | { 51 | //set that to be the returned message 52 | header('Location: ../../plugins/mod/config.php '); 53 | $message = 'Ooops! Your upload triggered the following error: '.$_FILES['photo2']['error']; 54 | echo $message; 55 | } 56 | } 57 | else 58 | { 59 | //set that to be the returned message 60 | header('Location: ../../plugins/mod/config.php '); 61 | } 62 | } 63 | 64 | ?> --------------------------------------------------------------------------------