. */ require_once('ExportBase.php'); require_once('CFDBExport.php'); class ExportToRSS extends ExportBase implements CFDBExport { public function export($formName, $options = null) { $this->setOptions($options); $this->setCommonOptions(true); // Security Check if (get_option('CF7DBPlugin_AllowRSS') !== 'true') { if (!$this->isAuthorized()) { $this->assertSecurityErrorMessage(); return; } } $contentType = 'Content-Type: application/rss+xml; charset=UTF-8'; $this->echoHeaders($contentType); // Get the data $this->setDataIterator($formName); $this->clearAllOutputBuffers(); if ($this->isFromShortCode) { ob_start(); } $this->echoRSS($formName); if ($this->isFromShortCode) { // If called from a shortcode, need to return the text, // otherwise it can appear out of order on the page $output = ob_get_contents(); ob_end_clean(); return $output; } } protected function echoRSS($formName) { $rssUrl = get_site_url() . $_SERVER['REQUEST_URI']; $escapedRssUrl = htmlspecialchars($rssUrl); $htmlVersionOfRss = get_site_url() . str_replace('enc=RSS', 'enc=HTML', $_SERVER['REQUEST_URI']); $htmlSingleRow = $htmlVersionOfRss; // Set up $htmlSingleRow to have a "{submit_time}" value to be string replaced later if (strpos($htmlSingleRow, 'filter=') === false) { $htmlSingleRow .= '&filter=submit_time={submit_time}'; } else { $htmlSingleRow = str_replace('filter=', 'filter=submit_time={submit_time}' . urlencode('&&'), $htmlSingleRow); } $this->setTimezone(); $dateString = date('r'); $titleColunm = 'Submitted'; if (isset($this->options['itemtitle'])) { $titleColunm = $this->options['itemtitle']; } echo ''; ?> <?php echo htmlspecialchars($formName) ?> Contact Form DB plugin Submissions 60dataIterator->nextRow()) {?> <?php echo $this->dataIterator->row[$titleColunm]; ?> dataIterator->row['submit_time'], $htmlSingleRow)); foreach ($this->dataIterator->getDisplayColumns() as $aCol) { if ($aCol != 'Submitted') { $cell = htmlspecialchars($this->dataIterator->row[$aCol], null, 'UTF-8'); echo "$aCol=$cell \n"; } } ?> dataIterator->row['submit_time']); ?> setTimezone() if (!$tz) { $tz = get_option('timezone_string'); } if ($tz) { date_default_timezone_set($tz); } } } }