PageRenderTime 45ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 1ms

/inc/setup.function.php

https://github.com/ardowz/Thesis-SideB
PHP | 290 lines | 255 code | 3 blank | 32 comment | 1 complexity | 3a0e89fc0e47f06a02866316c0276804 MD5 | raw file
  1. <?php
  2. /*
  3. * @version $Id: setup.function.php 14684 2011-06-11 06:32:40Z remi $
  4. -------------------------------------------------------------------------
  5. GLPI - Gestionnaire Libre de Parc Informatique
  6. Copyright (C) 2003-2011 by the INDEPNET Development Team.
  7. http://indepnet.net/ http://glpi-project.org
  8. -------------------------------------------------------------------------
  9. LICENSE
  10. This file is part of GLPI.
  11. GLPI is free software; you can redistribute it and/or modify
  12. it under the terms of the GNU General Public License as published by
  13. the Free Software Foundation; either version 2 of the License, or
  14. (at your option) any later version.
  15. GLPI is distributed in the hope that it will be useful,
  16. but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. GNU General Public License for more details.
  19. You should have received a copy of the GNU General Public License
  20. along with GLPI; if not, write to the Free Software Foundation, Inc.,
  21. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  22. --------------------------------------------------------------------------
  23. */
  24. // ----------------------------------------------------------------------
  25. // Original Author of file:
  26. // Purpose of file:
  27. // ----------------------------------------------------------------------
  28. if (!defined('GLPI_ROOT')) {
  29. die("Sorry. You can't access directly to this file");
  30. }
  31. // FUNCTIONS Setup
  32. function listTemplates($itemtype, $target, $add = 0) {
  33. global $DB, $CFG_GLPI, $LANG;
  34. if (!class_exists($itemtype)) {
  35. return false;
  36. }
  37. $item = new $itemtype();
  38. //Check is user have minimum right r
  39. if (!$item->canView() && !$item->canCreate()) {
  40. return false;
  41. }
  42. $query = "SELECT * FROM `".$item->getTable()."`
  43. WHERE `is_template` = '1' ";
  44. if ($item->isEntityAssign()) {
  45. $query .= getEntitiesRestrictRequest('AND', $item->getTable(), 'entities_id',
  46. $_SESSION['glpiactive_entity'], $item->maybeRecursive());
  47. }
  48. $query .= " ORDER by `template_name`";
  49. if ($result = $DB->query($query)) {
  50. echo "<div class='center'><table class='tab_cadre' width='50%'>";
  51. if ($add) {
  52. echo "<tr><th>" . $LANG['common'][7] . " - ".$item->getTypeName()." :</th></tr>";
  53. echo "<tr><td class='tab_bg_1 center'>";
  54. echo "<a href=\"$target?id=-1&amp;withtemplate=2\">&nbsp;&nbsp;&nbsp;" .
  55. $LANG['common'][31] . "&nbsp;&nbsp;&nbsp;</a></td>";
  56. echo "</tr>";
  57. } else {
  58. echo "<tr><th colspan='2'>" . $LANG['common'][14] . " - ".$item->getTypeName()." :</th></tr>";
  59. }
  60. while ($data = $DB->fetch_array($result)) {
  61. $templname = $data["template_name"];
  62. if ($_SESSION["glpiis_ids_visible"] || empty($data["template_name"])) {
  63. $templname.= "(".$data["id"].")";
  64. }
  65. echo "<tr><td class='tab_bg_1 center'>";
  66. if ($item->canCreate() && !$add) {
  67. echo "<a href=\"$target?id=" . $data["id"] . "&amp;withtemplate=1\">";
  68. echo "&nbsp;&nbsp;&nbsp;$templname&nbsp;&nbsp;&nbsp;</a></td>";
  69. echo "<td class='tab_bg_2 center b'>";
  70. echo "<a href=\"$target?id=" . $data["id"] . "&amp;purge=purge&amp;withtemplate=1\">" .
  71. $LANG['buttons'][6] . "</a></td>";
  72. } else {
  73. echo "<a href=\"$target?id=" . $data["id"] . "&amp;withtemplate=2\">";
  74. echo "&nbsp;&nbsp;&nbsp;$templname&nbsp;&nbsp;&nbsp;</a></td>";
  75. }
  76. echo "</tr>";
  77. }
  78. if ($item->canCreate() && !$add) {
  79. echo "<tr><td colspan='2' class='tab_bg_2 center b'>";
  80. echo "<a href=\"$target?withtemplate=1\">" . $LANG['common'][9] . "</a>";
  81. echo "</td></tr>";
  82. }
  83. echo "</table></div>\n";
  84. }
  85. }
  86. function showOtherAuthList($target) {
  87. global $DB, $LANG, $CFG_GLPI;
  88. if (!haveRight("config", "w")) {
  89. return false;
  90. }
  91. echo "<form name=cas action=\"$target\" method='post'>";
  92. echo "<input type='hidden' name='id' value='" . $CFG_GLPI["id"] . "'>";
  93. echo "<div class='center'>";
  94. echo "<table class='tab_cadre_fixe'>";
  95. // CAS config
  96. echo "<tr><th colspan='2'>" . $LANG['setup'][177];
  97. if (!empty($CFG_GLPI["cas_host"])) {
  98. echo " - ".$LANG['setup'][192];
  99. }
  100. echo "</th></tr>\n";
  101. if (function_exists('curl_init')
  102. && (version_compare(PHP_VERSION, '5', '>=') || (function_exists("domxml_open_mem")))) {
  103. echo "<tr class='tab_bg_2'><td class='center'>" . $LANG['setup'][174] . "</td>";
  104. echo "<td><input type='text' name='cas_host' value=\"".$CFG_GLPI["cas_host"]."\"></td></tr>\n";
  105. echo "<tr class='tab_bg_2'><td class='center'>" . $LANG['setup'][175] . "</td>";
  106. echo "<td><input type='text' name='cas_port' value=\"".$CFG_GLPI["cas_port"]."\"></td></tr>\n";
  107. echo "<tr class='tab_bg_2'><td class='center'>" . $LANG['setup'][176] . "</td>";
  108. echo "<td><input type='text' name='cas_uri' value=\"".$CFG_GLPI["cas_uri"]."\"></td></tr>\n";
  109. echo "<tr class='tab_bg_2'><td class='center'>" . $LANG['setup'][182] . "</td>";
  110. echo "<td><input type='text' name='cas_logout' value=\"".$CFG_GLPI["cas_logout"]."\"></td></tr>\n";
  111. } else {
  112. echo "<tr class='tab_bg_2'><td class='center' colspan='2'>";
  113. echo "<p class='red'>" . $LANG['setup'][178] . "</p>";
  114. echo "<p>" . $LANG['setup'][179] . "</p></td></tr>\n";
  115. }
  116. // X509 config
  117. echo "<tr><th colspan='2'>" . $LANG['setup'][190];
  118. if (!empty($CFG_GLPI["x509_email_field"])) {
  119. echo " - ".$LANG['setup'][192];
  120. }
  121. echo "</th></tr>\n";
  122. echo "<tr class='tab_bg_2'><td class='center'>" . $LANG['setup'][191] . "</td>";
  123. echo "<td><input type='text' name='x509_email_field' value=\"".$CFG_GLPI["x509_email_field"]."\">";
  124. echo "</td></tr>\n";
  125. // Autres config
  126. echo "<tr><th colspan='2'>" . $LANG['login'][19];
  127. if (!empty($CFG_GLPI["existing_auth_server_field"])) {
  128. echo " - ".$LANG['setup'][192];
  129. }
  130. echo "</th></tr>\n";
  131. echo "<tr class='tab_bg_2'><td class='center'>" . $LANG['setup'][193] . "</td>";
  132. echo "<td><select name='existing_auth_server_field'>";
  133. echo "<option value=''>&nbsp;</option>\n";
  134. echo "<option value='HTTP_AUTH_USER' " .
  135. ($CFG_GLPI["existing_auth_server_field"]=="HTTP_AUTH_USER" ? " selected " : "") . ">".
  136. "HTTP_AUTH_USER</option>\n";
  137. echo "<option value='REMOTE_USER' " .
  138. ($CFG_GLPI["existing_auth_server_field"]=="REMOTE_USER" ? " selected " : "") . ">".
  139. "REMOTE_USER</option>\n";
  140. echo "<option value='PHP_AUTH_USER' " .
  141. ($CFG_GLPI["existing_auth_server_field"]=="PHP_AUTH_USER" ? " selected " : "") . ">".
  142. "PHP_AUTH_USER</option>\n";
  143. echo "<option value='USERNAME' " .
  144. ($CFG_GLPI["existing_auth_server_field"]=="USERNAME" ? " selected " : "") . ">".
  145. "USERNAME</option>\n";
  146. echo "<option value='REDIRECT_REMOTE_USER' " .
  147. ($CFG_GLPI["existing_auth_server_field"]=="REDIRECT_REMOTE_USER" ? " selected " : "") .">".
  148. "REDIRECT_REMOTE_USER</option>\n";
  149. echo "</select>";
  150. echo "</td></tr>\n";
  151. echo "<tr class='tab_bg_2'><td class='center'>" . $LANG['setup'][199] . "</td><td>";
  152. Dropdown::showYesNo('existing_auth_server_field_clean_domain',
  153. $CFG_GLPI['existing_auth_server_field_clean_domain']);
  154. echo "</td></tr>\n";
  155. echo "<tr><th colspan='2'>" . $LANG['setup'][194]."</th></tr>\n";
  156. echo "<tr class='tab_bg_2'><td class='center'>" . $LANG['ldap'][4] . "</td><td>";
  157. Dropdown::show('AuthLDAP',
  158. array('name' => 'authldaps_id_extra',
  159. 'value' => $CFG_GLPI["authldaps_id_extra"]));
  160. echo "</td></tr>\n";
  161. echo "<tr class='tab_bg_1'><td class='center' colspan='2'>";
  162. echo "<input type='submit' name='update' class='submit' value=\"".$LANG['buttons'][7]."\" >";
  163. echo "</td></tr>";
  164. echo "</table></div></form>\n";
  165. }
  166. function showMailServerConfig($value) {
  167. global $LANG;
  168. if (!haveRight("config", "w")) {
  169. return false;
  170. }
  171. if (strstr($value,":")) {
  172. $addr = str_replace("{", "", preg_replace("/:.*/", "", $value));
  173. $port = preg_replace("/.*:/", "", preg_replace("/\/.*/", "", $value));
  174. } else {
  175. if (strstr($value,"/")) {
  176. $addr = str_replace("{", "", preg_replace("/\/.*/", "", $value));
  177. } else {
  178. $addr = str_replace("{", "", preg_replace("/}.*/", "", $value));
  179. }
  180. $port = "";
  181. }
  182. $mailbox = preg_replace("/.*}/", "", $value);
  183. echo "<tr class='tab_bg_1'><td>" . $LANG['common'][52] . "&nbsp;:</td>";
  184. echo "<td><input size='30' type='text' name='mail_server' value=\"" . $addr . "\" ></td></tr>\n";
  185. echo "<tr class='tab_bg_1'><td>" . $LANG['setup'][168] . "&nbsp;:</td><td>";
  186. echo "<select name='server_type'>";
  187. echo "<option value=''>&nbsp;</option>\n";
  188. echo "<option value='/imap' " .(strstr($value,"/imap") ? " selected " : "") . ">IMAP</option>\n";
  189. echo "<option value='/pop' " .(strstr($value,"/pop") ? " selected " : "") . ">POP</option>\n";
  190. echo "</select>&nbsp;";
  191. echo "<select name='server_ssl'>";
  192. echo "<option value=''>&nbsp;</option>\n";
  193. echo "<option value='/ssl' " .(strstr($value,"/ssl") ? " selected " : "") . ">SSL</option>\n";
  194. echo "</select>&nbsp;";
  195. echo "<select name='server_tls'>";
  196. echo "<option value=''>&nbsp;</option>\n";
  197. echo "<option value='/tls' " .(strstr($value,"/tls") ? " selected " : "") . ">TLS</option>\n";
  198. echo "<option value='/notls' " .(strstr($value,"/notls") ? " selected " : "").">NO-TLS</option>\n";
  199. echo "</select>&nbsp;";
  200. echo "<select name='server_cert'>";
  201. echo "<option value=''>&nbsp;</option>\n";
  202. echo "<option value='/novalidate-cert' " .(strstr($value,"/novalidate-cert") ? " selected " : "") .
  203. ">NO-VALIDATE-CERT</option>\n";
  204. echo "<option value='/validate-cert' " .(strstr($value,"/validate-cert") ? " selected " : "") .
  205. ">VALIDATE-CERT</option>\n";
  206. echo "</select>\n";
  207. echo "<input type=hidden name=imap_string value='".$value."'>";
  208. echo "</td></tr>\n";
  209. echo "<tr class='tab_bg_1'><td>" . $LANG['setup'][169] . "&nbsp;:</td>";
  210. echo "<td><input size='30' type='text' name='server_mailbox' value=\"" . $mailbox . "\" >";
  211. echo "</td></tr>\n";
  212. echo "<tr class='tab_bg_1'><td>" . $LANG['setup'][171] . "&nbsp;:</td>";
  213. echo "<td><input size='10' type='text' name='server_port' value='$port'></td></tr>\n";
  214. if (empty ($value)) {
  215. $value = "&nbsp;";
  216. }
  217. echo "<tr class='tab_bg_1'><td>" . $LANG['setup'][170] . "&nbsp;:</td>";
  218. echo "<td><strong>$value</strong></td></tr>\n";
  219. }
  220. function constructMailServerConfig($input) {
  221. $out = "";
  222. if (isset ($input['mail_server']) && !empty ($input['mail_server'])) {
  223. $out .= "{" . $input['mail_server'];
  224. } else {
  225. return $out;
  226. }
  227. if (isset ($input['server_port']) && !empty ($input['server_port'])) {
  228. $out .= ":" . $input['server_port'];
  229. }
  230. if (isset ($input['server_type'])) {
  231. $out .= $input['server_type'];
  232. }
  233. if (isset ($input['server_ssl'])) {
  234. $out .= $input['server_ssl'];
  235. }
  236. if (isset ($input['server_cert'])
  237. && (!empty($input['server_ssl']) || !empty($input['server_tls']))) {
  238. $out .= $input['server_cert'];
  239. }
  240. if (isset ($input['server_tls'])) {
  241. $out .= $input['server_tls'];
  242. }
  243. $out .= "}";
  244. if (isset ($input['server_mailbox'])) {
  245. $out .= $input['server_mailbox'];
  246. }
  247. return $out;
  248. }
  249. ?>