dolibarr  13.0.2
company_socialnetworks.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
3  * Copyright (C) 2004-2019 Laurent Destailleur <eldy@users.sourceforge.net>
4  * Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com>
5  * Copyright (C) 2010-2014 Juanjo Menent <jmenent@2byte.es>
6  * Copyright (C) 2011-2017 Philippe Grand <philippe.grand@atoo-net.com>
7  * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
8  * Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com>
9  * Copyright (C) 2020 Frédéric France <frederic.france@netlogic.fr>
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 3 of the License, or
14  * (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program. If not, see <https://www.gnu.org/licenses/>.
23  */
24 
31 require '../main.inc.php';
32 require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
33 
34 $action = GETPOST('action', 'aZ09');
35 $contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'admincompany'; // To manage different context of search
36 
37 // Load translation files required by the page
38 $langs->loadLangs(array('admin', 'companies'));
39 
40 if (!$user->admin) {
42 }
43 $listofnetworks = getArrayOfSocialNetworks();
44 
45 // Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
46 $hookmanager->initHooks(array('adminsocialnetworkscompany', 'globaladmin'));
47 
48 /*
49  * Actions
50  */
51 
52 $parameters = array();
53 $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
54 if ($reshook < 0) {
55  setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
56 }
57 if (($action == 'update' && !GETPOST("cancel", 'alpha'))) {
58  foreach ($listofnetworks as $key => $value) {
59  if (!empty($value['active'])) {
60  $networkconstname = 'MAIN_INFO_SOCIETE_'.strtoupper($key).'_URL';
61  $networkconstid = 'MAIN_INFO_SOCIETE_'.strtoupper($key);
62  if (GETPOSTISSET($key.'url') && GETPOST($key.'url', 'alpha') != '') {
63  dolibarr_set_const($db, $networkconstname, GETPOST($key.'url', 'alpha'), 'chaine', 0, '', $conf->entity);
64  dolibarr_set_const($db, $networkconstid, GETPOST($key, 'alpha'), 'chaine', 0, '', $conf->entity);
65  } elseif (GETPOSTISSET($key) && GETPOST($key, 'alpha') != '') {
66  if (!empty($listofnetworks[$key]['url'])) {
67  $url = str_replace('{socialid}', GETPOST($key, 'alpha'), $listofnetworks[$key]['url']);
68  dolibarr_set_const($db, $networkconstname, $url, 'chaine', 0, '', $conf->entity);
69  }
70  dolibarr_set_const($db, $networkconstid, GETPOST($key, 'alpha'), 'chaine', 0, '', $conf->entity);
71  } else {
72  dolibarr_del_const($db, $networkconstname, $conf->entity);
73  dolibarr_del_const($db, $networkconstid, $conf->entity);
74  }
75  }
76  }
77 }
78 
79 
80 /*
81  * View
82  */
83 
84 $wikihelp = 'EN:First_setup|FR:Premiers_paramétrages|ES:Primeras_configuraciones';
85 llxHeader('', $langs->trans("Setup"), $wikihelp);
86 
87 print load_fiche_titre($langs->trans("CompanyFoundation"), '', 'title_setup');
88 
90 
91 print dol_get_fiche_head($head, 'socialnetworks', $langs->trans("SocialNetworksInformation"), -1, 'company');
92 
93 print '<span class="opacitymedium">'.$langs->trans("CompanyFundationDesc", $langs->transnoentities("Save"))."</span><br>\n";
94 print "<br>\n";
95 
96 
101 print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
102 print '<input type="hidden" name="token" value="'.newToken().'">';
103 print '<input type="hidden" name="action" value="update">';
104 
105 // Social networks
106 print '<br>';
107 print '<table class="noborder centpercent editmode">';
108 print '<tr class="liste_titre">';
109 print '<td class="titlefield">'.$langs->trans("SocialNetworksInformation").'</td><td>'.$langs->trans("Url").'</td><td>'.$langs->trans("SocialNetworkId").'</td><td></td>';
110 print "</tr>\n";
111 
112 
113 foreach ($listofnetworks as $key => $value) {
114  if (!empty($value['active'])) {
115  print '<tr class="oddeven">';
116  print '<td><label for="'.$key.'url">'.$langs->trans(ucfirst($key)).'</label></td>';
117  $networkconstname = 'MAIN_INFO_SOCIETE_'.strtoupper($key).'_URL';
118  $networkconstid = 'MAIN_INFO_SOCIETE_'.strtoupper($key);
119  print '<td><span class="fa paddingright '.($value['icon'] ? $value['icon'] : 'fa-link').'"></span>';
120  print '<input name="'.$key.'url" id="'.$key.'url" class="minwidth300" value="'.dol_escape_htmltag($conf->global->$networkconstname).'">';
121  print '</td><td>';
122  print '<input name="'.$key.'" id="'.$key.'" class="minwidth300" value="'.dol_escape_htmltag($conf->global->$networkconstid).'">';
123  print '</td>';
124  print '<td>'.dol_print_socialnetworks($conf->global->$networkconstid, 0, 0, $key, $listofnetworks).'</td>';
125  print '</tr>'."\n";
126  }
127 }
128 
129 print "</table>";
130 
131 print '<br>';
132 
133 print '<br><div class="center">';
134 print '<input type="submit" class="button button-save" name="save" value="'.$langs->trans("Save").'">';
135 print '</div>';
136 
137 print '</form>';
138 
139 
140 // End of page
141 llxFooter();
142 $db->close();
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
getArrayOfSocialNetworks()
Get array of social network dictionary.
dolibarr_set_const($db, $name, $value, $type= 'chaine', $visible=0, $note= '', $entity=1)
Insert a parameter (key,value) into database (delete old key then insert it again).
Definition: admin.lib.php:575
company_admin_prepare_head()
Return array head with list of tabs to view object informations.
Definition: admin.lib.php:1806
if(GETPOST('button_removefilter_x', 'alpha')||GETPOST('button_removefilter.x', 'alpha')||GETPOST('button_removefilter', 'alpha')) if(GETPOST('button_search_x', 'alpha')||GETPOST('button_search.x', 'alpha')||GETPOST('button_search', 'alpha')) if($action=="save"&&empty($cancel)) $wikihelp
View.
Definition: agenda.php:120
llxHeader()
Empty header.
Definition: wrapper.php:45
setEventMessages($mesg, $mesgs, $style= 'mesgs', $messagekey= '')
Set event messages in dol_events session object.
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname.
load_fiche_titre($titre, $morehtmlright= '', $picto= 'generic', $pictoisfullpath=0, $id= '', $morecssontable= '', $morehtmlcenter= '')
Load a title with picto.
dolibarr_del_const($db, $name, $entity=1)
Effacement d&#39;une constante dans la base de donnees.
Definition: admin.lib.php:499
accessforbidden($message= '', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program Calling this function terminate execution ...
dol_get_fiche_head($links=array(), $active= '', $title= '', $notab=0, $picto= '', $pictoisfullpath=0, $morehtmlright= '', $morecss= '', $limittoshow=0, $moretabssuffix= '')
Show tabs of a record.
print
Draft customers invoices.
Definition: index.php:89
llxFooter()
Empty footer.
Definition: wrapper.php:59
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $keepmoretags= '', $escapeonlyhtmltags=0)
Returns text escaped for inclusion in HTML alt or title tags, or into values of HTML input fields...