/** * Set deeplink for the toast notification. * * @param String $deeplink Deeplink * * @return MPNSToastPayload $self Self Reference */ public function set_deeplink($deeplink) { $deeplink = $this->escape_string($deeplink); if (strlen($deeplink) > 256) { $deeplink = substr($deeplink, 0, 256); $this->logger->notice('Deeplink for Windows Phone Toast Notification too long. Truncated.'); } $this->elements['deeplink'] = $deeplink; return $this; }
/** * コメントを取り除きます。 * @param \DOMComment $comment * @return true */ protected function filterComment(\DOMComment $comment) : bool { $comment->parentNode->removeChild($comment); $this->logger->notice(_('コメントの使用は許可されていません。'), ['node' => XML_COMMENT_NODE]); return true; }
/** * Delegate request to service. * * Makes sure that exceptions are catched. * * @return Page|Error */ protected function queryService($params) { $supportedTypes = $this->service->getSupportedTypes(); $supportedParameters = $this->service->getSupportedParameters(); $possibleParameters = array_merge($supportedParameters, \JSKOS\QueryModifiers); # filter out queries for unsupported types if (count($supportedTypes) and isset($params['type'])) { if (!in_array($params['type'], $supportedTypes)) { return new Page([]); } } # remove unknown parameters foreach (array_keys($params) as $name) { if (!in_array($name, $possibleParameters)) { $this->logger->notice('Unsupported query parameter {name}', ['name' => $name, 'value' => $params[$name]]); unset($params[$name]); } } # make sure all supported query parameters exist foreach ($supportedParameters as $name) { if (!isset($params[$name])) { $params[$name] = null; } } try { $response = $this->service->query($params); } catch (\Exception $e) { $this->logger->error('Service Exception', ['exception' => $e]); return new Error(500, '???', 'Internal server error'); } if (is_null($response)) { return new Page([]); } elseif ($response instanceof Item) { return new Page([$response]); } elseif ($response instanceof Page or $response instanceof Error) { return $response; } else { $this->logger->error('Service response has wrong type', ['response' => $response]); return new Error(500, '???', 'Internal server error'); } return $response; }