1<?php
2/* Copyright (C) 2002-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
3 * Copyright (C) 2004-2010 Laurent Destailleur  <eldy@users.sourceforge.net>
4 * Copyright (C) 2005-2012 Regis Houssin        <regis.houssin@inodbox.com>
5 * Copyright (C) 2010      Juanjo Menent        <jmenent@2byte.es>
6 * Copyright (C) 2013      Cédric Salvador      <csalvador@gpcsolutions.fr>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <https://www.gnu.org/licenses/>.
20 */
21
22/**
23 *  \file       htdocs/adherents/document.php
24 *  \brief      Tab for documents linked to third party
25 *  \ingroup    societe
26 */
27
28require '../main.inc.php';
29require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php';
30require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
31require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
32require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
33require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
34require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php';
35
36// Load translation files required by the page
37$langs->loadLangs(array("companies", "members", "other"));
38
39
40$id = GETPOSTISSET('id') ? GETPOST('id', 'int') : GETPOST('rowid', 'int');
41$ref = GETPOST('ref', 'alphanohtml');
42$action = GETPOST('action', 'aZ09');
43$confirm = GETPOST('confirm', 'alpha');
44
45// Get parameters
46$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit;
47$sortfield = GETPOST("sortfield", 'alpha');
48$sortorder = GETPOST("sortorder", 'alpha');
49$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
50if (empty($page) || $page == -1) {
51	$page = 0;
52}     // If $page is not defined, or '' or -1
53$offset = $limit * $page;
54$pageprev = $page - 1;
55$pagenext = $page + 1;
56if (!$sortorder) {
57	$sortorder = "ASC";
58}
59if (!$sortfield) {
60	$sortfield = "name";
61}
62
63$object = new Adherent($db);
64$membert = new AdherentType($db);
65$result = $object->fetch($id, $ref);
66if ($result < 0) {
67	dol_print_error($db);
68	exit;
69}
70$upload_dir = $conf->adherent->dir_output."/".get_exdir(0, 0, 0, 1, $object, 'member');
71
72// Fetch object
73if ($id > 0 || !empty($ref)) {
74	// Load member
75	$result = $object->fetch($id, $ref);
76
77	// Define variables to know what current user can do on users
78	$canadduser = ($user->admin || $user->rights->user->user->creer);
79	// Define variables to know what current user can do on properties of user linked to edited member
80	if ($object->user_id) {
81		// $User is the user who edits, $object->user_id is the id of the related user in the edited member
82		$caneditfielduser = ((($user->id == $object->user_id) && $user->rights->user->self->creer)
83			|| (($user->id != $object->user_id) && $user->rights->user->user->creer));
84		$caneditpassworduser = ((($user->id == $object->user_id) && $user->rights->user->self->password)
85			|| (($user->id != $object->user_id) && $user->rights->user->user->password));
86	}
87}
88
89// Define variables to determine what the current user can do on the members
90$canaddmember = $user->rights->adherent->creer;
91// Define variables to determine what the current user can do on the properties of a member
92if ($id) {
93	$caneditfieldmember = $user->rights->adherent->creer;
94}
95
96$permissiontoadd = $canaddmember;
97
98// Security check
99$result = restrictedArea($user, 'adherent', $object->id, '', '', 'socid', 'rowid', 0);
100
101
102/*
103 * Actions
104 */
105
106include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php';
107
108
109/*
110 * View
111 */
112
113$form = new Form($db);
114
115$title = $langs->trans("Member")." - ".$langs->trans("Documents");
116
117$help_url = "EN:Module_Foundations|FR:Module_Adh&eacute;rents|ES:M&oacute;dulo_Miembros|DE:Modul_Mitglieder";
118
119llxHeader("", $title, $help_url);
120
121if ($id > 0) {
122	$result = $membert->fetch($object->typeid);
123	if ($result > 0) {
124		// Build file list
125		$filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ?SORT_DESC:SORT_ASC), 1);
126		$totalsize = 0;
127		foreach ($filearray as $key => $file) {
128			$totalsize += $file['size'];
129		}
130
131		if (!empty($conf->notification->enabled)) {
132			$langs->load("mails");
133		}
134
135		$head = member_prepare_head($object);
136
137		print dol_get_fiche_head($head, 'document', $langs->trans("Member"), -1, 'user');
138
139		$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
140
141		dol_banner_tab($object, 'rowid', $linkback);
142
143		print '<div class="fichecenter">';
144
145		print '<div class="underbanner clearboth"></div>';
146		print '<table class="border tableforfield centpercent">';
147
148		$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
149
150		// Login
151		if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) {
152			print '<tr><td class="titlefield">'.$langs->trans("Login").' / '.$langs->trans("Id").'</td><td class="valeur">'.$object->login.'&nbsp;</td></tr>';
153		}
154
155		// Type
156		print '<tr><td>'.$langs->trans("Type").'</td><td class="valeur">'.$membert->getNomUrl(1)."</td></tr>\n";
157
158		// Morphy
159		print '<tr><td class="titlefield">'.$langs->trans("MemberNature").'</td><td class="valeur" >'.$object->getmorphylib().'</td>';
160		/*print '<td rowspan="'.$rowspan.'" class="center" valign="middle" width="25%">';
161		print $form->showphoto('memberphoto',$object);
162		print '</td>';*/
163		print '</tr>';
164
165		// Company
166		print '<tr><td>'.$langs->trans("Company").'</td><td class="valeur">'.$object->company.'</td></tr>';
167
168		// Civility
169		print '<tr><td>'.$langs->trans("UserTitle").'</td><td class="valeur">'.$object->getCivilityLabel().'&nbsp;</td>';
170		print '</tr>';
171
172		// Number of Attached Files
173		print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
174
175		//Total Size Of Attached Files
176		print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.dol_print_size($totalsize, 1, 1).'</td></tr>';
177
178		print '</table>';
179
180		print '</div>';
181
182		print dol_get_fiche_end();
183
184		$modulepart = 'member';
185		$permissiontoadd = $user->rights->adherent->creer;
186		$permtoedit = $user->rights->adherent->creer;
187		$param = '&id='.$object->id;
188		include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php';
189		print "<br><br>";
190	} else {
191		dol_print_error($db);
192	}
193} else {
194	$langs->load("errors");
195	print $langs->trans("ErrorRecordNotFound");
196}
197
198// End of page
199llxFooter();
200$db->close();
201