Пример #1
0
 /**
  * Show users linked to a License
  *
  * @param $license SoftwareLicense object
  *
  * @return nothing
  **/
 static function showForLicense(SoftwareLicense $license)
 {
     global $DB, $CFG_GLPI;
     $searchID = $license->getField('id');
     if (!Software::canView() || !$searchID) {
         return false;
     }
     $canedit = PluginFpsoftwareVersionhelper::checkRights("software", array(CREATE, UPDATE, DELETE, PURGE), "Or");
     $canshowuser = User::canView();
     if (isset($_GET["start"])) {
         $start = $_GET["start"];
     } else {
         $start = 0;
     }
     if (isset($_GET["order"]) && $_GET["order"] == "DESC") {
         $order = "DESC";
     } else {
         $order = "ASC";
     }
     //SoftwareLicense ID
     $query_number = "SELECT COUNT(*) AS cpt\n                       FROM `glpi_users_softwarelicenses`\n                       INNER JOIN `glpi_users`\n                           ON (`glpi_users_softwarelicenses`.`users_id`\n                                 = `glpi_users`.`id`)\n                       WHERE `glpi_users_softwarelicenses`.`softwarelicenses_id` = '{$searchID}'";
     $number = 0;
     if ($result = $DB->query($query_number)) {
         $number = $DB->result($result, 0, 0);
     }
     echo "<div class='center'>";
     if ($canedit) {
         echo "<form method='post' action='" . $CFG_GLPI["root_doc"] . self::$front_url . "/front/user_softwarelicense.form.php'>";
         echo "<input type='hidden' name='softwarelicenses_id' value='{$searchID}'>";
         echo "<table class='tab_cadre_fixe'>";
         echo "<tr class='tab_bg_2 center'>";
         echo "<td>";
         //FOR NOW ALL USERS ARE SHOWN, DON'T KNOW IF THERE SHOULD BE ANY RESTRICTION.
         //ALSO IT CAUSES A POSSIBILITY TO ONE USER MANY TIMES.
         User::dropdown(array('right' => 'all'));
         echo "</td>";
         echo "<td><input type='submit' name='add' value=\"" . _sx('button', 'Add') . "\" class='submit'>";
         echo "</td></tr>";
         echo "</table>";
         Html::closeForm();
     }
     if ($number < 1) {
         echo "<table class='tab_cadre_fixe'>";
         echo "<tr><th>" . __('No item found') . "</th></tr>";
         echo "</table></div>\n";
         return;
     }
     // Display the pager
     Html::printAjaxPager(__('Affected users'), $start, $number);
     $query = "SELECT `glpi_users_softwarelicenses`.*,\n                       `glpi_users`.`name` AS username,\n                       `glpi_users`.`id` AS userid,\n                       `glpi_users`.`realname` AS userrealname,\n                       `glpi_users`.`firstname` AS userfirstname,\n                       `glpi_softwarelicenses`.`name` AS license,\n                       `glpi_softwarelicenses`.`id` AS lID\n                FROM `glpi_users_softwarelicenses`\n                INNER JOIN `glpi_softwarelicenses`\n                     ON (`glpi_users_softwarelicenses`.`softwarelicenses_id`\n                          = `glpi_softwarelicenses`.`id`)\n                INNER JOIN `glpi_users`\n                     ON (`glpi_users_softwarelicenses`.`users_id` = `glpi_users`.`id`)\n                WHERE `glpi_softwarelicenses`.`id` = '{$searchID}'\n                LIMIT " . intval($start) . "," . intval($_SESSION['glpilist_limit']);
     $rand = mt_rand();
     if ($result = $DB->query($query)) {
         if ($data = $DB->fetch_assoc($result)) {
             if ($canedit) {
                 $rand = mt_rand();
                 Html::openMassiveActionsForm('mass' . __CLASS__ . $rand);
                 list($higher_version, $massiveactionparams) = PluginFpsoftwareVersionhelper::massiveActionParams($rand, __CLASS__);
                 // Options to update license
                 $massiveactionparams['extraparams']['options']['move']['used'] = array($searchID);
                 $massiveactionparams['extraparams']['options']['move']['softwares_id'] = $license->fields['softwares_id'];
                 Html::showMassiveActions($higher_version ? $massiveactionparams : __CLASS__, $massiveactionparams);
             }
             $soft = new Software();
             $soft->getFromDB($license->fields['softwares_id']);
             $text = sprintf(__('%1$s = %2$s'), Software::getTypeName(1), $soft->fields["name"]);
             $text = sprintf(__('%1$s - ID %2$s'), $text, $license->fields['softwares_id']);
             Session::initNavigateListItems('User', $text);
             echo "<table class='tab_cadre_fixehov'>";
             $columns = array('username' => __('Username'), 'userrealname' => __('Surname'), 'userfirstname' => __('First name'), 'added' => __('Added'));
             $header_begin = "<tr>";
             $header_top = '';
             $header_bottom = '';
             $header_end = '';
             if ($canedit) {
                 $header_begin .= "<th width='10'>";
                 $header_top .= Html::getCheckAllAsCheckbox('mass' . __CLASS__ . $rand);
                 $header_bottom .= Html::getCheckAllAsCheckbox('mass' . __CLASS__ . $rand);
                 $header_end .= "</th>";
             }
             foreach ($columns as $key => $val) {
                 // Non order column
                 $header_end .= "<th>{$val}</th>";
             }
             $header_end .= "</tr>\n";
             echo $header_begin . $header_top . $header_end;
             do {
                 Session::addToNavigateListItems('User', $data["userid"]);
                 echo "<tr class='tab_bg_2'>";
                 if ($canedit) {
                     echo "<td>" . Html::getMassiveActionCheckBox(__CLASS__, $data["id"]) . "</td>";
                 }
                 if ($canshowuser) {
                     echo "<td><a href='user.form.php?id=" . $data['userid'] . "'>" . $data['username'] . "</a></td>";
                 } else {
                     echo "<td>" . $data['username'] . "</td>";
                 }
                 echo "<td>" . $data['userrealname'] . "</td>";
                 echo "<td>" . $data['userfirstname'] . "</td>";
                 echo "<td style=\"text-align:center;\">" . $data['added'] . "</td>";
                 echo "</tr>\n";
             } while ($data = $DB->fetch_assoc($result));
             echo $header_begin . $header_bottom . $header_end;
             echo "</table>\n";
             if ($canedit) {
                 $massiveactionparams['ontop'] = false;
                 Html::showMassiveActions($massiveactionparams);
                 Html::closeForm();
             }
         } else {
             // Not found
             _e('No item found');
         }
     }
     // Query
     Html::printAjaxPager(__('Affected users'), $start, $number);
     echo "</div>\n";
 }
<?php

include '../../../inc/includes.php';
PluginFpsoftwareVersionhelper::checkRights("software", UPDATE);
$usl = new PluginFpsoftwareCommon();
if (isset($_POST["add"])) {
    if ($_POST['softwarelicenses_id'] > 0) {
        if ($usl->add($_POST)) {
            Event::log($_POST['softwarelicenses_id'], "softwarelicense", 4, "inventory", sprintf(__('%s associates an user and a license'), $_SESSION["glpiname"]));
        }
    }
    Html::back();
}
Html::displayErrorAndDie('Lost');
Пример #3
0
<?php

include '../../../inc/includes.php';
PluginFpsoftwareVersionhelper::checkRights("config", READ);
$config = new PluginFpsoftwareConfig();
if (isset($_POST["update"])) {
    if (isset($_POST['group_by_users'])) {
        PluginFpsoftwareConfig::setConfigValues(array('group_by_users' => (int) (bool) $_POST['group_by_users']));
    }
    HTML::back();
}
HTML::header('Configuration of FP Software plugin');
$config->showFormDisplay();
HTML::footer();