Пример #1
0
 /**
  * Creates a support ticket for a tool
  *
  * @param      integer $toolid Tool ID
  * @param      array   $tool   Array of tool info
  * @return     mixed False if errors, integer on success
  */
 private function _createTicket($toolid, $tool)
 {
     $row = new \Components\Support\Models\Ticket();
     $row->set('open', 1);
     $row->set('status', 0);
     $row->set('created', Date::toSql());
     $row->set('login', User::get('username'));
     $row->set('severity', 'normal');
     $row->set('summary', Lang::txt('COM_TOOLS_NEW_TOOL_SUBMISSION') . ': ' . $tool['toolname']);
     $row->set('report', $tool['toolname']);
     $row->set('section', 2);
     $row->set('type', 3);
     // Attach tool group to a ticket for access
     $row->set('group', $this->config->get('group_prefix', 'app-') . $tool['toolname']);
     $row->set('email', User::get('email'));
     $row->set('name', User::get('name'));
     if (!$row->store()) {
         $this->setError($row->getError());
         return false;
     } else {
         if ($row->exists()) {
             // save tag
             $row->tag('tool:' . $tool['toolname'], User::get('id'));
             // store ticket id
             $obj = new \Components\Tools\Tables\Tool($this->database);
             $obj->saveTicketId($toolid, $row->get('id'));
             // make a record
             $this->_updateTicket($toolid, '', '', Lang::txt('COM_TOOLS_NOTICE_TOOL_REGISTERED'), 0, 1, 4, $tool);
         }
     }
     return $row->get('id');
 }