コード例 #1
0
ファイル: api.php プロジェクト: bloveing/openulteo
 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;
 }