/** * Show projects for a change * * @param $change Change object **/ static function showForChange(Change $change) { global $DB, $CFG_GLPI; $ID = $change->getField('id'); if (!$change->can($ID, READ)) { return false; } $canedit = $change->canEdit($ID); $rand = mt_rand(); $showentities = Session::isMultiEntitiesMode(); $query = "SELECT DISTINCT `glpi_changes_projects`.`id` AS linkID,\n `glpi_projects`.*\n FROM `glpi_changes_projects`\n LEFT JOIN `glpi_projects`\n ON (`glpi_changes_projects`.`projects_id` = `glpi_projects`.`id`)\n WHERE `glpi_changes_projects`.`changes_id` = '{$ID}'\n ORDER BY `glpi_projects`.`name`"; $result = $DB->query($query); $projects = array(); $used = array(); if ($numrows = $DB->numrows($result)) { while ($data = $DB->fetch_assoc($result)) { $projects[$data['id']] = $data; $used[$data['id']] = $data['id']; } } if ($canedit) { echo "<div class='firstbloc'>"; echo "<form name='changeproject_form{$rand}' id='changeproject_form{$rand}' method='post'\n action='" . Toolbox::getItemTypeFormURL(__CLASS__) . "'>"; echo "<table class='tab_cadre_fixe'>"; echo "<tr class='tab_bg_2'><th colspan='2'>" . __('Add a project') . "</th></tr>"; echo "<tr class='tab_bg_2'><td>"; echo "<input type='hidden' name='changes_id' value='{$ID}'>"; Project::dropdown(array('used' => $used, 'entity' => $change->getEntityID())); echo "</td><td class='center'>"; echo "<input type='submit' name='add' value=\"" . _sx('button', 'Add') . "\" class='submit'>"; echo "</td></tr></table>"; Html::closeForm(); echo "</div>"; } echo "<div class='spaced'>"; if ($canedit && $numrows) { Html::openMassiveActionsForm('mass' . __CLASS__ . $rand); $massiveactionparams = array('num_displayed' => $numrows, 'container' => 'mass' . __CLASS__ . $rand); Html::showMassiveActions($massiveactionparams); } echo "<table class='tab_cadre_fixehov table-striped table-hover'>"; echo "<tr class='noHover'><th colspan='12'>" . Project::getTypeName($numrows) . "</th></tr>"; if ($numrows) { Project::commonListHeader(Search::HTML_OUTPUT, 'mass' . __CLASS__ . $rand); Session::initNavigateListItems('Project', sprintf(__('%1$s = %2$s'), Change::getTypeName(1), $change->fields["name"])); $i = 0; foreach ($projects as $data) { Session::addToNavigateListItems('Project', $data["id"]); Project::showShort($data['id'], array('row_num' => $i, 'type_for_massiveaction' => __CLASS__, 'id_for_massiveaction' => $data['linkID'])); $i++; } Project::commonListHeader(Search::HTML_OUTPUT, 'mass' . __CLASS__ . $rand); } echo "</table>"; if ($canedit && $numrows) { $massiveactionparams['ontop'] = false; Html::showMassiveActions($massiveactionparams); Html::closeForm(); } echo "</div>"; }
/** * Print the HTML array children of a TreeDropdown * * @return Nothing (display) **/ function showChildren() { global $DB, $CFG_GLPI; $ID = $this->getID(); $this->check($ID, READ); $rand = mt_rand(); $query = "SELECT *\n FROM `" . $this->getTable() . "`\n WHERE `" . $this->getForeignKeyField() . "` = '{$ID}'"; if ($result = $DB->query($query)) { $numrows = $DB->numrows($result); } if ($this->can($ID, UPDATE)) { echo "<div class='firstbloc'>"; echo "<form name='project_form{$rand}' id='project_form{$rand}' method='post'\n action='" . Toolbox::getItemTypeFormURL(__CLASS__) . "'>"; echo "<a href='" . Toolbox::getItemTypeFormURL('Project') . "?projects_id={$ID}'>"; _e('Create a sub project from this project'); echo "</a>"; Html::closeForm(); echo "</div>"; } echo "<div class='spaced'>"; echo "<table class='tab_cadre_fixehov'>"; echo "<tr class='noHover'><th colspan='12'>" . Project::getTypeName($numrows) . "</th></tr>"; if ($numrows) { Project::commonListHeader(); Session::initNavigateListItems('Project', sprintf(__('%1$s = %2$s'), Project::getTypeName(1), $this->fields["name"])); $i = 0; while ($data = $DB->fetch_assoc($result)) { Session::addToNavigateListItems('Project', $data["id"]); Project::showShort($data['id'], array('row_num' => $i)); $i++; } Project::commonListHeader(); } echo "</table>"; echo "</div>\n"; }
/** * Print the HTML array children of a TreeDropdown * * @return Nothing (display) **/ function showChildren() { global $DB, $CFG_GLPI; $ID = $this->getID(); $this->check($ID, READ); $rand = mt_rand(); $query = "SELECT *\n FROM `" . $this->getTable() . "`\n WHERE `" . $this->getForeignKeyField() . "` = '{$ID}'"; if ($result = $DB->query($query)) { $numrows = $DB->numrows($result); } echo "<div class='spaced'>"; echo "<table class='tab_cadre_fixehov table-striped table-hover'>"; echo "<tr class='noHover'><th colspan='12'>" . Project::getTypeName($numrows) . "</th></tr>"; if ($numrows) { Project::commonListHeader(); Session::initNavigateListItems('Project', sprintf(__('%1$s = %2$s'), Project::getTypeName(1), $this->fields["name"])); $i = 0; while ($data = $DB->fetch_assoc($result)) { Session::addToNavigateListItems('Project', $data["id"]); Project::showShort($data['id'], array('row_num' => $i)); $i++; } Project::commonListHeader(); } echo "</table>"; echo "</div>\n"; }