code beautifications
This commit is contained in:
parent
21af50aa6c
commit
4ce04ab6f9
@ -1,8 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/** Disable the import plugin for all clients */
|
/** Disable the import plugin for all clients */
|
||||||
define('PLUGIN_CONTACTIMPORTER_USER_DEFAULT_ENABLE', false);
|
define('PLUGIN_CONTACTIMPORTER_USER_DEFAULT_ENABLE', false);
|
||||||
/** Disable the export feature for all clients */
|
|
||||||
define('PLUGIN_CONTACTIMPORTER_USER_DEFAULT_ENABLE_EXPORT', false);
|
|
||||||
|
|
||||||
/** The default addressbook to import to (default: contact)*/
|
/** The default addressbook to import to (default: contact)*/
|
||||||
define('PLUGIN_CONTACTIMPORTER_DEFAULT', "contact");
|
define('PLUGIN_CONTACTIMPORTER_DEFAULT', "contact");
|
||||||
|
@ -29,7 +29,7 @@ Ext.namespace('Zarafa.plugins.contactimporter');
|
|||||||
* The copyright string holding the copyright notice for the Zarafa contactimporter Plugin.
|
* The copyright string holding the copyright notice for the Zarafa contactimporter Plugin.
|
||||||
*/
|
*/
|
||||||
Zarafa.plugins.contactimporter.ABOUT = ""
|
Zarafa.plugins.contactimporter.ABOUT = ""
|
||||||
+ "<p>Copyright (C) 2012-2013 Christoph Haas <christoph.h@sprinternet.at></p>"
|
+ "<p>Copyright (C) 2012-2016 Christoph Haas <christoph.h@sprinternet.at></p>"
|
||||||
|
|
||||||
+ "<p>This program is free software; you can redistribute it and/or "
|
+ "<p>This program is free software; you can redistribute it and/or "
|
||||||
+ "modify it under the terms of the GNU Lesser General Public "
|
+ "modify it under the terms of the GNU Lesser General Public "
|
||||||
@ -51,7 +51,7 @@ Zarafa.plugins.contactimporter.ABOUT = ""
|
|||||||
|
|
||||||
+ "<h1>vCard-parser</h1>"
|
+ "<h1>vCard-parser</h1>"
|
||||||
|
|
||||||
+ "<p>Copyright (C) 2012 Nuovo</p>"
|
+ "<p>Copyright (C) 2016 Jeroen Desloovere</p>"
|
||||||
|
|
||||||
+ "<p>Licensed under the MIT License.</p>"
|
+ "<p>Licensed under the MIT License.</p>"
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ResponseHandler.js zarafa contact im/exporter
|
* ResponseHandler.js zarafa contact im/exporter
|
||||||
*
|
*
|
||||||
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
||||||
* Copyright (C) 2012-2013 Christoph Haas
|
* Copyright (C) 2012-2016 Christoph Haas
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ImportContentPanel.js zarafa contact to vcf im/exporter
|
* ImportContentPanel.js zarafa contact to vcf im/exporter
|
||||||
*
|
*
|
||||||
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
||||||
* Copyright (C) 2012-2013 Christoph Haas
|
* Copyright (C) 2012-2016 Christoph Haas
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
@ -43,9 +43,6 @@ Zarafa.plugins.contactimporter.dialogs.ImportContentPanel = Ext.extend(Zarafa.co
|
|||||||
constructor: function (config) {
|
constructor: function (config) {
|
||||||
config = config || {};
|
config = config || {};
|
||||||
var title = _('Import Contacts');
|
var title = _('Import Contacts');
|
||||||
if(container.getSettingsModel().get("zarafa/v1/plugins/contactimporter/enable_export")){
|
|
||||||
title = _('Import/Export Contacts');
|
|
||||||
}
|
|
||||||
Ext.applyIf(config, {
|
Ext.applyIf(config, {
|
||||||
layout : 'fit',
|
layout : 'fit',
|
||||||
title : title,
|
title : title,
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ImportPanel.js zarafa contact to vcf im/exporter
|
* ImportPanel.js zarafa contact to vcf im/exporter
|
||||||
*
|
*
|
||||||
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
||||||
* Copyright (C) 2012-2013 Christoph Haas
|
* Copyright (C) 2012-2016 Christoph Haas
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* plugin.contactimporter.js zarafa contactimporter
|
* plugin.contactimporter.js zarafa contactimporter
|
||||||
*
|
*
|
||||||
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
||||||
* Copyright (C) 2012-2013 Christoph Haas
|
* Copyright (C) 2012-2016 Christoph Haas
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
@ -46,7 +46,7 @@ Zarafa.plugins.contactimporter.ImportPlugin = Ext.extend(Zarafa.core.Plugin, {
|
|||||||
Zarafa.core.data.SharedComponentType.addProperty('plugins.contactimporter.dialogs.importcontacts');
|
Zarafa.core.data.SharedComponentType.addProperty('plugins.contactimporter.dialogs.importcontacts');
|
||||||
|
|
||||||
/* directly import received vcfs */
|
/* directly import received vcfs */
|
||||||
this.registerInsertionPoint('common.contextmenu.attachment.actions', this.createAttachmentImportButton);
|
this.registerInsertionPoint('common.contextmenu.attachment.actions', this.createAttachmentImportButton, this);
|
||||||
|
|
||||||
/* add import button to south navigation */
|
/* add import button to south navigation */
|
||||||
this.registerInsertionPoint("navigation.south", this.createImportButton, this);
|
this.registerInsertionPoint("navigation.south", this.createImportButton, this);
|
||||||
@ -71,10 +71,6 @@ Zarafa.plugins.contactimporter.ImportPlugin = Ext.extend(Zarafa.core.Plugin, {
|
|||||||
scope : this
|
scope : this
|
||||||
};
|
};
|
||||||
|
|
||||||
if(container.getSettingsModel().get("zarafa/v1/plugins/contactimporter/enable_export")) {
|
|
||||||
button.text = _('Import/Export Contacts');
|
|
||||||
}
|
|
||||||
|
|
||||||
return button;
|
return button;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -212,10 +208,11 @@ Zarafa.plugins.contactimporter.ImportPlugin = Ext.extend(Zarafa.core.Plugin, {
|
|||||||
var store = attachmentStore.getParentRecord().get('store_entryid');
|
var store = attachmentStore.getParentRecord().get('store_entryid');
|
||||||
var entryid = attachmentStore.getAttachmentParentRecordEntryId();
|
var entryid = attachmentStore.getAttachmentParentRecordEntryId();
|
||||||
var attachNum = new Array(1);
|
var attachNum = new Array(1);
|
||||||
if (attachmentRecord.get('attach_num') != -1)
|
if (attachmentRecord.get('attach_num') != -1) {
|
||||||
attachNum[0] = attachmentRecord.get('attach_num');
|
attachNum[0] = attachmentRecord.get('attach_num');
|
||||||
else
|
} else {
|
||||||
attachNum[0] = attachmentRecord.get('tmpname');
|
attachNum[0] = attachmentRecord.get('tmpname');
|
||||||
|
}
|
||||||
var dialog_attachments = attachmentStore.getId();
|
var dialog_attachments = attachmentStore.getId();
|
||||||
var filename = attachmentRecord.data.name;
|
var filename = attachmentRecord.data.name;
|
||||||
|
|
||||||
|
@ -1,9 +1,30 @@
|
|||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* download.php, zarafa contact to vcf im/exporter
|
||||||
|
*
|
||||||
|
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
||||||
|
* Copyright (C) 2012-2016 Christoph Haas
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
class DownloadHandler
|
class DownloadHandler
|
||||||
{
|
{
|
||||||
|
|
||||||
public static function doDownload() {
|
public static function doDownload()
|
||||||
|
{
|
||||||
if (isset($_GET["token"])) {
|
if (isset($_GET["token"])) {
|
||||||
$token = $_GET["token"];
|
$token = $_GET["token"];
|
||||||
} else {
|
} else {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* class.calendar.php, zarafa contact to vcf im/exporter
|
* class.calendar.php, zarafa contact to vcf im/exporter
|
||||||
*
|
*
|
||||||
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
||||||
* Copyright (C) 2012-2013 Christoph Haas
|
* Copyright (C) 2012-2016 Christoph Haas
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
@ -26,7 +26,8 @@ include_once('vendor/autoload.php');
|
|||||||
use JeroenDesloovere\VCard\VCard;
|
use JeroenDesloovere\VCard\VCard;
|
||||||
use JeroenDesloovere\VCard\VCardParser;
|
use JeroenDesloovere\VCard\VCardParser;
|
||||||
|
|
||||||
class ContactModule extends Module {
|
class ContactModule extends Module
|
||||||
|
{
|
||||||
|
|
||||||
private $DEBUG = true; // enable error_log debugging
|
private $DEBUG = true; // enable error_log debugging
|
||||||
|
|
||||||
@ -35,7 +36,8 @@ class ContactModule extends Module {
|
|||||||
* @param $id
|
* @param $id
|
||||||
* @param $data
|
* @param $data
|
||||||
*/
|
*/
|
||||||
public function __construct($id, $data) {
|
public function __construct($id, $data)
|
||||||
|
{
|
||||||
parent::Module($id, $data);
|
parent::Module($id, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,7 +46,8 @@ class ContactModule extends Module {
|
|||||||
* Exception part is used for authentication errors also
|
* Exception part is used for authentication errors also
|
||||||
* @return boolean true on success or false on failure.
|
* @return boolean true on success or false on failure.
|
||||||
*/
|
*/
|
||||||
public function execute() {
|
public function execute()
|
||||||
|
{
|
||||||
$result = false;
|
$result = false;
|
||||||
|
|
||||||
if (!$this->DEBUG) {
|
if (!$this->DEBUG) {
|
||||||
@ -95,7 +98,8 @@ class ContactModule extends Module {
|
|||||||
* @param $length the lenght of the generated string
|
* @param $length the lenght of the generated string
|
||||||
* @return string a random string
|
* @return string a random string
|
||||||
*/
|
*/
|
||||||
private function randomstring($length = 6) {
|
private function randomstring($length = 6)
|
||||||
|
{
|
||||||
// $chars - all allowed charakters
|
// $chars - all allowed charakters
|
||||||
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
|
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
|
||||||
|
|
||||||
@ -116,7 +120,8 @@ class ContactModule extends Module {
|
|||||||
* @param $actionType
|
* @param $actionType
|
||||||
* @param $actionData
|
* @param $actionData
|
||||||
*/
|
*/
|
||||||
private function importContacts($actionType, $actionData) {
|
private function importContacts($actionType, $actionData)
|
||||||
|
{
|
||||||
|
|
||||||
// Get uploaded vcf path
|
// Get uploaded vcf path
|
||||||
$vcffile = false;
|
$vcffile = false;
|
||||||
@ -244,7 +249,8 @@ class ContactModule extends Module {
|
|||||||
$GLOBALS["bus"]->addData($this->getResponseData());
|
$GLOBALS["bus"]->addData($this->getResponseData());
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getProp($props, $propname) {
|
private function getProp($props, $propname)
|
||||||
|
{
|
||||||
$p = $this->getProperties();
|
$p = $this->getProperties();
|
||||||
if (isset($props["props"][$propname])) {
|
if (isset($props["props"][$propname])) {
|
||||||
return $props["props"][$propname];
|
return $props["props"][$propname];
|
||||||
@ -435,7 +441,8 @@ class ContactModule extends Module {
|
|||||||
* @param MAPIAttach $attachment attachment which will be dumped to client side
|
* @param MAPIAttach $attachment attachment which will be dumped to client side
|
||||||
* @return Response response to sent to client including attachment data
|
* @return Response response to sent to client including attachment data
|
||||||
*/
|
*/
|
||||||
private function storeSavedAttachment($temppath, $attachment) {
|
private function storeSavedAttachment($temppath, $attachment)
|
||||||
|
{
|
||||||
// Check if the attachment is opened
|
// Check if the attachment is opened
|
||||||
if ($attachment) {
|
if ($attachment) {
|
||||||
// Open a stream to get the attachment data
|
// Open a stream to get the attachment data
|
||||||
@ -452,7 +459,8 @@ class ContactModule extends Module {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function replaceStringPropertyTags($store, $properties) {
|
private function replaceStringPropertyTags($store, $properties)
|
||||||
|
{
|
||||||
$newProperties = array();
|
$newProperties = array();
|
||||||
|
|
||||||
$ids = array("name" => array(), "id" => array(), "guid" => array(), "type" => array()); // this array stores all the information needed to retrieve a named property
|
$ids = array("name" => array(), "id" => array(), "guid" => array(), "type" => array()); // this array stores all the information needed to retrieve a named property
|
||||||
@ -516,7 +524,8 @@ class ContactModule extends Module {
|
|||||||
*
|
*
|
||||||
* @return [array] the propertyarray
|
* @return [array] the propertyarray
|
||||||
*/
|
*/
|
||||||
private function getProperties() {
|
private function getProperties()
|
||||||
|
{
|
||||||
$properties = array();
|
$properties = array();
|
||||||
|
|
||||||
$properties["subject"] = PR_SUBJECT;
|
$properties["subject"] = PR_SUBJECT;
|
||||||
@ -655,7 +664,8 @@ class ContactModule extends Module {
|
|||||||
* @param $actionType
|
* @param $actionType
|
||||||
* @param $actionData
|
* @param $actionData
|
||||||
*/
|
*/
|
||||||
private function loadContacts($actionType, $actionData) {
|
private function loadContacts($actionType, $actionData)
|
||||||
|
{
|
||||||
$error = false;
|
$error = false;
|
||||||
$error_msg = "";
|
$error_msg = "";
|
||||||
|
|
||||||
@ -704,7 +714,8 @@ class ContactModule extends Module {
|
|||||||
* @return array parsed contacts
|
* @return array parsed contacts
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
private function parseContactsToArray($contacts, $csv = false) {
|
private function parseContactsToArray($contacts, $csv = false)
|
||||||
|
{
|
||||||
$carr = array();
|
$carr = array();
|
||||||
|
|
||||||
if (!$csv) {
|
if (!$csv) {
|
||||||
@ -734,23 +745,37 @@ class ContactModule extends Module {
|
|||||||
$number = $number[0]; // we only can store one number
|
$number = $number[0]; // we only can store one number
|
||||||
if ($this->startswith(strtolower($type), "home") || strtolower($type) === "default") {
|
if ($this->startswith(strtolower($type), "home") || strtolower($type) === "default") {
|
||||||
$properties["home_telephone_number"] = $number;
|
$properties["home_telephone_number"] = $number;
|
||||||
} else if($this->startswith(strtolower($type), "cell")) {
|
} else {
|
||||||
|
if ($this->startswith(strtolower($type), "cell")) {
|
||||||
$properties["cellular_telephone_number"] = $number;
|
$properties["cellular_telephone_number"] = $number;
|
||||||
} else if($this->startswith(strtolower($type), "work")) {
|
} else {
|
||||||
|
if ($this->startswith(strtolower($type), "work")) {
|
||||||
$properties["business_telephone_number"] = $number;
|
$properties["business_telephone_number"] = $number;
|
||||||
} else if($this->startswith(strtolower($type), "fax")) {
|
} else {
|
||||||
|
if ($this->startswith(strtolower($type), "fax")) {
|
||||||
$properties["business_fax_number"] = $number;
|
$properties["business_fax_number"] = $number;
|
||||||
} else if($this->startswith(strtolower($type), "pager")) {
|
} else {
|
||||||
|
if ($this->startswith(strtolower($type), "pager")) {
|
||||||
$properties["pager_telephone_number"] = $number;
|
$properties["pager_telephone_number"] = $number;
|
||||||
} else if($this->startswith(strtolower($type), "isdn")) {
|
} else {
|
||||||
|
if ($this->startswith(strtolower($type), "isdn")) {
|
||||||
$properties["isdn_number"] = $number;
|
$properties["isdn_number"] = $number;
|
||||||
} else if($this->startswith(strtolower($type), "car")) {
|
} else {
|
||||||
|
if ($this->startswith(strtolower($type), "car")) {
|
||||||
$properties["car_telephone_number"] = $number;
|
$properties["car_telephone_number"] = $number;
|
||||||
} else if($this->startswith(strtolower($type), "modem")) {
|
} else {
|
||||||
|
if ($this->startswith(strtolower($type), "modem")) {
|
||||||
$properties["ttytdd_telephone_number"] = $number;
|
$properties["ttytdd_telephone_number"] = $number;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if (isset($vCard->email) && count($vCard->email) > 0) {
|
if (isset($vCard->email) && count($vCard->email) > 0) {
|
||||||
$emailcount = 0;
|
$emailcount = 0;
|
||||||
$properties["address_book_long"] = 0;
|
$properties["address_book_long"] = 0;
|
||||||
@ -835,7 +860,8 @@ class ContactModule extends Module {
|
|||||||
$properties["business_address_postal_code"] = $address->zip;
|
$properties["business_address_postal_code"] = $address->zip;
|
||||||
$properties["business_address_country"] = $address->country;
|
$properties["business_address_country"] = $address->country;
|
||||||
$properties["business_address"] = $this->buildAddressString($properties["business_address_street"], $address->zip, $address->city, $address->region, $address->country);
|
$properties["business_address"] = $this->buildAddressString($properties["business_address_street"], $address->zip, $address->city, $address->region, $address->country);
|
||||||
} else if($this->startswith(strtolower($type), "home")) {
|
} else {
|
||||||
|
if ($this->startswith(strtolower($type), "home")) {
|
||||||
$properties["home_address_street"] = $address->street;
|
$properties["home_address_street"] = $address->street;
|
||||||
if (!empty($address->extended)) {
|
if (!empty($address->extended)) {
|
||||||
$properties["home_address_street"] .= "\n" . $address->extended;
|
$properties["home_address_street"] .= "\n" . $address->extended;
|
||||||
@ -858,6 +884,7 @@ class ContactModule extends Module {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (isset($vCard->birthday)) {
|
if (isset($vCard->birthday)) {
|
||||||
$properties["birthday"] = $vCard->birthday->getTimestamp();
|
$properties["birthday"] = $vCard->birthday->getTimestamp();
|
||||||
}
|
}
|
||||||
@ -910,18 +937,31 @@ class ContactModule extends Module {
|
|||||||
* @return string the concatinated address string
|
* @return string the concatinated address string
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
private function buildAddressString($street, $zip, $city, $state, $country) {
|
private function buildAddressString($street, $zip, $city, $state, $country)
|
||||||
|
{
|
||||||
$out = "";
|
$out = "";
|
||||||
|
|
||||||
if (isset($country) && $street != "") $out = $country;
|
if (isset($country) && $street != "") {
|
||||||
|
$out = $country;
|
||||||
|
}
|
||||||
|
|
||||||
$zcs = "";
|
$zcs = "";
|
||||||
if (isset($zip) && $zip != "") $zcs = $zip;
|
if (isset($zip) && $zip != "") {
|
||||||
if (isset($city) && $city != "") $zcs .= (($zcs)?" ":"") . $city;
|
$zcs = $zip;
|
||||||
if (isset($state) && $state != "") $zcs .= (($zcs)?" ":"") . $state;
|
}
|
||||||
if ($zcs) $out = $zcs . "\n" . $out;
|
if (isset($city) && $city != "") {
|
||||||
|
$zcs .= (($zcs) ? " " : "") . $city;
|
||||||
|
}
|
||||||
|
if (isset($state) && $state != "") {
|
||||||
|
$zcs .= (($zcs) ? " " : "") . $state;
|
||||||
|
}
|
||||||
|
if ($zcs) {
|
||||||
|
$out = $zcs . "\n" . $out;
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($street) && $street != "") $out = $street . (($out)?"\n\n". $out: "") ;
|
if (isset($street) && $street != "") {
|
||||||
|
$out = $street . (($out) ? "\n\n" . $out : "");
|
||||||
|
}
|
||||||
|
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
@ -932,7 +972,8 @@ class ContactModule extends Module {
|
|||||||
* @param $actionData
|
* @param $actionData
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
private function getAttachmentPath($actionType, $actionData) {
|
private function getAttachmentPath($actionType, $actionData)
|
||||||
|
{
|
||||||
// Get store id
|
// Get store id
|
||||||
$storeid = false;
|
$storeid = false;
|
||||||
if (isset($actionData["store"])) {
|
if (isset($actionData["store"])) {
|
||||||
@ -969,8 +1010,7 @@ class ContactModule extends Module {
|
|||||||
// Check if attachNum isset
|
// Check if attachNum isset
|
||||||
if ($attachNum) {
|
if ($attachNum) {
|
||||||
// Loop through the attachNums, message in message in message ...
|
// Loop through the attachNums, message in message in message ...
|
||||||
for($i = 0; $i < (count($attachNum) - 1); $i++)
|
for ($i = 0; $i < (count($attachNum) - 1); $i++) {
|
||||||
{
|
|
||||||
// Open the attachment
|
// Open the attachment
|
||||||
$tempattach = mapi_message_openattach($message, (int)$attachNum[$i]);
|
$tempattach = mapi_message_openattach($message, (int)$attachNum[$i]);
|
||||||
if ($tempattach) {
|
if ($tempattach) {
|
||||||
@ -996,11 +1036,15 @@ class ContactModule extends Module {
|
|||||||
// Set filename
|
// Set filename
|
||||||
if (isset($props[PR_ATTACH_LONG_FILENAME])) {
|
if (isset($props[PR_ATTACH_LONG_FILENAME])) {
|
||||||
$filename = $props[PR_ATTACH_LONG_FILENAME];
|
$filename = $props[PR_ATTACH_LONG_FILENAME];
|
||||||
} else if(isset($props[PR_ATTACH_FILENAME])) {
|
} else {
|
||||||
|
if (isset($props[PR_ATTACH_FILENAME])) {
|
||||||
$filename = $props[PR_ATTACH_FILENAME];
|
$filename = $props[PR_ATTACH_FILENAME];
|
||||||
} else if(isset($props[PR_DISPLAY_NAME])) {
|
} else {
|
||||||
|
if (isset($props[PR_DISPLAY_NAME])) {
|
||||||
$filename = $props[PR_DISPLAY_NAME];
|
$filename = $props[PR_DISPLAY_NAME];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Set content type
|
// Set content type
|
||||||
if (isset($props[PR_ATTACH_MIME_TAG])) {
|
if (isset($props[PR_ATTACH_MIME_TAG])) {
|
||||||
@ -1065,10 +1109,13 @@ class ContactModule extends Module {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function startswith($haystack, $needle) {
|
private function startswith($haystack, $needle)
|
||||||
|
{
|
||||||
$haystack = str_replace("type=", "", $haystack); // remove type from string
|
$haystack = str_replace("type=", "", $haystack); // remove type from string
|
||||||
return substr($haystack, 0, strlen($needle)) === $needle;
|
return substr($haystack, 0, strlen($needle)) === $needle;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* plugin.contactimporter.php, zarafa contact to vcf im/exporter
|
* plugin.contactimporter.php, zarafa contact to vcf im/exporter
|
||||||
*
|
*
|
||||||
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
||||||
* Copyright (C) 2012-2013 Christoph Haas
|
* Copyright (C) 2012-2016 Christoph Haas
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
@ -28,18 +28,22 @@ require_once __DIR__ . "/download.php";
|
|||||||
* With this plugin you can import a vcf file to your zarafa addressbook
|
* With this plugin you can import a vcf file to your zarafa addressbook
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class Plugincontactimporter extends Plugin {
|
class Plugincontactimporter extends Plugin
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*/
|
*/
|
||||||
function Plugincontactimporter() {}
|
function Plugincontactimporter()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function initializes the Plugin and registers all hooks
|
* Function initializes the Plugin and registers all hooks
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function init() {
|
function init()
|
||||||
|
{
|
||||||
$this->registerHook('server.core.settings.init.before');
|
$this->registerHook('server.core.settings.init.before');
|
||||||
$this->registerHook('server.index.load.custom');
|
$this->registerHook('server.index.load.custom');
|
||||||
}
|
}
|
||||||
@ -51,7 +55,8 @@ class Plugincontactimporter extends Plugin {
|
|||||||
* @param mixed $data object(s) related to the hook
|
* @param mixed $data object(s) related to the hook
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function execute($eventID, &$data) {
|
function execute($eventID, &$data)
|
||||||
|
{
|
||||||
switch ($eventID) {
|
switch ($eventID) {
|
||||||
case 'server.core.settings.init.before' :
|
case 'server.core.settings.init.before' :
|
||||||
$this->injectPluginSettings($data);
|
$this->injectPluginSettings($data);
|
||||||
@ -69,14 +74,14 @@ class Plugincontactimporter extends Plugin {
|
|||||||
* settings.
|
* settings.
|
||||||
* @param Array $data Reference to the data of the triggered hook
|
* @param Array $data Reference to the data of the triggered hook
|
||||||
*/
|
*/
|
||||||
function injectPluginSettings(&$data) {
|
function injectPluginSettings(&$data)
|
||||||
|
{
|
||||||
$data['settingsObj']->addSysAdminDefaults(Array(
|
$data['settingsObj']->addSysAdminDefaults(Array(
|
||||||
'zarafa' => Array(
|
'zarafa' => Array(
|
||||||
'v1' => Array(
|
'v1' => Array(
|
||||||
'plugins' => Array(
|
'plugins' => Array(
|
||||||
'contactimporter' => Array(
|
'contactimporter' => Array(
|
||||||
'enable' => PLUGIN_CONTACTIMPORTER_USER_DEFAULT_ENABLE,
|
'enable' => PLUGIN_CONTACTIMPORTER_USER_DEFAULT_ENABLE,
|
||||||
'enable_export' => PLUGIN_CONTACTIMPORTER_USER_DEFAULT_ENABLE_EXPORT,
|
|
||||||
'default_addressbook' => PLUGIN_CONTACTIMPORTER_DEFAULT
|
'default_addressbook' => PLUGIN_CONTACTIMPORTER_DEFAULT
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -85,4 +90,5 @@ class Plugincontactimporter extends Plugin {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* upload.php, zarafa contact to vcf im/exporter
|
* upload.php, zarafa contact to vcf im/exporter
|
||||||
*
|
*
|
||||||
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
* Author: Christoph Haas <christoph.h@sprinternet.at>
|
||||||
* Copyright (C) 2012-2013 Christoph Haas
|
* Copyright (C) 2012-2016 Christoph Haas
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
@ -30,7 +30,8 @@ ini_set('display_errors', '0');
|
|||||||
* respond/echo JSON
|
* respond/echo JSON
|
||||||
* @param $arr
|
* @param $arr
|
||||||
*/
|
*/
|
||||||
function respondJSON($arr) {
|
function respondJSON($arr)
|
||||||
|
{
|
||||||
echo json_encode($arr);
|
echo json_encode($arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,7 +40,8 @@ function respondJSON($arr) {
|
|||||||
* @param $length the lenght of the generated string
|
* @param $length the lenght of the generated string
|
||||||
* @return string a random string
|
* @return string a random string
|
||||||
*/
|
*/
|
||||||
function randomstring($length = 6) {
|
function randomstring($length = 6)
|
||||||
|
{
|
||||||
// $chars - all allowed charakters
|
// $chars - all allowed charakters
|
||||||
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
|
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user