Code style.

This commit is contained in:
Thomas Tanghus 2012-07-20 17:09:03 +02:00
parent 3c2967074f
commit 7fff386679
18 changed files with 142 additions and 86 deletions

View File

@ -48,7 +48,8 @@ if(!$vcard) {
if(!is_array($value)) { if(!is_array($value)) {
$value = trim($value); $value = trim($value);
if(!$value && in_array( if(!$value
&& in_array(
$name, $name,
array('TEL', 'EMAIL', 'ORG', 'BDAY', 'URL', 'NICKNAME', 'NOTE')) array('TEL', 'EMAIL', 'ORG', 'BDAY', 'URL', 'NICKNAME', 'NOTE'))
) { ) {
@ -129,7 +130,7 @@ foreach ($parameters as $key=>$element) {
// NOTE: Maybe this doesn't only apply for TYPE? // NOTE: Maybe this doesn't only apply for TYPE?
// And it probably shouldn't be done here anyways :-/ // And it probably shouldn't be done here anyways :-/
foreach($element as $e) { foreach($element as $e) {
if($e != '' && !is_null($e)){ if($e != '' && !is_null($e)) {
$vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key, $e); $vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key, $e);
} }
} }

View File

@ -89,7 +89,7 @@ if($data) {
} }
$now = new DateTime; $now = new DateTime;
$card->setString('REV', $now->format(DateTime::W3C)); $card->setString('REV', $now->format(DateTime::W3C));
if(!OC_Contacts_VCard::edit($id,$card)) { if(!OC_Contacts_VCard::edit($id, $card)) {
bailOut(OC_Contacts_App::$l10n->t('Error saving contact.')); bailOut(OC_Contacts_App::$l10n->t('Error saving contact.'));
} }
$tmpl = new OCP\Template("contacts", "part.contactphoto"); $tmpl = new OCP\Template("contacts", "part.contactphoto");

View File

@ -129,7 +129,7 @@ if(!$value) {
} }
//debug('New checksum: '.$checksum); //debug('New checksum: '.$checksum);
if(!OC_Contacts_VCard::edit($id,$vcard)) { if(!OC_Contacts_VCard::edit($id, $vcard)) {
bailOut(OC_Contacts_App::$l10n->t('Error updating contact property.')); bailOut(OC_Contacts_App::$l10n->t('Error updating contact property.'));
exit(); exit();
} }

View File

@ -19,6 +19,6 @@ OCP\App::addNavigationEntry( array(
'name' => OC_L10N::get('contacts')->t('Contacts') )); 'name' => OC_L10N::get('contacts')->t('Contacts') ));
OCP\App::registerPersonal('contacts','settings'); OCP\App::registerPersonal('contacts', 'settings');
OCP\Util::addscript('contacts', 'loader'); OCP\Util::addscript('contacts', 'loader');
OC_Search::registerProvider('OC_Search_Provider_Contacts'); OC_Search::registerProvider('OC_Search_Provider_Contacts');

View File

