当前位置: 首页>>代码示例>>PHP>>正文


PHP Toolbox::decodeArrayFromInput方法代码示例

本文整理汇总了PHP中Toolbox::decodeArrayFromInput方法的典型用法代码示例。如果您正苦于以下问题:PHP Toolbox::decodeArrayFromInput方法的具体用法?PHP Toolbox::decodeArrayFromInput怎么用?PHP Toolbox::decodeArrayFromInput使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Toolbox的用法示例。


在下文中一共展示了Toolbox::decodeArrayFromInput方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: showSpecificMassiveActionsParameters

 /**
  * @since version 0.84
  *
  * @see CommonDBTM::showSpecificMassiveActionsParameters()
  **/
 function showSpecificMassiveActionsParameters($input = array())
 {
     switch ($input['action']) {
         case "move_license":
             if (isset($input['options'])) {
                 $input['options'] = Toolbox::decodeArrayFromInput($input['options']);
                 if (isset($input['options']['move'])) {
                     SoftwareLicense::dropdown(array('condition' => "`glpi_softwarelicenses`.`softwares_id`\n                                                        = '" . $input['options']['move']['softwares_id'] . "'", 'used' => $input['options']['move']['used']));
                     echo "<br><br><input type='submit' name='massiveaction' value=\"" . _sx('button', 'Move') . "\" class='submit'>&nbsp;";
                     return true;
                 }
             }
             return false;
         default:
             return parent::showSpecificMassiveActionsParameters($input);
     }
     return false;
 }
开发者ID:gaforeror,项目名称:glpi,代码行数:23,代码来源:computer_softwarelicense.class.php

示例2: showForm


