/** * @covers Dropdown::import * @covers CommonDropdown::import * @dataProvider dataTestImport */ public function testImport($input, $result, $msg) { $id = Dropdown::import('UserTitle', $input); if ($result) { $this->assertGreaterThan(0, $id, $msg); $ut = new UserTitle(); $this->assertTrue($ut->getFromDB($id), $msg); $this->assertEquals($result, $ut->getField('name'), $msg); } else { $this->AssertLessThan(0, $id, $msg); } }
/** * Print the user form * * @param $ID integer : Id of the user * @param $options array * - target form target * - withtemplate boolean : template or basic item * * @return boolean : user found **/ function showForm($ID, $options = array()) { global $CFG_GLPI; // Affiche un formulaire User if ($ID != Session::getLoginUserID() && !Session::haveRight("user", "r")) { return false; } $this->initForm($ID, $options); if ($ID) { $caneditpassword = $this->currentUserHaveMoreRightThan($ID); } else { // can edit on creation form $caneditpassword = true; } $extauth = !($this->fields["authtype"] == Auth::DB_GLPI || $this->fields["authtype"] == Auth::NOT_YET_AUTHENTIFIED && !empty($this->fields["password"])); $this->showTabs($options); $this->showFormHeader($options); echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Login') . "</td>"; // si on est dans le cas d'un ajout , cet input ne doit plus etre hidden if ($this->fields["name"] == "") { echo "<td><input name='name' value=\"" . $this->fields["name"] . "\"></td>"; // si on est dans le cas d'un modif on affiche la modif du login si ce n'est pas une auth externe } else { if (!empty($this->fields["password"]) || $this->fields["authtype"] == Auth::DB_GLPI) { echo "<td>"; echo "<input name='name' value=\"" . $this->fields["name"] . "\">"; } else { echo "<td class='b'>" . $this->fields["name"]; echo "<input type='hidden' name='name' value=\"" . $this->fields["name"] . "\">"; } echo "</td>"; } //do some rights verification if (Session::haveRight("user", "w") && (!$extauth || empty($ID)) && $caneditpassword) { echo "<td>" . __('Password') . "</td>"; echo "<td><input id='password' type='password' name='password' value='' size='20'\n autocomplete='off' onkeyup=\"return passwordCheck();\">"; echo "</td>"; } else { echo "<td colspan='2'> </td>"; } echo "</tr>"; echo "<tr class='tab_bg_1'><td>" . __('Surname') . "</td><td>"; Html::autocompletionTextField($this, "realname"); echo "</td>"; //do some rights verification if (Session::haveRight("user", "w") && (!$extauth || empty($ID)) && $caneditpassword) { echo "<td>" . __('Password confirmation') . "</td>"; echo "<td><input type='password' name='password2' value='' size='20' autocomplete='off'>"; echo "</td>"; } else { echo "<td colspan='2'> </td>"; } echo "</tr>"; echo "<tr class='tab_bg_1'><td>" . __('First name') . "</td><td>"; Html::autocompletionTextField($this, "firstname"); echo "</td>"; if (Session::haveRight("user", "w") && (!$extauth || empty($ID)) && $caneditpassword) { echo "<td>" . __('Password security policy') . "</td>"; echo "<td>"; Config::displayPasswordSecurityChecks(); echo "</td>"; } else { echo "<td colspan='2'> </td>"; } echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . _n('Email', 'Emails', 2); UserEmail::showAddEmailButton($this); echo "</td><td>"; UserEmail::showForUser($this); echo "</td>"; //Authentications information : auth method used and server used //don't display is creation of a new user' if (!empty($ID)) { if (Session::haveRight("user_authtype", "r")) { echo "<td>" . __('Authentication') . "</td><td>"; echo Auth::getMethodName($this->fields["authtype"], $this->fields["auths_id"]); if (!empty($this->fields["date_sync"])) { //TRANS: %s is the date of last sync echo '<br>' . sprintf(__('Last synchronization on %s'), HTML::convDateTime($this->fields["date_sync"])); } if (!empty($this->fields["user_dn"])) { //TRANS: %s is the user dn echo '<br>' . sprintf(__('%1$s: %2$s'), __('User DN'), $this->fields["user_dn"]); } echo "</td>"; } else { echo "<td colspan='2'> </td>"; } } else { echo "<td colspan='2'><input type='hidden' name='authtype' value='1'></td>"; } echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Phone') . "</td><td>"; Html::autocompletionTextField($this, "phone"); echo "</td>"; echo "<td>" . __('Active') . "</td><td>"; Dropdown::showYesNo('is_active', $this->fields['is_active']); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Mobile phone') . "</td><td>"; Html::autocompletionTextField($this, "mobile"); echo "</td>"; echo "<td>" . __('Category') . "</td><td>"; UserCategory::dropdown(array('value' => $this->fields["usercategories_id"])); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Phone 2') . "</td><td>"; Html::autocompletionTextField($this, "phone2"); echo "</td>"; echo "<td rowspan='4' class='middle'>" . __('Comments') . "</td>"; echo "<td class='center middle' rowspan='4'>"; echo "<textarea cols='45' rows='6' name='comment' >" . $this->fields["comment"] . "</textarea>"; echo "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . __('Administrative number') . "</td><td>"; Html::autocompletionTextField($this, "registration_number"); echo "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . _x('person', 'Title') . " :</td><td>"; UserTitle::dropdown(array('value' => $this->fields["usertitles_id"])); echo "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . __('Location') . "</td><td>"; if (!empty($ID)) { $entities = Profile_User::getUserEntities($ID, true); if (count($entities) > 0) { Location::dropdown(array('value' => $this->fields["locations_id"], 'entity' => $entities)); } else { echo " "; } } else { if (!Session::isMultiEntitiesMode()) { // Display all locations : only one entity Location::dropdown(array('value' => $this->fields["locations_id"])); } else { echo " "; } } echo "</td></tr>"; if (empty($ID)) { echo "<tr class='tab_bg_1'>"; echo "<th colspan='2'>" . _n('Authorization', 'Authorizations', 1) . "</th>"; echo "<td>" . __('Recursive') . "</td><td>"; Dropdown::showYesNo("_is_recursive", 0); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Profile') . "</td><td>"; Profile::dropdownUnder(array('name' => '_profiles_id', 'value' => Profile::getDefault())); echo "</td><td>" . __('Entity') . "</td><td>"; Entity::dropdown(array('name' => '_entities_id', 'display_emptychoice' => false, 'entity' => $_SESSION['glpiactiveentities'])); echo "</td></tr>"; } else { if ($caneditpassword) { echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Default profile') . "</td><td>"; $options[0] = Dropdown::EMPTY_VALUE; $options += Dropdown::getDropdownArrayNames('glpi_profiles', Profile_User::getUserProfiles($this->fields['id'])); Dropdown::showFromArray("profiles_id", $options, array('value' => $this->fields["profiles_id"])); echo "</td><td>" . __('Default entity') . "</td><td>"; $entities = Profile_User::getUserEntities($this->fields['id'], 1); Entity::dropdown(array('value' => $this->fields["entities_id"], 'entity' => $entities)); echo "</td></tr>"; } echo "<tr class='tab_bg_1'>"; echo "<td colspan='2' class='center'>"; //TRANS: %s is the date printf(__('Last update on %s'), HTML::convDateTime($this->fields["date_mod"])); echo "<br>"; printf(__('Last login on %s'), HTML::convDateTime($this->fields["last_login"])); echo "</td><td colspan='2'class='center'>"; if ($ID > 0) { echo "<a target='_blank' href='" . $CFG_GLPI["root_doc"] . "/front/user.form.php?getvcard=1&id={$ID}'>" . __('Vcard') . "</a>"; } echo "</td></tr>"; } $this->showFormButtons($options); $this->addDivForTabs(); return true; }
/** * Print the user form * * @param $ID integer : Id of the user * @param $options array * - target form target * - withtemplate boolean : template or basic item * * @return boolean : user found **/ function showForm($ID, $options = array()) { global $CFG_GLPI; // Affiche un formulaire User if ($ID != Session::getLoginUserID() && !self::canView()) { return false; } $this->initForm($ID, $options); if ($ID) { $caneditpassword = $this->currentUserHaveMoreRightThan($ID); } else { // can edit on creation form $caneditpassword = true; } $extauth = !($this->fields["authtype"] == Auth::DB_GLPI || $this->fields["authtype"] == Auth::NOT_YET_AUTHENTIFIED && !empty($this->fields["password"])); $options['formoptions'] = " enctype='multipart/form-data'"; $this->showFormHeader($options); $rand = mt_rand(); echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Login') . "</td>"; // si on est dans le cas d'un ajout , cet input ne doit plus etre hidden if ($this->fields["name"] == "") { echo "<td><input name='name' value=\"" . $this->fields["name"] . "\"></td>"; // si on est dans le cas d'un modif on affiche la modif du login si ce n'est pas une auth externe } else { if (!empty($this->fields["password"]) || $this->fields["authtype"] == Auth::DB_GLPI) { echo "<td>"; echo "<input name='name' value=\"" . $this->fields["name"] . "\"></td>"; } else { echo "<td class='b'>" . $this->fields["name"]; echo "<input type='hidden' name='name' value=\"" . $this->fields["name"] . "\"></td>"; } } if (!empty($this->fields["name"])) { echo "<td rowspan='3'>" . __('Picture') . "</td>"; echo "<td rowspan='3'>"; echo "<div class='user_picture_border_small' id='picture{$rand}'>"; echo "<img class='user_picture_small' alt=\"" . __s('Picture') . "\" src='" . User::getThumbnailURLForPicture($this->fields['picture']) . "'>"; // echo "<img src='".self::getURLForPicture($this->fields["picture"])."' class='user_picture'/>"; echo "</div>"; $full_picture = "<div class='user_picture_border'>"; $full_picture .= "<img class='user_picture' alt=\"" . __s('Picture') . "\" src='" . User::getURLForPicture($this->fields['picture']) . "'>"; $full_picture .= "</div>"; Html::showTooltip($full_picture, array('applyto' => "picture{$rand}")); echo "<input type='file' name='picture' accept='image/*'>"; echo "<input type='checkbox' name='_blank_picture'> " . __('Clear'); echo "</td>"; } else { echo "<td rowspan='3'></td>"; echo "<td rowspan='3'></td>"; } echo "</tr>"; echo "<tr class='tab_bg_1'><td>" . __('Surname') . "</td><td>"; Html::autocompletionTextField($this, "realname"); echo "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . __('First name') . "</td><td>"; Html::autocompletionTextField($this, "firstname"); echo "</td></tr>"; //do some rights verification if (self::canUpdate() && (!$extauth || empty($ID)) && $caneditpassword) { echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Password') . "</td>"; echo "<td><input id='password' type='password' name='password' value='' size='20'\n autocomplete='off' onkeyup=\"return passwordCheck();\"></td>"; echo "<td rowspan='2'>" . __('Password security policy') . "</td>"; echo "<td rowspan='2'>"; Config::displayPasswordSecurityChecks(); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Password confirmation') . "</td>"; echo "<td><input type='password' name='password2' value='' size='20' autocomplete='off'>"; echo "</td></tr>"; } echo "<tr class='tab_bg_1'>"; if (!GLPI_DEMO_MODE) { echo "<td>" . __('Active') . "</td><td>"; Dropdown::showYesNo('is_active', $this->fields['is_active']); echo "</td>"; } else { echo "<td colspan='2'></td>"; } echo "<td>" . _n('Email', 'Emails', Session::getPluralNumber()); UserEmail::showAddEmailButton($this); echo "</td><td>"; UserEmail::showForUser($this); echo "</td>"; echo "</tr>"; if (!GLPI_DEMO_MODE) { echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Valid since') . "</td><td>"; Html::showDateTimeField("begin_date", array('value' => $this->fields["begin_date"], 'timestep' => 1, 'maybeempty' => true)); echo "</td>"; echo "<td>" . __('Valid until') . "</td><td>"; Html::showDateTimeField("end_date", array('value' => $this->fields["end_date"], 'timestep' => 1, 'maybeempty' => true)); echo "</td></tr>"; } echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Phone') . "</td><td>"; Html::autocompletionTextField($this, "phone"); echo "</td>"; //Authentications information : auth method used and server used //don't display is creation of a new user' if (!empty($ID)) { if (Session::haveRight(self::$rightname, self::READAUTHENT)) { echo "<td>" . __('Authentication') . "</td><td>"; echo Auth::getMethodName($this->fields["authtype"], $this->fields["auths_id"]); if (!empty($this->fields["date_sync"])) { //TRANS: %s is the date of last sync echo '<br>' . sprintf(__('Last synchronization on %s'), HTML::convDateTime($this->fields["date_sync"])); } if (!empty($this->fields["user_dn"])) { //TRANS: %s is the user dn echo '<br>' . sprintf(__('%1$s: %2$s'), __('User DN'), $this->fields["user_dn"]); } if ($this->fields['is_deleted_ldap']) { echo '<br>' . __('User missing in LDAP directory'); } echo "</td>"; } else { echo "<td colspan='2'> </td>"; } } else { echo "<td colspan='2'><input type='hidden' name='authtype' value='1'></td>"; } echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Mobile phone') . "</td><td>"; Html::autocompletionTextField($this, "mobile"); echo "</td>"; echo "<td>" . __('Category') . "</td><td>"; UserCategory::dropdown(array('value' => $this->fields["usercategories_id"])); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Phone 2') . "</td><td>"; Html::autocompletionTextField($this, "phone2"); echo "</td>"; echo "<td rowspan='4' class='middle'>" . __('Comments') . "</td>"; echo "<td class='center middle' rowspan='4'>"; echo "<textarea cols='45' rows='6' name='comment' >" . $this->fields["comment"] . "</textarea>"; echo "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . __('Administrative number') . "</td><td>"; Html::autocompletionTextField($this, "registration_number"); echo "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . _x('person', 'Title') . " :</td><td>"; UserTitle::dropdown(array('value' => $this->fields["usertitles_id"])); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; if (!empty($ID)) { echo "<td>" . __('Location') . "</td><td>"; $entities = Profile_User::getUserEntities($ID, true); if (count($entities) <= 0) { $entities = -1; } Location::dropdown(array('value' => $this->fields["locations_id"], 'entity' => $entities)); echo "</td>"; } echo "</tr>"; if (empty($ID)) { echo "<tr class='tab_bg_1'>"; echo "<th colspan='2'>" . _n('Authorization', 'Authorizations', 1) . "</th>"; echo "<td>" . __('Recursive') . "</td><td>"; Dropdown::showYesNo("_is_recursive", 0); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Profile') . "</td><td>"; Profile::dropdownUnder(array('name' => '_profiles_id', 'value' => Profile::getDefault())); echo "</td><td>" . __('Entity') . "</td><td>"; Entity::dropdown(array('name' => '_entities_id', 'display_emptychoice' => false, 'entity' => $_SESSION['glpiactiveentities'])); echo "</td></tr>"; } else { if ($caneditpassword) { echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Default profile') . "</td><td>"; $options = Dropdown::getDropdownArrayNames('glpi_profiles', Profile_User::getUserProfiles($this->fields['id'])); Dropdown::showFromArray("profiles_id", $options, array('value' => $this->fields["profiles_id"], 'display_emptychoice' => true)); echo "</td><td>" . __('Default entity') . "</td><td>"; $entities = Profile_User::getUserEntities($this->fields['id'], 1); Entity::dropdown(array('value' => $this->fields["entities_id"], 'entity' => $entities)); echo "</td></tr>"; } echo "<tr class='tab_bg_1'>"; echo "<td colspan='2' class='center'>"; //TRANS: %s is the date printf(__('Last update on %s'), HTML::convDateTime($this->fields["date_mod"])); echo "<br>"; printf(__('Last login on %s'), HTML::convDateTime($this->fields["last_login"])); echo "</td><td colspan='2'class='center'>"; if ($ID > 0) { echo "<a target='_blank' href='" . $CFG_GLPI["root_doc"] . "/front/user.form.php?getvcard=1&id={$ID}'>" . __('Vcard') . "</a>"; } echo "</td></tr>"; } $this->showFormButtons($options); return true; }
/** * Print the contact form * * @param $ID integer ID of the item * @param $options array * - target filename : where to go when done. * - withtemplate boolean : template or basic item * * @return Nothing (display) **/ function showForm($ID, $options = array()) { $this->initForm($ID, $options); $this->showFormHeader($options); echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Surname') . "</td>"; echo "<td>"; Html::autocompletionTextField($this, "name"); echo "</td>"; echo "<td rowspan='4' class='middle right'>" . __('Comments') . "</td>"; echo "<td class='middle' rowspan='4'>"; echo "<textarea cols='45' rows='7' name='comment' >" . $this->fields["comment"] . "</textarea>"; echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('First name') . "</td>"; echo "<td>"; Html::autocompletionTextField($this, "firstname"); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Phone') . "</td>"; echo "<td>"; Html::autocompletionTextField($this, "phone"); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Phone 2') . "</td>"; echo "<td>"; Html::autocompletionTextField($this, "phone2"); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Mobile phone') . "</td>"; echo "<td>"; Html::autocompletionTextField($this, "mobile"); echo "</td>"; echo "<td class='middle'>" . __('Address') . "</td>"; echo "<td class='middle'>"; echo "<textarea cols='37' rows='3' name='address'>" . $this->fields["address"] . "</textarea>"; echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Fax') . "</td>"; echo "<td>"; Html::autocompletionTextField($this, "fax"); echo "</td>"; echo "<td>" . __('Postal code') . "</td>"; echo "<td>"; Html::autocompletionTextField($this, "postcode", array('size' => 10)); echo " " . __('City') . " "; Html::autocompletionTextField($this, "town", array('size' => 23)); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . _n('Email', 'Emails', 1) . "</td>"; echo "<td>"; Html::autocompletionTextField($this, "email"); echo "</td>"; echo "<td>" . _x('location', 'State') . "</td>"; echo "<td>"; Html::autocompletionTextField($this, "state"); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td>" . __('Type') . "</td>"; echo "<td>"; ContactType::dropdown(array('value' => $this->fields["contacttypes_id"])); echo "</td>"; echo "<td>" . __('Country') . "</td>"; echo "<td>"; Html::autocompletionTextField($this, "country"); echo "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . _x('person', 'Title') . "</td><td>"; UserTitle::dropdown(array('value' => $this->fields["usertitles_id"])); echo "<td> </td><td class='center'>"; if ($ID > 0) { echo "<a target=''_blank' href='" . $this->getFormURL() . "?getvcard=1&id={$ID}'>" . __('Vcard') . "</a>"; } echo "</td></tr>"; $this->showFormButtons($options); return true; }
/** Generate bigdump : generate global dropdowns **/ function generateGlobalDropdowns() { global $MAX, $DB; $items = array("CD", "CD-RW", "DVD-R", "DVD+R", "DVD-RW", "DVD+RW", "ramette papier", "disk'ette", "ZIP"); $dp = new ConsumableItemType(); for ($i=0 ; $i<$MAX['consumable_type'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type d' consommable $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("phone d'power"); $dp = new PhonePowerSupply(); for ($i=0 ; $i<$MAX['phone_power'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "power ' $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("Grand", "Moyen", "Mic'ro", "1U", "5U"); $dp = new DeviceCaseType(); for ($i=0 ; $i<$MAX['case_type'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "power ' $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("Laser", "Jet d'Encre", "Encre Solide"); $dp = new CartridgeItemType(); for ($i=0 ; $i<$MAX['cartridge_type'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type d' cartouche $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("Technicien", "Commercial", "Technico-Commercial", "President", "Secretaire", "Directeur d'agence"); $dp = new ContactType(); for ($i=0 ; $i<$MAX['contact_type'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type d' contact $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("Maintenance", "Support", "Location", "Adhesion"); $dp = new ContractType(); for ($i=0 ; $i<$MAX['contract_type'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type d' crontact $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("Fournisseur", "Transporteur", "SSII", "Revendeur d'", "Assembleur", "SSLL", "Financeur", "Assureur"); $dp = new SupplierType(); for ($i=0 ; $i<$MAX['enttype'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type d'entreprise $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("H.07.02", "I.07.56", "P51", "P52", "1.60", "4.06", "43-4071299", "1.0.14", "3.0.1", "rev 1.0", "rev 1.1", "rev 1.2", "rev 1.2.1", "rev 2.0", "rev 3.0"); $dp = new NetworkEquipmentFirmware(); for ($i=0 ; $i<$MAX['firmware'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "firmware $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("Fire'wire"); $dp = new InterfaceType(); for ($i=0 ; $i<$MAX['interface'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type d' disque dur $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("100 Base TX", "100 Base T4", "10 base T", "1000 Base SX", "1000 Base LX", "1000 Base T", "ATM", "802.3 10 Base 2", "IEEE 803.3 10 Base 5"); $dp = new NetworkInterface(); for ($i=0 ; $i<$MAX['iface'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type carte reseau $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("Non", "Oui - generique", "Oui - specifique d'entite"); $dp = new AutoUpdateSystem(); for ($i=0 ; $i<$MAX['auto_update'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type de mise a jour '$i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("Assemble", "Latitude C600", "Latitude C700", "VAIO FX601", "VAIO FX905P", "VAIO TR5MP", "L5000C", "A600K", "PowerBook G4"); $dp = new ComputerModel(); for ($i=0 ; $i<$MAX['model'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "Modele $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment' $val"))); } $items = array("4200 DTN", "4200 DN", "4200 N", "8400 ADP", "7300 ADP", "5550 DN", "PIXMA iP8500", "Stylus Color 3000", "DeskJet 5950"); $dp = new PrinterModel(); for ($i=0 ; $i<$MAX['model_printers'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "modele imprimante $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("LS902UTG", "MA203DT", "P97F+SB", "G220F", "10-30-75", "PLE438S-B0S", "PLE481S-W", "L1740BQ", "L1920P", "SDM-X73H"); $dp = new MonitorModel(); for ($i=0 ; $i<$MAX['model_monitors'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "modele moniteur $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("HP 4108GL", "HP 2524", "HP 5308", "7600", "Catalyst 4500", "Catalyst 2950", "Catalyst 3750", "Catalyst 6500"); $dp = new NetworkEquipmentModel(); for ($i=0 ; $i<$MAX['model_networking'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "modele materiel reseau $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("DCS-2100+", "DCS-2100G", "KD-P35B", "Optical 5000", "Cordless", "ASR 600", "ASR 375", "CS21", "MX5020", "VS4121", "T3030", "T6060"); $dp = new PeripheralModel(); for ($i=0 ; $i<$MAX['model_peripherals'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "modele peripherique $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("Alcatel Temporis 22", "Aastra 5370ip", "Alcatel-Lucent 400 DECT Handset", "BlackBerry Curve 9300"); $dp = new PhoneModel(); for ($i=0 ; $i<$MAX['model_phones'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "modele phone $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment' $val"))); } $items = array("SIC", "LMS", "LMP", "LEA", "SP2MI", "STIC", "MATH", "ENS-MECA", "POUBELLE", "WIFI"); $dp = new Network(); for ($i=0 ; $i<$MAX['network'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "reseau $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("Windows XP Pro SP2", "Linux (Debian)", "Mac OS X", "Linux (Mandriva 2006)", "Linux (Redhat)", "Windows 98", "Windows 2000", "Windows XP Pro SP1", "LINUX (Suse)", "Linux (Mandriva 10.2)"); $dp = new OperatingSystem(); for ($i=0 ; $i<$MAX['os'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "os $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("XP Pro", "XP Home", "10.0", "10.1", "10.2", "2006", "Sarge"); $dp = new operatingSystemVersion(); for ($i=0 ; $i<$MAX['os_version'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "osversion $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("Service Pack 1", "Service Pack 2", "Service Pack 3", "Service Pack 4"); $dp = new OperatingSystemServicePack(); for ($i=0 ; $i<$MAX['os_sp'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "ossp $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("DDR2"); $dp = new DeviceMemoryType(); for ($i=0 ; $i<$MAX['ram_type'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type de ram $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment' $val"))); } $items = array('Bureautique', 'Calcul', "logiciel d'antivirus", 'Multimédia'); $dp = new SoftwareCategory(); for ($i=0 ; $i<max(1,pow($MAX['softwarecategory'],1/2)) ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "category $i"; } $newID = $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); for ($j=0 ; $j<mt_rand(0,pow($MAX['softwarecategory'],1/2)) ; $j++) { $newID2 = $dp->add(toolbox::addslashes_deep(array('name' => "s-category '$j", 'comment' => "comment d' $val s-category $j", 'softwarecategories_id' => $newID))); } } $MAX['rubdocs'] = getMaxItem('glpi_softwarecategories'); $dp = new SoftwareLicenseType(); for ($i=0 ; $i<$MAX['licensetype'] ; $i++) { $val = "type ' $i"; $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("SIC", "LMS", "LMP", "LEA", "SP2MI", "STIC", "MATH", "ENS-MECA", "POUBELLE", "WIFI"); $dp = new Vlan(); for ($i=0 ; $i<$MAX['vlan'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "VLAN $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val", 'tag' => $i))); } $items = array("Portable", "Desktop", "Tour"); $dp = new ComputerType(); for ($i=0 ; $i<$MAX['type_computers'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type ordinateur $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("Laser A4", "Jet d'Encre", "Laser A3", "Encre Solide A4", "Encre Solide A3"); $dp = new PrinterType(); for ($i=0 ; $i<$MAX['type_printers'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type d'imprimante $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("TFT 17", "TFT 19", "TFT 21", "CRT 17", "CRT 19", "CRT 21", "CRT 15"); $dp = new MonitorType(); for ($i=0 ; $i<$MAX['type_monitors'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type ecran $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("Switch", "Routeur", "Hub", "Borne Wifi", "borne d'accueil"); $dp = new NetworkEquipmentType(); for ($i=0 ; $i<$MAX['type_networking'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type de materiel reseau '$i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("Clavier", "Souris", "Webcam", "Enceintes", "Scanner", "Clef USB", "d'autres"); $dp = new PeripheralType(); for ($i=0 ; $i<$MAX['type_peripherals'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type de peripheriques '$i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("Analogique", "IP", ); $dp = new PhoneType(); for ($i=0 ; $i<$MAX['type_phones'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "type de phone $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("DELL", "HP", "IIYAMA", "CANON", "EPSON", "LEXMARK", "ASUS", "MSI"); $dp = new Manufacturer(); for ($i=0 ; $i<$MAX['manufacturer'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "manufacturer $i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment '$val"))); } $items = array("Ingénieur", "Stagiaire", "Secrétaire", "ouvrier d'atelier"); $dp = new UserCategory(); for ($i=0 ; $i<$MAX['user_type'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "user type d'$i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("Président", "Agent Comptable", "Directeur d'agence"); $dp = new UserTitle(); for ($i=0 ; $i<$MAX['user_title'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "user type '$i"; } $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); } $items = array("Documentation", "Facture", "Bon Livraison", "Bon commande", "Capture d'Ecran", "Dossier Technique"); $dp = new DocumentCategory(); for ($i=0 ; $i<max(1,pow($MAX['rubdocs'],1/2)) ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "category $i"; } $newID = $dp->add(toolbox::addslashes_deep(array('name' => $val, 'comment' => "comment $val"))); for ($j=0 ; $j<mt_rand(0,pow($MAX['rubdocs'],1/2)) ; $j++) { $newID2 = $dp->add(toolbox::addslashes_deep( array('name' => "s-category '$j", 'comment' => "comment d' $val s-category $j", 'documentcategories_id' => $newID))); } } $MAX['rubdocs'] = getMaxItem('glpi_documentcategories'); $dp = new ItilCategory(); // GLobal ticket categories : also specific ones by entity for ($i=0 ; $i<max(1,pow($MAX['tracking_category'],1/3)) ; $i++) { $newID = $dp->add(toolbox::addslashes_deep( array('name' => "category '$i", 'comment' => "comment ' category $i", 'is_recursive' => 1, 'tickettemplates_id_incident' => 1, 'tickettemplates_id_demand' => 1))); for ($j=0 ; $j<mt_rand(0,pow($MAX['tracking_category'],1/2)) ; $j++) { $newID2 = $dp->add(toolbox::addslashes_deep( array('name' => "s-category '$j", 'comment' => "comment 'category $i s-category $j", 'is_recursive' => 1, 'tickettemplates_id_incident' => 1, 'tickettemplates_id_demand' => 1, 'itilcategories_id' => $newID))); for ($k=0 ; $k<mt_rand(0,pow($MAX['tracking_category'],1/2)) ; $k++) { $newID3 = $dp->add(toolbox::addslashes_deep( array('name' => "ss-category' $k", 'comment' => "comment ' category $i s-category $j ss-category $k", 'is_recursive' => 1, 'tickettemplates_id_incident' => 1, 'tickettemplates_id_demand' => 1, 'itilcategories_id' => $newID2))); } } } $query = "OPTIMIZE TABLE `glpi_itilcategories`"; $DB->query($query) or die("PB REQUETE ".$query); regenerateTreeCompleteName("glpi_itilcategories"); $MAX['tracking_category'] = getMaxItem('glpi_itilcategories'); // DEVICE $items = array("Textorm 6A19", "ARIA", "SLK3000B-EU", "Sonata II", "TA-212", "TA-551", "TA-581", "TAC-T01", "CS-512", "Li PC-60891", "STT-TJ02S"); $dp = new DeviceCase(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "case $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment '$val", 'devicecasetypes_id' => mt_rand(0,$MAX["case_type"]), 'manufacturers_id' => mt_rand(1,$MAX['manufacturer'])))); } $items = array("Escalade 8006-2LP", "Escalade 8506-4LP", "2810SA", "1210SA", "DuoConnect", "DU-420", "DUB-A2", "FastTrak SX4100B", "DC-395U", "TFU-H33PI"); $dp = new DeviceControl(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "control $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment ' $val", 'interfacetypes_id' => mt_rand(0,$MAX["interface"]), 'manufacturers_id' => mt_rand(1,$MAX['manufacturer'])))); } $items = array("DUW1616", "DRW-1608P", "DW1625", "GSA-4160B", "GSA-4165B", "GSA-4167RBB", "SHW-16H5S", "SOHW-1673SX", "DVR-110D", "PX-716AL", "PX-755A"); $dp = new DeviceDrive(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "drive $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment '$val", 'is_writer' => mt_rand(0,1), 'speed' => mt_rand(0,60), 'interfacetypes_id' => mt_rand(0,$MAX["interface"]), 'manufacturers_id' => mt_rand(1,$MAX['manufacturer'])))); } $items = array("A9250/TD", "AX550/TD", "Extreme N5900", "V9520-X/TD", "All-In-Wonder X800 GT", "GV-NX66256D", "GV-RX80256DE", "Excalibur 9600XT", "X1300 IceQ", "WinFast PX6200 TD", "Millenium 750","NX6600GT"); $dp = new DeviceGraphicCard(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "gfxcard $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment ' $val", 'interfacetypes_id' => mt_rand(0,$MAX["interface"]), 'manufacturers_id' => mt_rand(1,$MAX['manufacturer']), 'memory_default' => 256*mt_rand(0,8)))); } $items = array("Deskstar 7K500", "Deskstar T7K250", "Atlas 15K II", "DiamondMax Plus", "SpinPoint P - SP2514N", "Barracuda 7200.9", "WD2500JS", "WD1600JB", "WD1200JD"); $dp = new DeviceHardDrive(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "hdd $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment' $val", 'interfacetypes_id' => mt_rand(0,$MAX["interface"]), 'manufacturers_id' => mt_rand(1,$MAX['manufacturer']), 'capacity_default' => mt_rand(0,300), 'rpm' => mt_rand(0,15000), 'cache' => 51200*mt_rand(0,10)))); } $items = array("DFE-530TX", "DFE-538TX", "PWLA8492MF", "PWLA8492MT", "USBVPN1", "GA311", "FA511", "TEG-PCBUSR", "3C996-SX", "3C996B-T", "3C905C-TX-M"); $dp = new DeviceNetworkCard(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "iface $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment' $val", 'manufacturers_id' => mt_rand(1,$MAX['manufacturer']), 'bandwidth' => mt_rand(0,1000)))); } $items = array("AW8-MAX", "NV8", "AK86-L", "P4V88", "A8N-SLI", "A8N-VM", "K8V-MX", "K8N4-E", "P5LD2", "GA-K8NE", "GA-8I945P Pro", "D945PBLL", "SE7525GP2", "865PE Neo3-F", "K8N Neo4-F", "Thunder i7520 (S5360G2NR)", "Thunder K8SR - S2881UG2NR", "Tiger K8QS Pro - S4882UG2NR", "Tomcat i875PF (S5105G2NR)"); $dp = new DeviceMotherBoard(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "moboard $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment' $val", 'manufacturers_id' => mt_rand(1,$MAX['manufacturer']), 'chipset' => 'chipset '.mt_rand(0,1000)))); } $items = array("Instant TV Cardbus", "WinTV Express", "WinTV-NOVA-S-Plus", "WinTV-NOVA-T", "WinTV-PVR-150"); $dp = new DevicePci(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "pci $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment '$val", 'manufacturers_id' => mt_rand(1,$MAX['manufacturer'])))); } $items = array("DB-Killer PW335", "DB-Killer PW385", "NeoHE 380", "NeoHE 450", "Phantom 500-PEC", "TruePower 2.0 550", "Master RS-380", "EG375AX-VE-G-SFMA", "EG495AX"); $dp = new DevicePowerSupply(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "power $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment '$val", 'manufacturers_id' => mt_rand(1,$MAX['manufacturer']), 'power' => mt_rand(0,500).'W', 'is_atx' => mt_rand(0,1)))); } $items = array("Athlon 64 FX-57", "Athlon 64 FX-55", "Sempron 2400+", "Sempron 2600+", "Celeron D 325", "Celeron D 330J", "Pentium 4 530J", "Pentium 4 631", "Pentium D 830", "Pentium D 920"); $dp = new DeviceProcessor(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "processor $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment' $val", 'manufacturers_id' => mt_rand(1,$MAX['manufacturer']), 'frequence' => mt_rand(1000,3000), 'frequency_default' => 1000+200*mt_rand(0,10), 'nbcores_default' => mt_rand(1,8), 'nbthreads_default' => mt_rand(1,4), ))); } $items = array("CM2X256A-5400C4", "CMX1024-3200C2", "CMXP512-3200XL", "TWIN2X1024-4300C3PRO", "KTD-DM8400/1G", "KTH8348/1G", "KTD4400/256", "D6464D30A", "KTA-G5400/512", "KVR667D2N5/1G", "KVR133X64C3/256"); $dp = new DeviceMemory(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "ram $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment' $val", 'manufacturers_id' => mt_rand(1,$MAX['manufacturer']), 'frequence' => 100*mt_rand(0,10), 'size_default' => 1024*mt_rand(0,6), 'devicememorytypes_id' => mt_rand(1,$MAX['ram_type'])))); } $items = array("DDTS-100", "Audigy 2 ZS Platinum", "Audigy SE", "DJ Console Mk2", "Gamesurround Muse Pocket USB", "Phase 22", "X-Fi Platinum", "Live! 24-bit", "X-Fi Elite Pro"); $dp = new DeviceSoundCard(); for ($i=0 ; $i<$MAX['device'] ; $i++) { if (isset($items[$i])) { $val = $items[$i]; } else { $val = "sndcard $i"; } $dp->add(toolbox::addslashes_deep( array('designation' => $val, 'is_recursive' => 1, 'comment' => "comment '$val", 'manufacturers_id' => mt_rand(1,$MAX['manufacturer']), 'type' => 'type '.mt_rand(0,100)))); } } // Fin generation global dropdowns