diff --git a/ChangeLog b/ChangeLog
index 891b27ba78f..9982ac8e029 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,7 @@ For Users:
NEW: Stable module: Website
NEW: Stable module: WebDAV
NEW: Stable module: Module Builder
+NEW: Stable module "Skype" has been replaced with module "Social Networks" to support more tools.
NEW: Dolibarr can provide information in page title when multicompany is enabled of not, making
Android application like DoliDroid able to provide native features for multicompany module.
diff --git a/htdocs/admin/socialnetworks.php b/htdocs/admin/socialnetworks.php
new file mode 100644
index 00000000000..9aba26b3fc4
--- /dev/null
+++ b/htdocs/admin/socialnetworks.php
@@ -0,0 +1,123 @@
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+/**
+ * \file htdocs/admin/socialnetworks.php
+ * \ingroup socialnetworks
+ * \brief Page to setup the module Social Networks
+ */
+
+require '../main.inc.php';
+require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
+require_once DOL_DOCUMENT_ROOT.'/core/lib/mailmanspip.lib.php';
+require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
+
+// Load translation files required by the page
+$langs->loadLangs(array("admin", "errors"));
+
+if (! $user->admin) accessforbidden();
+
+$type=array('yesno','texte','chaine');
+
+$action = GETPOST('action','aZ09');
+
+
+
+/*
+ * Actions
+ */
+
+// Action activation d'un sous module du module adherent
+if ($action == 'set')
+{
+ $result=dolibarr_set_const($db, $_GET["name"], $_GET["value"], '', 0, '', $conf->entity);
+ if ($result < 0)
+ {
+ dol_print_error($db);
+ }
+}
+
+// Action desactivation d'un sous module du module adherent
+if ($action == 'unset')
+{
+ $result=dolibarr_del_const($db, $_GET["name"], $conf->entity);
+ if ($result < 0)
+ {
+ dol_print_error($db);
+ }
+}
+
+
+/*
+ * View
+ */
+
+$help_url='';
+
+llxHeader('',$langs->trans("SocialNetworkSetup"),$help_url);
+
+
+$linkback=''.$langs->trans("BackToModuleList").'';
+print load_fiche_titre($langs->trans("SocialNetworkSetup"),$linkback,'title_setup');
+
+//$head = socialnetworks_admin_prepare_head();
+$h=0;
+$head = array();
+$head[$h][0] = DOL_URL_ROOT.'/admin/socialnetworks.php';
+$head[$h][1] = $langs->trans("Setup");
+$head[$h][2] = 'setup';
+$h++;
+
+
+print '
';
+
+
+// End of page
+llxFooter();
+$db->close();
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index ec06ec52289..01d73f6c04b 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -1804,6 +1804,8 @@ HelpOnTooltip=Help text to show on tooltip
HelpOnTooltipDesc=Put here a text or a translation key for a text to show on a tooltip when this field appears into a form
YouCanDeleteFileOnServerWith=You can delete this file on server with Command Line: %s
ChartLoaded=Chart of account loaded
+SocialNetworkSetup=Setup of module Social Networks
+EnableFeatureFor=Enable features for %s
##### Resource ####
ResourceSetup=Configuration du module Resource
UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list).
diff --git a/htdocs/societe/card.php b/htdocs/societe/card.php
index 427995254fc..ba01619bd50 100644
--- a/htdocs/societe/card.php
+++ b/htdocs/societe/card.php
@@ -145,7 +145,7 @@ if (empty($reshook))
$object->client = $object->client | $soc_origin->client;
$object->fournisseur = $object->fournisseur | $soc_origin->fournisseur;
$listofproperties=array(
- 'address', 'zip', 'town', 'state_id', 'country_id', 'phone', 'phone_pro', 'fax', 'email', 'skype', 'url', 'barcode',
+ 'address', 'zip', 'town', 'state_id', 'country_id', 'phone', 'phone_pro', 'fax', 'email', 'skype', 'twitter', 'facebook', 'url', 'barcode',
'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6',
'tva_intra', 'effectif_id', 'forme_juridique', 'remise_percent', 'remise_supplier_percent', 'mode_reglement_supplier_id', 'cond_reglement_supplier_id', 'name_bis',
'stcomm_id', 'outstanding_limit', 'price_level', 'parent', 'default_lang', 'ref', 'ref_ext', 'import_key', 'fk_incoterms', 'fk_multicurrency',
@@ -405,6 +405,8 @@ if (empty($reshook))
$object->country_id = GETPOST('country_id', 'int');
$object->state_id = GETPOST('state_id', 'int');
$object->skype = GETPOST('skype', 'alpha');
+ $object->twitter = GETPOST('twitter', 'alpha');
+ $object->facebook = GETPOST('facebook', 'alpha');
$object->phone = GETPOST('phone', 'alpha');
$object->fax = GETPOST('fax','alpha');
$object->email = trim(GETPOST('email', 'custom', 0, FILTER_SANITIZE_EMAIL));
@@ -959,6 +961,8 @@ else
$object->town = GETPOST('town', 'alpha');
$object->state_id = GETPOST('state_id', 'int');
$object->skype = GETPOST('skype', 'alpha');
+ $object->twitter = GETPOST('twitter', 'alpha');
+ $object->facebook = GETPOST('facebook', 'alpha');
$object->phone = GETPOST('phone', 'alpha');
$object->fax = GETPOST('fax', 'alpha');
$object->email = GETPOST('email', 'custom', 0, FILTER_SANITIZE_EMAIL);
@@ -1246,11 +1250,26 @@ else
print '
'.fieldLabel('Web','url').'
';
print '
';
- // Skype
- if (! empty($conf->skype->enabled))
+ if (! empty($conf->socialnetworks->enabled))
{
- print '