/**
  * Updates this help item.
  * 
  * @param 	string		$name
  * @param 	string		$text
  * @param 	string		$parentItem
  * @param 	string		$refererPattern
  * @param 	integer		$showOrder
  * @param 	boolean		$isDisabled
  * @param	integer		$languageID
  * @param	integer		$packageID
  */
 public function update($name, $text = '', $parentItem = '', $refererPattern = '', $showOrder = 0, $isDisabled = 0, $languageID = 0, $packageID = PACKAGE_ID)
 {
     if ($parentItem == $this->helpItem) {
         $parentItem = $this->parentHelpItem;
     }
     // update show order
     if ($parentItem == $this->parentHelpItem) {
         if ($this->showOrder != $showOrder) {
             if ($showOrder < $this->showOrder) {
                 $sql = "UPDATE\twcf" . WCF_N . "_help_item\n\t\t\t\t\t\tSET \tshowOrder = showOrder + 1\n\t\t\t\t\t\tWHERE \tshowOrder >= " . $showOrder . "\n\t\t\t\t\t\t\tAND showOrder < " . $this->showOrder . "\n\t\t\t\t\t\t\tAND parentHelpItem = '" . escapeString($parentItem) . "'";
                 WCF::getDB()->sendQuery($sql);
             } else {
                 if ($showOrder > $this->showOrder) {
                     $sql = "UPDATE\twcf" . WCF_N . "_help_item\n\t\t\t\t\t\tSET\tshowOrder = showOrder - 1\n\t\t\t\t\t\tWHERE\tshowOrder <= " . $showOrder . "\n\t\t\t\t\t\t\tAND showOrder > " . $this->showOrder . "\n\t\t\t\t\t\t\tAND parentHelpItem = '" . escapeString($parentItem) . "'";
                     WCF::getDB()->sendQuery($sql);
                 }
             }
         }
     } else {
         $sql = "UPDATE\twcf" . WCF_N . "_help_item\n\t\t\t\tSET \tshowOrder = showOrder - 1\n\t\t\t\tWHERE \tshowOrder >= " . $this->showOrder . "\n\t\t\t\t\tAND parentHelpItem = '" . escapeString($this->parentHelpItem) . "'";
         WCF::getDB()->sendQuery($sql);
         $sql = "UPDATE \twcf" . WCF_N . "_help_item\n\t\t\t\tSET \tshowOrder = showOrder + 1\n\t\t\t\tWHERE \tshowOrder >= " . $showOrder . "\n\t\t\t\t\tAND parentHelpItem = '" . escapeString($parentItem) . "'";
         WCF::getDB()->sendQuery($sql);
     }
     // Update
     $sql = "UPDATE\twcf" . WCF_N . "_help_item\n\t\t\tSET\t" . ($languageID == 0 ? "helpItem = '" . escapeString($name) . "'," : '') . "\n\t\t\t\tparentHelpItem = '" . escapeString($parentItem) . "',\n\t\t\t\trefererPattern = '" . escapeString($refererPattern) . "',\n\t\t\t\tshowOrder = " . $showOrder . ",\n\t\t\t\tisDisabled = " . $isDisabled . "\n\t\t\tWHERE \thelpItemID = " . $this->helpItemID . ";";
     WCF::getDB()->sendQuery($sql);
     if ($languageID != 0) {
         // save language variables
         $language = new LanguageEditor($languageID);
         $language->updateItems(array('wcf.help.item.' . $this->helpItem => $name, 'wcf.help.item.' . $this->helpItem . '.description' => $text), 0, $this->packageID, array('wcf.help.item.' . $this->helpItem => 1, 'wcf.help.item.' . $this->helpItem . '.description' => 1));
         LanguageEditor::deleteLanguageFiles($languageID, 'wcf.help.item');
         $language->deleteCompiledTemplates();
     }
 }