getaipermission.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. helper::import('../../control.php');
  3. class myIm extends im {
  4. public function getAiPermission($userID = 0, $version = '', $device = 'desktop')
  5. {
  6. $user = $this->im->user->getByID($userID);
  7. $user->rights = $this->loadModel('user')->authorize($user->account);
  8. global $app;
  9. $app->user = $user;
  10. $aiChatPermission = commonModel::hasPriv('ai', 'chat');
  11. $models = $this->loadModel('ai')->getLanguageModels();
  12. $chats = array();
  13. if($models)
  14. {
  15. foreach($models as $model)
  16. {
  17. if($model->enabled == '0') continue;
  18. $chat = $this->im->chat->getByGid("$userID&ai-{$model->id}");
  19. if($chat) continue;
  20. $chat = new stdclass();
  21. $chat->gid = "$userID&ai-{$model->id}";
  22. $chat->name = empty($model->name) ? $this->lang->ai->models->typeList[$model->type] : $model->name;
  23. $chats[] = $chat;
  24. }
  25. }
  26. $output = new stdclass();
  27. $output->method = 'getaipermission';
  28. $output->result = 'success';
  29. $output->users = array($userID);
  30. $output->data = new stdclass();
  31. $output->data->hasAiChatPermission = $aiChatPermission;
  32. $output->data->hasModelsAvailable = !empty($models);
  33. $output->data->needToCreateChat = $chats;
  34. return $this->im->sendOutput($output, 'getaipermissionResponse');
  35. }
  36. }