@ -2,7 +2,7 @@
class OC_Migration_Provider_Contacts extends OC_Migration_Provider{ class OC_Migration_Provider_Contacts extends OC_Migration_Provider{
// Create the xml for the user supplied // Create the xml for the user supplied
function export( ){ function export( ) {
$options = array( $options = array(
'table'=>'contacts_addressbooks', 'table'=>'contacts_addressbooks',
'matchcol'=>'userid', 'matchcol'=>'userid',
@ -21,8 +21,7 @@ class OC_Migration_Provider_Contacts extends OC_Migration_Provider{
$ids2 = $this->content->copyRows( $options ); $ids2 = $this->content->copyRows( $options );
// If both returned some ids then they worked // If both returned some ids then they worked
if( is_array( $ids ) && is_array( $ids2 ) ) if(is_array($ids) && is_array($ids2)) {
{
return true; return true;
} else { } else {
return false; return false;
@ -31,14 +30,14 @@ class OC_Migration_Provider_Contacts extends OC_Migration_Provider{
} }
// Import function for contacts // Import function for contacts
function import( ){ function import( ) {
switch( $this->appinfo->version ){ switch( $this->appinfo->version ) {
default: default:
// All versions of the app have had the same db structure, so all can use the same import function // All versions of the app have had the same db structure, so all can use the same import function
$query = $this->content->prepare( "SELECT * FROM contacts_addressbooks WHERE userid LIKE ?" ); $query = $this->content->prepare( "SELECT * FROM contacts_addressbooks WHERE userid LIKE ?" );
$results = $query->execute( array( $this->olduid ) ); $results = $query->execute( array( $this->olduid ) );
$idmap = array(); $idmap = array();
while( $row = $results->fetchRow() ){ while( $row = $results->fetchRow() ) {
// Import each addressbook // Import each addressbook
$addressbookquery = OCP\DB::prepare( "INSERT INTO *PREFIX*contacts_addressbooks (`userid`, `displayname`, `uri`, `description`, `ctag`) VALUES (?, ?, ?, ?, ?)" ); $addressbookquery = OCP\DB::prepare( "INSERT INTO *PREFIX*contacts_addressbooks (`userid`, `displayname`, `uri`, `description`, `ctag`) VALUES (?, ?, ?, ?, ?)" );
$addressbookquery->execute( array( $this->uid, $row['displayname'], $row['uri'], $row['description'], $row['ctag'] ) ); $addressbookquery->execute( array( $this->uid, $row['displayname'], $row['uri'], $row['description'], $row['ctag'] ) );
@ -48,7 +47,7 @@ class OC_Migration_Provider_Contacts extends OC_Migration_Provider{
OC_Contacts_Addressbook::setActive($idmap[$row['id']], true); OC_Contacts_Addressbook::setActive($idmap[$row['id']], true);
} }
// Now tags // Now tags
foreach($idmap as $oldid => $newid){ foreach($idmap as $oldid => $newid) {
$query = $this->content->prepare( "SELECT * FROM contacts_cards WHERE addressbookid LIKE ?" ); $query = $this->content->prepare( "SELECT * FROM contacts_cards WHERE addressbookid LIKE ?" );
$results = $query->execute( array( $oldid ) ); $results = $query->execute( array( $oldid ) );

View File

@ -22,7 +22,7 @@
OCP\App::checkAppEnabled('contacts'); OCP\App::checkAppEnabled('contacts');
if(substr($_SERVER["REQUEST_URI"],0,strlen(OC_App::getAppWebPath('contacts').'/carddav.php')) == OC_App::getAppWebPath('contacts').'/carddav.php'){ if(substr($_SERVER["REQUEST_URI"], 0, strlen(OC_App::getAppWebPath('contacts').'/carddav.php')) == OC_App::getAppWebPath('contacts').'/carddav.php') {
$baseuri = OC_App::getAppWebPath('contacts').'/carddav.php'; $baseuri = OC_App::getAppWebPath('contacts').'/carddav.php';
} }
@ -45,7 +45,7 @@ $nodes = array(
$server = new Sabre_DAV_Server($nodes); $server = new Sabre_DAV_Server($nodes);
$server->setBaseUri($baseuri); $server->setBaseUri($baseuri);
// Add plugins // Add plugins
$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud')); $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, 'ownCloud'));
$server->addPlugin(new Sabre_CardDAV_Plugin()); $server->addPlugin(new Sabre_CardDAV_Plugin());
$server->addPlugin(new Sabre_DAVACL_Plugin()); $server->addPlugin(new Sabre_DAVACL_Plugin());
$server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload $server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload

View File

@ -1,6 +1,6 @@
<?php <?php
if(!file_exists('../../lib/base.php')){ if(!file_exists('../../lib/base.php')) {
die('Please update the path to /lib/base.php in carddav.php or make use of /remote.php/carddav/'); die('Please update the path to /lib/base.php in carddav.php or make use of /remote.php/carddav/');
} }
require_once('../../lib/base.php'); require_once '../../lib/base.php';
require_once('appinfo/remote.php'); require_once 'appinfo/remote.php';

View File

@ -9,26 +9,30 @@
OCP\User::checkLoggedIn(); OCP\User::checkLoggedIn();
OCP\App::checkAppEnabled('contacts'); OCP\App::checkAppEnabled('contacts');
$bookid = isset($_GET['bookid']) ? $_GET['bookid'] : NULL; $bookid = isset($_GET['bookid']) ? $_GET['bookid'] : null;
$contactid = isset($_GET['contactid']) ? $_GET['contactid'] : NULL; $contactid = isset($_GET['contactid']) ? $_GET['contactid'] : null;
$nl = "\n"; $nl = "\n";
if(isset($bookid)){ if(isset($bookid)) {
$addressbook = OC_Contacts_App::getAddressbook($bookid); $addressbook = OC_Contacts_App::getAddressbook($bookid);
//$cardobjects = OC_Contacts_VCard::all($bookid); //$cardobjects = OC_Contacts_VCard::all($bookid);
header('Content-Type: text/directory'); header('Content-Type: text/directory');
header('Content-Disposition: inline; filename=' . str_replace(' ', '_', $addressbook['displayname']) . '.vcf'); header('Content-Disposition: inline; filename='
. str_replace(' ', '_', $addressbook['displayname']) . '.vcf');
$start = 0; $start = 0;
$batchsize = OCP\Config::getUserValue(OCP\User::getUser(), 'contacts', 'export_batch_size', 20); $batchsize = OCP\Config::getUserValue(OCP\User::getUser(),
'contacts',
'export_batch_size', 20);
while($cardobjects = OC_Contacts_VCard::all($bookid, $start, $batchsize)){ while($cardobjects = OC_Contacts_VCard::all($bookid, $start, $batchsize)){
foreach($cardobjects as $card) { foreach($cardobjects as $card) {
echo $card['carddata'] . $nl; echo $card['carddata'] . $nl;
} }
$start += $batchsize; $start += $batchsize;
} }
}elseif(isset($contactid)){ }elseif(isset($contactid)) {
$data = OC_Contacts_App::getContactObject($contactid); $data = OC_Contacts_App::getContactObject($contactid);
header('Content-Type: text/vcard'); header('Content-Type: text/vcard');
header('Content-Disposition: inline; filename=' . str_replace(' ', '_', $data['fullname']) . '.vcf'); header('Content-Disposition: inline; filename='
. str_replace(' ', '_', $data['fullname']) . '.vcf');
echo $data['carddata']; echo $data['carddata'];
} }

View File

@ -38,17 +38,29 @@ if(!$file) {
OCP\JSON::error(array('data' => array('message' => 'Import file was empty.'))); OCP\JSON::error(array('data' => array('message' => 'Import file was empty.')));
exit(); exit();
} }
if(isset($_POST['method']) && $_POST['method'] == 'new'){ if(isset($_POST['method']) && $_POST['method'] == 'new') {
$id = OC_Contacts_Addressbook::add(OCP\USER::getUser(), $_POST['addressbookname']); $id = OC_Contacts_Addressbook::add(OCP\USER::getUser(),
$_POST['addressbookname']);
if(!$id) { if(!$id) {
OCP\JSON::error(array('data' => array('message' => 'Error creating address book.'))); OCP\JSON::error(
array(
'data' => array('message' => 'Error creating address book.')
)
);
exit(); exit();
} }
OC_Contacts_Addressbook::setActive($id, 1); OC_Contacts_Addressbook::setActive($id, 1);
}else{ }else{
$id = $_POST['id']; $id = $_POST['id'];
if(!$id) { if(!$id) {
OCP\JSON::error(array('data' => array('message' => 'Error getting the ID of the address book.', 'file'=>$_POST['file']))); OCP\JSON::error(
array(
'data' => array(
'message' => 'Error getting the ID of the address book.',
'file'=>$_POST['file']
)
)
);
exit(); exit();
} }
OC_Contacts_App::getAddressbook($id); // is owner access check OC_Contacts_App::getAddressbook($id); // is owner access check
@ -62,7 +74,7 @@ $inelement = false;
$parts = array(); $parts = array();
$card = array(); $card = array();
foreach($lines as $line){ foreach($lines as $line){
if(strtoupper(trim($line)) == 'BEGIN:VCARD'){ if(strtoupper(trim($line)) == 'BEGIN:VCARD') {
$inelement = true; $inelement = true;
} elseif (strtoupper(trim($line)) == 'END:VCARD') { } elseif (strtoupper(trim($line)) == 'END:VCARD') {
$card[] = $line; $card[] = $line;
@ -79,10 +91,20 @@ writeProgress('70');
$imported = 0; $imported = 0;
$failed = 0; $failed = 0;
if(!count($parts) > 0) { if(!count($parts) > 0) {
OCP\JSON::error(array('data' => array('message' => 'No contacts to import in '.$_POST['file'].'. Please check if the file is corrupted.', 'file'=>$_POST['file']))); OCP\JSON::error(
array(
'data' => array(
'message' => 'No contacts to import in '
. $_POST['file'].'. Please check if the file is corrupted.',
'file'=>$_POST['file']
)
)
);
if(isset($_POST['fstype']) && $_POST['fstype'] == 'OC_FilesystemView') { if(isset($_POST['fstype']) && $_POST['fstype'] == 'OC_FilesystemView') {
if(!$view->unlink('/imports/' . $_POST['file'])) { if(!$view->unlink('/imports/' . $_POST['file'])) {
OCP\Util::writeLog('contacts','Import: Error unlinking OC_FilesystemView ' . '/' . $_POST['file'], OCP\Util::ERROR); OCP\Util::writeLog('contacts',
'Import: Error unlinking OC_FilesystemView ' . '/' . $_POST['file'],
OCP\Util::ERROR);
} }
} }
exit(); exit();
@ -91,14 +113,18 @@ foreach($parts as $part){
$card = OC_VObject::parse($part); $card = OC_VObject::parse($part);
if (!$card) { if (!$card) {
$failed += 1; $failed += 1;
OCP\Util::writeLog('contacts','Import: skipping card. Error parsing VCard: '.$part, OCP\Util::ERROR); OCP\Util::writeLog('contacts',
'Import: skipping card. Error parsing VCard: ' . $part,
OCP\Util::ERROR);
continue; // Ditch cards that can't be parsed by Sabre. continue; // Ditch cards that can't be parsed by Sabre.
} }
try { try {
OC_Contacts_VCard::add($id, $card); OC_Contacts_VCard::add($id, $card);
$imported += 1; $imported += 1;
} catch (Exception $e) { } catch (Exception $e) {
OCP\Util::writeLog('contacts', 'Error importing vcard: '.$e->getMessage().$nl.$card, OCP\Util::ERROR); OCP\Util::writeLog('contacts',
'Error importing vcard: ' . $e->getMessage() . $nl . $card,
OCP\Util::ERROR);
$failed += 1; $failed += 1;
} }
} }
@ -108,7 +134,17 @@ sleep(3);
OC_Cache::remove($progresskey); OC_Cache::remove($progresskey);
if(isset($_POST['fstype']) && $_POST['fstype'] == 'OC_FilesystemView') { if(isset($_POST['fstype']) && $_POST['fstype'] == 'OC_FilesystemView') {
if(!$view->unlink('/imports/' . $_POST['file'])) { if(!$view->unlink('/imports/' . $_POST['file'])) {
OCP\Util::writeLog('contacts','Import: Error unlinking OC_FilesystemView ' . '/' . $_POST['file'], OCP\Util::ERROR); OCP\Util::writeLog('contacts',
'Import: Error unlinking OC_FilesystemView ' . '/' . $_POST['file'],
OCP\Util::ERROR);
} }
} }
OCP\JSON::success(array('data' => array('imported'=>$imported, 'failed'=>$failed, 'file'=>$_POST['file']))); OCP\JSON::success(
array(
'data' => array(
'imported'=>$imported,
'failed'=>$failed,
'file'=>$_POST['file'],
)
)
);

View File

@ -14,13 +14,17 @@ OCP\App::checkAppEnabled('contacts');
// Get active address books. This creates a default one if none exists. // Get active address books. This creates a default one if none exists.
$ids = OC_Contacts_Addressbook::activeIds(OCP\USER::getUser()); $ids = OC_Contacts_Addressbook::activeIds(OCP\USER::getUser());
$has_contacts = (count(OC_Contacts_VCard::all($ids, 0, 1)) > 0 ? true : false); // just to check if there are any contacts. $has_contacts = (count(OC_Contacts_VCard::all($ids, 0, 1)) > 0
? true
: false); // just to check if there are any contacts.
if($has_contacts === false) { if($has_contacts === false) {
OCP\Util::writeLog('contacts','index.html: No contacts found.',OCP\Util::DEBUG); OCP\Util::writeLog('contacts',
'index.html: No contacts found.',
OCP\Util::DEBUG);
} }
// Load the files we need // Load the files we need
OCP\App::setActiveNavigationEntry( 'contacts_index' ); OCP\App::setActiveNavigationEntry('contacts_index');
// Load a specific user? // Load a specific user?
$id = isset( $_GET['id'] ) ? $_GET['id'] : null; $id = isset( $_GET['id'] ) ? $_GET['id'] : null;
@ -34,30 +38,31 @@ $post_max_size = OCP\Util::computerFileSize(ini_get('post_max_size'));
$maxUploadFilesize = min($upload_max_filesize, $post_max_size); $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
$freeSpace=OC_Filesystem::free_space('/'); $freeSpace=OC_Filesystem::free_space('/');
$freeSpace=max($freeSpace,0); $freeSpace=max($freeSpace, 0);
$maxUploadFilesize = min($maxUploadFilesize ,$freeSpace); $maxUploadFilesize = min($maxUploadFilesize, $freeSpace);
OCP\Util::addscript('','jquery.multiselect'); OCP\Util::addscript('', 'jquery.multiselect');
OCP\Util::addscript('','oc-vcategories'); OCP\Util::addscript('', 'oc-vcategories');
OCP\Util::addscript('contacts','contacts'); OCP\Util::addscript('contacts', 'contacts');
OCP\Util::addscript('contacts','expanding'); OCP\Util::addscript('contacts', 'expanding');
OCP\Util::addscript('contacts','jquery.combobox'); OCP\Util::addscript('contacts', 'jquery.combobox');
OCP\Util::addscript('files', 'jquery.fileupload'); OCP\Util::addscript('files', 'jquery.fileupload');
OCP\Util::addscript('contacts','jquery.inview'); OCP\Util::addscript('contacts', 'jquery.inview');
OCP\Util::addscript('contacts','jquery.Jcrop'); OCP\Util::addscript('contacts', 'jquery.Jcrop');
OCP\Util::addscript('contacts','jquery.multi-autocomplete'); OCP\Util::addscript('contacts', 'jquery.multi-autocomplete');
OCP\Util::addStyle('','jquery.multiselect'); OCP\Util::addStyle('', 'jquery.multiselect');
OCP\Util::addStyle('contacts','jquery.combobox'); OCP\Util::addStyle('contacts', 'jquery.combobox');
OCP\Util::addStyle('contacts','jquery.Jcrop'); OCP\Util::addStyle('contacts', 'jquery.Jcrop');
OCP\Util::addStyle('contacts','contacts'); OCP\Util::addStyle('contacts', 'contacts');
$tmpl = new OCP\Template( "contacts", "index", "user" ); $tmpl = new OCP\Template( "contacts", "index", "user" );
$tmpl->assign('uploadMaxFilesize', $maxUploadFilesize, false); $tmpl->assign('uploadMaxFilesize', $maxUploadFilesize, false);
$tmpl->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize), false); $tmpl->assign('uploadMaxHumanFilesize',
OCP\Util::humanFileSize($maxUploadFilesize), false);
$tmpl->assign('property_types', $property_types, false); $tmpl->assign('property_types', $property_types, false);
$tmpl->assign('phone_types', $phone_types, false); $tmpl->assign('phone_types', $phone_types, false);
$tmpl->assign('email_types', $email_types, false); $tmpl->assign('email_types', $email_types, false);
$tmpl->assign('categories', $categories, false); $tmpl->assign('categories', $categories, false);
$tmpl->assign('has_contacts', $has_contacts, false); $tmpl->assign('has_contacts', $has_contacts, false);
$tmpl->assign('id',$id, false); $tmpl->assign('id', $id, false);
$tmpl->printPage(); $tmpl->printPage();

View File

@ -133,7 +133,7 @@ class OC_Contacts_Addressbook {
if(is_null($uid)) { if(is_null($uid)) {
$uid = OCP\USER::getUser(); $uid = OCP\USER::getUser();
} }
$id = self::add($uid,'Contacts', 'Default Address Book'); $id = self::add($uid, 'Contacts', 'Default Address Book');
if($id !== false) { if($id !== false) {
self::setActive($id, true); self::setActive($id, true);
} }

View File

@ -79,7 +79,7 @@ class OC_Connector_Sabre_CardDAV extends Sabre_CardDAV_Backend_Abstract {
} }
} }
OC_Contacts_Addressbook::edit($addressbookid,$name,$description); OC_Contacts_Addressbook::edit($addressbookid, $name, $description);
return true; return true;
@ -113,7 +113,7 @@ class OC_Connector_Sabre_CardDAV extends Sabre_CardDAV_Backend_Abstract {
} }
OC_Contacts_Addressbook::addFromDAVData($principaluri,$url,$name,$description); OC_Contacts_Addressbook::addFromDAVData($principaluri, $url, $name, $description);
} }
/** /**
@ -156,7 +156,7 @@ class OC_Connector_Sabre_CardDAV extends Sabre_CardDAV_Backend_Abstract {
* @return array * @return array
*/ */
public function getCard($addressbookid, $carduri) { public function getCard($addressbookid, $carduri) {
return OC_Contacts_VCard::findWhereDAVDataIs($addressbookid,$carduri); return OC_Contacts_VCard::findWhereDAVDataIs($addressbookid, $carduri);
} }

View File

@ -212,7 +212,7 @@ class OC_Contacts_VCard{
// Add version if needed // Add version if needed
if($version && $version < '3.0') { if($version && $version < '3.0') {
$upgrade = true; $upgrade = true;
OCP\Util::writeLog('contacts','OC_Contacts_VCard::updateValuesFromAdd. Updating from version: '.$version,OCP\Util::DEBUG); OCP\Util::writeLog('contacts', 'OC_Contacts_VCard::updateValuesFromAdd. Updating from version: '.$version,OCP\Util::DEBUG);
} }
foreach($vcard->children as &$property){ foreach($vcard->children as &$property){
// Decode string properties and remove obsolete properties. // Decode string properties and remove obsolete properties.
@ -487,7 +487,7 @@ class OC_Contacts_VCard{
public static function unescapeDelimiters($value, $delimiter=';') { public static function unescapeDelimiters($value, $delimiter=';') {
$array = explode($delimiter, $value); $array = explode($delimiter, $value);
for($i=0;$i<count($array);$i++) { for($i=0;$i<count($array);$i++) {
if(substr($array[$i],-1, 1)=="\\") { if(substr($array[$i], -1, 1)=="\\") {
if(isset($array[$i+1])) { if(isset($array[$i+1])) {
$array[$i] = substr($array[$i], 0, count($array[$i])-2).$delimiter.$array[$i+1]; $array[$i] = substr($array[$i], 0, count($array[$i])-2).$delimiter.$array[$i+1];
unset($array[$i+1]); unset($array[$i+1]);

View File

@ -13,7 +13,7 @@
OCP\User::checkLoggedIn(); OCP\User::checkLoggedIn();
OCP\App::checkAppEnabled('contacts'); OCP\App::checkAppEnabled('contacts');
function getStandardImage(){ function getStandardImage() {
//OCP\Response::setExpiresHeader('P10D'); //OCP\Response::setExpiresHeader('P10D');
OCP\Response::enableCaching(); OCP\Response::enableCaching();
OCP\Response::redirect(OCP\Util::imagePath('contacts', 'person_large.png')); OCP\Response::redirect(OCP\Util::imagePath('contacts', 'person_large.png'));
@ -27,37 +27,39 @@ if(is_null($id)) {
} }
if(!extension_loaded('gd') || !function_exists('gd_info')) { if(!extension_loaded('gd') || !function_exists('gd_info')) {
OCP\Util::writeLog('contacts','photo.php. GD module not installed',OCP\Util::DEBUG); OCP\Util::writeLog('contacts',
'photo.php. GD module not installed', OCP\Util::DEBUG);
getStandardImage(); getStandardImage();
} }
$contact = OC_Contacts_App::getContactVCard($id); $contact = OC_Contacts_App::getContactVCard($id);
$image = new OC_Image(); $image = new OC_Image();
if(!$image) { if (!$image) {
getStandardImage(); getStandardImage();
} }
// invalid vcard // invalid vcard
if( is_null($contact)) { if (is_null($contact)) {
OCP\Util::writeLog('contacts','photo.php. The VCard for ID '.$id.' is not RFC compatible',OCP\Util::ERROR); OCP\Util::writeLog('contacts',
'photo.php. The VCard for ID ' . $id . ' is not RFC compatible',
OCP\Util::ERROR);
} else { } else {
OCP\Response::enableCaching($caching); OCP\Response::enableCaching($caching);
OC_Contacts_App::setLastModifiedHeader($contact); OC_Contacts_App::setLastModifiedHeader($contact);
// Photo :-) // Photo :-)
if($image->loadFromBase64($contact->getAsString('PHOTO'))) { if ($image->loadFromBase64($contact->getAsString('PHOTO'))) {
// OK // OK
OCP\Response::setETagHeader(md5($contact->getAsString('PHOTO'))); OCP\Response::setETagHeader(md5($contact->getAsString('PHOTO')));
} }
else else
// Logo :-/ // Logo :-/
if($image->loadFromBase64($contact->getAsString('LOGO'))) { if ($image->loadFromBase64($contact->getAsString('LOGO'))) {
// OK // OK
OCP\Response::setETagHeader(md5($contact->getAsString('LOGO'))); OCP\Response::setETagHeader(md5($contact->getAsString('LOGO')));
} }
if ($image->valid()) { if ($image->valid()) {
$max_size = 200; $max_size = 200;
if($image->width() > $max_size || if ($image->width() > $max_size || $image->height() > $max_size) {
$image->height() > $max_size) {
$image->resize($max_size); $image->resize($max_size);
} }
} }
@ -65,8 +67,7 @@ if( is_null($contact)) {
if (!$image->valid()) { if (!$image->valid()) {
// Not found :-( // Not found :-(
getStandardImage(); getStandardImage();
//$image->loadFromFile('img/person_large.png');
} }
header('Content-Type: '.$image->mimeType()); header('Content-Type: '.$image->mimeType());
$image->show(); $image->show();
//echo OC_Contacts_App::$l10n->t('This card does not contain a photo.');

View File

@ -25,7 +25,7 @@
</div> </div>
<div id="rightcontent" class="rightcontent" data-id="<?php echo $_['id']; ?>"> <div id="rightcontent" class="rightcontent" data-id="<?php echo $_['id']; ?>">
<?php <?php
if($_['has_contacts']){ if($_['has_contacts']) {
echo $this->inc('part.contact'); echo $this->inc('part.contact');
} }
else{ else{

View File

@ -2,7 +2,6 @@
$id = $_['id']; $id = $_['id'];
$tmpkey = $_['tmpkey']; $tmpkey = $_['tmpkey'];
$requesttoken = $_['requesttoken']; $requesttoken = $_['requesttoken'];
OCP\Util::writeLog('contacts','templates/part.cropphoto.php: tmpkey: '.$tmpkey, OCP\Util::DEBUG);
?> ?>
<script type="text/javascript"> <script type="text/javascript">
jQuery(function($) { jQuery(function($) {

View File

@ -25,14 +25,15 @@ OCP\JSON::checkLoggedIn();
OCP\App::checkAppEnabled('contacts'); OCP\App::checkAppEnabled('contacts');
session_write_close(); session_write_close();
function getStandardImage(){ function getStandardImage() {
//OCP\Response::setExpiresHeader('P10D'); //OCP\Response::setExpiresHeader('P10D');
OCP\Response::enableCaching(); OCP\Response::enableCaching();
OCP\Response::redirect(OCP\Util::imagePath('contacts', 'person.png')); OCP\Response::redirect(OCP\Util::imagePath('contacts', 'person.png'));
} }
if(!extension_loaded('gd') || !function_exists('gd_info')) { if(!extension_loaded('gd') || !function_exists('gd_info')) {
OCP\Util::writeLog('contacts','thumbnail.php. GD module not installed',OCP\Util::DEBUG); OCP\Util::writeLog('contacts',
'thumbnail.php. GD module not installed', OCP\Util::DEBUG);
getStandardImage(); getStandardImage();
exit(); exit();
} }
@ -43,8 +44,10 @@ $caching = isset($_GET['refresh']) ? 0 : null;
$contact = OC_Contacts_App::getContactVCard($id); $contact = OC_Contacts_App::getContactVCard($id);
// invalid vcard // invalid vcard
if(is_null($contact)){ if(is_null($contact)) {
OCP\Util::writeLog('contacts','thumbnail.php. The VCard for ID '.$id.' is not RFC compatible',OCP\Util::ERROR); OCP\Util::writeLog('contacts',
'thumbnail.php. The VCard for ID ' . $id . ' is not RFC compatible',
OCP\Util::ERROR);
getStandardImage(); getStandardImage();
exit(); exit();
} }
@ -64,16 +67,24 @@ if($photo) {
if($image->show()) { if($image->show()) {
exit(); exit();
} else { } else {
OCP\Util::writeLog('contacts','thumbnail.php. Couldn\'t display thumbnail for ID '.$id,OCP\Util::ERROR); OCP\Util::writeLog('contacts',
'thumbnail.php. Couldn\'t display thumbnail for ID ' . $id,
OCP\Util::ERROR);
} }
} else { } else {
OCP\Util::writeLog('contacts','thumbnail.php. Couldn\'t resize thumbnail for ID '.$id,OCP\Util::ERROR); OCP\Util::writeLog('contacts',
'thumbnail.php. Couldn\'t resize thumbnail for ID ' . $id,
OCP\Util::ERROR);
} }
}else{ }else{
OCP\Util::writeLog('contacts','thumbnail.php. Couldn\'t crop thumbnail for ID '.$id,OCP\Util::ERROR); OCP\Util::writeLog('contacts',
'thumbnail.php. Couldn\'t crop thumbnail for ID ' . $id,
OCP\Util::ERROR);
} }
} else { } else {
OCP\Util::writeLog('contacts','thumbnail.php. Couldn\'t load image string for ID '.$id,OCP\Util::ERROR); OCP\Util::writeLog('contacts',
'thumbnail.php. Couldn\'t load image string for ID ' . $id,
OCP\Util::ERROR);
} }
} }
getStandardImage(); getStandardImage();

View File

@ -24,7 +24,7 @@ $tmpkey = $_GET['tmpkey'];
$maxsize = isset($_GET['maxsize']) ? $_GET['maxsize'] : -1; $maxsize = isset($_GET['maxsize']) ? $_GET['maxsize'] : -1;
header("Cache-Control: no-cache, no-store, must-revalidate"); header("Cache-Control: no-cache, no-store, must-revalidate");
OCP\Util::writeLog('contacts','tmpphoto.php: tmpkey: '.$tmpkey, OCP\Util::DEBUG); OCP\Util::writeLog('contacts', 'tmpphoto.php: tmpkey: '.$tmpkey, OCP\Util::DEBUG);
$image = new OC_Image(); $image = new OC_Image();
$image->loadFromData(OC_Cache::get($tmpkey)); $image->loadFromData(OC_Cache::get($tmpkey));