本文整理汇总了PHP中Infocom::canCreate方法的典型用法代码示例。如果您正苦于以下问题:PHP Infocom::canCreate方法的具体用法?PHP Infocom::canCreate怎么用?PHP Infocom::canCreate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Infocom
的用法示例。
在下文中一共展示了Infocom::canCreate方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: displayDatas
/**
* Display datas extracted from DB
*
* @param $data array of search datas prepared to get datas
*
* @return nothing
**/
static function displayDatas(array &$data)
{
global $CFG_GLPI;
$item = null;
if (class_exists($data['itemtype'])) {
$item = new $data['itemtype']();
}
$rand = mt_rand();
if (!isset($data['data']) || !isset($data['data']['totalcount'])) {
return false;
}
// Contruct Pager parameters
$globallinkto = Toolbox::append_params(array('criteria' => Toolbox::stripslashes_deep($data['search']['criteria']), 'metacriteria' => Toolbox::stripslashes_deep($data['search']['metacriteria'])), '&');
$parameters = "sort=" . $data['search']['sort'] . "&order=" . $data['search']['order'] . '&' . $globallinkto;
if (isset($_GET['_in_modal'])) {
$parameters .= "&_in_modal=1";
}
// Global search header
if ($data['display_type'] == self::GLOBAL_SEARCH) {
if ($data['item']) {
echo "<div class='center'><h2>" . $data['item']->getTypeName();
// More items
if ($data['data']['totalcount'] > $data['search']['start'] + self::GLOBAL_DISPLAY_COUNT) {
echo " <a href='" . $data['search']['target'] . "?{$parameters}'>" . __('All') . "</a>";
}
echo "</h2></div>\n";
} else {
return false;
}
}
// If the begin of the view is before the number of items
if ($data['data']['count'] > 0) {
// Display pager only for HTML
if ($data['display_type'] == self::HTML_OUTPUT) {
// For plugin add new parameter if available
if ($plug = isPluginItemType($data['itemtype'])) {
$function = 'plugin_' . $plug['plugin'] . '_addParamFordynamicReport';
if (function_exists($function)) {
$out = $function($data['itemtype']);
if (is_array($out) && count($out)) {
$parameters .= Toolbox::append_params($out, '&');
}
}
}
$search_config_top = "";
$search_config_bottom = "";
if (!isset($_GET['_in_modal']) && Session::haveRightsOr('search_config', array(DisplayPreference::PERSONAL, DisplayPreference::GENERAL))) {
$search_config_top = $search_config_bottom = "<div class='pager_controls'><img alt=\"" . __s('Select default items to show') . "\" title=\"" . __s('Select default items to show') . "\" src='" . $CFG_GLPI["root_doc"] . "/pics/options_search.png' ";
$search_config_top .= " class='pointer' onClick=\"";
$search_config_top .= Html::jsGetElementbyID('search_config_top') . ".dialog('open');\">";
$search_config_bottom .= " class='pointer' onClick=\"";
$search_config_bottom .= Html::jsGetElementbyID('search_config_bottom') . ".dialog('open');\">";
$search_config_top .= Ajax::createIframeModalWindow('search_config_top', $CFG_GLPI["root_doc"] . "/front/displaypreference.form.php?itemtype=" . $data['itemtype'], array('title' => __('Select default items to show'), 'reloadonclose' => true, 'display' => false));
$search_config_bottom .= Ajax::createIframeModalWindow('search_config_bottom', $CFG_GLPI["root_doc"] . "/front/displaypreference.form.php?itemtype=" . $data['itemtype'], array('title' => __('Select default items to show'), 'reloadonclose' => true, 'display' => false));
}
if ($item !== null && $item->maybeDeleted()) {
$delete_ctrl = self::isDeletedSwitch($data['search']['is_deleted']);
$search_config_top .= $delete_ctrl;
}
Html::printPager($data['search']['start'], $data['data']['totalcount'], $data['search']['target'], $parameters, $data['itemtype'], 0, $search_config_top);
$search_config_top .= "</div>";
$search_config_bottom .= "</div>";
}
// Define begin and end var for loop
// Search case
$begin_display = $data['data']['begin'];
$end_display = $data['data']['end'];
// Form to massive actions
$isadmin = $data['item'] && $data['item']->canUpdate();
if (!$isadmin && InfoCom::canApplyOn($data['itemtype'])) {
$isadmin = Infocom::canUpdate() || Infocom::canCreate();
}
if ($data['itemtype'] != 'AllAssets') {
$showmassiveactions = count(MassiveAction::getAllMassiveActions($data['item'], $data['search']['is_deleted']));
} else {
$showmassiveactions = true;
}
$massformid = 'massform' . $data['itemtype'];
if ($showmassiveactions && $data['display_type'] == self::HTML_OUTPUT) {
Html::openMassiveActionsForm($massformid);
$massiveactionparams = $data['search']['massiveactionparams'];
$massiveactionparams['num_displayed'] = $end_display - $begin_display;
$massiveactionparams['fixed'] = false;
$massiveactionparams['is_deleted'] = $data['search']['is_deleted'];
$massiveactionparams['container'] = $massformid;
Html::showMassiveActions($massiveactionparams);
}
// Compute number of columns to display
// Add toview elements
$nbcols = count($data['data']['cols']);
if ($data['display_type'] == self::HTML_OUTPUT && $showmassiveactions) {
// HTML display - massive modif
$nbcols++;
//.........这里部分代码省略.........
示例2: foreach
}
break;
case "add_enterprise":
if ($_POST["itemtype"] == 'Contact') {
$contactsupplier = new Contact_Supplier();
foreach ($_POST["item"] as $key => $val) {
$input = array('suppliers_id' => $_POST['entID'], 'contacts_id' => $key);
if ($contactsupplier->can(-1, 'w', $input)) {
$contactsupplier->add($input);
}
}
}
break;
case "activate_infocoms":
$ic = new Infocom();
if ($ic->canCreate()) {
foreach ($_POST["item"] as $key => $val) {
$input = array('itemtype' => $_POST['itemtype'], 'items_id' => $key);
if (!$ic->getFromDBforDevice($_POST['itemtype'], $key)) {
$ic->add($input);
}
}
}
break;
case "change_authtype":
foreach ($_POST["item"] as $key => $val) {
if ($val == 1) {
$ids[] = $key;
}
}
User::changeAuthMethod($ids, $_POST["authtype"], $_POST["auths_id"]);
示例3: getAllMassiveActions
/**
* Get the standard massive actions
*
* @since version 0.84
*
* This must not be overloaded in Class
* @param $is_deleted massive action for deleted items ? (default 0)
* @param $checkitem link item to check right (default NULL)
*
* @return an array of massive actions
**/
function getAllMassiveActions($is_deleted = 0, $checkitem = NULL)
{
global $CFG_GLPI, $PLUGIN_HOOKS;
if (!is_null($checkitem)) {
$isadmin = $checkitem->canUpdate();
} else {
$isadmin = static::canUpdate();
}
$itemtype = $this->getType();
$actions = array();
if ($is_deleted) {
if ($isadmin) {
$actions['purge'] = _x('button', 'Delete permanently');
$actions['restore'] = _x('button', 'Restore');
}
} else {
if ($isadmin || in_array($itemtype, $CFG_GLPI["infocom_types"]) && Infocom::canUpdate()) {
//TRANS: select action 'update' (before doing it)
$actions['update'] = _x('button', 'Update');
}
if (in_array($itemtype, $CFG_GLPI["infocom_types"]) && Infocom::canCreate()) {
$actions['activate_infocoms'] = __('Enable the financial and administrative information');
}
// No delete for entities and tracking of not have right
if ($isadmin) {
// do not take into account is_deleted if items may be dynamic
if ($this->maybeDeleted() && !$this->useDeletedToLockIfDynamic()) {
$actions['delete'] = _x('button', 'Put in dustbin');
} else {
$actions['purge'] = _x('button', 'Delete permanently');
}
}
if (in_array($itemtype, $CFG_GLPI["document_types"])) {
if (Document::canView()) {
$actions['add_document'] = _x('button', 'Add a document');
$actions['remove_document'] = _x('button', 'Remove a document');
}
}
if (in_array($itemtype, $CFG_GLPI["contract_types"])) {
if (Contract::canUpdate()) {
$actions['add_contract_item'] = _x('button', 'Add a contract');
$actions['remove_contract_item'] = _x('button', 'Remove a contract');
}
}
// Specific actions
$actions += $this->getSpecificMassiveActions($checkitem);
// Plugin Specific actions
if (isset($PLUGIN_HOOKS['use_massive_action'])) {
foreach ($PLUGIN_HOOKS['use_massive_action'] as $plugin => $val) {
$plug_actions = Plugin::doOneHook($plugin, 'MassiveActions', $itemtype);
if (count($plug_actions)) {
$actions += $plug_actions;
}
}
}
}
//Add unlock if needed
$actions += Lock::getUnlockMassiveActions($itemtype);
// Manage forbidden actions
$forbidden_actions = $this->getForbiddenStandardMassiveAction();
if (is_array($forbidden_actions) && count($forbidden_actions)) {
foreach ($forbidden_actions as $actiontodel) {
if (isset($actions[$actiontodel])) {
unset($actions[$actiontodel]);
}
}
}
return $actions;
}
示例4: showList
//.........这里部分代码省略.........
}
}
$search_config = "";
if (Session::haveRight("search_config", DisplayPreference::GENERAL)) {
//|| Session::haveRight("search_config_global",CREATE)) {
// Ajax::createModalWindow('searchconfig_window',
// $CFG_GLPI['root_doc']."/ajax/searchconfig.php?itemtype=$itemtype",
// array('title' => __('Select default items to show'),
// 'width' => '1000'));
// $tmp = " class='pointer' onClick=\"searchconfig_window.show()\"";
$tmp = " class='pointer' onClick=\"var w = window.open('" . $CFG_GLPI["root_doc"] . "/front/popup.php?popup=search_config&itemtype={$itemtype}' ,'glpipopup', " . "'height=400, width=1000, top=100, left=100, scrollbars=yes'); w.focus();\"";
$search_config = "<img alt=\"" . __s('Select default items to show') . "\" title=\"" . __s('Select default items to show') . "\" src='" . $CFG_GLPI["root_doc"] . "/pics/options_search.png' ";
$search_config .= $tmp . ">";
}
Html::printPager($p['start'], $numrows, $target, $parameters, $itemtype, 0, $search_config);
}
// Define begin and end var for loop
// Search case
$begin_display = $p['start'];
$end_display = min($numrows, $p['start'] + $LIST_LIMIT);
// No search Case
if ($nosearch) {
$begin_display = 0;
$end_display = min($numrows - $p['start'], $LIST_LIMIT);
}
// Export All case
if ($p['export_all']) {
$begin_display = 0;
$end_display = $numrows;
}
// Form to massive actions
$isadmin = $item && $item->canUpdate();
if (!$isadmin && in_array($itemtype, $CFG_GLPI["infocom_types"])) {
$isadmin = Infocom::canUpdate() || Infocom::canCreate();
}
$showmassiveactions = false;
if ($itemtype != 'AllAssets') {
$showmassiveactions = count($item->getAllMassiveActions($p['is_deleted']));
if ($showmassiveactions && $output_type == self::HTML_OUTPUT) {
Html::openMassiveActionsForm('massform' . $itemtype);
$massiveactionparams = array('num_displayed' => $end_display - $begin_display, 'fixed' => false, 'is_deleted' => $p['is_deleted']);
Html::showMassiveActions($itemtype, $massiveactionparams);
}
}
// Compute number of columns to display
// Add toview elements
$nbcols = $toview_count;
$already_printed = array();
// Add meta search elements if real search (strlen>0) or only NOT search
if ($_SESSION["glpisearchcount2"][$itemtype] > 0 && is_array($p['itemtype2'])) {
for ($i = 0; $i < $_SESSION["glpisearchcount2"][$itemtype]; $i++) {
if (isset($p['itemtype2'][$i]) && !empty($p['itemtype2'][$i]) && isset($p['contains2'][$i]) && strlen($p['contains2'][$i]) > 0 && (!isset($p['link2'][$i]) || !strstr($p['link2'][$i], "NOT"))) {
if (!isset($already_printed[$p['itemtype2'][$i] . $p['field2'][$i]])) {
$nbcols++;
$already_printed[$p['itemtype2'][$i] . $p['field2'][$i]] = 1;
}
}
}
}
if ($output_type == self::HTML_OUTPUT) {
// HTML display - massive modif
$nbcols++;
}
// Display List Header
echo self::showHeader($output_type, $end_display - $begin_display + 1, $nbcols);
// New Line for Header Items Line
示例5: showForMassiveAction
/**
* Dropdown of actions for massive action
*
* @param $itemtype item type
* @param $is_deleted massive action for deleted items ?
* @param $extraparams array of extra parameters
**/
static function showForMassiveAction($itemtype, $is_deleted = 0, $extraparams = array())
{
global $LANG, $CFG_GLPI, $PLUGIN_HOOKS;
/// TODO include in CommonDBTM defining only getAdditionalMassiveAction in sub classes
/// for specific actions (return a array of action name and title)
if (!class_exists($itemtype)) {
return false;
}
if ($itemtype == 'NetworkPort') {
echo "<select name='massiveaction' id='massiveaction'>";
echo "<option value='-1' selected>" . DROPDOWN_EMPTY_VALUE . "</option>";
echo "<option value='delete'>" . $LANG['buttons'][6] . "</option>";
echo "<option value='assign_vlan'>" . $LANG['networking'][55] . "</option>";
echo "<option value='unassign_vlan'>" . $LANG['networking'][58] . "</option>";
// Interest of this massive action ?
// echo "<option value='move'>".$LANG['buttons'][20]."</option>";
echo "</select>";
$params = array('action' => '__VALUE__', 'itemtype' => $itemtype);
ajaxUpdateItemOnSelectEvent("massiveaction", "show_massiveaction", $CFG_GLPI["root_doc"] . "/ajax/dropdownMassiveActionPorts.php", $params);
echo "<span id='show_massiveaction'> </span>\n";
} else {
$item = new $itemtype();
$infocom = new Infocom();
$isadmin = $item->canUpdate();
echo "<select name='massiveaction' id='massiveaction'>";
echo "<option value='-1' selected>" . DROPDOWN_EMPTY_VALUE . "</option>";
if (!in_array($itemtype, $CFG_GLPI["massiveaction_noupdate_types"]) && ($isadmin && $itemtype != 'Ticket' || in_array($itemtype, $CFG_GLPI["infocom_types"]) && $infocom->canUpdate() || $itemtype == 'Ticket' && haveRight('update_ticket', 1))) {
echo "<option value='update'>" . $LANG['buttons'][14] . "</option>";
}
if (in_array($itemtype, $CFG_GLPI["infocom_types"]) && $infocom->canCreate()) {
echo "<option value='activate_infocoms'>" . $LANG['financial'][68] . "</option>";
}
if ($is_deleted && !in_array($itemtype, $CFG_GLPI["massiveaction_nodelete_types"])) {
if ($isadmin) {
echo "<option value='purge'>" . $LANG['buttons'][22] . "</option>";
echo "<option value='restore'>" . $LANG['buttons'][21] . "</option>";
}
} else {
// No delete for entities and tracking of not have right
if (!in_array($itemtype, $CFG_GLPI["massiveaction_nodelete_types"]) && ($isadmin && $itemtype != 'Ticket' || $itemtype == 'Ticket' && haveRight('delete_ticket', 1))) {
if ($item->maybeDeleted()) {
echo "<option value='delete'>" . $LANG['buttons'][6] . "</option>";
} else {
echo "<option value='purge'>" . $LANG['buttons'][22] . "</option>";
}
}
if ($isadmin && in_array($itemtype, array('Phone', 'Printer', 'Peripheral', 'Monitor'))) {
echo "<option value='connect'>" . $LANG['buttons'][9] . "</option>";
echo "<option value='disconnect'>" . $LANG['buttons'][10] . "</option>";
}
if (in_array($itemtype, $CFG_GLPI["document_types"])) {
$doc = new Document();
if ($doc->canView()) {
echo "<option value='add_document'>" . $LANG['document'][16] . "</option>";
}
}
if (in_array($itemtype, $CFG_GLPI["contract_types"])) {
$contract = new Contract();
if ($contract->canUpdate()) {
echo "<option value='add_contract'>" . $LANG['financial'][36] . "</option>";
}
}
if (haveRight('transfer', 'r') && isMultiEntitiesMode() && in_array($itemtype, array('CartridgeItem', 'Computer', 'ConsumableItem', 'Contact', 'Contract', 'Supplier', 'Monitor', 'NetworkEquipment', 'Peripheral', 'Phone', 'Printer', 'Software', 'SoftwareLicense', 'Ticket', 'Document', 'Group', 'Link')) && $isadmin) {
echo "<option value='add_transfer_list'>" . $LANG['buttons'][48] . "</option>";
}
switch ($itemtype) {
case 'Software':
if ($isadmin && countElementsInTable("glpi_rules", "sub_type='RuleSoftwareCategory'") > 0) {
echo "<option value='compute_software_category'>" . $LANG['rulesengine'][38] . " " . $LANG['rulesengine'][40] . "</option>";
}
if (haveRight("rule_dictionnary_software", "w") && countElementsInTable("glpi_rules", "sub_type='RuleDictionnarySoftware'") > 0) {
echo "<option value='replay_dictionnary'>" . $LANG['rulesengine'][76] . "</option>";
}
break;
case 'Computer':
if ($isadmin) {
echo "<option value='connect_to_computer'>" . $LANG['buttons'][9] . "</option>";
echo "<option value='install'>" . $LANG['buttons'][4] . "</option>";
if ($CFG_GLPI['use_ocs_mode']) {
if (haveRight("ocsng", "w") || haveRight("sync_ocsng", "w")) {
echo "<option value='force_ocsng_update'>" . $LANG['ocsng'][24] . "</option>";
}
echo "<option value='unlock_ocsng_field'>" . $LANG['buttons'][38] . " " . $LANG['Menu'][33] . " - " . $LANG['ocsng'][16] . "</option>";
echo "<option value='unlock_ocsng_monitor'>" . $LANG['buttons'][38] . " " . $LANG['Menu'][33] . " - " . $LANG['ocsng'][30] . "</option>";
echo "<option value='unlock_ocsng_peripheral'>" . $LANG['buttons'][38] . " " . $LANG['Menu'][33] . " - " . $LANG['ocsng'][32] . "</option>";
echo "<option value='unlock_ocsng_printer'>" . $LANG['buttons'][38] . " " . $LANG['Menu'][33] . " - " . $LANG['ocsng'][34] . "</option>";
echo "<option value='unlock_ocsng_software'>" . $LANG['buttons'][38] . " " . $LANG['Menu'][33] . " - " . $LANG['ocsng'][52] . "</option>";
echo "<option value='unlock_ocsng_ip'>" . $LANG['buttons'][38] . " " . $LANG['Menu'][33] . " - " . $LANG['ocsng'][50] . "</option>";
echo "<option value='unlock_ocsng_disk'>" . $LANG['buttons'][38] . " " . $LANG['Menu'][33] . " - " . $LANG['ocsng'][55] . "</option>";
}
}
break;
case 'Supplier':
//.........这里部分代码省略.........