public function user_profile_remove($id_) { $this->check_authorized('manageServers'); if (!Preferences::moduleIsEnabled('ProfileDB')) { return false; } $profiledb = ProfileDB::getInstance(); $network_folder = $profiledb->import($id_); if (!is_object($network_folder)) { Logger::error('api', sprintf('Unable to load profile "%s"', $id_)); return false; } $sessions = Abstract_Session::getByNetworkFolder($network_folder->id); if (count($sessions) > 0) { Logger::error('api', sprintf('Unable to remove user profile "%s" because there is at least one running session using it', $id_)); return false; } $res = $profiledb->remove($network_folder->id); $server = Abstract_Server::load($network_folder->server); if ($profiledb->isInternal()) { $server->deleteNetworkFolder($network_folder->id, true); } if (!$res) { return false; } $this->log_action('user_profile_remove', array('id' => $id_, 'server_id' => $server->id, 'server_name' => $server->getDisplayName())); return true; }