diff options
author | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2010-03-17 20:11:21 +0000 |
---|---|---|
committer | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2010-03-17 20:11:21 +0000 |
commit | 4d3d00ade282e27b765a64c86f6607f1a92af2c0 (patch) | |
tree | 8d2bcb843c408552a870db4116fd7986db5ebb43 | |
parent | db7a46b23530724cf1a8d356de3ac4f1fe0d5ac7 (diff) | |
download | semanticscuttle-4d3d00ade282e27b765a64c86f6607f1a92af2c0.tar.gz semanticscuttle-4d3d00ade282e27b765a64c86f6607f1a92af2c0.tar.bz2 |
Fix bug #2960663: do not send content-type headers twice for ajax/api scripts
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@690 b3834d28-1941-0410-a4f8-b48e95affb8f
-rw-r--r-- | src/SemanticScuttle/header.php | 8 | ||||
-rw-r--r-- | www/ajax/getadminlinkedtags.php | 2 | ||||
-rw-r--r-- | www/ajax/getadmintags.php | 2 | ||||
-rw-r--r-- | www/ajax/getcontacttags.php | 2 | ||||
-rw-r--r-- | www/ajax/getlinkedtags.php | 2 | ||||
-rw-r--r-- | www/ajax/gettags.php | 2 | ||||
-rw-r--r-- | www/ajaxDelete.php | 2 | ||||
-rw-r--r-- | www/ajaxGetTitle.php | 2 | ||||
-rw-r--r-- | www/ajaxIsAvailable.php | 2 | ||||
-rw-r--r-- | www/ajaxVote.php | 2 | ||||
-rw-r--r-- | www/api/export_csv.php | 8 | ||||
-rw-r--r-- | www/api/export_gcs.php | 5 | ||||
-rw-r--r-- | www/api/export_sioc.php | 2 | ||||
-rw-r--r-- | www/api/opensearch.php | 2 | ||||
-rw-r--r-- | www/api/posts_add.php | 5 | ||||
-rw-r--r-- | www/api/posts_all.php | 5 | ||||
-rw-r--r-- | www/api/posts_dates.php | 2 | ||||
-rw-r--r-- | www/api/posts_delete.php | 5 | ||||
-rw-r--r-- | www/api/posts_get.php | 2 | ||||
-rw-r--r-- | www/api/posts_public.php | 2 | ||||
-rw-r--r-- | www/api/posts_recent.php | 2 | ||||
-rw-r--r-- | www/api/posts_update.php | 5 | ||||
-rw-r--r-- | www/api/tags_get.php | 5 | ||||
-rw-r--r-- | www/api/tags_rename.php | 5 | ||||
-rw-r--r-- | www/go.php | 1 | ||||
-rw-r--r-- | www/jsScuttle.php | 2 | ||||
-rw-r--r-- | www/rss.php | 3 |
27 files changed, 43 insertions, 44 deletions
diff --git a/src/SemanticScuttle/header.php b/src/SemanticScuttle/header.php index 12c1f72..ef36e83 100644 --- a/src/SemanticScuttle/header.php +++ b/src/SemanticScuttle/header.php @@ -107,6 +107,12 @@ $tplVars['userservice'] = $userservice; // 6 // Force UTF-8 behaviour for server (cannot be moved into top.inc.php which is not included into every file) if (!defined('UNIT_TEST_MODE')) { - header('Content-Type: text/html; charset=utf-8'); + //API files define that, so we need a way to support both of them + if (!isset($httpContentType)) { + $httpContentType = 'text/html'; + } + if ($httpContentType !== false) { + header('Content-Type: ' . $httpContentType . '; charset=utf-8'); + } } ?> diff --git a/www/ajax/getadminlinkedtags.php b/www/ajax/getadminlinkedtags.php index 6abc067..6646c50 100644 --- a/www/ajax/getadminlinkedtags.php +++ b/www/ajax/getadminlinkedtags.php @@ -20,7 +20,7 @@ ***************************************************************************/ /* Return a json file with list of linked tags */ - +$httpContentType = 'application/json'; require_once '../www-header.php'; /* Service creation: only useful services are created */ diff --git a/www/ajax/getadmintags.php b/www/ajax/getadmintags.php index db62fc7..ffd20bb 100644 --- a/www/ajax/getadmintags.php +++ b/www/ajax/getadmintags.php @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ***************************************************************************/ /* Return a json file with list of tags according to current user and sort by popularity*/ - +$httpContentType = 'application/json'; require_once '../www-header.php'; /* Service creation: only useful services are created */ diff --git a/www/ajax/getcontacttags.php b/www/ajax/getcontacttags.php index 85ef1ae..89d6a3a 100644 --- a/www/ajax/getcontacttags.php +++ b/www/ajax/getcontacttags.php @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ***************************************************************************/ /* Return a json file with list of tags according to current user and sort by popularity*/ - +$httpContentType = 'application/json'; require_once '../www-header.php'; /* Service creation: only useful services are created */ diff --git a/www/ajax/getlinkedtags.php b/www/ajax/getlinkedtags.php index 6de272b..f412998 100644 --- a/www/ajax/getlinkedtags.php +++ b/www/ajax/getlinkedtags.php @@ -20,7 +20,7 @@ ***************************************************************************/ /* Return a json file with list of linked tags */ - +$httpContentType = 'application/json'; require_once '../www-header.php'; /* Service creation: only useful services are created */ diff --git a/www/ajax/gettags.php b/www/ajax/gettags.php index 3672832..cb73720 100644 --- a/www/ajax/gettags.php +++ b/www/ajax/gettags.php @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ***************************************************************************/ /* Return a json file with list of tags according to current user and sort by popularity*/ - +$httpContentType = 'application/json'; require_once '../www-header.php'; /* Service creation: only useful services are created */ diff --git a/www/ajaxDelete.php b/www/ajaxDelete.php index 467e20e..2812612 100644 --- a/www/ajaxDelete.php +++ b/www/ajaxDelete.php @@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ***************************************************************************/ -header('Content-Type: text/xml; charset=UTF-8'); header('Last-Modified: '. gmdate("D, d M Y H:i:s") .' GMT'); header('Cache-Control: no-cache, must-revalidate'); +$httpContentType = 'text/xml'; require_once 'www-header.php'; /* Service creation: only useful services are created */ diff --git a/www/ajaxGetTitle.php b/www/ajaxGetTitle.php index 6caa742..b4f44ca 100644 --- a/www/ajaxGetTitle.php +++ b/www/ajaxGetTitle.php @@ -19,10 +19,10 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ***************************************************************************/ -header('Content-Type: text/xml; charset=UTF-8'); header("Last-Modified: ". gmdate("D, d M Y H:i:s") ." GMT"); header("Cache-Control: no-cache, must-revalidate"); +$httpContentType = 'text/xml'; require_once 'www-header.php'; /* Managing all possible inputs */ diff --git a/www/ajaxIsAvailable.php b/www/ajaxIsAvailable.php index 3390569..41e825e 100644 --- a/www/ajaxIsAvailable.php +++ b/www/ajaxIsAvailable.php @@ -19,10 +19,10 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ***************************************************************************/ -header('Content-Type: text/xml; charset=UTF-8'); header("Last-Modified: ". gmdate("D, d M Y H:i:s") ." GMT"); header("Cache-Control: no-cache, must-revalidate"); +$httpContentType = 'text/xml'; require_once 'www-header.php'; /* Service creation: only useful services are created */ diff --git a/www/ajaxVote.php b/www/ajaxVote.php index 3e603da..f2572fb 100644 --- a/www/ajaxVote.php +++ b/www/ajaxVote.php @@ -2,6 +2,7 @@ /** * We re-use vote.php but set the ajax flag */ +$httpContentType = 'text/xml'; $GLOBALS['ajaxRequest'] = true; require 'vote.php'; @@ -17,7 +18,6 @@ default: $template = 'bookmarks-vote.inc.tpl.php'; } -header('Content-Type: text/xml; charset=utf-8'); echo '<voteresult><bookmark>' . $bookmark . '</bookmark>' . '<html xmlns="http://www.w3.org/1999/xhtml">'; $ts->loadTemplate( diff --git a/www/api/export_csv.php b/www/api/export_csv.php index 3f63692..b9cf497 100644 --- a/www/api/export_csv.php +++ b/www/api/export_csv.php @@ -2,8 +2,9 @@ // Export in CSV format in order to allow the import into a spreadsheet tool like Excel // Force HTTP authentication first! -require_once('httpauth.inc.php'); -require_once '../www-header.php'; +$httpContentType = 'application/csv-tab-delimited-table'; +require_once 'httpauth.inc.php'; +header("Content-disposition: filename=exportBookmarks.csv"); /* Service creation: only useful services are created */ $bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark'); @@ -17,9 +18,6 @@ else // Get the posts relevant to the passed-in variables. $bookmarks =& $bookmarkservice->getBookmarks(0, NULL, $userservice->getCurrentUserId(), $tag, NULL, getSortOrder()); -header("Content-Type: application/csv-tab-delimited-table;charset=UTF-8"); -header("Content-disposition: filename=exportBookmarks.csv"); - //columns titles echo 'url;title;tags;description'; echo "\n"; diff --git a/www/api/export_gcs.php b/www/api/export_gcs.php index 07bc726..9c0d85c 100644 --- a/www/api/export_gcs.php +++ b/www/api/export_gcs.php @@ -5,6 +5,7 @@ // Force HTTP authentication first! //require_once('httpauth.inc.php'); +$httpContentType = false; require_once '../www-header.php'; if($GLOBALS['enableGoogleCustomSearch'] == false) { @@ -39,7 +40,7 @@ $bookmarks =& $bookmarkservice->getBookmarks(0, NULL, NULL, $tag, NULL, getSortO // Set up the plain file and output all the posts. -header('Content-Type: text/plain'); +header('Content-Type: text/plain; charset=utf-8'); if(!$xml) { header('Content-Type: text/plain'); foreach($bookmarks['bookmarks'] as $row) { @@ -48,7 +49,7 @@ if(!$xml) { } } } else { - header('Content-Type: application/xml'); + header('Content-Type: text/xml'); echo '<GoogleCustomizations>'."\n"; echo ' <Annotations>'."\n"; foreach($bookmarks['bookmarks'] as $row) { diff --git a/www/api/export_sioc.php b/www/api/export_sioc.php index ff1d1c0..8bdfd70 100644 --- a/www/api/export_sioc.php +++ b/www/api/export_sioc.php @@ -1,8 +1,8 @@ <?php /* Export data with semantic format (SIOC: http://sioc-project.org/, FOAF, SKOS, Annotea Ontology) */ +$httpContentType = 'text/xml'; require_once '../www-header.php'; -header('Content-Type: text/xml; charset=utf-8'); //we change headers html defined in headers.inc.php /* Service creation: only useful services are created */ $userservice =SemanticScuttle_Service_Factory::get('User'); diff --git a/www/api/opensearch.php b/www/api/opensearch.php index 68d094c..db95639 100644 --- a/www/api/opensearch.php +++ b/www/api/opensearch.php @@ -1,6 +1,6 @@ <?php +$httpContentType = 'text/xml'; require_once '../www-header.php'; -header("Content-type: text/xml"); ?> <?xml version="1.0" encoding="utf-8" ?> <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> diff --git a/www/api/posts_add.php b/www/api/posts_add.php index c919ee7..59f7dce 100644 --- a/www/api/posts_add.php +++ b/www/api/posts_add.php @@ -11,8 +11,8 @@ // - No support for 'replace' variable // Force HTTP authentication -require_once('httpauth.inc.php'); -require_once '../www-header.php'; +$httpContentType = 'text/xml'; +require_once 'httpauth.inc.php'; /* Service creation: only useful services are created */ $bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark'); @@ -82,7 +82,6 @@ if (is_null($url) || is_null($description)) { } // Set up the XML file and output the result. -header('Content-Type: text/xml'); echo '<?xml version="1.0" standalone="yes" ?'.">\r\n"; echo '<result code="'. ($added ? 'done' : 'something went wrong') .'" />'; ?>
\ No newline at end of file diff --git a/www/api/posts_all.php b/www/api/posts_all.php index f53f363..2d274f4 100644 --- a/www/api/posts_all.php +++ b/www/api/posts_all.php @@ -5,8 +5,8 @@ // - doesn't include the filtered tag as an attribute on the root element (we do) // Force HTTP authentication first! -require_once('httpauth.inc.php'); -require_once '../www-header.php'; +$httpContentType = 'text/xml'; +require_once 'httpauth.inc.php'; /* Service creation: only useful services are created */ $bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark'); @@ -22,7 +22,6 @@ else $bookmarks =& $bookmarkservice->getBookmarks(0, NULL, $userservice->getCurrentUserId(), $tag); // Set up the XML file and output all the posts. -header('Content-Type: text/xml'); echo '<?xml version="1.0" standalone="yes" ?'.">\r\n"; echo '<posts update="'. gmdate('Y-m-d\TH:i:s\Z') .'" user="'. htmlspecialchars($currentUser->getUsername()) .'"'. (is_null($tag) ? '' : ' tag="'. htmlspecialchars($tag) .'"') .">\r\n"; diff --git a/www/api/posts_dates.php b/www/api/posts_dates.php index 7b1240f..508c46a 100644 --- a/www/api/posts_dates.php +++ b/www/api/posts_dates.php @@ -17,6 +17,7 @@ */ // Force HTTP authentication first! +$httpContentType = 'text/xml'; require_once 'httpauth.inc.php'; /* Service creation: only useful services are created */ @@ -36,7 +37,6 @@ $bookmarks = $bookmarkservice->getBookmarks( ); // Set up the XML file and output all the tags. -header('Content-Type: text/xml'); echo '<?xml version="1.0" standalone="yes" ?'.">\r\n"; echo '<dates tag="'. (is_null($tag) ? '' : filter($tag, 'xml')) .'" user="'. filter($currentUser->getUsername(), 'xml') ."\">\r\n"; diff --git a/www/api/posts_delete.php b/www/api/posts_delete.php index 88e2584..a63cc62 100644 --- a/www/api/posts_delete.php +++ b/www/api/posts_delete.php @@ -7,8 +7,8 @@ // - doesn't set the Content-Type to text/xml (we do). // Force HTTP authentication first! -require_once('httpauth.inc.php'); -require_once '../www-header.php'; +$httpContentType = 'text/xml'; +require_once 'httpauth.inc.php'; /* Service creation: only useful services are created */ $bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark'); @@ -28,7 +28,6 @@ if (is_null($_REQUEST['url'])) { } // Set up the XML file and output the result. -header('Content-Type: text/xml'); echo '<?xml version="1.0" standalone="yes" ?'.">\r\n"; echo '<result code="'. ($deleted ? 'done' : 'something went wrong') .'" />'; ?>
\ No newline at end of file diff --git a/www/api/posts_get.php b/www/api/posts_get.php index b020f51..c20f904 100644 --- a/www/api/posts_get.php +++ b/www/api/posts_get.php @@ -25,6 +25,7 @@ */ // Force HTTP authentication first! +$httpContentType = 'text/xml'; require_once 'httpauth.inc.php'; /* Service creation: only useful services are created */ @@ -54,7 +55,6 @@ $bookmarks = $bookmarkservice->getBookmarks( // Set up the XML file and output all the tags. -header('Content-Type: text/xml'); echo '<?xml version="1.0" standalone="yes" ?'.">\r\n"; echo '<posts'. (is_null($dtstart) ? '' : ' dt="'. $dtstart .'"') .' tag="'. (is_null($tag) ? '' : filter($tag, 'xml')) .'" user="'. filter($currentUser->getUsername(), 'xml') ."\">\r\n"; diff --git a/www/api/posts_public.php b/www/api/posts_public.php index 0c93ca2..4258550 100644 --- a/www/api/posts_public.php +++ b/www/api/posts_public.php @@ -6,6 +6,7 @@ // Force HTTP authentication first! //require_once('httpauth.inc.php'); +$httpContentType = 'text/xml'; require_once '../www-header.php'; /* Service creation: only useful services are created */ @@ -22,7 +23,6 @@ else $bookmarks =& $bookmarkservice->getBookmarks(0, NULL, NULL, $tag); // Set up the XML file and output all the posts. -header('Content-Type: text/xml'); echo '<?xml version="1.0" standalone="yes" ?'.">\r\n"; echo '<posts update="'. gmdate('Y-m-d\TH:i:s\Z') .'" '. (is_null($tag) ? '' : ' tag="'. htmlspecialchars($tag) .'"') .">\r\n"; diff --git a/www/api/posts_recent.php b/www/api/posts_recent.php index 46e46f1..6c71e22 100644 --- a/www/api/posts_recent.php +++ b/www/api/posts_recent.php @@ -22,6 +22,7 @@ $countDefault = 15; $countMax = 100; // Force HTTP authentication first! +$httpContentType = 'text/xml'; require_once 'httpauth.inc.php'; /* Service creation: only useful services are created */ @@ -54,7 +55,6 @@ $bookmarks = $bookmarkservice->getBookmarks( // Set up the XML file and output all the tags. -header('Content-Type: text/xml'); echo '<?xml version="1.0" standalone="yes" ?'.">\r\n"; echo '<posts tag="'. (is_null($tag) ? '' : filter($tag, 'xml')) .'" user="'. filter($currentUser->getUsername(), 'xml') ."\">\r\n"; diff --git a/www/api/posts_update.php b/www/api/posts_update.php index 9152f26..4aeedc3 100644 --- a/www/api/posts_update.php +++ b/www/api/posts_update.php @@ -5,8 +5,8 @@ // - doesn't set the Content-Type to text/xml (we do). // Force HTTP authentication first! -require_once('httpauth.inc.php'); -require_once '../www-header.php'; +$httpContentType = 'text/xml'; +require_once 'httpauth.inc.php'; /* Service creation: only useful services are created */ $bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark'); @@ -17,7 +17,6 @@ $bookmarks =& $bookmarkservice->getBookmarks(0, 1, $userservice->getCurrentUserI // Set up the XML file and output all the tags. -header('Content-Type: text/xml'); echo '<?xml version="1.0" standalone="yes" ?'.">\r\n"; foreach($bookmarks['bookmarks'] as $row) { echo '<update time="'. gmdate('Y-m-d\TH:i:s\Z', strtotime($row['bDatetime'])) .'" />'; diff --git a/www/api/tags_get.php b/www/api/tags_get.php index 85684d4..06a40d9 100644 --- a/www/api/tags_get.php +++ b/www/api/tags_get.php @@ -5,8 +5,8 @@ // - tags can't have spaces // Force HTTP authentication first! -require_once('httpauth.inc.php'); -require_once '../www-header.php'; +$httpContentType = 'text/xml'; +require_once 'httpauth.inc.php'; /* Service creation: only useful services are created */ $b2tservice =SemanticScuttle_Service_Factory::get('Bookmark2Tag'); @@ -16,7 +16,6 @@ $b2tservice =SemanticScuttle_Service_Factory::get('Bookmark2Tag'); $tags =& $b2tservice->getTags($userservice->getCurrentUserId()); // Set up the XML file and output all the tags. -header('Content-Type: text/xml'); echo '<?xml version="1.0" standalone="yes" ?'.">\r\n"; echo "<tags>\r\n"; foreach($tags as $row) { diff --git a/www/api/tags_rename.php b/www/api/tags_rename.php index 59ba8a4..cf56c83 100644 --- a/www/api/tags_rename.php +++ b/www/api/tags_rename.php @@ -5,8 +5,8 @@ // - oddly, returns an entirely different result (<result></result>) than the other API calls. // Force HTTP authentication first! -require_once('httpauth.inc.php'); -require_once '../www-header.php'; +$httpContentType = 'text/xml'; +require_once 'httpauth.inc.php'; /* Service creation: only useful services are created */ $b2tservice =SemanticScuttle_Service_Factory::get('Bookmark2Tag'); @@ -31,7 +31,6 @@ if (is_null($old) || is_null($new)) { } // Set up the XML file and output the result. -header('Content-Type: text/xml'); echo '<?xml version="1.0" standalone="yes" ?'.">\r\n"; echo '<result>'. ($renamed ? 'done' : 'something went wrong') .'</result>'; ?> @@ -15,6 +15,7 @@ * @license GPL http://www.gnu.org/licenses/gpl.html * @link http://sourceforge.net/projects/semanticscuttle */ +$httpContentType = false; require_once 'www-header.php'; if (!$GLOBALS['shorturl']) { diff --git a/www/jsScuttle.php b/www/jsScuttle.php index cc4e16d..f37da78 100644 --- a/www/jsScuttle.php +++ b/www/jsScuttle.php @@ -1,6 +1,6 @@ <?php -header('Content-Type: text/javascript'); $GLOBALS['saveInLastUrl'] = false; +$httpContentType = 'text/javascript'; require_once 'www-header.php'; require_once 'SemanticScuttle/functions.php'; $player_root = ROOT .'includes/player/'; diff --git a/www/rss.php b/www/rss.php index 7f706d5..6dcfb4c 100644 --- a/www/rss.php +++ b/www/rss.php @@ -19,14 +19,13 @@ * @link http://sourceforge.net/projects/semanticscuttle */ +$httpContentType = 'application/rss+xml'; require_once 'www-header.php'; /* Service creation: only useful services are created */ $bookmarkservice = SemanticScuttle_Service_Factory::get('Bookmark'); $cacheservice = SemanticScuttle_Service_Factory::get('Cache'); -header('Content-Type: application/rss+xml; charset=utf-8'); - if (isset($_SERVER['PATH_INFO']) && strlen($_SERVER['PATH_INFO']) >1) { list($url, $user, $cat) = explode('/', $_SERVER['PATH_INFO']); } else { |