mirror of
https://github.com/owncloudarchive/contacts.git
synced 2024-12-01 13:24:10 +01:00
Contacts: refactor common ajax functions to OC_Contacts_App
This commit is contained in:
parent
e53e413c6c
commit
18f9d177d5
@ -28,11 +28,7 @@ OC_JSON::checkLoggedIn();
|
||||
OC_JSON::checkAppEnabled('contacts');
|
||||
|
||||
$aid = $_POST['id'];
|
||||
$addressbook = OC_Contacts_Addressbook::find( $aid );
|
||||
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
|
||||
OC_JSON::error(array('data' => array( 'message' => OC_Contacts_App::$l10n->t('This is not your addressbook.')))); // Same here (as with the contact error). Could this error be improved?
|
||||
exit();
|
||||
}
|
||||
$addressbook = OC_Contacts_App::getAddressbook( $aid );
|
||||
|
||||
$fn = $_POST['fn'];
|
||||
$values = $_POST['value'];
|
||||
|
@ -23,31 +23,12 @@
|
||||
// Init owncloud
|
||||
require_once('../../../lib/base.php');
|
||||
|
||||
$id = $_POST['id'];
|
||||
$l10n = new OC_L10N('contacts');
|
||||
|
||||
// Check if we are a user
|
||||
OC_JSON::checkLoggedIn();
|
||||
OC_JSON::checkAppEnabled('contacts');
|
||||
|
||||
$card = OC_Contacts_VCard::find( $id );
|
||||
if( $card === false ){
|
||||
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()){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
|
||||
exit();
|
||||
}
|
||||
|
||||
$vcard = OC_VObject::parse($card['carddata']);
|
||||
// Check if the card is valid
|
||||
if(is_null($vcard)){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('vCard could not be read.'))));
|
||||
exit();
|
||||
}
|
||||
$id = $_POST['id'];
|
||||
$vcard = OC_Contacts_App::getContactVCard( $id );
|
||||
|
||||
$name = $_POST['name'];
|
||||
$value = $_POST['value'];
|
||||
@ -56,7 +37,6 @@ $parameters = isset($_POST['parameteres'])?$_POST['parameters']:array();
|
||||
$property = $vcard->addProperty($name, $value, $parameters);
|
||||
|
||||
$line = count($vcard->children) - 1;
|
||||
$checksum = md5($property->serialize());
|
||||
|
||||
OC_Contacts_VCard::edit($id,$vcard->serialize());
|
||||
|
||||
|
@ -23,19 +23,12 @@
|
||||
// Init owncloud
|
||||
require_once('../../../lib/base.php');
|
||||
|
||||
$id = $_GET['id'];
|
||||
|
||||
$l10n = new OC_L10N('contacts');
|
||||
|
||||
// Check if we are a user
|
||||
OC_JSON::checkLoggedIn();
|
||||
OC_JSON::checkAppEnabled('contacts');
|
||||
|
||||
$addressbook = OC_Contacts_Addressbook::find( $id );
|
||||
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
|
||||
exit();
|
||||
}
|
||||
$id = $_GET['id'];
|
||||
$addressbook = OC_Contacts_App::getAddressbook( $id );
|
||||
|
||||
OC_Contacts_Addressbook::delete($id);
|
||||
OC_JSON::success(array('data' => array( 'id' => $id )));
|
||||
|
@ -23,25 +23,12 @@
|
||||
// Init owncloud
|
||||
require_once('../../../lib/base.php');
|
||||
|
||||
$id = $_GET['id'];
|
||||
|
||||
$l10n = new OC_L10N('contacts');
|
||||
|
||||
// Check if we are a user
|
||||
OC_JSON::checkLoggedIn();
|
||||
OC_JSON::checkAppEnabled('contacts');
|
||||
|
||||
$card = OC_Contacts_VCard::find( $id );
|
||||
if( $card === false ){
|
||||
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()){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
|
||||
exit();
|
||||
}
|
||||
$id = $_GET['id'];
|
||||
$card = OC_Contacts_App::getContactObject( $id );
|
||||
|
||||
OC_Contacts_VCard::delete($id);
|
||||
OC_JSON::success(array('data' => array( 'id' => $id )));
|
||||
|
@ -23,45 +23,15 @@
|
||||
// Init owncloud
|
||||
require_once('../../../lib/base.php');
|
||||
|
||||
$id = $_GET['id'];
|
||||
$checksum = $_GET['checksum'];
|
||||
|
||||
|
||||
$l10n = new OC_L10N('contacts');
|
||||
|
||||
// Check if we are a user
|
||||
OC_JSON::checkLoggedIn();
|
||||
OC_JSON::checkAppEnabled('contacts');
|
||||
|
||||
$card = OC_Contacts_VCard::find( $id );
|
||||
if( $card === false ){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('Contact could not be found.'))));
|
||||
exit();
|
||||
}
|
||||
$id = $_GET['id'];
|
||||
$checksum = $_GET['checksum'];
|
||||
|
||||
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
|
||||
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
|
||||
exit();
|
||||
}
|
||||
|
||||
$vcard = OC_VObject::parse($card['carddata']);
|
||||
// Check if the card is valid
|
||||
if(is_null($vcard)){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('vCard could not be read.'))));
|
||||
exit();
|
||||
}
|
||||
|
||||
$line = null;
|
||||
for($i=0;$i<count($vcard->children);$i++){
|
||||
if(md5($vcard->children[$i]->serialize()) == $checksum ){
|
||||
$line = $i;
|
||||
}
|
||||
}
|
||||
if(is_null($line)){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload the page.'))));
|
||||
exit();
|
||||
}
|
||||
$vcard = OC_Contacts_App::getContactVCard( $id );
|
||||
$line = OC_Contacts_App::getPropertyLineByChecksum($vcard, $checksum);
|
||||
|
||||
unset($vcard->children[$line]);
|
||||
|
||||
|
@ -28,23 +28,6 @@ OC_JSON::checkLoggedIn();
|
||||
OC_JSON::checkAppEnabled('contacts');
|
||||
|
||||
$id = $_GET['id'];
|
||||
$card = OC_Contacts_VCard::find( $id );
|
||||
if( $card === false ){
|
||||
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()){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
|
||||
exit();
|
||||
}
|
||||
|
||||
$vcard = OC_VObject::parse($card['carddata']);
|
||||
// Check if the card is valid
|
||||
if(is_null($vcard)){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('vCard could not be read.'))));
|
||||
exit();
|
||||
}
|
||||
$vcard = OC_Contacts_App::getContactVCard( $id );
|
||||
|
||||
OC_Contacts_App::renderDetails($id, $vcard);
|
||||
|
@ -23,43 +23,15 @@
|
||||
// Init owncloud
|
||||
require_once('../../../lib/base.php');
|
||||
|
||||
$id = $_POST['id'];
|
||||
$checksum = $_POST['checksum'];
|
||||
$l10n = new OC_L10N('contacts');
|
||||
|
||||
// Check if we are a user
|
||||
OC_JSON::checkLoggedIn();
|
||||
OC_JSON::checkAppEnabled('contacts');
|
||||
|
||||
$card = OC_Contacts_VCard::find( $id );
|
||||
if( $card === false ){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('Contact could not be found.'))));
|
||||
exit();
|
||||
}
|
||||
$id = $_POST['id'];
|
||||
$checksum = $_POST['checksum'];
|
||||
|
||||
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
|
||||
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
|
||||
exit();
|
||||
}
|
||||
|
||||
$vcard = OC_VObject::parse($card['carddata']);
|
||||
// Check if the card is valid
|
||||
if(is_null($vcard)){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('vCard could not be read.'))));
|
||||
exit();
|
||||
}
|
||||
|
||||
$line = null;
|
||||
for($i=0;$i<count($vcard->children);$i++){
|
||||
if(md5($vcard->children[$i]->serialize()) == $checksum ){
|
||||
$line = $i;
|
||||
}
|
||||
}
|
||||
if(is_null($line)){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload the page.'))));
|
||||
exit();
|
||||
}
|
||||
$vcard = OC_Contacts_App::getContactVCard( $id );
|
||||
$line = OC_Contacts_App::getPropertyLineByChecksum($vcard, $checksum);
|
||||
|
||||
// Set the value
|
||||
$value = $_POST['value'];
|
||||
@ -104,8 +76,8 @@ $checksum = md5($vcard->children[$line]->serialize());
|
||||
|
||||
OC_Contacts_VCard::edit($id,$vcard->serialize());
|
||||
|
||||
$adr_types = OC_Contacts_App::getTypesOfProperty($l10n, 'ADR');
|
||||
$phone_types = OC_Contacts_App::getTypesOfProperty($l10n, 'TEL');
|
||||
$adr_types = OC_Contacts_App::getTypesOfProperty('ADR');
|
||||
$phone_types = OC_Contacts_App::getTypesOfProperty('TEL');
|
||||
|
||||
if ($vcard->children[$line]->name == 'FN'){
|
||||
$tmpl = new OC_Template('contacts','part.property.FN');
|
||||
|
@ -27,8 +27,8 @@ require_once('../../../lib/base.php');
|
||||
OC_JSON::checkLoggedIn();
|
||||
OC_JSON::checkAppEnabled('contacts');
|
||||
|
||||
$adr_types = OC_Contacts_App::getTypesOfProperty(OC_Contacts_App::$l10n, 'ADR');
|
||||
$phone_types = OC_Contacts_App::getTypesOfProperty(OC_Contacts_App::$l10n, 'TEL');
|
||||
$adr_types = OC_Contacts_App::getTypesOfProperty('ADR');
|
||||
$phone_types = OC_Contacts_App::getTypesOfProperty('TEL');
|
||||
|
||||
$addressbooks = OC_Contacts_Addressbook::all(OC_USER::getUser());
|
||||
$tmpl = new OC_Template('contacts','part.addcardform');
|
||||
|
@ -23,24 +23,12 @@
|
||||
// Init owncloud
|
||||
require_once('../../../lib/base.php');
|
||||
|
||||
$id = $_GET['id'];
|
||||
$l10n = new OC_L10N('contacts');
|
||||
|
||||
// Check if we are a user
|
||||
OC_JSON::checkLoggedIn();
|
||||
OC_JSON::checkAppEnabled('contacts');
|
||||
|
||||
$card = OC_Contacts_VCard::find( $id );
|
||||
if( $card === false ){
|
||||
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()){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
|
||||
exit();
|
||||
}
|
||||
$id = $_GET['id'];
|
||||
$card = OC_Contacts_App::getContactObject( $id );
|
||||
|
||||
$tmpl = new OC_Template('contacts','part.addpropertyform');
|
||||
$tmpl->assign('id',$id);
|
||||
|
@ -23,46 +23,19 @@
|
||||
// Init owncloud
|
||||
require_once('../../../lib/base.php');
|
||||
|
||||
$id = $_GET['id'];
|
||||
$checksum = $_GET['checksum'];
|
||||
$l10n = new OC_L10N('contacts');
|
||||
|
||||
// Check if we are a user
|
||||
OC_JSON::checkLoggedIn();
|
||||
OC_JSON::checkAppEnabled('contacts');
|
||||
|
||||
$card = OC_Contacts_VCard::find( $id );
|
||||
if( $card === false ){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('Contact could not be found.'))));
|
||||
exit();
|
||||
}
|
||||
$id = $_GET['id'];
|
||||
$checksum = $_GET['checksum'];
|
||||
|
||||
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
|
||||
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('This is not your contact.'))));
|
||||
exit();
|
||||
}
|
||||
$vcard = OC_Contacts_App::getContactVCard( $id );
|
||||
|
||||
$vcard = OC_VObject::parse($card['carddata']);
|
||||
// Check if the card is valid
|
||||
if(is_null($vcard)){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('vCard could not be read.'))));
|
||||
exit();
|
||||
}
|
||||
$line = OC_Contacts_App::getPropertyLineByChecksum($vcard, $checksum);
|
||||
|
||||
$line = null;
|
||||
for($i=0;$i<count($vcard->children);$i++){
|
||||
if(md5($vcard->children[$i]->serialize()) == $checksum ){
|
||||
$line = $i;
|
||||
}
|
||||
}
|
||||
if(is_null($line)){
|
||||
OC_JSON::error(array('data' => array( 'message' => $l10n->t('Information about vCard is incorrect. Please reload the page.'))));
|
||||
exit();
|
||||
}
|
||||
|
||||
$adr_types = OC_Contacts_App::getTypesOfProperty($l10n, 'ADR');
|
||||
$phone_types = OC_Contacts_App::getTypesOfProperty($l10n, 'TEL');
|
||||
$adr_types = OC_Contacts_App::getTypesOfProperty('ADR');
|
||||
$phone_types = OC_Contacts_App::getTypesOfProperty('TEL');
|
||||
|
||||
$tmpl = new OC_Template('contacts','part.setpropertyform');
|
||||
$tmpl->assign('id',$id);
|
||||
|
@ -70,13 +70,12 @@ $details = array();
|
||||
|
||||
if( !is_null($id) || count($contacts)){
|
||||
if(is_null($id)) $id = $contacts[0]['id'];
|
||||
$contact = OC_Contacts_VCard::find($id);
|
||||
$vcard = OC_VObject::parse($contact['carddata']);
|
||||
$vcard = OC_Contacts_App::getContactVCard($id);
|
||||
$details = OC_Contacts_VCard::structureContact($vcard);
|
||||
}
|
||||
|
||||
$adr_types = OC_Contacts_App::getTypesOfProperty(OC_Contacts_App::$l10n, 'ADR');
|
||||
$phone_types = OC_Contacts_App::getTypesOfProperty(OC_Contacts_App::$l10n, 'TEL');
|
||||
$adr_types = OC_Contacts_App::getTypesOfProperty('ADR');
|
||||
$phone_types = OC_Contacts_App::getTypesOfProperty('TEL');
|
||||
|
||||
// Process the template
|
||||
$tmpl = new OC_Template( 'contacts', 'index', 'user' );
|
||||
|
58
lib/app.php
58
lib/app.php
@ -19,9 +19,9 @@ class OC_Contacts_App{
|
||||
* @param Sabre_VObject_Component $vcard to render
|
||||
*/
|
||||
public static function renderDetails($id, $vcard){
|
||||
$property_types = self::getAddPropertyOptions(self::$l10n);
|
||||
$adr_types = self::getTypesOfProperty(self::$l10n, 'ADR');
|
||||
$phone_types = self::getTypesOfProperty(self::$l10n, 'TEL');
|
||||
$property_types = self::getAddPropertyOptions();
|
||||
$adr_types = self::getTypesOfProperty('ADR');
|
||||
$phone_types = self::getTypesOfProperty('TEL');
|
||||
|
||||
$details = OC_Contacts_VCard::structureContact($vcard);
|
||||
$name = $details['FN'][0]['value'];
|
||||
@ -36,10 +36,57 @@ class OC_Contacts_App{
|
||||
OC_JSON::success(array('data' => array( 'id' => $id, 'name' => $name, 'page' => $page )));
|
||||
}
|
||||
|
||||
public static function getAddressbook($id){
|
||||
$addressbook = OC_Contacts_Addressbook::find( $id );
|
||||
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
|
||||
OC_JSON::error(array('data' => array( 'message' => self::$l10n->t('This is not your addressbook.')))); // Same here (as with the contact error). Could this error be improved?
|
||||
exit();
|
||||
}
|
||||
return $addressbook;
|
||||
}
|
||||
|
||||
public static function getContactObject($id){
|
||||
$card = OC_Contacts_VCard::find( $id );
|
||||
if( $card === false ){
|
||||
OC_JSON::error(array('data' => array( 'message' => self::$l10n->t('Contact could not be found.'))));
|
||||
exit();
|
||||
}
|
||||
|
||||
self::getAddressbook( $card['addressbookid'] );
|
||||
return $card;
|
||||
}
|
||||
|
||||
public static function getContactVCard($id){
|
||||
$card = self::getContactObject( $id );
|
||||
|
||||
$vcard = OC_VObject::parse($card['carddata']);
|
||||
// Check if the card is valid
|
||||
if(is_null($vcard)){
|
||||
OC_JSON::error(array('data' => array( 'message' => self::$l10n->t('vCard could not be read.'))));
|
||||
exit();
|
||||
}
|
||||
return $vcard;
|
||||
}
|
||||
|
||||
public static function getPropertyLineByChecksum($vcard, $checksum){
|
||||
$line = null;
|
||||
for($i=0;$i<count($vcard->children);$i++){
|
||||
if(md5($vcard->children[$i]->serialize()) == $checksum ){
|
||||
$line = $i;
|
||||
}
|
||||
}
|
||||
if(is_null($line)){
|
||||
OC_JSON::error(array('data' => array( 'message' => self::$l10n->t('Information about vCard is incorrect. Please reload the page.'))));
|
||||
exit();
|
||||
}
|
||||
return $line;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array of vcard prop => label
|
||||
*/
|
||||
public static function getAddPropertyOptions($l10n){
|
||||
public static function getAddPropertyOptions(){
|
||||
$l10n = self::$l10n;
|
||||
return array(
|
||||
'ADR' => $l10n->t('Address'),
|
||||
'TEL' => $l10n->t('Telephone'),
|
||||
@ -51,7 +98,8 @@ class OC_Contacts_App{
|
||||
/**
|
||||
* @return types for property $prop
|
||||
*/
|
||||
public static function getTypesOfProperty($l, $prop){
|
||||
public static function getTypesOfProperty($prop){
|
||||
$l = self::$l10n;
|
||||
switch($prop){
|
||||
case 'ADR':
|
||||
return array(
|
||||
|
Loading…
Reference in New Issue
Block a user