//.........这里部分代码省略.........
         if ($values["_users_id_requester"]) {
             //Get all the user's entities
             $all_entities = Profile_User::getUserEntities($values["_users_id_requester"], true, true);
             //For each user's entity, check if the technician which creates the ticket have access to it
             foreach ($all_entities as $tmp => $ID_entity) {
                 if (Session::haveAccessToEntity($ID_entity)) {
                     $this->userentities[] = $ID_entity;
                 }
             }
         }
         $this->countentitiesforuser = count($this->userentities);
         if ($this->countentitiesforuser > 0 && !in_array($this->fields["entities_id"], $this->userentities)) {
             // If entity is not in the list of user's entities,
             // then use as default value the first value of the user's entites list
             $this->fields["entities_id"] = $this->userentities[0];
             // Pass to values
             $values['entities_id'] = $this->userentities[0];
         }
     }
     if ($values['type'] <= 0) {
         $values['type'] = Entity::getUsedConfig('tickettype', $values['entities_id'], '', Ticket::INCIDENT_TYPE);
     }
     if (!isset($options['template_preview'])) {
         $options['template_preview'] = 0;
     }
     // Load ticket template if available :
     if ($ID) {
         $tt = $this->getTicketTemplateToUse($options['template_preview'], $this->fields['type'], $this->fields['itilcategories_id'], $this->fields['entities_id']);
     } else {
         $tt = $this->getTicketTemplateToUse($options['template_preview'], $values['type'], $values['itilcategories_id'], $values['entities_id']);
     }
     // Predefined fields from template : reset them
     if (isset($values['_predefined_fields'])) {
         $values['_predefined_fields'] = Toolbox::decodeArrayFromInput($values['_predefined_fields']);
     } else {
         $values['_predefined_fields'] = array();
     }
     // Store predefined fields to be able not to take into account on change template
     // Only manage predefined values on ticket creation
     $predefined_fields = array();
     if (!$ID) {
         if (isset($tt->predefined) && count($tt->predefined)) {
             foreach ($tt->predefined as $predeffield => $predefvalue) {
                 if (isset($default_values[$predeffield])) {
                     // Is always default value : not set
                     // Set if already predefined field
                     // Set if ticket template change
                     if (count($values['_predefined_fields']) == 0 && $values[$predeffield] == $default_values[$predeffield] || isset($values['_predefined_fields'][$predeffield]) && $values[$predeffield] == $values['_predefined_fields'][$predeffield] || isset($values['_tickettemplates_id']) && $values['_tickettemplates_id'] != $tt->getID() || $predeffield == 'requesttypes_id' && empty($saved)) {
                         // Load template data
                         $values[$predeffield] = $predefvalue;
                         $this->fields[$predeffield] = $predefvalue;
                         $predefined_fields[$predeffield] = $predefvalue;
                     }
                 }
             }
             // All predefined override : add option to say predifined exists
             if (count($predefined_fields) == 0) {
                 $predefined_fields['_all_predefined_override'] = 1;
             }
         } else {
             // No template load : reset predefined values
             if (count($values['_predefined_fields'])) {
                 foreach ($values['_predefined_fields'] as $predeffield => $predefvalue) {
                     if ($values[$predeffield] == $predefvalue) {
                         $values[$predeffield] = $default_values[$predeffield];
                     }
开发者ID:glpi-project,项目名称:glpi,代码行数:67,代码来源:ticket.class.php

示例3: switch

* @brief
*/
include '../inc/includes.php';
Session::checkCentralAccess();
if (isset($_GET["item_type"]) && isset($_GET["display_type"])) {
    if ($_GET["display_type"] < 0) {
        $_GET["display_type"] = -$_GET["display_type"];
        $_GET["export_all"] = 1;
    }
    switch ($_GET["item_type"]) {
        case 'KnowbaseItem':
            KnowbaseItem::showList($_GET, $_GET["is_faq"]);
            break;
        case 'Stat':
            if (isset($_GET["item_type_param"])) {
                $params = Toolbox::decodeArrayFromInput($_GET["item_type_param"]);
                switch ($params["type"]) {
                    case "comp_champ":
                        $val = Stat::getItems($_GET["itemtype"], $params["date1"], $params["date2"], $params["dropdown"]);
                        Stat::showTable($_GET["itemtype"], $params["type"], $params["date1"], $params["date2"], $params["start"], $val, $params["dropdown"]);
                        break;
                    case "device":
                        $val = Stat::getItems($_GET["itemtype"], $params["date1"], $params["date2"], $params["dropdown"]);
                        Stat::showTable($_GET["itemtype"], $params["type"], $params["date1"], $params["date2"], $params["start"], $val, $params["dropdown"]);
                        break;
                    default:
                        $val2 = isset($params['value2']) ? $params['value2'] : 0;
                        $val = Stat::getItems($_GET["itemtype"], $params["date1"], $params["date2"], $params["type"], $val2);
                        Stat::showTable($_GET["itemtype"], $params["type"], $params["date1"], $params["date2"], $params["start"], $val, $val2);
                }
            } else {
开发者ID:btry,项目名称:glpi,代码行数:31,代码来源:report.dynamic.php

示例4: getHelpdesk


//.........这里部分代码省略.........
         $self = new Ticket();
         if ($values["_users_id_requester"] == 0) {
             $values['_users_id_requester'] = Session::getLoginUserID();
         } else {
             $values['_right'] = "delegate";
         }
         $self->showActorAddFormOnCreate(CommonITILActor::REQUESTER, $values);
         echo "</div>";
         if ($CFG_GLPI['use_check_pref'] && $values['nodelegate']) {
             echo "</td><td class='center'>";
             User::showPersonalInformation(Session::getLoginUserID());
         }
         echo "</td></tr>";
         echo "</table></div>";
         echo "<input type='hidden' name='_users_id_recipient' value='" . Session::getLoginUserID() . "'>";
     } else {
         // User as requester
         $values['_users_id_requester'] = Session::getLoginUserID();
         if ($CFG_GLPI['use_check_pref']) {
             echo "<div class='center'><table class='tab_cadre_fixe'>";
             echo "<tr><th>" . __('Check your personnal information') . "</th></tr>";
             echo "<tr class='tab_bg_1'><td class='center'>";
             User::showPersonalInformation(Session::getLoginUserID());
             echo "</td></tr>";
             echo "</table></div>";
         }
     }
     echo "<input type='hidden' name='_from_helpdesk' value='1'>";
     echo "<input type='hidden' name='requesttypes_id' value='" . RequestType::getDefault('helpdesk') . "'>";
     // Load ticket template if available :
     $tt = $ticket->getTicketTemplateToUse($ticket_template, $values['type'], $values['itilcategories_id'], $_SESSION["glpiactive_entity"]);
     // Predefined fields from template : reset them
     if (isset($values['_predefined_fields'])) {
         $values['_predefined_fields'] = Toolbox::decodeArrayFromInput($values['_predefined_fields']);
     } else {
         $values['_predefined_fields'] = array();
     }
     // Store predefined fields to be able not to take into account on change template
     $predefined_fields = array();
     if (isset($tt->predefined) && count($tt->predefined)) {
         foreach ($tt->predefined as $predeffield => $predefvalue) {
             if (isset($values[$predeffield]) && isset($default_values[$predeffield])) {
                 // Is always default value : not set
                 // Set if already predefined field
                 // Set if ticket template change
                 if ($values[$predeffield] == $default_values[$predeffield] || isset($values['_predefined_fields'][$predeffield]) && $values[$predeffield] == $values['_predefined_fields'][$predeffield] || isset($values['_tickettemplates_id']) && $values['_tickettemplates_id'] != $tt->getID()) {
                     $values[$predeffield] = $predefvalue;
                     $predefined_fields[$predeffield] = $predefvalue;
                 }
             } else {
                 // Not defined options set as hidden field
                 echo "<input type='hidden' name='{$predeffield}' value='{$predefvalue}'>";
             }
         }
     } else {
         // No template load : reset predefined values
         if (count($values['_predefined_fields'])) {
             foreach ($values['_predefined_fields'] as $predeffield => $predefvalue) {
                 if ($values[$predeffield] == $predefvalue) {
                     $values[$predeffield] = $default_values[$predeffield];
                 }
             }
         }
     }
     if ($CFG_GLPI['urgency_mask'] == 1 << 3 || $tt->isHiddenField('urgency')) {
         // Dont show dropdown if only 1 value enabled or field is hidden
开发者ID:geldarr,项目名称:hack-space,代码行数:67,代码来源:survey.class.php

示例5: showForm

 function showForm($ID, $options = array())
 {
     global $DB, $CFG_GLPI;
     $default_values = self::getDefaultValues();
     // Get default values from posted values on reload form
     if (!isset($options['template_preview'])) {
         if (isset($_POST)) {
             $values = Html::cleanPostForTextArea($_POST);
         }
     }
     // Restore saved value or override with page parameter
     $saved = $this->restoreInput();
     foreach ($default_values as $name => $value) {
         if (!isset($values[$name])) {
             if (isset($saved[$name])) {
                 $values[$name] = $saved[$name];
             } else {
                 $values[$name] = $value;
             }
         }
     }
     // Default check
     if ($ID > 0) {
         $this->check($ID, 'r');
     } else {
         // Create item
         $this->check(-1, 'w', $values);
     }
     if (!$ID) {
         $this->userentities = array();
         if ($values["_users_id_requester"]) {
             //Get all the user's entities
             $all_entities = Profile_User::getUserEntities($values["_users_id_requester"], true, true);
             //For each user's entity, check if the technician which creates the ticket have access to it
             foreach ($all_entities as $tmp => $ID_entity) {
                 if (Session::haveAccessToEntity($ID_entity)) {
                     $this->userentities[] = $ID_entity;
                 }
             }
         }
         $this->countentitiesforuser = count($this->userentities);
         if ($this->countentitiesforuser > 0 && !in_array($this->fields["entities_id"], $this->userentities)) {
             // If entity is not in the list of user's entities,
             // then use as default value the first value of the user's entites list
             $this->fields["entities_id"] = $this->userentities[0];
             // Pass to values
             $values['entities_id'] = $this->userentities[0];
         }
     }
     if ($values['type'] <= 0) {
         $values['type'] = Entity::getUsedConfig('tickettype', $values['entities_id'], '', Ticket::INCIDENT_TYPE);
     }
     if (!isset($options['template_preview'])) {
         $options['template_preview'] = 0;
     }
     // Load ticket template if available :
     $tt = $this->getTicketTemplateToUse($options['template_preview'], $values['type'], $values['itilcategories_id'], $values['entities_id']);
     // Predefined fields from template : reset them
     if (isset($values['_predefined_fields'])) {
         $values['_predefined_fields'] = Toolbox::decodeArrayFromInput($values['_predefined_fields']);
     } else {
         $values['_predefined_fields'] = array();
     }
     // Store predefined fields to be able not to take into account on change template
     // Only manage predefined values on ticket creation
     $predefined_fields = array();
     if (!$ID) {
         if (isset($tt->predefined) && count($tt->predefined)) {
             foreach ($tt->predefined as $predeffield => $predefvalue) {
                 if (isset($default_values[$predeffield])) {
                     // Is always default value : not set
                     // Set if already predefined field
                     // Set if ticket template change
                     if ($values[$predeffield] == $default_values[$predeffield] || isset($values['_predefined_fields'][$predeffield]) && $values[$predeffield] == $values['_predefined_fields'][$predeffield] || isset($values['_tickettemplates_id']) && $values['_tickettemplates_id'] != $tt->getID()) {
                         // Load template data
                         $values[$predeffield] = $predefvalue;
                         $this->fields[$predeffield] = $predefvalue;
                         $predefined_fields[$predeffield] = $predefvalue;
                     }
                 }
             }
         } else {
             // No template load : reset predefined values
             if (count($values['_predefined_fields'])) {
                 foreach ($values['_predefined_fields'] as $predeffield => $predefvalue) {
                     if ($values[$predeffield] == $predefvalue) {
                         $values[$predeffield] = $default_values[$predeffield];
                     }
                 }
             }
         }
     }
     // Put ticket template on $values for actors
     $values['_tickettemplate'] = $tt;
     $canupdate = Session::haveRight('update_ticket', '1');
     $canpriority = Session::haveRight('update_priority', '1');
     $canstatus = $canupdate;
     if (in_array($this->fields['status'], $this->getClosedStatusArray())) {
         $canupdate = false;
     }
//.........这里部分代码省略.........
开发者ID:gaforeror,项目名称:glpi,代码行数:101,代码来源:ticket.class.php

示例6: header

    $AJAX_INCLUDE = 1;
    include '../inc/includes.php';
    header("Content-Type: text/html; charset=UTF-8");
    Html::header_nocache();
}
Session::checkRight("software", "w");
if ($_POST['softwares_id'] > 0) {
    if (!isset($_POST['value'])) {
        $_POST['value'] = 0;
    }
    $where = '';
    if (isset($_POST['used'])) {
        if (is_array($_POST['used'])) {
            $used = $_POST['used'];
        } else {
            $used = Toolbox::decodeArrayFromInput($_POST['used']);
        }
        if (count($used)) {
            $where = " AND `glpi_softwareversions`.`id` NOT IN ('" . implode("','", $used) . "')";
        }
    }
    // Make a select box
    $query = "SELECT DISTINCT `glpi_softwareversions`.*,\n                             `glpi_states`.`name` AS sname\n             FROM `glpi_softwareversions`\n             LEFT JOIN `glpi_states` ON (`glpi_softwareversions`.`states_id` = `glpi_states`.`id`)\n             WHERE `glpi_softwareversions`.`softwares_id` = '" . $_POST['softwares_id'] . "'\n                   {$where}\n             ORDER BY `name`";
    $result = $DB->query($query);
    $number = $DB->numrows($result);
    echo "<select name='" . $_POST['myname'] . "' size='1'>";
    echo "<option value='0'>" . Dropdown::EMPTY_VALUE . "</option>";
    $today = date("Y-m-d");
    if ($number) {
        while ($data = $DB->fetch_assoc($result)) {
            $ID = $data['id'];
开发者ID:gaforeror,项目名称:glpi,代码行数:31,代码来源:dropdownInstallVersion.php

示例7: header

/** @file
* @brief
*/
// Direct access to file
if (strpos($_SERVER['PHP_SELF'], "searchoptionvalue.php")) {
    include '../inc/includes.php';
    header("Content-Type: text/html; charset=UTF-8");
    Html::header_nocache();
}
if (!defined('GLPI_ROOT')) {
    die("Can not acces directly to this file");
}
Session::checkLoginUser();
if (isset($_POST['searchtype'])) {
    if (!is_array($_POST['searchopt'])) {
        $searchopt = Toolbox::decodeArrayFromInput($_POST['searchopt']);
    } else {
        $searchopt = $_POST['searchopt'];
    }
    $_POST['value'] = rawurldecode($_POST['value']);
    $addmeta = "";
    if (isset($_POST['meta']) && $_POST['meta']) {
        $addmeta = '2';
    }
    $inputname = 'contains' . $addmeta . '[' . $_POST['num'] . ']';
    $display = false;
    $item = getItemForItemtype($_POST['itemtype']);
    $options2 = array();
    $options2['value'] = $_POST['value'];
    // For tree dropdpowns
    $options2['permit_select_parent'] = true;
开发者ID:geldarr,项目名称:hack-space,代码行数:31,代码来源:searchoptionvalue.php

示例8: IN

$where .= " AND `{$table}`.`id` NOT IN ('" . $_POST['value'] . "'";
if (isset($_POST['used'])) {
    if (is_array($_POST['used'])) {
        $used = $_POST['used'];
    } else {
        $used = Toolbox::decodeArrayFromInput($_POST['used']);
    }
    if (count($used)) {
        $where .= ",'" . implode("','", $used) . "'";
    }
}
if (isset($_POST['toadd'])) {
    if (is_array($_POST['toadd'])) {
        $toadd = $_POST['toadd'];
    } else {
        $toadd = Toolbox::decodeArrayFromInput($_POST['toadd']);
    }
} else {
    $toadd = array();
}
$where .= ") ";
if (isset($_POST['condition']) && $_POST['condition'] != '') {
    $where .= " AND " . $_POST['condition'] . " ";
}
if ($item instanceof CommonTreeDropdown) {
    if ($_POST['searchText'] != $CFG_GLPI["ajax_wildcard"]) {
        $where .= " AND `completename` " . Search::makeTextSearch($_POST['searchText']);
    }
    $multi = false;
    // Manage multiple Entities dropdowns
    $add_order = "";
开发者ID:gaforeror,项目名称:glpi,代码行数:31,代码来源:dropdownValue.php

示例9: header

--------------------------------------------------------------------------
*/
// Direct access to file
if (strpos($_SERVER['PHP_SELF'], "dropdownValue.php")) {
    include '../../../inc/includes.php';
    header("Content-Type: text/html; charset=UTF-8");
    Html::header_nocache();
}
Session::checkLoginUser();
// Security
if (!TableExists($_GET['table'])) {
    exit;
}
$item = new $_GET['itemtype']();
if (isset($_GET["entity_restrict"]) && !is_numeric($_GET["entity_restrict"]) && !is_array($_GET["entity_restrict"])) {
    $_GET["entity_restrict"] = Toolbox::decodeArrayFromInput($_GET["entity_restrict"]);
}
$NBMAX = $CFG_GLPI["dropdown_max"];
$LIMIT = "LIMIT 0,{$NBMAX}";
if ($_GET['searchText'] == $CFG_GLPI["ajax_wildcard"]) {
    $LIMIT = "";
}
$where = " WHERE `" . $_GET['table'] . "`.`id` NOT IN ('" . $_GET['value2'] . "'";
$used = array();
if ($_GET["name"] != "type") {
    $datas = getAllDatasFromTable("glpi_plugin_positions_positions", "`itemtype` = '" . $_GET['itemtype'] . "'");
} else {
    $datas = getAllDatasFromTable("glpi_plugin_positions_imageitems", "`itemtype` = '" . $_GET['itemtype'] . "'");
}
if (!empty($datas)) {
    foreach ($datas as $data) {
开发者ID:nsautier,项目名称:positions,代码行数:31,代码来源:dropdownValue.php

示例10: array

    $_POST['all'] = 0;
}
$used = array();
if (isset($_POST['used'])) {
    if (is_array($_POST['used'])) {
        $used = $_POST['used'];
    } else {
        $used = Toolbox::decodeArrayFromInput($_POST['used']);
    }
}
if (isset($_POST["entity_restrict"]) && !is_numeric($_POST["entity_restrict"]) && !is_array($_POST["entity_restrict"])) {
    $_POST["entity_restrict"] = Toolbox::decodeArrayFromInput($_POST["entity_restrict"]);
}
// for multi rights
if (isset($_POST["right"]) && !is_array($_POST["right"])) {
    $temp = Toolbox::decodeArrayFromInput($_POST["right"]);
    if (count($temp)) {
        $_POST['right'] = $temp;
    }
}
$result = User::getSqlSearchResult(false, $_POST['right'], $_POST["entity_restrict"], $_POST['value'], $used, $_POST['searchText']);
$users = array();
if ($DB->numrows($result)) {
    while ($data = $DB->fetch_assoc($result)) {
        $users[$data["id"]] = formatUserName($data["id"], $data["name"], $data["realname"], $data["firstname"]);
        $logins[$data["id"]] = $data["name"];
    }
}
if (!function_exists('dpuser_cmp')) {
    function dpuser_cmp($a, $b)
    {
开发者ID:geldarr,项目名称:hack-space,代码行数:31,代码来源:dropdownUsers.php

示例11: array

 }
 $fieldname = '';
 if (empty($search["linkfield"]) || $search['table'] == 'glpi_infocoms') {
     $fieldname = $search["field"];
 } else {
     $fieldname = $search["linkfield"];
 }
 if (!$plugdisplay) {
     $options = array();
     $values = array();
     // For ticket template or aditional options of massive actions
     if (isset($_POST['options']) && strlen($_POST['options'])) {
         $options = Toolbox::decodeArrayFromInput($_POST['options']);
     }
     if (isset($_POST['additionalvalues']) && strlen($_POST['additionalvalues'])) {
         $values = Toolbox::decodeArrayFromInput($_POST['additionalvalues']);
     }
     $values[$search["field"]] = '';
     echo $item->getValueToSelect($search, $fieldname, $values, $options);
 }
 if (!$FIELDNAME_PRINTED) {
     echo "<input type='hidden' name='field' value='{$fieldname}'>";
 }
 echo "</td>";
 if ($inline) {
     echo "<td><input type='submit' name='massiveaction' class='submit' value='{$submitname}'></td>";
 }
 echo "</tr></table>";
 if (!$inline) {
     echo "<br><input type='submit' name='massiveaction' class='submit' value='{$submitname}'>";
 }
开发者ID:gaforeror,项目名称:glpi,代码行数:31,代码来源:dropdownMassiveActionField.php

示例12: header

GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GLPI. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
*/
/** @file
* @brief
*/
// Direct access to file
if (strpos($_SERVER['PHP_SELF'], "dropdownDelegationUsers.php")) {
    $AJAX_INCLUDE = 1;
    include '../inc/includes.php';
    header("Content-Type: text/html; charset=UTF-8");
    Html::header_nocache();
}
if (!defined('GLPI_ROOT')) {
    die("Can not acces directly to this file");
}
Session::checkLoginUser();
if ($_POST["nodelegate"] == 1) {
    $_POST['_users_id_requester'] = Session::getLoginUserID();
    $_POST['_right'] = "id";
} else {
    $_POST['_right'] = "delegate";
}
if (isset($_POST['_users_id_requester_notif']) && !empty($_POST['_users_id_requester_notif'])) {
    $_POST['_users_id_requester_notif'] = Toolbox::decodeArrayFromInput($_POST['_users_id_requester_notif']);
}
$ticket = new Ticket();
$ticket->showActorAddFormOnCreate(Ticket_User::REQUESTER, $_POST);
开发者ID:gaforeror,项目名称:glpi,代码行数:31,代码来源:dropdownDelegationUsers.php

示例13: showMassiveActionsParameters

 /**
  * Display options add action button for massive actions
  *
  * @since version 0.84
  *
  * This must not be overloaded in Class
  *
  * @param $input array of input datas
  *
  * @return nothing display
  **/
 function showMassiveActionsParameters($input = array())
 {
     global $CFG_GLPI;
     switch ($input['action']) {
         case "add_contract_item":
             if ($input['itemtype'] == 'Contract') {
                 Dropdown::showAllItems("items_id", 0, 0, 1, $CFG_GLPI["contract_types"], false, true, 'item_itemtype');
                 echo "<br><br><input type='submit' name='massiveaction' class='submit' value='" . _sx('button', 'Add') . "'>";
             } else {
                 Contract::dropdown(array('name' => "contracts_id"));
                 echo "<br><br><input type='submit' name='massiveaction' class='submit' value='" . _sx('button', 'Add') . "'>";
             }
             break;
         case "remove_contract_item":
             if ($input['itemtype'] == 'Contract') {
                 Dropdown::showAllItems("items_id", 0, 0, 1, $CFG_GLPI["contract_types"], false, true, 'item_itemtype');
                 echo "<br><br><input type='submit' name='massiveaction' class='submit' value='" . _sx('button', 'Delete permanently') . "'>";
             } else {
                 Contract::dropdown(array('name' => "contracts_id"));
                 echo "<br><br><input type='submit' name='massiveaction' class='submit' value='" . _sx('button', 'Delete permanently') . "'>";
             }
             break;
         case "add_document":
             Document::dropdown(array('name' => 'documents_id'));
             echo "<br><br><input type='submit' name='massiveaction' class='submit' value='" . _sx('button', 'Add') . "'>";
             break;
         case "remove_document":
             Document::dropdown(array('name' => 'documents_id'));
             echo "<br><br><input type='submit' name='massiveaction' class='submit' value='" . _sx('button', 'Delete permanently') . "'>";
             break;
         case "update":
             // Specific options for update fields
             if (isset($input['options'])) {
                 $input['options'] = Toolbox::decodeArrayFromInput($input['options']);
             } else {
                 $input['options'] = array();
             }
             $first_group = true;
             $newgroup = "";
             $items_in_group = 0;
             $show_all = true;
             $show_infocoms = true;
             if (in_array($input["itemtype"], $CFG_GLPI["infocom_types"]) && (!static::canUpdate() || !Infocom::canUpdate())) {
                 $show_all = false;
                 $show_infocoms = Infocom::canUpdate();
             }
             $searchopt = Search::getCleanedOptions($input["itemtype"], 'w');
             echo "<select name='id_field' id='massiveaction_field'>";
             echo "<option value='0' selected>" . Dropdown::EMPTY_VALUE . "</option>";
             foreach ($searchopt as $key => $val) {
                 if (!is_array($val)) {
                     if (!empty($newgroup) && $items_in_group > 0) {
                         echo $newgroup;
                         $first_group = false;
                     }
                     $items_in_group = 0;
                     $newgroup = "";
                     if (!$first_group) {
                         $newgroup .= "</optgroup>";
                     }
                     $newgroup .= "<optgroup label=\"{$val}\">";
                 } else {
                     // No id and no entities_id massive action and no first item
                     if ($val["field"] != 'id' && $key != 1 && ($val["linkfield"] != 'entities_id' || isset($val['massiveaction']) && $val['massiveaction'])) {
                         if (!isset($val['massiveaction']) || $val['massiveaction']) {
                             if ($show_all) {
                                 $newgroup .= "<option value='{$key}'>" . $val["name"] . "</option>";
                                 $items_in_group++;
                             } else {
                                 // Do not show infocom items
                                 if ($show_infocoms && Search::isInfocomOption($input["itemtype"], $key) || !$show_infocoms && !Search::isInfocomOption($input["itemtype"], $key)) {
                                     $newgroup .= "<option value='{$key}'>" . $val["name"] . "</option>";
                                     $items_in_group++;
                                 }
                             }
                         }
                     }
                 }
             }
             if (!empty($newgroup) && $items_in_group > 0) {
                 echo $newgroup;
             }
             if (!$first_group) {
                 echo "</optgroup>";
             }
             echo "</select>";
             $paramsmassaction = array('id_field' => '__VALUE__', 'itemtype' => $input["itemtype"], 'options' => $input['options']);
             foreach ($input as $key => $val) {
                 if (preg_match("/extra_/", $key, $regs)) {
//.........这里部分代码省略.........
开发者ID:gaforeror,项目名称:glpi,代码行数:101,代码来源:commondbtm.class.php

示例14: showSpecificMassiveActionsParameters

 /**
  * @since version 0.84
  *
  * @see CommonDBTM::showSpecificMassiveActionsParameters()
  **/
 function showSpecificMassiveActionsParameters($input = array())
 {
     switch ($input['action']) {
         case "move_version":
             if (isset($input['options'])) {
                 $input['options'] = Toolbox::decodeArrayFromInput($input['options']);
                 if (isset($input['options']['move'])) {
                     $options = array('softwares_id' => $input['options']['move']['softwares_id']);
                     if (isset($input['options']['move']['used'])) {
                         $options['used'] = $input['options']['move']['used'];
                     }
                     SoftwareVersion::dropdown($options);
                     echo "<br><br><input type='submit' name='massiveaction' value=\"" . _sx('button', 'Move') . "\" class='submit'>&nbsp;";
                     return true;
                 }
             }
             return false;
         default:
             return parent::showSpecificMassiveActionsParameters($input);
     }
     return false;
 }
开发者ID:gaforeror,项目名称:glpi,代码行数:27,代码来源:computer_softwareversion.class.php

示例15: commonDropdownUpdateItem

 /**
  * Javascript code for update an item (Javascript code only)
  *
  * @param $options array of options
  *  - toupdate : array / Update a specific item on select change on dropdown
  *               (need value_fieldname, to_update,
  *                url (@see Ajax::updateItemOnSelectEvent for information)
  *                and may have moreparams)
  **/
 static function commonDropdownUpdateItem($options)
 {
     if (isset($options["update_item"]) && (is_array($options["update_item"]) || strlen($options["update_item"]) > 0)) {
         if (!is_array($options["update_item"])) {
             $datas = Toolbox::decodeArrayFromInput($options["update_item"]);
         } else {
             $datas = $options["update_item"];
         }
         if (is_array($datas) && count($datas)) {
             // Put it in array
             if (isset($datas['to_update'])) {
                 $datas = array($datas);
             }
             foreach ($datas as $data) {
                 $paramsupdate = array();
                 if (isset($data['value_fieldname'])) {
                     $paramsupdate = array($data['value_fieldname'] => '__VALUE__');
                 }
                 if (isset($data["moreparams"]) && is_array($data["moreparams"]) && count($data["moreparams"])) {
                     foreach ($data["moreparams"] as $key => $val) {
                         $paramsupdate[$key] = $val;
                     }
                 }
                 self::updateItemOnSelectEvent("dropdown_" . $options["myname"] . $options["rand"], $data['to_update'], $data['url'], $paramsupdate);
             }
         }
     }
 }
开发者ID:gaforeror,项目名称:glpi,代码行数:37,代码来源:ajax.class.php


注:本文中的Toolbox::decodeArrayFromInput方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。