diff --git a/apps/bookmarks/ajax/addBookmark.php b/apps/bookmarks/ajax/addBookmark.php index 7cf5baa4a6..9b0beb388a 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 bf1611fe5c..afe60f7d1b 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 1bd2fc08bc..5125f9ce89 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 e9fe0d684d..4583ef204b 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 116daea8bb..f5f7c20c6a 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 e9051a8dbf..de3480d6c3 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 64c6513f53..7d80333b25 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 71129f2c04..30607b92e6 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 08a0e1a1e2..a6750267bd 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 5659e7e3c1..7187e05d56 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 f3cca1cee4..9ac3b0aaff 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 a07b56ee9a..2b82bc8e4b 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 efb0b99bad..d53515d0de 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 35d08c85b3..900a43b3df 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 6005d74d14..cfae3327f5 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 a311bba6e2..5a37f77f85 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 38322f5c10..13be33eb5a 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 7dde7d30a5..c69638320e 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 07cea0b53e..40b765cf84 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;$ichildren);$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 ab1f1d66f5..47d88a771e 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 9178a6aac9..b4fc2162d9 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;$ichildren);$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 89c78fcdf5..58567392d7 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 718478d42b..0d01b37d8e 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 77b90ea8cc..0b30a8e68e 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;$ichildren);$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 249af6cfa3..e7bda0f614 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 6da7afb659..a3158cf72d 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[] = ""; } $users[] = ""; -echo json_encode($users); +OC_JSON::encodedPrint($users); ?> diff --git a/apps/media/ajax/api.php b/apps/media/ajax/api.php index c5909e4c78..84ee633446 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 ac3d0650b4..ad103d1c39 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 bf0c2c2a75..1db982a350 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 d0d10f7a84..cc15102bbc 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 adaf7dcb75..2e436f8d84 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 0485f51455..c8168eaf46 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 032948fc33..258bd50fca 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 183ee86c78..8d7a5b482b 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 782db215df..b6bc859897 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 547bc91fb0..8a414827e1 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 4224cbce6d..8a56a01548 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 8eb05280e7..43d87461fc 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 516077f6fd..87ffbc3ada 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 f005a8af22..041ec0c92e 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 0000000000..47d5e82fbb --- /dev/null +++ b/lib/json.php @@ -0,0 +1,68 @@ + + * 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 9472f97e18..326724d60c 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 98218b9f89..860ea98787 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 2631937b14..57d82e7bd9 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 de52f90d4f..1ed53efcf0 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 0cf66a553f..12f6b32a4f 100644 --- a/settings/ajax/disableapp.php +++ b/settings/ajax/disableapp.php @@ -1,7 +1,7 @@ "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 bf80da741c..4d36478189 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 0a94884cb9..2c288997a1 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 a5ba3d81ba..dc1128de2e 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 244a85e3d9..edbf5b7451 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 3210252af0..3ee3239dd8 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 d8f3fb5e4f..ba2385d794 100644 --- a/settings/templates/apps.php +++ b/settings/templates/apps.php @@ -12,7 +12,7 @@
  • data-id="">