public function save() { if ($this->isOAuthAuthenticate() && array_key_exists(self::IS_GOOGLE_CALENDAR_OAUTH_KEY_REVOKE, $this->values)) { $isDelete = (bool) $this->values[self::IS_GOOGLE_CALENDAR_OAUTH_KEY_REVOKE]; unset($this->values[self::IS_GOOGLE_CALENDAR_OAUTH_KEY_REVOKE]); if ($isDelete) { $con = opDoctrineQuery::getMasterConnection(); $con->beginTransaction(); try { $this->opCalendarOAuth->getClient()->revokeToken(); opCalendarPluginToolkit::deleteMemberGoogleCalendar($this->member); $con->commit(); } catch (Exception $e) { $con->rollback(); return false; } } } return parent::save(); }