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


PHP Rule::getUuid方法代码示例

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


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

示例1: getRecursiveAttached

 /**
  * Private function : Recursivly get attached documents
  *
  * @param $mid          message id
  * @param $path         temporary path
  * @param $maxsize      of document to be retrieved
  * @param $structure    of the message or part
  * @param $part         part for recursive
  *
  * Result is stored in $this->files
  **/
 function getRecursiveAttached($mid, $path, $maxsize, $structure, $part = "")
 {
     if ($structure->type == 1) {
         // multipart
         reset($structure->parts);
         while (list($index, $sub) = each($structure->parts)) {
             $this->getRecursiveAttached($mid, $path, $maxsize, $sub, $part ? $part . "." . ($index + 1) : $index + 1);
         }
     } else {
         $filename = '';
         if ($structure->ifdparameters) {
             // get filename of attachment if present
             // if there are any dparameters present in this part
             if (count($structure->dparameters) > 0) {
                 foreach ($structure->dparameters as $dparam) {
                     if (Toolbox::strtoupper($dparam->attribute) == 'NAME' || Toolbox::strtoupper($dparam->attribute) == 'FILENAME') {
                         $filename = $dparam->value;
                     }
                 }
             }
         }
         //if no filename found
         if (empty($filename) && $structure->ifparameters) {
             // if there are any parameters present in this part
             if (count($structure->parameters) > 0) {
                 foreach ($structure->parameters as $param) {
                     if (Toolbox::strtoupper($param->attribute) == 'NAME' || Toolbox::strtoupper($param->attribute) == 'FILENAME') {
                         $filename = $param->value;
                     }
                 }
             }
         }
         if (empty($filename) && $structure->type == 5 && $structure->subtype) {
             // Embeded image come without filename - generate trivial one
             $filename = "image_{$part}." . $structure->subtype;
         }
         // if no filename found, ignore this part
         if (empty($filename)) {
             return false;
         }
         //try to avoid conflict between inline image and attachment
         $i = 2;
         while (in_array($filename, $this->files)) {
             //replace filename with name_(num).EXT by name_(num+1).EXT
             $new_filename = preg_replace("/(.*)_([0-9])*(\\.[a-zA-Z0-9]*)\$/", "\$1_" . $i . "\$3", $filename);
             if ($new_filename !== $filename) {
                 $filename = $new_filename;
             } else {
                 //the previous regex didn't found _num pattern, so add it with this one
                 $filename = preg_replace("/(.*)(\\.[a-zA-Z0-9]*)\$/", "\$1_" . $i . "\$2", $filename);
             }
             $i++;
         }
         $filename = $this->decodeMimeString($filename);
         if ($structure->bytes > $maxsize) {
             $this->addtobody .= "\n\n" . sprintf(__('%1$s: %2$s'), __('Too large attached file'), sprintf(__('%1$s (%2$s)'), $filename, Toolbox::getSize($structure->bytes)));
             return false;
         }
         if (!Document::isValidDoc($filename)) {
             //TRANS: %1$s is the filename and %2$s its mime type
             $this->addtobody .= "\n\n" . sprintf(__('%1$s: %2$s'), __('Invalid attached file'), sprintf(__('%1$s (%2$s)'), $filename, $this->get_mime_type($structure)));
             return false;
         }
         if ($message = imap_fetchbody($this->marubox, $mid, $part)) {
             switch ($structure->encoding) {
                 case 1:
                     $message = imap_8bit($message);
                     break;
                 case 2:
                     $message = imap_binary($message);
                     break;
                 case 3:
                     $message = imap_base64($message);
                     break;
                 case 4:
                     $message = quoted_printable_decode($message);
                     break;
             }
             if (file_put_contents($path . $filename, $message)) {
                 $this->files[$filename] = $filename;
                 // If embeded image, we add a tag
                 if ($structure->type == 5 && $structure->subtype) {
                     end($this->files);
                     $tag = Rule::getUuid();
                     $this->tags[$filename] = $tag;
                     // Link file based on id
                     if (isset($structure->id)) {
                         $clean = array('<' => '', '>' => '');
                         $this->altfiles[strtr($structure->id, $clean)] = $filename;
//.........这里部分代码省略.........
开发者ID:remicollet,项目名称:glpi,代码行数:101,代码来源:mailcollector.class.php

示例2: update084to085


//.........这里部分代码省略.........
    $migration->dropTable('glpi_rulecacheprinters');
    $migration->dropTable('glpi_rulecacheprintertypes');
    $migration->dropTable('glpi_rulecachesoftwares');
    $migration->displayMessage(sprintf(__('Data migration - %s'), 'glpi_rules'));
    $migration->addField("glpi_rules", 'uuid', "string");
    $migration->addField("glpi_slalevels", 'uuid', "string");
    $migration->migrationOneTable('glpi_rules');
    $migration->migrationOneTable('glpi_slalevels');
    // Dropdown translations
    $migration->displayMessage(sprintf(__('Data migration - %s'), 'glpi_knowbaseitemtranslations'));
    Config::setConfigurationValues('core', array('translate_kb' => 0));
    if (!TableExists("glpi_knowbaseitemtranslations")) {
        $query = "CREATE TABLE IF NOT EXISTS `glpi_knowbaseitemtranslations` (\n                  `id` int(11) NOT NULL AUTO_INCREMENT,\n                  `knowbaseitems_id` int(11) NOT NULL DEFAULT '0',\n                  `language` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,\n                  `name` text COLLATE utf8_unicode_ci,\n                  `answer` longtext COLLATE utf8_unicode_ci,\n                  PRIMARY KEY (`id`),\n                  KEY `item` (`knowbaseitems_id`, `language`),\n                  FULLTEXT KEY `fulltext` (`name`,`answer`)\n                ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;";
        $DB->queryOrDie($query, "0.85 add table glpi_knowbaseitemtranslations");
    }
    // kb translations
    $migration->displayMessage(sprintf(__('Data migration - %s'), 'glpi_dropdowntranslations'));
    Config::setConfigurationValues('core', array('translate_dropdowns' => 0));
    if (!TableExists("glpi_dropdowntranslations")) {
        $query = "CREATE TABLE IF NOT EXISTS `glpi_dropdowntranslations` (\n                  `id` int(11) NOT NULL AUTO_INCREMENT,\n                  `items_id` int(11) NOT NULL DEFAULT '0',\n                  `itemtype` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,\n                  `language` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,\n                  `field` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,\n                  `value` text COLLATE utf8_unicode_ci,\n                  PRIMARY KEY (`id`),\n                  UNIQUE KEY `unicity` (`itemtype`,`items_id`,`language`,`field`),\n                  KEY `typeid` (`itemtype`,`items_id`),\n                  KEY `language` (`language`),\n                  KEY `field` (`field`)\n                ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;";
        $DB->queryOrDie($query, "0.85 add table glpi_dropdowntranslations");
    }
    //generate uuid for the basic rules of glpi
    // we use a complete sql where for cover all migration case (0.78 -> 0.85)
    $rules = array(array('sub_type' => 'RuleImportEntity', 'name' => 'Root', 'match' => 'AND', 'description' => ''), array('sub_type' => 'RuleRight', 'name' => 'Root', 'match' => 'AND', 'description' => ''), array('sub_type' => 'RuleMailCollector', 'name' => 'Root', 'match' => 'AND', 'description' => ''), array('sub_type' => 'RuleMailCollector', 'name' => 'Auto-Reply X-Auto-Response-Suppress', 'match' => 'AND', 'description' => 'Exclude Auto-Reply emails using X-Auto-Response-Suppress header'), array('sub_type' => 'RuleMailCollector', 'name' => 'Auto-Reply Auto-Submitted', 'match' => 'AND', 'description' => 'Exclude Auto-Reply emails using Auto-Submitted header'), array('sub_type' => 'RuleTicket', 'name' => 'Ticket location from item', 'match' => 'AND', 'description' => ''), array('sub_type' => 'RuleTicket', 'name' => 'Ticket location from user', 'match' => 'AND', 'description' => ''));
    $i = 0;
    foreach ($rules as $rule) {
        $query = "UPDATE `glpi_rules`\n                 SET `uuid` = 'STATIC-UUID-{$i}'\n                 WHERE `entities_id` = 0\n                       AND `is_recursive` = 0\n                       AND `sub_type` = '" . $rule['sub_type'] . "'\n                       AND `name` = '" . $rule['name'] . "'\n                       AND `description` = '" . $rule['description'] . "'\n                       AND `match` = '" . $rule['match'] . "'\n                 ORDER BY id ASC\n                 LIMIT 1";
        $DB->queryOrDie($query, "0.85 add uuid to basic rules (STATIC-UUID-{$i})");
        $i++;
    }
    //generate uuid for the rules of user
    foreach ($DB->request('glpi_rules', array('uuid' => NULL)) as $data) {
        $uuid = Rule::getUuid();
        $query = "UPDATE `glpi_rules`\n                SET `uuid` = '{$uuid}'\n                WHERE `id` = '" . $data['id'] . "'";
        $DB->queryOrDie($query, "0.85 add uuid to existing rules");
    }
    foreach ($DB->request('glpi_slalevels', array('uuid' => NULL)) as $data) {
        $uuid = Rule::getUuid();
        $query = "UPDATE `glpi_slalevels`\n                SET `uuid` = '{$uuid}'\n                WHERE `id` = '" . $data['id'] . "'";
        $DB->queryOrDie($query, "0.85 add uuid to existing slalevels");
    }
    $migration->addField('glpi_users', 'is_deleted_ldap', 'bool');
    $migration->addKey('glpi_users', 'is_deleted_ldap');
    Config::deleteConfigurationValues('core', array('use_ajax'));
    Config::deleteConfigurationValues('core', array('ajax_min_textsearch_load'));
    Config::deleteConfigurationValues('core', array('ajax_buffertime_load'));
    Config::deleteConfigurationValues('core', array('is_categorized_soft_expanded'));
    Config::deleteConfigurationValues('core', array('is_not_categorized_soft_expanded'));
    $migration->dropField("glpi_users", 'is_categorized_soft_expanded');
    $migration->dropField("glpi_users", 'is_not_categorized_soft_expanded');
    // Config::setConfigurationValues('core', array('use_unicodefont' => 0));
    // $migration->addField("glpi_users", 'use_unicodefont', "int(11) DEFAULT NULL");
    Config::deleteConfigurationValues('core', array('use_unicodefont'));
    $migration->dropField("glpi_users", 'use_unicodefont');
    Config::setConfigurationValues('core', array('pdffont' => 'helvetica'));
    $migration->addField("glpi_users", 'pdffont', "string");
    $migration->addField("glpi_users", 'picture', "string");
    $migration->addField("glpi_authldaps", 'picture_field', 'string');
    $migration->addField('glpi_links', 'open_window', 'bool', array('value' => 1));
    $migration->displayMessage(sprintf(__('Data migration - %s'), 'glpi_states'));
    foreach (array('is_visible_computer', 'is_visible_monitor', 'is_visible_networkequipment', 'is_visible_peripheral', 'is_visible_phone', 'is_visible_printer', 'is_visible_softwareversion') as $field) {
        $migration->addField('glpi_states', $field, 'bool', array('value' => '1'));
        $migration->addKey('glpi_states', $field);
    }
    // glpi_domains by entity
开发者ID:remicollet,项目名称:glpi,代码行数:67,代码来源:update_084_085.php

示例3: exportPackage

 /**
  * Used to export package
  *
  */
 function exportPackage($packages_id)
 {
     $this->getFromDB($packages_id);
     if (empty($this->fields['uuid'])) {
         $input = array('id' => $this->fields['id'], 'uuid' => Rule::getUuid());
         $this->update($input);
     }
     $pfDeployOrder = new PluginFusioninventoryDeployOrder();
     $pfDeployFile = new PluginFusioninventoryDeployFile();
     // Generate JSON
     $a_xml = array();
     $input = $this->fields;
     unset($input['id']);
     $a_xml['package'] = $input;
     $a_xml['orders'] = array();
     $a_xml['files'] = array();
     $a_xml['manifests'] = array();
     $a_xml['repository'] = array();
     $a_files = array();
     $a_data = $pfDeployOrder->find("`plugin_fusioninventory_deploypackages_id`='" . $this->fields['id'] . "'");
     foreach ($a_data as $data) {
         unset($data['id']);
         unset($data['plugin_fusioninventory_deploypackages_id']);
         $a_xml['orders'][] = $data;
         $json = json_decode($data['json'], true);
         $a_files = array_merge($a_files, $json['associatedFiles']);
     }
     // Add files
     foreach ($a_files as $files_id => $data) {
         $a_pkgfiles = current($pfDeployFile->find("`sha512`='" . $files_id . "'", '', 1));
         if (count($a_pkgfiles) > 0) {
             unset($a_pkgfiles['id']);
             $a_xml['files'][] = $a_pkgfiles;
         }
     }
     // Create zip with JSON and files
     $name = preg_replace("/[^a-zA-Z0-9]/", '', $this->fields['name']);
     $filename = GLPI_PLUGIN_DOC_DIR . "/fusioninventory/files/export/" . $this->fields['uuid'] . "." . $name . ".zip";
     if (file_exists($filename)) {
         unlink($filename);
     }
     $zip = new ZipArchive();
     if ($zip->open($filename) == TRUE) {
         if ($zip->open($filename, ZipArchive::CREATE) == TRUE) {
             $zip->addEmptyDir('files');
             $zip->addEmptyDir('files/manifests');
             $zip->addEmptyDir('files/repository');
             foreach ($a_files as $hash => $data) {
                 $sha512 = file_get_contents(GLPI_PLUGIN_DOC_DIR . "/fusioninventory/files/manifests/" . $hash);
                 $sha512 = trim($sha512);
                 $zip->addFile(GLPI_PLUGIN_DOC_DIR . "/fusioninventory/files/manifests/" . $hash, "files/manifests/" . $hash);
                 $a_xml['manifests'][] = $hash;
                 $file = PluginFusioninventoryDeployFile::getDirBySha512($sha512) . "/" . $sha512;
                 $zip->addFile(GLPI_PLUGIN_DOC_DIR . "/fusioninventory/files/repository/" . $file, "files/repository/" . $file);
                 $a_xml['repository'][] = $file;
             }
             $json_string = json_encode($a_xml);
             $zip->addFromString('information.json', $json_string);
         }
         $zip->close();
         Session::addMessageAfterRedirect(__("Package exported in", "fusioninventory") . " " . GLPI_PLUGIN_DOC_DIR . "/fusioninventory/files/export/" . $this->fields['uuid'] . "." . $name . ".zip");
     }
 }
开发者ID:paisdelconocimiento,项目名称:glpi-smartcities,代码行数:67,代码来源:deploypackage.class.php

示例4: prepareInputForAdd

 /**
  * @see CommonDBTM::prepareInputForAdd()
  **/
 function prepareInputForAdd($input)
 {
     global $CFG_GLPI, $DB;
     // security (don't accept filename from $_POST)
     unset($input['filename']);
     if ($uid = Session::getLoginUserID()) {
         $input["users_id"] = Session::getLoginUserID();
     }
     // Create a doc only selecting a file from a item form
     $create_from_item = false;
     if (isset($input["items_id"]) && isset($input["itemtype"]) && ($item = getItemForItemtype($input["itemtype"])) && $input["items_id"] > 0) {
         $typename = $item->getTypeName(1);
         $name = NOT_AVAILABLE;
         if ($item->getFromDB($input["items_id"])) {
             $name = $item->getNameID();
         }
         //TRANS: %1$s is Document, %2$s is item type, %3$s is item name
         $input["name"] = addslashes(Html::resume_text(sprintf(__('%1$s: %2$s'), __('Document'), sprintf(__('%1$s - %2$s'), $typename, $name)), 200));
         $create_from_item = true;
     }
     $upload_ok = false;
     if (isset($input["_filename"]) && !empty($input["_filename"]) == 1) {
         $upload_ok = $this->moveDocument($input, stripslashes(array_shift($input["_filename"])));
     } else {
         if (isset($input["upload_file"]) && !empty($input["upload_file"])) {
             // Move doc from upload dir
             $upload_ok = $this->moveUploadedDocument($input, $input["upload_file"]);
         }
     }
     // Tag
     if (isset($input["_tag_filename"]) && !empty($input["_tag_filename"]) == 1) {
         $input['tag'] = array_shift($input["_tag_filename"]);
     }
     if (!isset($input["tag"]) || empty($input["tag"])) {
         $input['tag'] = Rule::getUuid();
     }
     // Upload failed : do not create document
     if ($create_from_item && !$upload_ok) {
         return false;
     }
     // Default document name
     if ((!isset($input['name']) || empty($input['name'])) && isset($input['filename'])) {
         $input['name'] = $input['filename'];
     }
     unset($input["upload_file"]);
     // Don't add if no file
     if (isset($input["_only_if_upload_succeed"]) && $input["_only_if_upload_succeed"] && (!isset($input['filename']) || empty($input['filename']))) {
         return false;
     }
     // Set default category for document linked to tickets
     if (isset($input['itemtype']) && $input['itemtype'] == 'Ticket' && (!isset($input['documentcategories_id']) || $input['documentcategories_id'] == 0)) {
         $input['documentcategories_id'] = $CFG_GLPI["documentcategories_id_forticket"];
     }
     /* Unicity check
        if (isset($input['sha1sum'])) {
           // Check if already upload in the current entity
           $crit = array('sha1sum'=>$input['sha1sum'],
                         'entities_id'=>$input['entities_id']);
           foreach ($DB->request($this->getTable(), $crit) as $data) {
              $link=$this->getFormURL();
              Session::addMessageAfterRedirect(__('"A document with that filename has already been attached to another record.').
                 "&nbsp;: <a href=\"".$link."?id=".
                       $data['id']."\">".$data['name']."</a>",
                 false, ERROR, true);
              return false;
           }
        } */
     return $input;
 }
开发者ID:paisdelconocimiento,项目名称:glpi-smartcities,代码行数:72,代码来源:document.class.php

示例5: duplicateRule

 /**
  * Duplicate a rule
  *
  * @param $ID        of the rule to duplicate
  *
  * @since version 0.85
  *
  * @return true if all ok
  **/
 function duplicateRule($ID)
 {
     //duplicate rule
     $rulecollection = new self();
     $rulecollection->getFromDB($ID);
     //get ranking
     $ruletype = $rulecollection->fields['sub_type'];
     $rule = new $ruletype();
     $nextRanking = $rule->getNextRanking();
     //Update fields of the new duplicate
     $rulecollection->fields['name'] = sprintf(__('Copy of %s'), $rulecollection->fields['name']);
     $rulecollection->fields['is_active'] = 0;
     $rulecollection->fields['ranking'] = $nextRanking;
     $rulecollection->fields['uuid'] = Rule::getUuid();
     unset($rulecollection->fields['id']);
     //add new duplicate
     $newID = $rulecollection->add($rulecollection->fields);
     $rule = $rulecollection->getRuleClass();
     if (!$newID) {
         return false;
     }
     //find and duplicate actions
     $ruleaction = new RuleAction(get_class($rule));
     $actions = $ruleaction->find("`rules_id` = '{$ID}'");
     foreach ($actions as $action) {
         $action['rules_id'] = $newID;
         unset($action['id']);
         if (!$ruleaction->add($action)) {
             return false;
         }
     }
     //find and duplicate criterias
     $rulecritera = new RuleCriteria(get_class($rule));
     $criteria = $rulecritera->find("`rules_id` = '{$ID}'");
     foreach ($criteria as $criterion) {
         $criterion['rules_id'] = $newID;
         unset($criterion['id']);
         if (!$rulecritera->add($criterion)) {
             return false;
         }
     }
     return true;
 }
开发者ID:paisdelconocimiento,项目名称:glpi-smartcities,代码行数:52,代码来源:rulecollection.class.php

示例6: header

GLPI is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

GLPI is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
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
* @since version 0.85
*/
$AJAX_INCLUDE = 1;
include '../inc/includes.php';
header('Content-type: application/json');
Html::header_nocache();
Session::checkLoginUser();
if (isset($_POST['data'])) {
    foreach ($_POST['data'] as $key => $values) {
        $unique_name = Rule::getUuid();
        $response[$key] = array('tag' => Document::getImageTag($unique_name), 'name' => $unique_name);
    }
    echo json_encode($response);
}
开发者ID:paisdelconocimiento,项目名称:glpi-smartcities,代码行数:30,代码来源:getFileTag.php


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