Loading lib/AppInfo/Application.php +36 −39 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ use OCA\Calendar\Events\BeforeAppointmentBookedEvent; use OCA\Calendar\Listener\AppointmentBookedListener; use OCA\Calendar\Listener\CalendarReferenceListener; use OCA\Calendar\Listener\UserDeletedListener; use OCA\Calendar\Middleware\InvitationMiddleware; use OCA\Calendar\Notification\Notifier; use OCA\Calendar\Profile\AppointmentsAction; use OCA\Calendar\Reference\ReferenceProvider; Loading @@ -19,27 +20,23 @@ use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; use OCP\AppFramework\Bootstrap\IRegistrationContext; use OCP\Calendar\IManager; use OCP\Collaboration\Reference\RenderReferenceEvent; use OCP\Defaults; use OCP\IConfig; use OCP\IDBConnection; use OCP\IL10N; use OCP\ILogger; use OCP\IRequest; use OCP\IUserManager; use OCP\L10N\IFactory as L10NFactory; use OCP\Mail\IMailer; use OCP\ServerVersion; use OCP\User\Events\UserDeletedEvent; use OCP\Util; use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; use function method_exists; use OCA\Calendar\Middleware\InvitationMiddleware; use OCP\IRequest; use OCP\IConfig; use \OCP\IDBConnection; use \OC\Core\Application as CoreApplication; use OCP\Http\Client\IResponse; use OCP\Calendar\IManager; use OCP\Mail\IMailer; use OCP\IL10N; use OCP\L10N\IFactory as L10NFactory; use OCP\Defaults; use OCP\ILogger; use OCP\IUserManager; class Application extends App implements IBootstrap { /** @var string */ Loading lib/Controller/InvitationMaybeController.php +6 −6 Original line number Diff line number Diff line Loading @@ -74,8 +74,8 @@ class InvitationMaybeController extends Controller { * @param string|null $comment * @return Message */ private function buildITipResponse(array $row, string $partStat, int $guests = null, string $comment = null):Message { private function buildITipResponse(array $row, string $partStat, ?int $guests = null, ?string $comment = null):Message { $iTipMessage = new Message(); $iTipMessage->uid = $row['uid']; $iTipMessage->component = 'VEVENT'; Loading lib/Middleware/InvitationMiddleware.php +68 −70 Original line number Diff line number Diff line Loading @@ -2,25 +2,23 @@ namespace OCA\Calendar\Middleware; use OCP\AppFramework\Middleware; use OCA\Calendar\Controller\InvitationMaybeController; use OCA\Dav\Controller\InvitationResponseController; use OCP\IDBConnection; use OCP\IConfig; use OCP\IRequest; use OCP\AppFramework\Http\Response; use OCP\AppFramework\Middleware; use OCP\Calendar\IManager; use Sabre\VObject\Reader; use OCP\Defaults; use OCP\Mail\IMailer; use OCP\IConfig; use OCP\IDBConnection; use OCP\IL10N; use OCP\ILogger; use OCP\IRequest; use OCP\IUserManager; use OCP\IUser; use OCP\L10N\IFactory; use OCP\Mail\IMailer; use Sabre\VObject\Reader; class InvitationMiddleware extends Middleware { class InvitationMiddleware extends Middleware { private $request; /** @var IManager */ private $calendarManager; Loading @@ -35,7 +33,7 @@ class InvitationMiddleware extends Middleware Defaults $defaults, ILogger $logger, IUserManager $iusermanager, IFactory $languageFactory IFactory $languageFactory, ) { $this->request = $request; $this->config = $config; Loading @@ -52,55 +50,55 @@ class InvitationMiddleware extends Middleware public function afterController( $controller, $methodName, Response $response Response $response, ) { if ( ($controller instanceof InvitationMaybeController && $methodName === "tentative") || $methodName === 'tentative') || ($controller instanceof InvitationResponseController && ($methodName === "accept" || $methodName === "decline") && ($methodName === 'accept' || $methodName === 'decline') && $response->getStatus() == 200 && $response->getTemplateName() == "schedule-response-success") $response->getTemplateName() == 'schedule-response-success') ) { $token = $this->request->getParam("token"); $token = $this->request->getParam('token'); $query = $this->db->getQueryBuilder(); $query ->select("*") ->from("calendar_invitations") ->select('*') ->from('calendar_invitations') ->where( $query ->expr() ->eq("token", $query->createNamedParameter($token)) ->eq('token', $query->createNamedParameter($token)) ); $stmt = $query->execute(); $row = $stmt->fetch(\PDO::FETCH_ASSOC); $uid = $row["uid"]; $sender = substr($row["attendee"], 7); $recipient = substr($row["organizer"], 7); $uid = $row['uid']; $sender = substr($row['attendee'], 7); $recipient = substr($row['organizer'], 7); $query2 = $this->db->getQueryBuilder(); $query2 ->select("*") ->from("calendarobjects") ->select('*') ->from('calendarobjects') ->where( $query ->expr() ->eq("uid", $query2->createNamedParameter($uid)) ->eq('uid', $query2->createNamedParameter($uid)) ); $stmt2 = $query2->execute(); $row2 = $stmt2->fetch(\PDO::FETCH_ASSOC); $calendarobjectid = $row2["id"]; $calendarobjectid = $row2['id']; $query3 = $this->db->getQueryBuilder(); $query3 ->select("*") ->from("calendarobjects_props") ->select('*') ->from('calendarobjects_props') ->where( $query3 ->expr() ->eq( "objectid", 'objectid', $query3->createNamedParameter($calendarobjectid) ) ); Loading @@ -108,33 +106,33 @@ class InvitationMiddleware extends Middleware $row3 = $stmt3->fetchAll(\PDO::FETCH_ASSOC); foreach ($row3 as $calendarobj1) { if ( $calendarobj1["parameter"] == "CN" && $calendarobj1["name"] == "ATTENDEE" $calendarobj1['parameter'] == 'CN' && $calendarobj1['name'] == 'ATTENDEE' ) { $attendeename = $calendarobj1["value"]; $attendeename = $calendarobj1['value']; } if ( $calendarobj1["parameter"] == "CN" && $calendarobj1["name"] == "ORGANIZER" $calendarobj1['parameter'] == 'CN' && $calendarobj1['name'] == 'ORGANIZER' ) { $organizername = $calendarobj1["value"]; $organizername = $calendarobj1['value']; } } $vObject = Reader::read($row2["calendardata"]); $vObject = Reader::read($row2['calendardata']); $SUMMARY = $vObject->VEVENT->SUMMARY; $datestart = (string)$vObject->VEVENT->DTSTART; if (str_contains($datestart, "T")) { $eventdate = date("F d, Y h:i", strtotime($datestart)); if (str_contains($datestart, 'T')) { $eventdate = date('F d, Y h:i', strtotime($datestart)); } else { $eventdate = date("F d, Y", strtotime($datestart)); $eventdate = date('F d, Y', strtotime($datestart)); } if ($attendeename == "") { if ($attendeename == '') { $attendeename = $sender; } if ($organizername == "") { if ($organizername == '') { $organizername = $recipient; } Loading @@ -142,68 +140,68 @@ class InvitationMiddleware extends Middleware $username = $userdata[0]->getUID(); $userlang = $this->languageFactory->getUserLanguage($userdata[0]); if ($methodName === "tentative") { $meetingTitle = $this->l10n->t("Invitation Tentatively Accepted: %s", [$SUMMARY] ); if ($methodName === 'tentative') { $meetingTitle = $this->l10n->t('Invitation Tentatively Accepted: %s', [$SUMMARY]); $data = [ "attendee_name" => (string) $sender ?: $defaultVal, "invitee_name" => (string) $recipient ?: $defaultVal, "meeting_title" => (string) $meetingTitle ?: $defaultVal, 'attendee_name' => (string)$sender ?: $defaultVal, 'invitee_name' => (string)$recipient ?: $defaultVal, 'meeting_title' => (string)$meetingTitle ?: $defaultVal, ]; $method = "reply"; $method = 'reply'; $emailTemplate = $this->mailer->createEMailTemplate( "dav.calendarInvite." . $method, 'dav.calendarInvite.' . $method, $data ); $emailTemplate->setSubject($this->l10n->t("Invitation Tentatively Accepted: %s",[$SUMMARY])); $emailTemplate->setSubject($this->l10n->t('Invitation Tentatively Accepted: %s', [$SUMMARY])); $emailTemplate->addHeader(); $emailTemplate->addHeading( $this->l10n->t("Tentatively Accepted") $this->l10n->t('Tentatively Accepted') ); $mailbodytext = $this->l10n->t( "%s has tentatively accepted your invitation to %s on %s", '%s has tentatively accepted your invitation to %s on %s', [$attendeename, $SUMMARY, $eventdate] ); } if ($methodName === "accept") { $meetingTitle = $this->l10n->t("Invitation Accepted: %s", [$SUMMARY]); if ($methodName === 'accept') { $meetingTitle = $this->l10n->t('Invitation Accepted: %s', [$SUMMARY]); $data = [ "attendee_name" => (string) $sender ?: $defaultVal, "invitee_name" => (string) $recipient ?: $defaultVal, "meeting_title" => (string) $meetingTitle ?: $defaultVal, 'attendee_name' => (string)$sender ?: $defaultVal, 'invitee_name' => (string)$recipient ?: $defaultVal, 'meeting_title' => (string)$meetingTitle ?: $defaultVal, ]; $method = "reply"; $method = 'reply'; $emailTemplate = $this->mailer->createEMailTemplate( $recipient, $data ); $emailTemplate->setSubject($this->l10n->t("Invitation Accepted: %s", [$SUMMARY])); $emailTemplate->setSubject($this->l10n->t('Invitation Accepted: %s', [$SUMMARY])); $emailTemplate->addHeader(); $emailTemplate->addHeading($this->l10n->t("Accepted")); $emailTemplate->addHeading($this->l10n->t('Accepted')); $mailbodytext = $this->l10n->t( "%s has accepted your invitation to %s on %s", '%s has accepted your invitation to %s on %s', [$attendeename, $SUMMARY, $eventdate] ); } if ($methodName === "decline") { $meetingTitle = $this->l10n->t("Invitation Declined: %s", [$SUMMARY]); if ($methodName === 'decline') { $meetingTitle = $this->l10n->t('Invitation Declined: %s', [$SUMMARY]); $data = [ "attendee_name" => (string) $sender ?: $defaultVal, "invitee_name" => (string) $recipient ?: $defaultVal, "meeting_title" => (string) $meetingTitle ?: $defaultVal, 'attendee_name' => (string)$sender ?: $defaultVal, 'invitee_name' => (string)$recipient ?: $defaultVal, 'meeting_title' => (string)$meetingTitle ?: $defaultVal, ]; $method = "reply"; $method = 'reply'; $emailTemplate = $this->mailer->createEMailTemplate( "dav.calendarInvite." . $method, 'dav.calendarInvite.' . $method, $data ); $emailTemplate->setSubject($this->l10n->t("Invitation Declined: %s", [$SUMMARY])); $emailTemplate->setSubject($this->l10n->t('Invitation Declined: %s', [$SUMMARY])); $emailTemplate->addHeader(); $emailTemplate->addHeading($this->l10n->t("Declined")); $emailTemplate->addHeading($this->l10n->t('Declined')); $mailbodytext = $this->l10n->t( "%s has declined your invitation to %s on %s", '%s has declined your invitation to %s on %s', [$attendeename, $SUMMARY, $eventdate] ); } Loading Loading
lib/AppInfo/Application.php +36 −39 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ use OCA\Calendar\Events\BeforeAppointmentBookedEvent; use OCA\Calendar\Listener\AppointmentBookedListener; use OCA\Calendar\Listener\CalendarReferenceListener; use OCA\Calendar\Listener\UserDeletedListener; use OCA\Calendar\Middleware\InvitationMiddleware; use OCA\Calendar\Notification\Notifier; use OCA\Calendar\Profile\AppointmentsAction; use OCA\Calendar\Reference\ReferenceProvider; Loading @@ -19,27 +20,23 @@ use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; use OCP\AppFramework\Bootstrap\IRegistrationContext; use OCP\Calendar\IManager; use OCP\Collaboration\Reference\RenderReferenceEvent; use OCP\Defaults; use OCP\IConfig; use OCP\IDBConnection; use OCP\IL10N; use OCP\ILogger; use OCP\IRequest; use OCP\IUserManager; use OCP\L10N\IFactory as L10NFactory; use OCP\Mail\IMailer; use OCP\ServerVersion; use OCP\User\Events\UserDeletedEvent; use OCP\Util; use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; use function method_exists; use OCA\Calendar\Middleware\InvitationMiddleware; use OCP\IRequest; use OCP\IConfig; use \OCP\IDBConnection; use \OC\Core\Application as CoreApplication; use OCP\Http\Client\IResponse; use OCP\Calendar\IManager; use OCP\Mail\IMailer; use OCP\IL10N; use OCP\L10N\IFactory as L10NFactory; use OCP\Defaults; use OCP\ILogger; use OCP\IUserManager; class Application extends App implements IBootstrap { /** @var string */ Loading
lib/Controller/InvitationMaybeController.php +6 −6 Original line number Diff line number Diff line Loading @@ -74,8 +74,8 @@ class InvitationMaybeController extends Controller { * @param string|null $comment * @return Message */ private function buildITipResponse(array $row, string $partStat, int $guests = null, string $comment = null):Message { private function buildITipResponse(array $row, string $partStat, ?int $guests = null, ?string $comment = null):Message { $iTipMessage = new Message(); $iTipMessage->uid = $row['uid']; $iTipMessage->component = 'VEVENT'; Loading
lib/Middleware/InvitationMiddleware.php +68 −70 Original line number Diff line number Diff line Loading @@ -2,25 +2,23 @@ namespace OCA\Calendar\Middleware; use OCP\AppFramework\Middleware; use OCA\Calendar\Controller\InvitationMaybeController; use OCA\Dav\Controller\InvitationResponseController; use OCP\IDBConnection; use OCP\IConfig; use OCP\IRequest; use OCP\AppFramework\Http\Response; use OCP\AppFramework\Middleware; use OCP\Calendar\IManager; use Sabre\VObject\Reader; use OCP\Defaults; use OCP\Mail\IMailer; use OCP\IConfig; use OCP\IDBConnection; use OCP\IL10N; use OCP\ILogger; use OCP\IRequest; use OCP\IUserManager; use OCP\IUser; use OCP\L10N\IFactory; use OCP\Mail\IMailer; use Sabre\VObject\Reader; class InvitationMiddleware extends Middleware { class InvitationMiddleware extends Middleware { private $request; /** @var IManager */ private $calendarManager; Loading @@ -35,7 +33,7 @@ class InvitationMiddleware extends Middleware Defaults $defaults, ILogger $logger, IUserManager $iusermanager, IFactory $languageFactory IFactory $languageFactory, ) { $this->request = $request; $this->config = $config; Loading @@ -52,55 +50,55 @@ class InvitationMiddleware extends Middleware public function afterController( $controller, $methodName, Response $response Response $response, ) { if ( ($controller instanceof InvitationMaybeController && $methodName === "tentative") || $methodName === 'tentative') || ($controller instanceof InvitationResponseController && ($methodName === "accept" || $methodName === "decline") && ($methodName === 'accept' || $methodName === 'decline') && $response->getStatus() == 200 && $response->getTemplateName() == "schedule-response-success") $response->getTemplateName() == 'schedule-response-success') ) { $token = $this->request->getParam("token"); $token = $this->request->getParam('token'); $query = $this->db->getQueryBuilder(); $query ->select("*") ->from("calendar_invitations") ->select('*') ->from('calendar_invitations') ->where( $query ->expr() ->eq("token", $query->createNamedParameter($token)) ->eq('token', $query->createNamedParameter($token)) ); $stmt = $query->execute(); $row = $stmt->fetch(\PDO::FETCH_ASSOC); $uid = $row["uid"]; $sender = substr($row["attendee"], 7); $recipient = substr($row["organizer"], 7); $uid = $row['uid']; $sender = substr($row['attendee'], 7); $recipient = substr($row['organizer'], 7); $query2 = $this->db->getQueryBuilder(); $query2 ->select("*") ->from("calendarobjects") ->select('*') ->from('calendarobjects') ->where( $query ->expr() ->eq("uid", $query2->createNamedParameter($uid)) ->eq('uid', $query2->createNamedParameter($uid)) ); $stmt2 = $query2->execute(); $row2 = $stmt2->fetch(\PDO::FETCH_ASSOC); $calendarobjectid = $row2["id"]; $calendarobjectid = $row2['id']; $query3 = $this->db->getQueryBuilder(); $query3 ->select("*") ->from("calendarobjects_props") ->select('*') ->from('calendarobjects_props') ->where( $query3 ->expr() ->eq( "objectid", 'objectid', $query3->createNamedParameter($calendarobjectid) ) ); Loading @@ -108,33 +106,33 @@ class InvitationMiddleware extends Middleware $row3 = $stmt3->fetchAll(\PDO::FETCH_ASSOC); foreach ($row3 as $calendarobj1) { if ( $calendarobj1["parameter"] == "CN" && $calendarobj1["name"] == "ATTENDEE" $calendarobj1['parameter'] == 'CN' && $calendarobj1['name'] == 'ATTENDEE' ) { $attendeename = $calendarobj1["value"]; $attendeename = $calendarobj1['value']; } if ( $calendarobj1["parameter"] == "CN" && $calendarobj1["name"] == "ORGANIZER" $calendarobj1['parameter'] == 'CN' && $calendarobj1['name'] == 'ORGANIZER' ) { $organizername = $calendarobj1["value"]; $organizername = $calendarobj1['value']; } } $vObject = Reader::read($row2["calendardata"]); $vObject = Reader::read($row2['calendardata']); $SUMMARY = $vObject->VEVENT->SUMMARY; $datestart = (string)$vObject->VEVENT->DTSTART; if (str_contains($datestart, "T")) { $eventdate = date("F d, Y h:i", strtotime($datestart)); if (str_contains($datestart, 'T')) { $eventdate = date('F d, Y h:i', strtotime($datestart)); } else { $eventdate = date("F d, Y", strtotime($datestart)); $eventdate = date('F d, Y', strtotime($datestart)); } if ($attendeename == "") { if ($attendeename == '') { $attendeename = $sender; } if ($organizername == "") { if ($organizername == '') { $organizername = $recipient; } Loading @@ -142,68 +140,68 @@ class InvitationMiddleware extends Middleware $username = $userdata[0]->getUID(); $userlang = $this->languageFactory->getUserLanguage($userdata[0]); if ($methodName === "tentative") { $meetingTitle = $this->l10n->t("Invitation Tentatively Accepted: %s", [$SUMMARY] ); if ($methodName === 'tentative') { $meetingTitle = $this->l10n->t('Invitation Tentatively Accepted: %s', [$SUMMARY]); $data = [ "attendee_name" => (string) $sender ?: $defaultVal, "invitee_name" => (string) $recipient ?: $defaultVal, "meeting_title" => (string) $meetingTitle ?: $defaultVal, 'attendee_name' => (string)$sender ?: $defaultVal, 'invitee_name' => (string)$recipient ?: $defaultVal, 'meeting_title' => (string)$meetingTitle ?: $defaultVal, ]; $method = "reply"; $method = 'reply'; $emailTemplate = $this->mailer->createEMailTemplate( "dav.calendarInvite." . $method, 'dav.calendarInvite.' . $method, $data ); $emailTemplate->setSubject($this->l10n->t("Invitation Tentatively Accepted: %s",[$SUMMARY])); $emailTemplate->setSubject($this->l10n->t('Invitation Tentatively Accepted: %s', [$SUMMARY])); $emailTemplate->addHeader(); $emailTemplate->addHeading( $this->l10n->t("Tentatively Accepted") $this->l10n->t('Tentatively Accepted') ); $mailbodytext = $this->l10n->t( "%s has tentatively accepted your invitation to %s on %s", '%s has tentatively accepted your invitation to %s on %s', [$attendeename, $SUMMARY, $eventdate] ); } if ($methodName === "accept") { $meetingTitle = $this->l10n->t("Invitation Accepted: %s", [$SUMMARY]); if ($methodName === 'accept') { $meetingTitle = $this->l10n->t('Invitation Accepted: %s', [$SUMMARY]); $data = [ "attendee_name" => (string) $sender ?: $defaultVal, "invitee_name" => (string) $recipient ?: $defaultVal, "meeting_title" => (string) $meetingTitle ?: $defaultVal, 'attendee_name' => (string)$sender ?: $defaultVal, 'invitee_name' => (string)$recipient ?: $defaultVal, 'meeting_title' => (string)$meetingTitle ?: $defaultVal, ]; $method = "reply"; $method = 'reply'; $emailTemplate = $this->mailer->createEMailTemplate( $recipient, $data ); $emailTemplate->setSubject($this->l10n->t("Invitation Accepted: %s", [$SUMMARY])); $emailTemplate->setSubject($this->l10n->t('Invitation Accepted: %s', [$SUMMARY])); $emailTemplate->addHeader(); $emailTemplate->addHeading($this->l10n->t("Accepted")); $emailTemplate->addHeading($this->l10n->t('Accepted')); $mailbodytext = $this->l10n->t( "%s has accepted your invitation to %s on %s", '%s has accepted your invitation to %s on %s', [$attendeename, $SUMMARY, $eventdate] ); } if ($methodName === "decline") { $meetingTitle = $this->l10n->t("Invitation Declined: %s", [$SUMMARY]); if ($methodName === 'decline') { $meetingTitle = $this->l10n->t('Invitation Declined: %s', [$SUMMARY]); $data = [ "attendee_name" => (string) $sender ?: $defaultVal, "invitee_name" => (string) $recipient ?: $defaultVal, "meeting_title" => (string) $meetingTitle ?: $defaultVal, 'attendee_name' => (string)$sender ?: $defaultVal, 'invitee_name' => (string)$recipient ?: $defaultVal, 'meeting_title' => (string)$meetingTitle ?: $defaultVal, ]; $method = "reply"; $method = 'reply'; $emailTemplate = $this->mailer->createEMailTemplate( "dav.calendarInvite." . $method, 'dav.calendarInvite.' . $method, $data ); $emailTemplate->setSubject($this->l10n->t("Invitation Declined: %s", [$SUMMARY])); $emailTemplate->setSubject($this->l10n->t('Invitation Declined: %s', [$SUMMARY])); $emailTemplate->addHeader(); $emailTemplate->addHeading($this->l10n->t("Declined")); $emailTemplate->addHeading($this->l10n->t('Declined')); $mailbodytext = $this->l10n->t( "%s has declined your invitation to %s on %s", '%s has declined your invitation to %s on %s', [$attendeename, $SUMMARY, $eventdate] ); } Loading