summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBart Visscher <bartv@thisnet.nl>2011-09-23 22:22:59 +0200
committerBart Visscher <bartv@thisnet.nl>2011-09-25 22:19:28 +0200
commit17e631bc5e327514596ce8761fe7f93d414a8717 (patch)
treea2e6bed923a493988028adafaaebcab5b9bfbd39
parentdbddec9160338818009ec7020cec5a2b298aae7e (diff)
downloadnextcloud-server-17e631bc5e327514596ce8761fe7f93d414a8717.tar.gz
nextcloud-server-17e631bc5e327514596ce8761fe7f93d414a8717.zip
Use OC_JSON for json responses
Create OC_JSON class, for single point of creating json responses. No real logic change, this just cleans up the code a bit.
-rw-r--r--apps/bookmarks/ajax/addBookmark.php10
-rw-r--r--apps/bookmarks/ajax/delBookmark.php10
-rw-r--r--apps/bookmarks/ajax/editBookmark.php8
-rw-r--r--apps/bookmarks/ajax/getMeta.php10
-rw-r--r--apps/bookmarks/ajax/recordClick.php6
-rw-r--r--apps/bookmarks/ajax/updateList.php10
-rw-r--r--apps/calendar/ajax/createcalendar.php10
-rw-r--r--apps/calendar/ajax/deletecalendar.php6
-rw-r--r--apps/calendar/ajax/deleteevent.php6
-rw-r--r--apps/calendar/ajax/editevent.php11
-rw-r--r--apps/calendar/ajax/newevent.php5
-rw-r--r--apps/calendar/ajax/settimezone.php12
-rw-r--r--apps/calendar/ajax/updatecalendar.php10
-rw-r--r--apps/calendar/templates/part.getcal.php2
-rw-r--r--apps/contacts/ajax/addcard.php9
-rw-r--r--apps/contacts/ajax/addproperty.php13
-rw-r--r--apps/contacts/ajax/deletebook.php9
-rw-r--r--apps/contacts/ajax/deletecard.php12
-rw-r--r--apps/contacts/ajax/deleteproperty.php16
-rw-r--r--apps/contacts/ajax/getdetails.php13
-rw-r--r--apps/contacts/ajax/setproperty.php15
-rw-r--r--apps/contacts/ajax/showaddcard.php7
-rw-r--r--apps/contacts/ajax/showaddproperty.php11
-rw-r--r--apps/contacts/ajax/showsetproperty.php15
-rw-r--r--apps/files_sharing/ajax/getitem.php4
-rw-r--r--apps/files_sharing/ajax/userautocomplete.php8
-rw-r--r--apps/media/ajax/api.php12
-rw-r--r--apps/media/ajax/autoupdate.php4
-rw-r--r--apps/media/tomahawk.php4
-rw-r--r--core/ajax/grouplist.php4
-rw-r--r--core/ajax/translations.php4
-rw-r--r--core/ajax/userlist.php4
-rw-r--r--core/ajax/validateuser.php5
-rw-r--r--files/ajax/autocomplete.php11
-rw-r--r--files/ajax/delete.php19
-rw-r--r--files/ajax/list.php11
-rw-r--r--files/ajax/move.php15
-rw-r--r--files/ajax/newfolder.php15
-rw-r--r--files/ajax/rename.php13
-rw-r--r--files/ajax/upload.php20
-rw-r--r--lib/json.php68
-rw-r--r--search/ajax/search.php4
-rw-r--r--settings/ajax/changepassword.php12
-rw-r--r--settings/ajax/creategroup.php11
-rw-r--r--settings/ajax/createuser.php11
-rw-r--r--settings/ajax/disableapp.php2
-rw-r--r--settings/ajax/enableapp.php2
-rw-r--r--settings/ajax/openid.php13
-rw-r--r--settings/ajax/removegroup.php13
-rw-r--r--settings/ajax/removeuser.php13
-rw-r--r--settings/ajax/setlanguage.php13
-rw-r--r--settings/ajax/setquota.php11
-rw-r--r--settings/ajax/togglegroups.php13
-rw-r--r--settings/templates/apps.php2
54 files changed, 226 insertions, 351 deletions
diff --git a/apps/bookmarks/ajax/addBookmark.php b/apps/bookmarks/ajax/addBookmark.php
index 7cf5baa4a6e..9b0beb388a0 100644
--- a/apps/bookmarks/ajax/addBookmark.php
+++ b/apps/bookmarks/ajax/addBookmark.php
@@ -26,14 +26,8 @@ $RUNTIME_NOSETUPFS=true;
require_once('../../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkLoggedIn();
$CONFIG_DBTYPE = OC_Config::getValue( "dbtype", "sqlite" );
if( $CONFIG_DBTYPE == 'sqlite' or $CONFIG_DBTYPE == 'sqlite3' ){
@@ -76,6 +70,6 @@ if($b_id !== false) {
$query->execute($params);
}
- echo json_encode( array( 'status' => 'success', 'data' => $b_id));
+ OC_JSON::success(array('data' => $b_id));
}
diff --git a/apps/bookmarks/ajax/delBookmark.php b/apps/bookmarks/ajax/delBookmark.php
index bf1611fe5c1..afe60f7d1bf 100644
--- a/apps/bookmarks/ajax/delBookmark.php
+++ b/apps/bookmarks/ajax/delBookmark.php
@@ -26,14 +26,8 @@ $RUNTIME_NOSETUPFS=true;
require_once('../../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkLoggedIn();
$params=array(
htmlspecialchars_decode($_GET["url"]),
@@ -64,4 +58,4 @@ $query = OC_DB::prepare("
$result = $query->execute();
// var_dump($params);
-echo json_encode( array( "status" => "success", "data" => array()));
+OC_JSON::success(array('data' => array()));
diff --git a/apps/bookmarks/ajax/editBookmark.php b/apps/bookmarks/ajax/editBookmark.php
index 1bd2fc08bca..5125f9ce898 100644
--- a/apps/bookmarks/ajax/editBookmark.php
+++ b/apps/bookmarks/ajax/editBookmark.php
@@ -26,14 +26,8 @@ $RUNTIME_NOSETUPFS=true;
require_once('../../../lib/base.php');
-// We send json data
-header( 'Content-Type: application/jsonrequest' );
-
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => 'Authentication error' )));
- exit();
-}
+OC_JSON::checkLoggedIn();
$CONFIG_DBTYPE = OC_Config::getValue( "dbtype", "sqlite" );
if( $CONFIG_DBTYPE == 'sqlite' or $CONFIG_DBTYPE == 'sqlite3' ){
diff --git a/apps/bookmarks/ajax/getMeta.php b/apps/bookmarks/ajax/getMeta.php
index e9fe0d684dc..4583ef204b4 100644
--- a/apps/bookmarks/ajax/getMeta.php
+++ b/apps/bookmarks/ajax/getMeta.php
@@ -26,14 +26,8 @@ $RUNTIME_NOSETUPFS=true;
require_once('../../../lib/base.php');
-// We send json data
-header( 'Content-Type: application/jsonrequest' );
-
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => 'Authentication error' )));
- exit();
-}
+OC_JSON::checkLoggedIn();
// $metadata = array();
@@ -41,4 +35,4 @@ require '../bookmarksHelper.php';
$metadata = getURLMetadata(htmlspecialchars_decode($_GET["url"]));
-echo json_encode( array( 'status' => 'success', 'data' => $metadata));
+OC_JSON::success(array('data' => $metadata));
diff --git a/apps/bookmarks/ajax/recordClick.php b/apps/bookmarks/ajax/recordClick.php
index 116daea8bbb..f5f7c20c6a0 100644
--- a/apps/bookmarks/ajax/recordClick.php
+++ b/apps/bookmarks/ajax/recordClick.php
@@ -27,11 +27,7 @@ $RUNTIME_NOSETUPFS=true;
require_once('../../../lib/base.php');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- header( "Content-Type: application/jsonrequest" );
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkLoggedIn();
$query = OC_DB::prepare("
UPDATE *PREFIX*bookmarks
diff --git a/apps/bookmarks/ajax/updateList.php b/apps/bookmarks/ajax/updateList.php
index e9051a8dbfa..de3480d6c3a 100644
--- a/apps/bookmarks/ajax/updateList.php
+++ b/apps/bookmarks/ajax/updateList.php
@@ -26,14 +26,8 @@ $RUNTIME_NOSETUPFS=true;
require_once('../../../lib/base.php');
-// We send json data
-header( 'Content-Type: application/jsonrequest' );
-
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => 'Authentication error' )));
- exit();
-}
+OC_JSON::checkLoggedIn();
$params=array(OC_User::getUser());
$CONFIG_DBTYPE = OC_Config::getValue( 'dbtype', 'sqlite' );
@@ -85,4 +79,4 @@ $query = OC_DB::prepare('
$bookmarks = $query->execute($params)->fetchAll();
-echo json_encode( array( 'status' => 'success', 'data' => $bookmarks));
+OC_JSON::success(array('data' => $bookmarks));
diff --git a/apps/calendar/ajax/createcalendar.php b/apps/calendar/ajax/createcalendar.php
index 64c6513f53f..7d80333b258 100644
--- a/apps/calendar/ajax/createcalendar.php
+++ b/apps/calendar/ajax/createcalendar.php
@@ -10,14 +10,8 @@ require_once('../../../lib/base.php');
$l10n = new OC_L10N('calendar');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => $l->t("Authentication error") )));
- exit();
-}
+OC_JSON::checkLoggedIn();
$userid = OC_User::getUser();
$calendarid = OC_Calendar_Calendar::addCalendar($userid, $_POST['name'], $_POST['description'], 'VEVENT,VTODO,VJOURNAL', null, 0, $_POST['color']);
@@ -25,4 +19,4 @@ OC_Calendar_Calendar::setCalendarActive($calendarid, 1);
$calendar = OC_Calendar_Calendar::findCalendar($calendarid);
$tmpl = new OC_Template('calendar', 'part.choosecalendar.rowfields');
$tmpl->assign('calendar', $calendar);
-echo json_encode( array( "status" => "error", "data" => $tmpl->fetchPage().'' ));
+OC_JSON::success(array('data' => $tmpl->fetchPage()));
diff --git a/apps/calendar/ajax/deletecalendar.php b/apps/calendar/ajax/deletecalendar.php
index 71129f2c040..30607b92e6f 100644
--- a/apps/calendar/ajax/deletecalendar.php
+++ b/apps/calendar/ajax/deletecalendar.php
@@ -16,13 +16,13 @@ if(!OC_USER::isLoggedIn()) {
$cal = $_POST["calendarid"];
$calendar = OC_Calendar_Calendar::findCalendar($cal);
if($calendar["userid"] != OC_User::getUser()){
- echo json_encode(array('status'=>'error','error'=>'permission_denied'));
+ OC_JSON::error(array('error'=>'permission_denied'));
exit;
}
$del = OC_Calendar_Calendar::deleteCalendar($cal);
if($del == true){
- echo json_encode(array('status' => 'success'));
+ OC_JSON::success();
}else{
- echo json_encode(array('status'=>'error', 'error'=>'dberror'));
+ OC_JSON::error(array('error'=>'dberror'));
}
?>
diff --git a/apps/calendar/ajax/deleteevent.php b/apps/calendar/ajax/deleteevent.php
index 08a0e1a1e26..a6750267bd2 100644
--- a/apps/calendar/ajax/deleteevent.php
+++ b/apps/calendar/ajax/deleteevent.php
@@ -17,14 +17,14 @@ $id = $_POST['id'];
$data = OC_Calendar_Object::find($id);
if (!$data)
{
- echo json_encode(array('status'=>'error'));
+ OC_JSON::error();
exit;
}
$calendar = OC_Calendar_Calendar::findCalendar($data['calendarid']);
if($calendar['userid'] != OC_User::getUser()){
- echo json_encode(array('status'=>'error'));
+ OC_JSON::error();
exit;
}
$result = OC_Calendar_Object::delete($id);
-echo json_encode(array('status' => 'success'));
+OC_JSON::success();
?>
diff --git a/apps/calendar/ajax/editevent.php b/apps/calendar/ajax/editevent.php
index 5659e7e3c1c..7187e05d56f 100644
--- a/apps/calendar/ajax/editevent.php
+++ b/apps/calendar/ajax/editevent.php
@@ -17,8 +17,7 @@ if(!OC_USER::isLoggedIn()) {
$errarr = OC_Calendar_Object::validateRequest($_POST);
if($errarr){
//show validate errors
- $errarr['status'] = 'error';
- echo json_encode($errarr);
+ OC_JSON::error($errarr);
exit;
}else{
$id = $_POST['id'];
@@ -26,12 +25,12 @@ if($errarr){
$data = OC_Calendar_Object::find($id);
if (!$data)
{
- echo json_encode(array('status'=>'error'));
+ OC_JSON::error();
exit;
}
$calendar = OC_Calendar_Calendar::findCalendar($data['calendarid']);
if($calendar['userid'] != OC_User::getUser()){
- echo json_encode(array('status'=>'error'));
+ OC_JSON::error();
exit;
}
$vcalendar = Sabre_VObject_Reader::read($data['calendardata']);
@@ -40,6 +39,6 @@ if($errarr){
if ($data['calendarid'] != $cal) {
OC_Calendar_Object::moveToCalendar($id, $cal);
}
- echo json_encode(array('status' => 'success'));
+ OC_JSON::success();
}
-?>
+?>
diff --git a/apps/calendar/ajax/newevent.php b/apps/calendar/ajax/newevent.php
index f3cca1cee46..9ac3b0aaff6 100644
--- a/apps/calendar/ajax/newevent.php
+++ b/apps/calendar/ajax/newevent.php
@@ -17,13 +17,12 @@ if(!OC_USER::isLoggedIn()) {
$errarr = OC_Calendar_Object::validateRequest($_POST);
if($errarr){
//show validate errors
- $errarr['status'] = 'error';
- echo json_encode($errarr);
+ OC_JSON::error($errarr);
exit;
}else{
$cal = $_POST['calendar'];
$vcalendar = OC_Calendar_Object::createVCalendarFromRequest($_POST);
$result = OC_Calendar_Object::add($cal, $vcalendar->serialize());
- echo json_encode(array('status'=>'success'));
+ OC_JSON::success();
}
?>
diff --git a/apps/calendar/ajax/settimezone.php b/apps/calendar/ajax/settimezone.php
index a07b56ee9ae..2b82bc8e4bc 100644
--- a/apps/calendar/ajax/settimezone.php
+++ b/apps/calendar/ajax/settimezone.php
@@ -11,22 +11,16 @@ require_once('../../../lib/base.php');
$l=new OC_L10N('calendar');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => $l->t("Authentication error") )));
- exit();
-}
+OC_JSON::checkLoggedIn();
// Get data
if( isset( $_POST['timezone'] ) ){
$timezone=$_POST['timezone'];
OC_Preferences::setValue( OC_User::getUser(), 'calendar', 'timezone', $timezone );
- echo json_encode( array( "status" => "success", "data" => array( "message" => $l->t("Timezone changed") )));
+ OC_JSON::success(array('data' => array( 'message' => $l->t('Timezone changed') )));
}else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => $l->t("Invalid request") )));
+ OC_JSON::error(array('data' => array( 'message' => $l->t('Invalid request') )));
}
?>
diff --git a/apps/calendar/ajax/updatecalendar.php b/apps/calendar/ajax/updatecalendar.php
index efb0b99bad7..d53515d0deb 100644
--- a/apps/calendar/ajax/updatecalendar.php
+++ b/apps/calendar/ajax/updatecalendar.php
@@ -10,14 +10,8 @@ require_once('../../../lib/base.php');
$l10n = new OC_L10N('calendar');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => $l->t("Authentication error") )));
- exit();
-}
+OC_JSON::checkLoggedIn();
$calendarid = $_POST['id'];
OC_Calendar_Calendar::editCalendar($calendarid, $_POST['name'], $_POST['description'], null, null, null, $_POST['color']);
@@ -25,4 +19,4 @@ OC_Calendar_Calendar::setCalendarActive($calendarid, $_POST['active']);
$calendar = OC_Calendar_Calendar::findCalendar($calendarid);
$tmpl = new OC_Template('calendar', 'part.choosecalendar.rowfields');
$tmpl->assign('calendar', $calendar);
-echo json_encode( array( "status" => "success", "data" => $tmpl->fetchPage() ));
+OC_JSON::success(array('data' => $tmpl->fetchPage()));
diff --git a/apps/calendar/templates/part.getcal.php b/apps/calendar/templates/part.getcal.php
index 35d08c85b3a..900a43b3df2 100644
--- a/apps/calendar/templates/part.getcal.php
+++ b/apps/calendar/templates/part.getcal.php
@@ -53,5 +53,5 @@ foreach($events as $event)
$return_events[$year][$month][$day][$hour] = array(1 => $return_event);
}
}
-echo json_encode($return_events);
+OC_JSON::encodedPrint($return_events);
?>
diff --git a/apps/contacts/ajax/addcard.php b/apps/contacts/ajax/addcard.php
index 6005d74d144..cfae3327f56 100644
--- a/apps/contacts/ajax/addcard.php
+++ b/apps/contacts/ajax/addcard.php
@@ -27,14 +27,11 @@ $aid = $_POST['id'];
$l10n = new OC_L10N('contacts');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.'))));
- exit();
-}
+OC_JSON::checkLoggedIn();
$addressbook = OC_Contacts_Addressbook::find( $aid );
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your addressbook.')))); // Same here (as with the contact error). Could this error be improved?
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your addressbook.')))); // Same here (as with the contact error). Could this error be improved?
exit();
}
@@ -51,4 +48,4 @@ $tmpl->assign('details',$details);
$tmpl->assign('id',$id);
$page = $tmpl->fetchPage();
-echo json_encode( array( 'status' => 'success', 'data' => array( 'id' => $id, 'page' => $page )));
+OC_JSON::success(array('data' => array( 'id' => $id, 'page' => $page )));
diff --git a/apps/contacts/ajax/addproperty.php b/apps/contacts/ajax/addproperty.php
index a311bba6e26..5a37f77f858 100644
--- a/apps/contacts/ajax/addproperty.php
+++ b/apps/contacts/ajax/addproperty.php
@@ -27,27 +27,24 @@ $id = $_POST['id'];
$l10n = new OC_L10N('contacts');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.'))));
- exit();
-}
+OC_JSON::checkLoggedIn();
$card = OC_Contacts_VCard::find( $id );
if( $card === false ){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Contact could not be found.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('Contact could not be found.'))));
exit();
}
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your contact.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
exit();
}
$vcard = OC_Contacts_VCard::parse($card['carddata']);
// Check if the card is valid
if(is_null($vcard)){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('vCard could not be read.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('vCard could not be read.'))));
exit();
}
@@ -75,4 +72,4 @@ $tmpl = new OC_Template('contacts','part.property');
$tmpl->assign('property',OC_Contacts_VCard::structureProperty($property,$line));
$page = $tmpl->fetchPage();
-echo json_encode( array( 'status' => 'success', 'data' => array( 'page' => $page )));
+OC_JSON::success(array('data' => array( 'page' => $page )));
diff --git a/apps/contacts/ajax/deletebook.php b/apps/contacts/ajax/deletebook.php
index 38322f5c109..13be33eb5a9 100644
--- a/apps/contacts/ajax/deletebook.php
+++ b/apps/contacts/ajax/deletebook.php
@@ -28,16 +28,13 @@ $id = $_GET['id'];
$l10n = new OC_L10N('contacts');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.'))));
- exit();
-}
+OC_JSON::checkLoggedIn();
$addressbook = OC_Contacts_Addressbook::find( $id );
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your contact.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
exit();
}
OC_Contacts_Addressbook::delete($id);
-echo json_encode( array( 'status' => 'success', 'data' => array( 'id' => $id )));
+OC_JSON::success(array('data' => array( 'id' => $id )));
diff --git a/apps/contacts/ajax/deletecard.php b/apps/contacts/ajax/deletecard.php
index 7dde7d30a52..c69638320ed 100644
--- a/apps/contacts/ajax/deletecard.php
+++ b/apps/contacts/ajax/deletecard.php
@@ -28,23 +28,19 @@ $id = $_GET['id'];
$l10n = new OC_L10N('contacts');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.'))));
- exit();
-}
-
+OC_JSON::checkLoggedIn();
$card = OC_Contacts_VCard::find( $id );
if( $card === false ){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Contact could not be found.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('Contact could not be found.'))));
exit();
}
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your contact.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
exit();
}
OC_Contacts_VCard::delete($id);
-echo json_encode( array( 'status' => 'success', 'data' => array( 'id' => $id )));
+OC_JSON::success(array('data' => array( 'id' => $id )));
diff --git a/apps/contacts/ajax/deleteproperty.php b/apps/contacts/ajax/deleteproperty.php
index 07cea0b53e1..40b765cf845 100644
--- a/apps/contacts/ajax/deleteproperty.php
+++ b/apps/contacts/ajax/deleteproperty.php
@@ -30,28 +30,24 @@ $checksum = $_GET['checksum'];
$l10n = new OC_L10N('contacts');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.'))));
- exit();
-}
-
+OC_JSON::checkLoggedIn();
$card = OC_Contacts_VCard::find( $id );
if( $card === false ){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Contact could not be found.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('Contact could not be found.'))));
exit();
}
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your contact.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
exit();
}
$vcard = OC_Contacts_VCard::parse($card['carddata']);
// Check if the card is valid
if(is_null($vcard)){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('vCard could not be read.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('vCard could not be read.'))));
exit();
}
@@ -62,11 +58,11 @@ for($i=0;$i<count($vcard->children);$i++){
}
}
if(is_null($line)){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload the page.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload the page.'))));
exit();
}
unset($vcard->children[$line]);
OC_Contacts_VCard::edit($id,$vcard->serialize());
-echo json_encode( array( 'status' => 'success', 'data' => array( 'id' => $id )));
+OC_JSON::success(array('data' => array( 'id' => $id )));
diff --git a/apps/contacts/ajax/getdetails.php b/apps/contacts/ajax/getdetails.php
index ab1f1d66f5e..47d88a771e6 100644
--- a/apps/contacts/ajax/getdetails.php
+++ b/apps/contacts/ajax/getdetails.php
@@ -28,28 +28,25 @@ $id = $_GET['id'];
$l10n = new OC_L10N('contacts');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.'))));
- exit();
-}
+OC_JSON::checkLoggedIn();
$card = OC_Contacts_VCard::find( $id );
if( $card === false ){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Contact could not be found.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('Contact could not be found.'))));
exit();
}
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your contact.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
exit();
}
$vcard = OC_Contacts_VCard::parse($card['carddata']);
// Check if the card is valid
if(is_null($vcard)){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('vCard could not be read.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('vCard could not be read.'))));
exit();
}
@@ -59,4 +56,4 @@ $tmpl->assign('details',$details);
$tmpl->assign('id',$id);
$page = $tmpl->fetchPage();
-echo json_encode( array( 'status' => 'success', 'data' => array( 'id' => $id, 'page' => $page )));
+OC_JSON::success(array('data' => array( 'id' => $id, 'page' => $page )));
diff --git a/apps/contacts/ajax/setproperty.php b/apps/contacts/ajax/setproperty.php
index 9178a6aac9f..b4fc2162d90 100644
--- a/apps/contacts/ajax/setproperty.php
+++ b/apps/contacts/ajax/setproperty.php
@@ -28,27 +28,24 @@ $checksum = $_POST['checksum'];
$l10n = new OC_L10N('contacts');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.'))));
- exit();
-}
+OC_JSON::checkLoggedIn();
$card = OC_Contacts_VCard::find( $id );
if( $card === false ){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Contact could not be found.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('Contact could not be found.'))));
exit();
}
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your contact.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
exit();
}
$vcard = OC_Contacts_VCard::parse($card['carddata']);
// Check if the card is valid
if(is_null($vcard)){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('vCard could not be read.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('vCard could not be read.'))));
exit();
}
@@ -59,7 +56,7 @@ for($i=0;$i<count($vcard->children);$i++){
}
}
if(is_null($line)){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload the page.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload the page.'))));
exit();
}
@@ -100,4 +97,4 @@ $tmpl = new OC_Template('contacts','part.property');
$tmpl->assign('property',OC_Contacts_VCard::structureProperty($vcard->children[$line],$line));
$page = $tmpl->fetchPage();
-echo json_encode( array( 'status' => 'success', 'data' => array( 'page' => $page, 'line' => $line, 'oldchecksum' => $_POST['checksum'] )));
+OC_JSON::success(array('data' => array( 'page' => $page, 'line' => $line, 'oldchecksum' => $_POST['checksum'] )));
diff --git a/apps/contacts/ajax/showaddcard.php b/apps/contacts/ajax/showaddcard.php
index 89c78fcdf54..58567392d7c 100644
--- a/apps/contacts/ajax/showaddcard.php
+++ b/apps/contacts/ajax/showaddcard.php
@@ -26,14 +26,11 @@ require_once('../../../lib/base.php');
$l10n = new OC_L10N('contacts');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.'))));
- exit();
-}
+OC_JSON::checkLoggedIn();
$addressbooks = OC_Contacts_Addressbook::all(OC_USER::getUser());
$tmpl = new OC_Template('contacts','part.addcardform');
$tmpl->assign('addressbooks',$addressbooks);
$page = $tmpl->fetchPage();
-echo json_encode( array( 'status' => 'success', 'data' => array( 'page' => $page )));
+OC_JSON::success(array('data' => array( 'page' => $page )));
diff --git a/apps/contacts/ajax/showaddproperty.php b/apps/contacts/ajax/showaddproperty.php
index 718478d42bf..0d01b37d8ef 100644
--- a/apps/contacts/ajax/showaddproperty.php
+++ b/apps/contacts/ajax/showaddproperty.php
@@ -27,20 +27,17 @@ $id = $_GET['id'];
$l10n = new OC_L10N('contacts');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.'))));
- exit();
-}
+OC_JSON::checkLoggedIn();
$card = OC_Contacts_VCard::find( $id );
if( $card === false ){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Contact could not be found.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('Contact could not be found.'))));
exit();
}
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your contact.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
exit();
}
@@ -48,4 +45,4 @@ $tmpl = new OC_Template('contacts','part.addpropertyform');
$tmpl->assign('id',$id);
$page = $tmpl->fetchPage();
-echo json_encode( array( 'status' => 'success', 'data' => array( 'page' => $page )));
+OC_JSON::success(array('data' => array( 'page' => $page )));
diff --git a/apps/contacts/ajax/showsetproperty.php b/apps/contacts/ajax/showsetproperty.php
index 77b90ea8cc4..0b30a8e68ec 100644
--- a/apps/contacts/ajax/showsetproperty.php
+++ b/apps/contacts/ajax/showsetproperty.php
@@ -28,27 +28,24 @@ $checksum = $_GET['checksum'];
$l10n = new OC_L10N('contacts');
// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in.'))));
- exit();
-}
+OC_JSON::checkLoggedIn();
$card = OC_Contacts_VCard::find( $id );
if( $card === false ){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Contact could not be found.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('Contact could not be found.'))));
exit();
}
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your contact.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
exit();
}
$vcard = OC_Contacts_VCard::parse($card['carddata']);
// Check if the card is valid
if(is_null($vcard)){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('vCard could not be read.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('vCard could not be read.'))));
exit();
}
@@ -59,7 +56,7 @@ for($i=0;$i<count($vcard->children);$i++){
}
}
if(is_null($line)){
- echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload the page.'))));
+ OC_JSON::error(array('data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload the page.'))));
exit();
}
@@ -70,4 +67,4 @@ $tmpl->assign('checksum',$checksum);
$tmpl->assign('property',OC_Contacts_VCard::structureProperty($vcard->children[$line]));
$page = $tmpl->fetchPage();
-echo json_encode( array( 'status' => 'success', 'data' => array( 'page' => $page )));
+OC_JSON::success(array('data' => array( 'page' => $page )));
diff --git a/apps/files_sharing/ajax/getitem.php b/apps/files_sharing/ajax/getitem.php
index 249af6cfa31..e7bda0f6144 100644
--- a/apps/files_sharing/ajax/getitem.php
+++ b/apps/files_sharing/ajax/getitem.php
@@ -30,7 +30,7 @@ while ($source != "" && $source != "/" && $source != "." && $source != $userDire
$source = dirname($source);
}
if (!empty($users)) {
- echo json_encode($users);
+ OC_JSON::encodedPrint($users);
}
-?> \ No newline at end of file
+?>
diff --git a/apps/files_sharing/ajax/userautocomplete.php b/apps/files_sharing/ajax/userautocomplete.php
index 6da7afb659c..a3158cf72d6 100644
--- a/apps/files_sharing/ajax/userautocomplete.php
+++ b/apps/files_sharing/ajax/userautocomplete.php
@@ -3,10 +3,8 @@ $RUNTIME_NOAPPS = true;
require_once('../../../lib/base.php');
-if (!OC_User::isLoggedIn()) {
- echo json_encode(array("status" => "error", "data" => array("message" => "Authentication error")));
- exit();
-}
+OC_JSON::checkLoggedIn();
+
$users = array();
$ocusers = OC_User::getUsers();
$self = OC_User::getUser();
@@ -23,6 +21,6 @@ foreach ($groups as $group) {
$users[] = "<option value='".$group."'>".$group."</option>";
}
$users[] = "</optgroup>";
-echo json_encode($users);
+OC_JSON::encodedPrint($users);
?>
diff --git a/apps/media/ajax/api.php b/apps/media/ajax/api.php
index c5909e4c78b..84ee6334463 100644
--- a/apps/media/ajax/api.php
+++ b/apps/media/ajax/api.php
@@ -67,7 +67,7 @@ if($arguments['action']){
$data['artists']=OC_MEDIA_COLLECTION::getArtists();
$data['albums']=OC_MEDIA_COLLECTION::getAlbums();
$data['songs']=OC_MEDIA_COLLECTION::getSongs();
- echo json_encode($data);
+ OC_JSON::encodedPrint($data);
break;
case 'scan':
OC_DB::beginTransaction();
@@ -81,13 +81,13 @@ if($arguments['action']){
echo (OC_MEDIA_SCANNER::scanFile($arguments['path']))?'true':'false';
break;
case 'get_artists':
- echo json_encode(OC_MEDIA_COLLECTION::getArtists($arguments['search']));
+ OC_JSON::encodedPrint(OC_MEDIA_COLLECTION::getArtists($arguments['search']));
break;
case 'get_albums':
- echo json_encode(OC_MEDIA_COLLECTION::getAlbums($arguments['artist'],$arguments['search']));
+ OC_JSON::encodedPrint(OC_MEDIA_COLLECTION::getAlbums($arguments['artist'],$arguments['search']));
break;
case 'get_songs':
- echo json_encode(OC_MEDIA_COLLECTION::getSongs($arguments['artist'],$arguments['album'],$arguments['search']));
+ OC_JSON::encodedPrint(OC_MEDIA_COLLECTION::getSongs($arguments['artist'],$arguments['album'],$arguments['search']));
break;
case 'get_path_info':
if(OC_Filesystem::file_exists($arguments['path'])){
@@ -100,7 +100,7 @@ if($arguments['action']){
$song=OC_MEDIA_COLLECTION::getSong($songId);
$song['artist']=OC_MEDIA_COLLECTION::getArtistName($song['song_artist']);
$song['album']=OC_MEDIA_COLLECTION::getAlbumName($song['song_album']);
- echo json_encode($song);
+ OC_JSON::encodedPrint($song);
}
}
break;
@@ -129,7 +129,7 @@ if($arguments['action']){
OC_Filesystem::readfile($arguments['path']);
exit;
case 'find_music':
- echo json_encode(findMusic());
+ OC_JSON::encodedPrint(findMusic());
exit;
}
}
diff --git a/apps/media/ajax/autoupdate.php b/apps/media/ajax/autoupdate.php
index ac3d0650b4b..ad103d1c39b 100644
--- a/apps/media/ajax/autoupdate.php
+++ b/apps/media/ajax/autoupdate.php
@@ -35,5 +35,5 @@ if(defined("DEBUG") && DEBUG) {error_log((integer)$autoUpdate);}
OC_Preferences::setValue(OC_User::getUser(),'media','autoupdate',(integer)$autoUpdate);
-echo json_encode( array( "status" => "success", "data" => $autoUpdate));
-?> \ No newline at end of file
+OC_JSON::success(array('data' => $autoUpdate));
+?>
diff --git a/apps/media/tomahawk.php b/apps/media/tomahawk.php
index bf0c2c2a756..1db982a3504 100644
--- a/apps/media/tomahawk.php
+++ b/apps/media/tomahawk.php
@@ -77,5 +77,5 @@ foreach($songs as $song) {
'score' => (float)1.0
);
}
-echo json_encode($results);
-?> \ No newline at end of file
+OC_JSON::encodedPrint($results);
+?>
diff --git a/core/ajax/grouplist.php b/core/ajax/grouplist.php
index d0d10f7a84e..cc15102bbc3 100644
--- a/core/ajax/grouplist.php
+++ b/core/ajax/grouplist.php
@@ -44,8 +44,6 @@ foreach( OC_Group::getGroups() as $i ){
$groups[] = array( "groupname" => $i );
}
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-echo json_encode($groups);
+OC_JSON::encodedPrint($groups);
?>
diff --git a/core/ajax/translations.php b/core/ajax/translations.php
index adaf7dcb758..2e436f8d84e 100644
--- a/core/ajax/translations.php
+++ b/core/ajax/translations.php
@@ -26,9 +26,7 @@ require_once('../../lib/base.php');
$app = $_POST["app"];
-// We send json data
-header( "Content-Type: application/jsonrequest" );
$l = new OC_L10N( $app );
-echo json_encode( array( 'status' => 'success', 'data' => $l->getTranslations()));
+OC_JSON::success(array('data' => $l->getTranslations()));
?>
diff --git a/core/ajax/userlist.php b/core/ajax/userlist.php
index 0485f514550..c8168eaf460 100644
--- a/core/ajax/userlist.php
+++ b/core/ajax/userlist.php
@@ -43,8 +43,6 @@ foreach( OC_User::getUsers() as $i ){
$users[] = array( "username" => $i, "groups" => join( ", ", OC_Group::getUserGroups( $i ) ));
}
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-echo json_encode($users);
+OC_JSON::encodedPrint($users);
?>
diff --git a/core/ajax/validateuser.php b/core/ajax/validateuser.php
index 032948fc331..258bd50fcad 100644
--- a/core/ajax/validateuser.php
+++ b/core/ajax/validateuser.php
@@ -30,11 +30,10 @@ if(!isset($_SERVER['PHP_AUTH_USER'])){
echo 'Valid credentials must be supplied';
exit();
} else {
- header("Content-Type: application/jsonrequest");
if(OC_User::checkPassword($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])){
- echo json_encode(array("username" => $_SERVER["PHP_AUTH_USER"], "user_valid" => "true"));
+ OC_JSON::encodedPrint(array("username" => $_SERVER["PHP_AUTH_USER"], "user_valid" => "true"));
} else {
- echo json_encode(array("username" => $_SERVER["PHP_AUTH_USER"], "user_valid" => "false"));
+ OC_JSON::encodedPrint(array("username" => $_SERVER["PHP_AUTH_USER"], "user_valid" => "false"));
}
}
diff --git a/files/ajax/autocomplete.php b/files/ajax/autocomplete.php
index 183ee86c788..8d7a5b482bd 100644
--- a/files/ajax/autocomplete.php
+++ b/files/ajax/autocomplete.php
@@ -5,14 +5,7 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-// header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkLoggedIn();
// Get data
$query = $_GET['term'];
@@ -58,6 +51,6 @@ if(OC_Filesystem::file_exists($base) and OC_Filesystem::is_dir($base)){
}
}
}
-echo json_encode($files);
+OC_JSON::encodedPrint($files);
?>
diff --git a/files/ajax/delete.php b/files/ajax/delete.php
index 782db215dfc..b6bc859897c 100644
--- a/files/ajax/delete.php
+++ b/files/ajax/delete.php
@@ -3,14 +3,7 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkLoggedIn();
// Get data
$dir = $_GET["dir"];
@@ -18,19 +11,19 @@ $files = isset($_GET["file"]) ? $_GET["file"] : $_GET["files"];
$files = explode(';', $files);
$filesWithError = '';
-$status = 'success';
+$success = true;
//Now delete
foreach($files as $file) {
if( !OC_Files::delete( $dir, $file )){
$filesWithError .= $file . "\n";
- $status = 'error';
+ $success = false;
}
}
-if($status == 'success') {
- echo json_encode( array( "status" => $status, "data" => array( "dir" => $dir, "files" => $files )));
+if(success) {
+ OC_JSON::success(array("data" => array( "dir" => $dir, "files" => $files )));
} else {
- echo json_encode( array( "status" => $status, "data" => array( "message" => "Could not delete:\n" . $filesWithError )));
+ OC_JSON::error(array("data" => array( "message" => "Could not delete:\n" . $filesWithError )));
}
?>
diff --git a/files/ajax/list.php b/files/ajax/list.php
index 547bc91fb05..8a414827e1c 100644
--- a/files/ajax/list.php
+++ b/files/ajax/list.php
@@ -3,14 +3,7 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkLoggedIn();
// Load the files
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
@@ -45,6 +38,6 @@ $list = new OC_Template( "files", "part.list", "" );
$list->assign( "files", $files );
$data = array('files' => $list->fetchPage());
-echo json_encode( array( "status" => "success", "data" => $data));
+OC_JSON::success(array('data' => $data));
?>
diff --git a/files/ajax/move.php b/files/ajax/move.php
index 4224cbce6d0..8a56a015486 100644
--- a/files/ajax/move.php
+++ b/files/ajax/move.php
@@ -3,14 +3,7 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkLoggedIn();
// Get data
$dir = $_GET["dir"];
@@ -19,9 +12,9 @@ $target = $_GET["target"];
if(OC_Files::move($dir,$file,$target,$file)){
- echo json_encode( array( "status" => 'success', "data" => array( "dir" => $dir, "files" => $file )));
+ OC_JSON::success(array("data" => array( "dir" => $dir, "files" => $file )));
}else{
- echo json_encode( array( "status" => 'error', "data" => array( "message" => "Could move $file" )));
+ OC_JSON::error(array("data" => array( "message" => "Could move $file" )));
}
-?> \ No newline at end of file
+?>
diff --git a/files/ajax/newfolder.php b/files/ajax/newfolder.php
index 8eb05280e73..43d87461fc7 100644
--- a/files/ajax/newfolder.php
+++ b/files/ajax/newfolder.php
@@ -3,27 +3,20 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkLoggedIn();
// Get the params
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
$foldername = isset( $_GET['foldername'] ) ? $_GET['foldername'] : '';
if($foldername == '') {
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Empty Foldername" )));
+ OC_JSON::error(array("data" => array( "message" => "Empty Foldername" )));
exit();
}
if(defined("DEBUG") && DEBUG) {error_log('try to create ' . $foldername . ' in ' . $dir);}
if(OC_Files::newFile($dir, $foldername, 'dir')) {
- echo json_encode( array( "status" => "success", "data" => array()));
+ OC_JSON::success(array("data" => array()));
exit();
}
-echo json_encode( array( "status" => "error", "data" => array( "message" => "Error when creating the folder" ))); \ No newline at end of file
+OC_JSON::error(array("data" => array( "message" => "Error when creating the folder" )));
diff --git a/files/ajax/rename.php b/files/ajax/rename.php
index 516077f6fda..87ffbc3ada0 100644
--- a/files/ajax/rename.php
+++ b/files/ajax/rename.php
@@ -3,14 +3,7 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkLoggedIn();
// Get data
$dir = $_GET["dir"];
@@ -19,10 +12,10 @@ $newname = $_GET["newname"];
// Delete
if( OC_Files::move( $dir, $file, $dir, $newname )) {
- echo json_encode( array( "status" => "success", "data" => array( "dir" => $dir, "file" => $file, "newname" => $newname )));
+ OC_JSON::success(array("data" => array( "dir" => $dir, "file" => $file, "newname" => $newname )));
}
else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to rename file" )));
+ OC_JSON::error(array("data" => array( "message" => "Unable to rename file" )));
}
?>
diff --git a/files/ajax/upload.php b/files/ajax/upload.php
index f005a8af226..041ec0c92e3 100644
--- a/files/ajax/upload.php
+++ b/files/ajax/upload.php
@@ -3,19 +3,13 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-// header( "Content-Type: application/json" );
// Firefox and Konqueror tries to download application/json for me. --Arthur
-header( "Content-Type: text/plain" );
+OC_JSON::setContentTypeHeader('text/plain');
-// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkLoggedIn();
if (!isset($_FILES['files'])) {
- echo json_encode( array( "status" => "error", "data" => array( "message" => "No file was uploaded. Unknown error" )));
+ OC_JSON::error(array("data" => array( "message" => "No file was uploaded. Unknown error" )));
exit();
}
foreach ($_FILES['files']['error'] as $error) {
@@ -28,7 +22,7 @@ foreach ($_FILES['files']['error'] as $error) {
4=>$l->t("No file was uploaded"),
6=>$l->t("Missing a temporary folder")
);
- echo json_encode( array( "status" => "error", "data" => array( "message" => $errors[$error] )));
+ OC_JSON::error(array("data" => array( "message" => $errors[$error] )));
exit();
}
}
@@ -43,7 +37,7 @@ foreach($files['size'] as $size){
$totalSize+=$size;
}
if($totalSize>OC_Filesystem::free_space('/')){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Not enough space available" )));
+ OC_JSON::error(array("data" => array( "message" => "Not enough space available" )));
exit();
}
@@ -56,12 +50,12 @@ if(strpos($dir,'..') === false){
$result[]=array( "status" => "success", 'mime'=>OC_Filesystem::getMimeType($target),'size'=>OC_Filesystem::filesize($target),'name'=>$files['name'][$i]);
}
}
- echo json_encode($result);
+ OC_JSON::encodedPrint($result);
exit();
}else{
$error='invalid dir';
}
-echo json_encode(array( 'status' => 'error', 'data' => array('error' => $error, "file" => $fileName)));
+OC_JSON::error(array('data' => array('error' => $error, "file" => $fileName)));
?>
diff --git a/lib/json.php b/lib/json.php
new file mode 100644
index 00000000000..47d5e82fbb0
--- /dev/null
+++ b/lib/json.php
@@ -0,0 +1,68 @@
+<?php
+/**
+ * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+class OC_JSON{
+ static protected $send_content_type_header = false;
+ /**
+ * set Content-Type header to jsonrequest
+ */
+ public static function setContentTypeHeader($type='application/jsonrequest'){
+ if (!self::$send_content_type_header){
+ // We send json data
+ header( 'Content-Type: '.$type );
+ self::$send_content_type_header = true;
+ }
+ }
+
+ /**
+ * Check if the user is logged in, send json error msg if not
+ */
+ public static function checkLoggedIn(){
+ if( !OC_User::isLoggedIn()){
+ $l = new OC_L10N('core');
+ self::error(array( 'data' => array( 'message' => $l->t('Authentication error') )));
+ exit();
+ }
+ }
+
+ /**
+ * Check if the user is a admin, send json error msg if not
+ */
+ public static function checkAdminUser(){
+ self::checkLoggedIn();
+ if( !OC_Group::inGroup( OC_User::getUser(), 'admin' )){
+ $l = new OC_L10N('core');
+ self::error(array( 'data' => array( 'message' => $l->t('Authentication error') )));
+ exit();
+ }
+ }
+
+ /**
+ * Send json error msg
+ */
+ public static function error($data = array()){
+ $data['status'] = 'error';
+ self::encodedPrint($data);
+ }
+
+ /**
+ * Send json success msg
+ */
+ public static function success($data = array()){
+ $data['status'] = 'success';
+ self::encodedPrint($data);
+ }
+
+ /**
+ * Encode and print $data in json format
+ */
+ public static function encodedPrint($data){
+ self::setContentTypeHeader();
+ echo json_encode($data);
+ }
+}
diff --git a/search/ajax/search.php b/search/ajax/search.php
index 9472f97e189..326724d60c4 100644
--- a/search/ajax/search.php
+++ b/search/ajax/search.php
@@ -26,12 +26,12 @@
require_once('../../lib/base.php');
// Check if we are a user
-OC_Util::checkLoggedIn();
+OC_JSON::checkLoggedIn();
$query=(isset($_GET['query']))?$_GET['query']:'';
if($query){
$result=OC_Search::search($query);
- echo json_encode($result);
+ OC_JSON::encodedPrint($result);
}else{
echo 'false';
}
diff --git a/settings/ajax/changepassword.php b/settings/ajax/changepassword.php
index 98218b9f89e..860ea987871 100644
--- a/settings/ajax/changepassword.php
+++ b/settings/ajax/changepassword.php
@@ -3,25 +3,23 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
$username = isset($_POST["username"]) ? $_POST["username"] : OC_User::getUser();
$password = $_POST["password"];
$oldPassword=isset($_POST["oldpassword"])?$_POST["oldpassword"]:'';
// Check if we are a user
-if( !OC_User::isLoggedIn() || (!OC_Group::inGroup( OC_User::getUser(), 'admin' ) && ($username!=OC_User::getUser() || !OC_User::checkPassword($username,$oldPassword)))) {
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
+OC_JSON::checkLoggedIn();
+if( (!OC_Group::inGroup( OC_User::getUser(), 'admin' ) && ($username!=OC_User::getUser() || !OC_User::checkPassword($username,$oldPassword)))) {
+ OC_JSON::error( array( "data" => array( "message" => "Authentication error" )));
exit();
}
// Return Success story
if( OC_User::setPassword( $username, $password )){
- echo json_encode( array( "status" => "success", "data" => array( "username" => $username )));
+ OC_JSON::success(array("data" => array( "username" => $username )));
}
else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to change password" )));
+ OC_JSON::error(array("data" => array( "message" => "Unable to change password" )));
}
?>
diff --git a/settings/ajax/creategroup.php b/settings/ajax/creategroup.php
index 2631937b14d..57d82e7bd94 100644
--- a/settings/ajax/creategroup.php
+++ b/settings/ajax/creategroup.php
@@ -3,12 +3,9 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
// Check if we are a user
if( !OC_User::isLoggedIn() || !OC_Group::inGroup( OC_User::getUser(), 'admin' )){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
+ OC_JSON::error(array("data" => array( "message" => "Authentication error" )));
exit();
}
@@ -16,16 +13,16 @@ $groupname = $_POST["groupname"];
// Does the group exist?
if( in_array( $groupname, OC_Group::getGroups())){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Group already exists" )));
+ OC_JSON::error(array("data" => array( "message" => "Group already exists" )));
exit();
}
// Return Success story
if( OC_Group::createGroup( $groupname )){
- echo json_encode( array( "status" => "success", "data" => array( "groupname" => $groupname )));
+ OC_JSON::success(array("data" => array( "groupname" => $groupname )));
}
else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to add group" )));
+ OC_JSON::error(array("data" => array( "message" => "Unable to add group" )));
}
?>
diff --git a/settings/ajax/createuser.php b/settings/ajax/createuser.php
index de52f90d4f3..1ed53efcf06 100644
--- a/settings/ajax/createuser.php
+++ b/settings/ajax/createuser.php
@@ -3,12 +3,9 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
// Check if we are a user
if( !OC_User::isLoggedIn() || !OC_Group::inGroup( OC_User::getUser(), 'admin' )){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
+ OC_JSON::error(array("data" => array( "message" => "Authentication error" )));
exit();
}
@@ -21,7 +18,7 @@ $password = $_POST["password"];
// Does the group exist?
if( in_array( $username, OC_User::getUsers())){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "User already exists" )));
+ OC_JSON::error(array("data" => array( "message" => "User already exists" )));
exit();
}
@@ -33,10 +30,10 @@ if( OC_User::createUser( $username, $password )){
}
OC_Group::addToGroup( $username, $i );
}
- echo json_encode( array( "status" => "success", "data" => array( "username" => $username, "groups" => implode( ", ", OC_Group::getUserGroups( $username )))));
+ OC_JSON::success(array("data" => array( "username" => $username, "groups" => implode( ", ", OC_Group::getUserGroups( $username )))));
}
else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to add user" )));
+ OC_JSON::error(array("data" => array( "message" => "Unable to add user" )));
}
?>
diff --git a/settings/ajax/disableapp.php b/settings/ajax/disableapp.php
index 0cf66a553f8..12f6b32a4f3 100644
--- a/settings/ajax/disableapp.php
+++ b/settings/ajax/disableapp.php
@@ -1,7 +1,7 @@
<?php
// Init owncloud
require_once('../../lib/base.php');
-header( "Content-Type: application/jsonrequest" );
+OC_JSON::setContentTypeHeader();
OC_App::disable($_POST['appid']);
diff --git a/settings/ajax/enableapp.php b/settings/ajax/enableapp.php
index eb1bfc54a04..8be80cd2ece 100644
--- a/settings/ajax/enableapp.php
+++ b/settings/ajax/enableapp.php
@@ -2,7 +2,7 @@
// Init owncloud
require_once('../../lib/base.php');
-header( "Content-Type: application/jsonrequest" );
+OC_JSON::setContentTypeHeader();
OC_App::enable($_POST['appid']);
diff --git a/settings/ajax/openid.php b/settings/ajax/openid.php
index 021fe35d8ec..4226ae740f0 100644
--- a/settings/ajax/openid.php
+++ b/settings/ajax/openid.php
@@ -5,22 +5,15 @@ require_once('../../lib/base.php');
$l=new OC_L10N('settings');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => $l->t("Authentication error") )));
- exit();
-}
+OC_JSON::checkLoggedIn();
// Get data
if( isset( $_POST['identity'] ) ){
$identity=$_POST['identity'];
OC_Preferences::setValue(OC_User::getUser(),'user_openid','identity',$identity);
- echo json_encode( array( "status" => "success", "data" => array( "message" => $l->t("OpenID Changed") )));
+ OC_JSON::success(array("data" => array( "message" => $l->t("OpenID Changed") )));
}else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => $l->t("Invalid request") )));
+ OC_JSON::error(array("data" => array( "message" => $l->t("Invalid request") )));
}
?>
diff --git a/settings/ajax/removegroup.php b/settings/ajax/removegroup.php
index bf80da741c7..4d364781894 100644
--- a/settings/ajax/removegroup.php
+++ b/settings/ajax/removegroup.php
@@ -3,23 +3,16 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn() || !OC_Group::inGroup( OC_User::getUser(), 'admin' )){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkAdminUser();
$name = $_POST["groupname"];
// Return Success story
if( OC_Group::deleteGroup( $name )){
- echo json_encode( array( "status" => "success", "data" => array( "groupname" => $name )));
+ OC_JSON::success(array("data" => array( "groupname" => $name )));
}
else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to delete group" )));
+ OC_JSON::error(array("data" => array( "message" => "Unable to delete group" )));
}
?>
diff --git a/settings/ajax/removeuser.php b/settings/ajax/removeuser.php
index 0a94884cb96..2c288997a1f 100644
--- a/settings/ajax/removeuser.php
+++ b/settings/ajax/removeuser.php
@@ -3,23 +3,16 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn() || !OC_Group::inGroup( OC_User::getUser(), 'admin' )){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkAdminUser();
$username = $_POST["username"];
// Return Success story
if( OC_User::deleteUser( $username )){
- echo json_encode( array( "status" => "success", "data" => array( "username" => $username )));
+ OC_JSON::success(array("data" => array( "username" => $username )));
}
else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to delete user" )));
+ OC_JSON::error(array("data" => array( "message" => "Unable to delete user" )));
}
?>
diff --git a/settings/ajax/setlanguage.php b/settings/ajax/setlanguage.php
index a5ba3d81ba3..dc1128de2e5 100644
--- a/settings/ajax/setlanguage.php
+++ b/settings/ajax/setlanguage.php
@@ -5,22 +5,15 @@ require_once('../../lib/base.php');
$l=new OC_L10N('settings');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn()){
- echo json_encode( array( "status" => "error", "data" => array( "message" => $l->t("Authentication error") )));
- exit();
-}
+OC_JSON::checkLoggedIn();
// Get data
if( isset( $_POST['lang'] ) ){
$lang=$_POST['lang'];
OC_Preferences::setValue( OC_User::getUser(), 'core', 'lang', $lang );
- echo json_encode( array( "status" => "success", "data" => array( "message" => $l->t("Language changed") )));
+ OC_JSON::success(array("data" => array( "message" => $l->t("Language changed") )));
}else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => $l->t("Invalid request") )));
+ OC_JSON::error(array("data" => array( "message" => $l->t("Invalid request") )));
}
?>
diff --git a/settings/ajax/setquota.php b/settings/ajax/setquota.php
index 244a85e3d9c..edbf5b74516 100644
--- a/settings/ajax/setquota.php
+++ b/settings/ajax/setquota.php
@@ -3,20 +3,13 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn() || !OC_Group::inGroup( OC_User::getUser(), 'admin' )){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkAdminUser();
$username = $_POST["username"];
$quota= OC_Helper::computerFileSize($_POST["quota"]);
// Return Success story
OC_Preferences::setValue($username,'files','quota',$quota);
-echo json_encode( array( "status" => "success", "data" => array( "username" => $username ,'quota'=>$quota)));
+OC_JSON::success(array("data" => array( "username" => $username ,'quota'=>$quota)));
?>
diff --git a/settings/ajax/togglegroups.php b/settings/ajax/togglegroups.php
index 3210252af02..3ee3239dd89 100644
--- a/settings/ajax/togglegroups.php
+++ b/settings/ajax/togglegroups.php
@@ -3,14 +3,7 @@
// Init owncloud
require_once('../../lib/base.php');
-// We send json data
-header( "Content-Type: application/jsonrequest" );
-
-// Check if we are a user
-if( !OC_User::isLoggedIn() || !OC_Group::inGroup( OC_User::getUser(), 'admin' )){
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
- exit();
-}
+OC_JSON::checkAdminUser();
$success = true;
$error = "add user to";
@@ -39,10 +32,10 @@ else{
// Return Success story
if( $success ){
- echo json_encode( array( "status" => "success", "data" => array( "username" => $username, "action" => $action, "groupname" => $group )));
+ OC_JSON::success(array("data" => array( "username" => $username, "action" => $action, "groupname" => $group )));
}
else{
- echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to $error group $group" )));
+ OC_JSON::error(array("data" => array( "message" => "Unable to $error group $group" )));
}
?>
diff --git a/settings/templates/apps.php b/settings/templates/apps.php
index d8f3fb5e4f8..ba2385d794f 100644
--- a/settings/templates/apps.php
+++ b/settings/templates/apps.php
@@ -12,7 +12,7 @@
<li <?php if($app['active']) echo 'class="active"'?> data-id="<?php echo $app['id'] ?>">
<?php echo $app['name'] ?>
<span class="hidden">
- <?php echo json_encode($app) ?>
+ <?php OC_JSON::encodedPrint($app) ?>
</span>
</li>
<?php endforeach;?>