dolibarr 18.0.6
contact.php
Go to the documentation of this file.
1<?php
2/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
3 * Copyright (C) 2003 Brian Fraval <brian@fraval.org>
4 * Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
5 * Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
6 * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
7 * Copyright (C) 2008 Patrick Raguin <patrick.raguin@auguria.net>
8 * Copyright (C) 2010-2016 Juanjo Menent <jmenent@2byte.es>
9 * Copyright (C) 2011-2013 Alexandre Spangaro <aspangaro@open-dsi.fr>
10 * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
11 * Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
12 * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 3 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program. If not, see <https://www.gnu.org/licenses/>.
26 */
27
34// Load Dolibarr environment
35require '../main.inc.php';
36require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
37require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
38require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
39require_once DOL_DOCUMENT_ROOT.'/core/lib/functions.lib.php';
40require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php';
41require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
42require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
43require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
44require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
45require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
46if (isModEnabled('adherent')) {
47 require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
48}
49
50// Load translation files required by the page
51$langs->loadLangs(array("companies", "commercial", "bills", "banks", "users"));
52
53if (isModEnabled('categorie')) {
54 $langs->load("categories");
55}
56if (isModEnabled('incoterm')) {
57 $langs->load("incoterm");
58}
59if (isModEnabled('notification')) {
60 $langs->load("mails");
61}
62
63$mesg = ''; $error = 0; $errors = array();
64
65
66// Get parameters
67$action = (GETPOST('action', 'aZ09') ? GETPOST('action', 'aZ09') : 'view');
68$cancel = GETPOST('cancel', 'alpha');
69$backtopage = GETPOST('backtopage', 'alpha');
70$confirm = GETPOST('confirm');
71$socid = GETPOST('socid', 'int') ?GETPOST('socid', 'int') : GETPOST('id', 'int');
72
73if ($user->socid) {
74 $socid = $user->socid;
75}
76
77if (empty($socid) && $action == 'view') {
78 $action = 'create';
79}
80
81// Initialize objects
82$object = new Societe($db);
83$extrafields = new ExtraFields($db);
84
85// fetch optionals attributes and labels
86$extrafields->fetch_name_optionals_label($object->table_element);
87
88// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
89$hookmanager->initHooks(array('thirdpartycontact', 'globalcard'));
90
91if ($object->fetch($socid) <= 0 && $action == 'view') {
92 $langs->load("errors");
93 print($langs->trans('ErrorRecordNotFound'));
94 exit;
95}
96
97// Get object canvas (By default, this is not defined, so standard usage of dolibarr)
98$canvas = $object->canvas ? $object->canvas : GETPOST("canvas");
99$objcanvas = null;
100if (!empty($canvas)) {
101 require_once DOL_DOCUMENT_ROOT.'/core/class/canvas.class.php';
102 $objcanvas = new Canvas($db, $action);
103 $objcanvas->getCanvas('thirdparty', 'card', $canvas);
104}
105
106// Security check
107$result = restrictedArea($user, 'societe', $socid, '&societe', '', 'fk_soc', 'rowid', 0);
108if (empty($user->rights->societe->contact->lire)) {
110}
111
112
113/*
114 * Actions
115 */
116
117$parameters = array('id'=>$socid, 'objcanvas'=>$objcanvas);
118$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
119if ($reshook < 0) {
120 setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
121}
122
123if (empty($reshook)) {
124 if ($cancel) {
125 $action = '';
126 if (!empty($backtopage)) {
127 header("Location: ".$backtopage);
128 exit;
129 }
130 }
131
132 // Selection of new fields
133 include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
134}
135
136
137/*
138 * View
139 */
140
141$form = new Form($db);
142$formfile = new FormFile($db);
143$formadmin = new FormAdmin($db);
144$formcompany = new FormCompany($db);
145
146if ($socid > 0 && empty($object->id)) {
147 $result = $object->fetch($socid);
148 if ($result <= 0) {
149 dol_print_error('', $object->error);
150 }
151}
152
153$title = $langs->trans("ThirdParty");
154if (!empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/', $conf->global->MAIN_HTML_TITLE) && $object->name) {
155 $title = $object->name." - ".$langs->trans('ContactsAddresses');
156}
157$help_url = 'EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
158llxHeader('', $title, $help_url);
159
160$countrynotdefined = $langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')';
161
162
163if (!empty($object->id)) {
164 $res = $object->fetch_optionals();
165}
166//if ($res < 0) { dol_print_error($db); exit; }
167
168
169$head = societe_prepare_head($object);
170
171print dol_get_fiche_head($head, 'contact', $langs->trans("ThirdParty"), 0, 'company');
172
173$linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
174
175dol_banner_tab($object, 'socid', $linkback, ($user->socid ? 0 : 1), 'rowid', 'nom', '', '', 0, '', '', 'arearefnobottom');
176
177print dol_get_fiche_end();
178
179print '<br>';
180
181if ($action != 'presend') {
182 // Contacts list
183 if (empty($conf->global->SOCIETE_DISABLE_CONTACTS)) {
184 $result = show_contacts($conf, $langs, $db, $object, $_SERVER["PHP_SELF"].'?socid='.$object->id, 1);
185 }
186}
187
188// End of page
189llxFooter();
190$db->close();
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Definition wrapper.php:56
llxFooter()
Empty footer.
Definition wrapper.php:70
Class to manage canvas.
Class to manage standard extra fields.
Class to generate html code for admin pages.
Class to build HTML component for third parties management Only common components are here.
Class to offer components to list and upload files.
Class to manage generation of HTML components Only common components must be here.
Class to manage third parties objects (customers, suppliers, prospects...)
show_contacts($conf, $langs, $db, $object, $backtopage='', $showuserlogin=0)
Show html area for list of contacts.
societe_prepare_head(Societe $object)
Return array of tabs to used on pages for third parties cards.
dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='rowid', $fieldref='ref', $morehtmlref='', $moreparam='', $nodbprefix=0, $morehtmlleft='', $morehtmlstatus='', $onlybanner=0, $morehtmlright='')
Show tab footer of a card.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
dol_get_fiche_end($notab=0)
Return tab footer of a card.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.