Merge branch 'tanghus_contacts'
This commit is contained in:
commit
d23c9362d8
|
@ -54,11 +54,24 @@ foreach( $add as $propname){
|
|||
$value = $values[$propname];
|
||||
if( isset( $parameters[$propname] ) && count( $parameters[$propname] )){
|
||||
$prop_parameters = $parameters[$propname];
|
||||
}
|
||||
else{
|
||||
$prop_parameters = array();
|
||||
}
|
||||
$vcard->addProperty($propname, $value, $prop_parameters);
|
||||
$vcard->addProperty($propname, $value); //, $prop_parameters);
|
||||
$line = count($vcard->children) - 1;
|
||||
foreach ($prop_parameters as $key=>$element) {
|
||||
if(is_array($element) && strtoupper($key) == 'TYPE') {
|
||||
// FIXME: Maybe this doesn't only apply for TYPE?
|
||||
// And it probably shouldn't be done here anyways :-/
|
||||
foreach($element as $e){
|
||||
if($e != '' && !is_null($e)){
|
||||
$vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key,$e);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key,$element);
|
||||
}
|
||||
}
|
||||
}
|
||||
$id = OC_Contacts_VCard::add($aid,$vcard->serialize());
|
||||
|
||||
|
|
|
@ -48,6 +48,8 @@ foreach ($parameters as $key=>$element) {
|
|||
$vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key,$e);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key,$element);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#contacts_details_name { font-weight:bold;font-size:1.1em;margin-left:25%;}
|
||||
#contacts_details_photo { margin:.5em 0em .5em 25%; }
|
||||
|
||||
#contacts_deletecard {position:absolute;top:15px;right:0;}
|
||||
#contacts_deletecard {position:absolute;top:15px;right:15px;}
|
||||
#contacts_details_list { list-style:none; }
|
||||
#contacts_details_list li { overflow:visible; }
|
||||
#contacts_details_list li p.contacts_property_name { width:25%; float:left;text-align:right;padding-right:0.3em;color:#666; }
|
||||
|
|
|
@ -18,9 +18,6 @@
|
|||
* You should have received a copy of the GNU Affero General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* TODO:
|
||||
* If you add a contact, its thumbnail doesnt show in the list. But when you add another one it shows up, but not for the second contact added.
|
||||
* Place a new contact in correct alphabetic order
|
||||
*/
|
||||
|
||||
|
||||
|
@ -31,6 +28,20 @@ Contacts={
|
|||
$('#carddav_url').show();
|
||||
$('#carddav_url_close').show();
|
||||
},
|
||||
messageBox:function(title, msg) {
|
||||
var $dialog = $('<div></div>')
|
||||
.html(msg)
|
||||
.dialog({
|
||||
autoOpen: true,
|
||||
title: title,buttons: [
|
||||
{
|
||||
text: "Ok",
|
||||
click: function() { $(this).dialog("close"); }
|
||||
}
|
||||
]
|
||||
}
|
||||
);
|
||||
},
|
||||
Addressbooks:{
|
||||
overview:function(){
|
||||
if($('#chooseaddressbook_dialog').dialog('isOpen') == true){
|
||||
|
@ -85,7 +96,8 @@ Contacts={
|
|||
Contacts.UI.Contacts.update();
|
||||
Contacts.UI.Addressbooks.overview();
|
||||
} else {
|
||||
alert('Error: ' + data.message);
|
||||
Contacts.UI.messageBox('Error', data.message);
|
||||
//alert('Error: ' + data.message);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -114,37 +126,29 @@ Contacts={
|
|||
}
|
||||
},
|
||||
Contacts:{
|
||||
/**
|
||||
* Reload the contacts list.
|
||||
*/
|
||||
update:function(){
|
||||
$.getJSON('ajax/contacts.php',{},function(jsondata){
|
||||
if(jsondata.status == 'success'){
|
||||
$('#contacts').html(jsondata.data.page);
|
||||
}
|
||||
else{
|
||||
alert(jsondata.data.message);
|
||||
Contacts.UI.messageBox('Error',jsondata.data.message);
|
||||
//alert(jsondata.data.message);
|
||||
}
|
||||
});
|
||||
/*
|
||||
var contactlist = $('#contacts');
|
||||
var contacts = contactlist.children('li').get();
|
||||
//alert(contacts);
|
||||
contacts.sort(function(a, b) {
|
||||
var compA = $(a).text().toUpperCase();
|
||||
var compB = $(b).text().toUpperCase();
|
||||
return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
|
||||
})
|
||||
$.each(contacts, function(idx, itm) { contactlist.append(itm); });
|
||||
*/
|
||||
setTimeout(Contacts.UI.Contacts.lazyupdate(), 500);
|
||||
setTimeout(Contacts.UI.Contacts.lazyupdate, 500);
|
||||
},
|
||||
/**
|
||||
* Add thumbnails to the contact list as they become visible in the viewport.
|
||||
*/
|
||||
lazyupdate:function(){
|
||||
//alert('lazyupdate');
|
||||
$('#contacts li').live('inview', function(){
|
||||
if (!$(this).find('a').attr('style')) {
|
||||
//alert($(this).data('id') + ' has background: ' + $(this).attr('style'));
|
||||
$(this).find('a').css('background','url(thumbnail.php?id='+$(this).data('id')+') no-repeat');
|
||||
}/* else {
|
||||
alert($(this).data('id') + ' has style ' + $(this).attr('style').match('url'));
|
||||
}*/
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -168,7 +172,8 @@ $(document).ready(function(){
|
|||
$('#leftcontent li[data-id="'+jsondata.data.id+'"]').addClass('active');
|
||||
}
|
||||
else{
|
||||
alert(jsondata.data.message);
|
||||
Contacts.UI.messageBox('Error', jsondata.data.message);
|
||||
//alert(jsondata.data.message);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
|
@ -183,7 +188,8 @@ $(document).ready(function(){
|
|||
$('#rightcontent').empty();
|
||||
}
|
||||
else{
|
||||
alert(jsondata.data.message);
|
||||
Contacts.UI.messageBox('Error', jsondata.data.message);
|
||||
//alert(jsondata.data.message);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
|
@ -197,7 +203,8 @@ $(document).ready(function(){
|
|||
$('#contacts_addproperty').hide();
|
||||
}
|
||||
else{
|
||||
alert(jsondata.data.message);
|
||||
Contacts.UI.messageBox('Error', jsondata.data.message);
|
||||
//alert(jsondata.data.message);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
|
@ -226,7 +233,8 @@ $(document).ready(function(){
|
|||
$('#contacts_addpropertyform').before(jsondata.data.page);
|
||||
}
|
||||
else{
|
||||
alert(jsondata.data.message);
|
||||
Contacts.UI.messageBox('Error', jsondata.data.message);
|
||||
//alert(jsondata.data.message);
|
||||
}
|
||||
}, 'json');
|
||||
return false;
|
||||
|
@ -236,7 +244,10 @@ $(document).ready(function(){
|
|||
Contacts.UI.Addressbooks.overview();
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Open blank form to add new contact.
|
||||
*/
|
||||
$('#contacts_newcontact').click(function(){
|
||||
$.getJSON('ajax/showaddcard.php',{},function(jsondata){
|
||||
if(jsondata.status == 'success'){
|
||||
|
@ -245,27 +256,42 @@ $(document).ready(function(){
|
|||
.find('select').chosen();
|
||||
}
|
||||
else{
|
||||
alert(jsondata.data.message);
|
||||
Contacts.UI.messageBox('Error', jsondata.data.message);
|
||||
//alert(jsondata.data.message);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Add and insert a new contact into the list.
|
||||
*/
|
||||
$('#contacts_addcardform input[type="submit"]').live('click',function(){
|
||||
$.post('ajax/addcard.php',$('#contacts_addcardform').serialize(),function(jsondata){
|
||||
if(jsondata.status == 'success'){
|
||||
$('#rightcontent').data('id',jsondata.data.id);
|
||||
$('#rightcontent').html(jsondata.data.page);
|
||||
$('#leftcontent .active').removeClass('active');
|
||||
$('#leftcontent ul').append('<li data-id="'+jsondata.data.id+'" class="active"><a href="index.php?id='+jsondata.data.id+'">'+jsondata.data.name+'</a></li>');
|
||||
var item = '<li data-id="'+jsondata.data.id+'" class="active"><a href="index.php?id='+jsondata.data.id+'" style="background: url(thumbnail.php?id='+jsondata.data.id+') no-repeat scroll 0% 0% transparent;">'+jsondata.data.name+'</a></li>';
|
||||
var added = false;
|
||||
$('#leftcontent ul li').each(function(){
|
||||
if ($(this).text().toLowerCase() > jsondata.data.name.toLowerCase()) {
|
||||
$(this).before(item).fadeIn('fast');
|
||||
added = true;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
if(!added) {
|
||||
$('#leftcontent ul').append(item);
|
||||
}
|
||||
}
|
||||
else{
|
||||
alert(jsondata.data.message);
|
||||
Contacts.UI.messageBox('Error', jsondata.data.message);
|
||||
//alert(jsondata.data.message);
|
||||
}
|
||||
}, 'json');
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.contacts_property [data-use="edit"]').live('click',function(){
|
||||
var id = $('#rightcontent').data('id');
|
||||
var checksum = $(this).parents('.contacts_property').first().data('checksum');
|
||||
|
@ -275,7 +301,8 @@ $(document).ready(function(){
|
|||
.find('select').chosen();
|
||||
}
|
||||
else{
|
||||
alert(jsondata.data.message);
|
||||
Contacts.UI.messageBox('Error', jsondata.data.message);
|
||||
//alert(jsondata.data.message);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
|
@ -287,7 +314,8 @@ $(document).ready(function(){
|
|||
$('.contacts_property[data-checksum="'+jsondata.data.oldchecksum+'"]').replaceWith(jsondata.data.page);
|
||||
}
|
||||
else{
|
||||
alert(jsondata.data.message);
|
||||
Contacts.UI.messageBox('Error', jsondata.data.message);
|
||||
//alert(jsondata.data.message);
|
||||
}
|
||||
},'json');
|
||||
return false;
|
||||
|
@ -301,7 +329,8 @@ $(document).ready(function(){
|
|||
$('.contacts_property[data-checksum="'+checksum+'"]').remove();
|
||||
}
|
||||
else{
|
||||
alert(jsondata.data.message);
|
||||
Contacts.UI.messageBox('Error', jsondata.data.message);
|
||||
//alert(jsondata.data.message);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
|
@ -338,4 +367,8 @@ $(document).ready(function(){
|
|||
// element has gone out of viewport
|
||||
}
|
||||
});
|
||||
|
||||
$('.action').tipsy();
|
||||
$('.button').tipsy();
|
||||
//Contacts.UI.messageBox('Hello','Sailor');
|
||||
});
|
||||
|
|
|
@ -130,10 +130,11 @@ class OC_Contacts_VCard{
|
|||
|
||||
$stmt = OC_DB::prepare( 'INSERT INTO *PREFIX*contacts_cards (addressbookid,fullname,carddata,uri,lastmodified) VALUES(?,?,?,?,?)' );
|
||||
$result = $stmt->execute(array($id,$fn,$data,$uri,time()));
|
||||
$newid = OC_DB::insertid('*PREFIX*contacts_cards');
|
||||
|
||||
OC_Contacts_Addressbook::touch($id);
|
||||
|
||||
return OC_DB::insertid('*PREFIX*contacts_cards');
|
||||
return $newid;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -31,7 +31,4 @@ OC_Util::addStyle('contacts','formtastic');
|
|||
</div>
|
||||
<!-- Dialogs -->
|
||||
<div id="dialog_holder"></div>
|
||||
<div id="parsingfail_dialog" title="Parsing Fail">
|
||||
<?php echo $l->t("There was a fail, while parsing the file."); ?>
|
||||
</div>
|
||||
<!-- End of Dialogs -->
|
||||
|
|
|
@ -86,3 +86,8 @@
|
|||
</li>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
<script language="Javascript">
|
||||
/* Re-tipsify ;-)*/
|
||||
$('.action').tipsy();
|
||||
$('.button').tipsy();
|
||||
</script>
|
||||
|
|
|
@ -46,8 +46,8 @@ $l10n = new OC_L10N('contacts');
|
|||
|
||||
$card = OC_Contacts_VCard::find( $id );
|
||||
if( $card === false ){
|
||||
OC_Log::write('contacts','thumbnail.php. Contact could not be found.',OC_Log::ERROR);
|
||||
//echo $l10n->t('Contact could not be found.');
|
||||
OC_Log::write('contacts','thumbnail.php. Contact could not be found: '.$id,OC_Log::ERROR);
|
||||
getStandardImage();
|
||||
exit();
|
||||
}
|
||||
|
||||
|
@ -55,7 +55,6 @@ if( $card === false ){
|
|||
$addressbook = OC_Contacts_Addressbook::find( $card['addressbookid'] );
|
||||
if( $addressbook === false || $addressbook['userid'] != OC_USER::getUser()){
|
||||
OC_Log::write('contacts','thumbnail.php. Wrong contact/addressbook - WTF?',OC_Log::ERROR);
|
||||
//echo $l10n->t('This is not your contact.'); // This is a weird error, why would it come up? (Better feedback for users?)
|
||||
exit();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue