2014-01-02 07:07:43 +01:00
< ? php
2018-10-27 11:46:12 +02:00
/* Copyright ( C ) 2013 - 2018 Jean - François Ferry < hello + jf @ librethic . io >
2016-02-01 16:15:30 +01:00
* Copyright ( C ) 2016 Gilles Poirier < glgpoirier @ gmail . com >
2014-01-02 07:07:43 +01:00
*
* 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 < http :// www . gnu . org / licenses />.
*/
/**
2016-01-21 11:18:29 +01:00
* \file resource / element_resource . php
2016-04-29 18:31:11 +02:00
* \ingroup resource
* \brief Page to show and manage linked resources to an element
2014-01-02 07:07:43 +01:00
*/
$res = 0 ;
2016-01-21 11:18:29 +01:00
$res =@ include ( " ../main.inc.php " ); // For root directory
if ( ! $res ) $res =@ include ( " ../../main.inc.php " ); // For "custom" directory
2014-01-02 07:07:43 +01:00
if ( ! $res ) die ( " Include of main fails " );
2016-12-09 15:59:31 +01:00
require_once DOL_DOCUMENT_ROOT . '/resource/class/dolresource.class.php' ;
2014-04-15 18:01:18 +02:00
require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php' ;
2016-07-26 16:35:54 +02:00
require_once DOL_DOCUMENT_ROOT . '/fichinter/class/fichinter.class.php' ;
2017-02-22 17:46:54 +01:00
if ( ! empty ( $conf -> projet -> enabled )) {
require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php' ;
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php' ;
}
2014-01-02 07:07:43 +01:00
2018-05-26 18:41:16 +02:00
// Load translation files required by the page
$langs -> loadLangs ( array ( 'resource' , 'other' , 'interventions' ));
2014-01-02 07:07:43 +01:00
/*
2016-01-21 11:18:29 +01:00
$sortorder = GETPOST ( 'sortorder' , 'alpha' );
$sortfield = GETPOST ( 'sortfield' , 'alpha' );
$page = GETPOST ( 'page' , 'int' );
2014-01-02 07:07:43 +01:00
*/
2014-03-15 16:29:33 +01:00
if ( ! $user -> rights -> resource -> read )
2016-01-21 11:18:29 +01:00
accessforbidden ();
2014-01-02 07:07:43 +01:00
2016-01-21 11:18:29 +01:00
$object = new Dolresource ( $db );
2014-01-02 07:07:43 +01:00
$hookmanager -> initHooks ( array ( 'element_resource' ));
2016-01-21 11:18:29 +01:00
$object -> available_resources = array ( 'dolresource' );
2014-01-02 07:07:43 +01:00
2014-09-07 12:22:04 +02:00
// Get parameters
2016-12-23 13:04:46 +01:00
$id = GETPOST ( 'id' , 'int' ); // resource id
$element_id = GETPOST ( 'element_id' , 'int' ); // element_id
$element_ref = GETPOST ( 'ref' , 'alpha' ); // element ref
$element = GETPOST ( 'element' , 'alpha' ); // element_type
2016-01-21 11:18:29 +01:00
$action = GETPOST ( 'action' , 'alpha' );
$mode = GETPOST ( 'mode' , 'alpha' );
$lineid = GETPOST ( 'lineid' , 'int' );
$resource_id = GETPOST ( 'fk_resource' , 'int' );
$resource_type = GETPOST ( 'resource_type' , 'alpha' );
$busy = GETPOST ( 'busy' , 'int' );
$mandatory = GETPOST ( 'mandatory' , 'int' );
$cancel = GETPOST ( 'cancel' , 'alpha' );
$confirm = GETPOST ( 'confirm' , 'alpha' );
$socid = GETPOST ( 'socid' , 'int' );
2016-12-23 13:04:46 +01:00
if ( $socid > 0 ) // Special for thirdparty
2015-12-05 19:20:39 +01:00
{
$element_id = $socid ;
$element = 'societe' ;
}
2015-05-31 02:05:39 +02:00
2016-01-21 11:18:29 +01:00
2015-05-31 02:05:39 +02:00
/*
* Actions
*/
2015-08-14 17:35:05 +02:00
if ( $action == 'add_element_resource' && ! $cancel )
2014-09-07 12:22:04 +02:00
{
2016-12-09 15:59:31 +01:00
$error ++ ;
$res = 0 ;
if ( ! ( $resource_id > 0 ))
{
$error ++ ;
setEventMessages ( $langs -> trans ( " ErrorFieldRequired " , $langs -> transnoentitiesnoconv ( " Resource " )), null , 'errors' );
$action = '' ;
}
else
{
$objstat = fetchObjectByElement ( $element_id , $element );
2018-10-27 11:46:12 +02:00
$objstat -> element = $element ; // For externals module, we need to keep @xx
2016-12-09 15:59:31 +01:00
$res = $objstat -> add_element_resource ( $resource_id , $resource_type , $busy , $mandatory );
}
if ( ! $error && $res > 0 )
{
setEventMessages ( $langs -> trans ( 'ResourceLinkedWithSuccess' ), null , 'mesgs' );
header ( " Location: " . $_SERVER [ 'PHP_SELF' ] . '?element=' . $element . '&element_id=' . $element_id );
exit ;
}
2014-09-07 12:22:04 +02:00
}
2014-04-23 19:04:10 +02:00
2014-09-07 12:22:04 +02:00
// Update ressource
2017-09-15 10:50:50 +02:00
if ( $action == 'update_linked_resource' && $user -> rights -> resource -> write && ! GETPOST ( 'cancel' , 'alpha' ) )
2014-09-07 12:22:04 +02:00
{
2016-12-09 15:59:31 +01:00
$res = $object -> fetch_element_resource ( $lineid );
if ( $res )
{
$object -> busy = $busy ;
$object -> mandatory = $mandatory ;
$result = $object -> update_element_resource ( $user );
if ( $result >= 0 )
{
setEventMessages ( $langs -> trans ( 'RessourceLineSuccessfullyUpdated' ), null , 'mesgs' );
header ( " Location: " . $_SERVER [ 'PHP_SELF' ] . " ?element= " . $element . " &element_id= " . $element_id );
exit ;
}
else
{
setEventMessages ( $object -> error , $object -> errors , 'errors' );
}
}
2014-09-07 12:22:04 +02:00
}
// Delete a resource linked to an element
2015-04-18 18:07:59 +02:00
if ( $action == 'confirm_delete_linked_resource' && $user -> rights -> resource -> delete && $confirm === 'yes' )
2014-09-07 12:22:04 +02:00
{
2015-12-05 19:20:39 +01:00
$result = $object -> delete_resource ( $lineid , $element );
if ( $result >= 0 )
{
2015-12-21 14:43:21 +01:00
setEventMessages ( $langs -> trans ( 'RessourceLineSuccessfullyDeleted' ), null , 'mesgs' );
2015-12-05 19:20:39 +01:00
header ( " Location: " . $_SERVER [ 'PHP_SELF' ] . " ?element= " . $element . " &element_id= " . $element_id );
exit ;
}
2016-01-21 11:18:29 +01:00
else
2015-12-05 19:20:39 +01:00
{
2015-12-21 14:43:21 +01:00
setEventMessages ( $object -> error , $object -> errors , 'errors' );
2015-12-05 19:20:39 +01:00
}
2014-09-07 12:22:04 +02:00
}
2014-04-23 19:04:10 +02:00
2015-08-12 21:48:00 +02:00
$parameters = array ( 'resource_id' => $resource_id );
2014-01-02 07:07:43 +01:00
$reshook = $hookmanager -> executeHooks ( 'doActions' , $parameters , $object , $action ); // Note that $action and $object may have been modified by some hooks
2014-09-28 03:41:32 +02:00
if ( $reshook < 0 ) setEventMessages ( $hookmanager -> error , $hookmanager -> errors , 'errors' );
2014-09-07 12:22:04 +02:00
2014-04-23 19:04:10 +02:00
$parameters = array ( 'resource_id' => $resource_id );
$reshook = $hookmanager -> executeHooks ( 'getElementResources' , $parameters , $object , $action ); // Note that $action and $object may have been modified by some hooks
2014-09-28 03:41:32 +02:00
if ( $reshook < 0 ) setEventMessages ( $hookmanager -> error , $hookmanager -> errors , 'errors' );
2014-01-02 07:07:43 +01:00
2015-05-31 02:05:39 +02:00
/*
* View
*/
2014-01-02 07:07:43 +01:00
$form = new Form ( $db );
2015-05-31 02:05:39 +02:00
$pagetitle = $langs -> trans ( 'ResourceElementPage' );
llxHeader ( '' , $pagetitle , '' );
2014-01-02 07:07:43 +01:00
// Load available resource, declared by modules
2014-04-23 19:04:10 +02:00
$ret = count ( $object -> available_resources );
2014-01-02 07:07:43 +01:00
if ( $ret == - 1 ) {
2016-12-09 15:59:31 +01:00
dol_print_error ( $db , $object -> error );
exit ;
2014-01-02 07:07:43 +01:00
}
2016-06-07 13:15:38 +02:00
if ( ! $ret ) {
2016-12-09 15:59:31 +01:00
print '<div class="warning">' . $langs -> trans ( 'NoResourceInDatabase' ) . '</div>' ;
2014-01-02 07:07:43 +01:00
}
else
{
2016-12-09 15:59:31 +01:00
// Confirmation suppression resource line
if ( $action == 'delete_resource' )
{
print $form -> formconfirm ( " element_resource.php?element= " . $element . " &element_id= " . $element_id . " &id= " . $id . " &lineid= " . $lineid , $langs -> trans ( " DeleteResource " ), $langs -> trans ( " ConfirmDeleteResourceElement " ), " confirm_delete_linked_resource " , '' , '' , 1 );
}
// Specific to agenda module
2016-12-23 13:04:46 +01:00
if (( $element_id || $element_ref ) && $element == 'action' )
2016-12-09 15:59:31 +01:00
{
require_once DOL_DOCUMENT_ROOT . '/core/lib/agenda.lib.php' ;
2016-12-23 13:04:46 +01:00
$act = fetchObjectByElement ( $element_id , $element , $element_ref );
2016-12-09 15:59:31 +01:00
if ( is_object ( $act ))
{
$head = actions_prepare_head ( $act );
2017-03-28 12:47:48 +02:00
dol_fiche_head ( $head , 'resources' , $langs -> trans ( " Action " ), - 1 , 'action' );
2016-12-09 15:59:31 +01:00
$linkback = img_picto ( $langs -> trans ( " BackToList " ), 'object_list' , 'class="hideonsmartphone pictoactionview"' );
2017-11-16 12:18:25 +01:00
$linkback .= '<a href="' . DOL_URL_ROOT . '/comm/action/list.php">' . $langs -> trans ( " BackToList " ) . '</a>' ;
2016-12-09 15:59:31 +01:00
// Link to other agenda views
$out = '' ;
2017-09-30 00:30:58 +02:00
$out .= '</li><li class="noborder litext">' . img_picto ( $langs -> trans ( " ViewPerUser " ), 'object_calendarperuser' , 'class="hideonsmartphone pictoactionview"' );
2016-12-09 15:59:31 +01:00
$out .= '<a href="' . DOL_URL_ROOT . '/comm/action/peruser.php?action=show_peruser&year=' . dol_print_date ( $act -> datep , '%Y' ) . '&month=' . dol_print_date ( $act -> datep , '%m' ) . '&day=' . dol_print_date ( $act -> datep , '%d' ) . '">' . $langs -> trans ( " ViewPerUser " ) . '</a>' ;
2017-09-30 00:30:58 +02:00
$out .= '</li><li class="noborder litext">' . img_picto ( $langs -> trans ( " ViewCal " ), 'object_calendar' , 'class="hideonsmartphone pictoactionview"' );
2016-12-09 15:59:31 +01:00
$out .= '<a href="' . DOL_URL_ROOT . '/comm/action/index.php?action=show_month&year=' . dol_print_date ( $act -> datep , '%Y' ) . '&month=' . dol_print_date ( $act -> datep , '%m' ) . '&day=' . dol_print_date ( $act -> datep , '%d' ) . '">' . $langs -> trans ( " ViewCal " ) . '</a>' ;
2017-09-30 00:30:58 +02:00
$out .= '</li><li class="noborder litext">' . img_picto ( $langs -> trans ( " ViewWeek " ), 'object_calendarweek' , 'class="hideonsmartphone pictoactionview"' );
2016-12-09 15:59:31 +01:00
$out .= '<a href="' . DOL_URL_ROOT . '/comm/action/index.php?action=show_day&year=' . dol_print_date ( $act -> datep , '%Y' ) . '&month=' . dol_print_date ( $act -> datep , '%m' ) . '&day=' . dol_print_date ( $act -> datep , '%d' ) . '">' . $langs -> trans ( " ViewWeek " ) . '</a>' ;
2017-09-30 00:30:58 +02:00
$out .= '</li><li class="noborder litext">' . img_picto ( $langs -> trans ( " ViewDay " ), 'object_calendarday' , 'class="hideonsmartphone pictoactionview"' );
2016-12-09 15:59:31 +01:00
$out .= '<a href="' . DOL_URL_ROOT . '/comm/action/index.php?action=show_day&year=' . dol_print_date ( $act -> datep , '%Y' ) . '&month=' . dol_print_date ( $act -> datep , '%m' ) . '&day=' . dol_print_date ( $act -> datep , '%d' ) . '">' . $langs -> trans ( " ViewDay " ) . '</a>' ;
$linkback .= $out ;
2017-02-22 17:46:54 +01:00
$morehtmlref = '<div class="refidno">' ;
// Thirdparty
//$morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1);
// Project
if ( ! empty ( $conf -> projet -> enabled ))
{
$langs -> load ( " projects " );
//$morehtmlref.='<br>'.$langs->trans('Project') . ' ';
$morehtmlref .= $langs -> trans ( 'Project' ) . ': ' ;
if ( ! empty ( $act -> fk_project )) {
$proj = new Project ( $db );
$proj -> fetch ( $act -> fk_project );
$morehtmlref .= '<a href="' . DOL_URL_ROOT . '/projet/card.php?id=' . $act -> fk_project . '" title="' . $langs -> trans ( 'ShowProject' ) . '">' ;
$morehtmlref .= $proj -> ref ;
$morehtmlref .= '</a>' ;
if ( $proj -> title ) $morehtmlref .= ' - ' . $proj -> title ;
} else {
$morehtmlref .= '' ;
}
}
$morehtmlref .= '</div>' ;
2017-09-15 23:49:04 +02:00
2017-02-22 17:46:54 +01:00
dol_banner_tab ( $act , 'element_id' , $linkback , ( $user -> societe_id ? 0 : 1 ), 'id' , 'ref' , $morehtmlref , '&element=' . $element , 0 , '' , '' );
2016-12-09 15:59:31 +01:00
2017-03-31 14:21:51 +02:00
print '<div class="fichecenter">' ;
2017-09-15 23:49:04 +02:00
2016-12-09 15:59:31 +01:00
print '<div class="underbanner clearboth"></div>' ;
2017-09-15 23:49:04 +02:00
2016-12-09 15:59:31 +01:00
print '<table class="border" width="100%">' ;
// Type
if ( ! empty ( $conf -> global -> AGENDA_USE_EVENT_TYPE ))
{
print '<tr><td class="titlefield">' . $langs -> trans ( " Type " ) . '</td><td colspan="3">' . $act -> type . '</td></tr>' ;
}
// Full day event
print '<tr><td class="titlefield">' . $langs -> trans ( " EventOnFullDay " ) . '</td><td colspan="3">' . yn ( $act -> fulldayevent , 3 ) . '</td></tr>' ;
// Date start
print '<tr><td>' . $langs -> trans ( " DateActionStart " ) . '</td><td colspan="3">' ;
if ( ! $act -> fulldayevent ) print dol_print_date ( $act -> datep , 'dayhour' );
else print dol_print_date ( $act -> datep , 'day' );
if ( $act -> percentage == 0 && $act -> datep && $act -> datep < ( $now - $delay_warning )) print img_warning ( $langs -> trans ( " Late " ));
print '</td>' ;
print '</tr>' ;
// Date end
print '<tr><td>' . $langs -> trans ( " DateActionEnd " ) . '</td><td colspan="3">' ;
if ( ! $act -> fulldayevent ) print dol_print_date ( $act -> datef , 'dayhour' );
else print dol_print_date ( $act -> datef , 'day' );
if ( $act -> percentage > 0 && $act -> percentage < 100 && $act -> datef && $act -> datef < ( $now - $delay_warning )) print img_warning ( $langs -> trans ( " Late " ));
print '</td></tr>' ;
// Location
if ( empty ( $conf -> global -> AGENDA_DISABLE_LOCATION ))
{
print '<tr><td>' . $langs -> trans ( " Location " ) . '</td><td colspan="3">' . $act -> location . '</td></tr>' ;
}
// Assigned to
print '<tr><td class="nowrap">' . $langs -> trans ( " ActionAffectedTo " ) . '</td><td colspan="3">' ;
$listofuserid = array ();
if ( empty ( $donotclearsession ))
{
if ( $act -> userownerid > 0 ) $listofuserid [ $act -> userownerid ] = array ( 'id' => $act -> userownerid , 'transparency' => $act -> transparency ); // Owner first
if ( ! empty ( $act -> userassigned )) // Now concat assigned users
{
// Restore array with key with same value than param 'id'
$tmplist1 = $act -> userassigned ; $tmplist2 = array ();
foreach ( $tmplist1 as $key => $val )
{
if ( $val [ 'id' ] && $val [ 'id' ] != $act -> userownerid ) $listofuserid [ $val [ 'id' ]] = $val ;
}
}
$_SESSION [ 'assignedtouser' ] = json_encode ( $listofuserid );
}
else
{
if ( ! empty ( $_SESSION [ 'assignedtouser' ]))
{
$listofuserid = json_decode ( $_SESSION [ 'assignedtouser' ], true );
}
}
2017-11-22 14:42:47 +01:00
$listofcontactid = array (); // not used yet
$listofotherid = array (); // not used yet
2016-12-09 15:59:31 +01:00
print '<div class="assignedtouser">' ;
2017-11-22 14:42:47 +01:00
print $form -> select_dolusers_forevent ( 'view' , 'assignedtouser' , 1 , '' , 0 , '' , '' , 0 , 0 , 0 , '' , ( $act -> datep != $act -> datef ) ? 1 : 0 , $listofuserid , $listofcontactid , $listofotherid );
2016-12-09 15:59:31 +01:00
print '</div>' ;
2017-11-22 14:42:47 +01:00
/* if ( in_array ( $user -> id , array_keys ( $listofuserid )))
2016-12-09 15:59:31 +01:00
{
print '<div class="myavailability">' ;
print $langs -> trans ( " MyAvailability " ) . ': ' . (( $act -> userassigned [ $user -> id ][ 'transparency' ] > 0 ) ? $langs -> trans ( " Busy " ) : $langs -> trans ( " Available " )); // We show nothing if event is assigned to nobody
print '</div>' ;
2017-11-22 14:42:47 +01:00
} */
2016-12-09 15:59:31 +01:00
print ' </td></tr>' ;
print '</table>' ;
2017-03-31 14:21:51 +02:00
print '</div>' ;
2017-09-15 23:49:04 +02:00
2016-12-09 15:59:31 +01:00
dol_fiche_end ();
}
}
// Specific to thirdparty module
2016-12-23 13:04:46 +01:00
if (( $element_id || $element_ref ) && $element == 'societe' )
2016-12-09 15:59:31 +01:00
{
2016-12-23 13:04:46 +01:00
$socstatic = fetchObjectByElement ( $element_id , $element , $element_ref );
2016-12-09 15:59:31 +01:00
if ( is_object ( $socstatic )) {
$savobject = $object ;
$object = $socstatic ;
require_once DOL_DOCUMENT_ROOT . '/core/lib/company.lib.php' ;
$head = societe_prepare_head ( $socstatic );
2017-03-28 12:47:48 +02:00
dol_fiche_head ( $head , 'resources' , $langs -> trans ( " ThirdParty " ), - 1 , 'company' );
2016-12-09 15:59:31 +01:00
2016-12-23 13:04:46 +01:00
dol_banner_tab ( $socstatic , 'socid' , '' , ( $user -> societe_id ? 0 : 1 ), 'rowid' , 'nom' , '' , '&element=' . $element );
2016-12-09 15:59:31 +01:00
print '<div class="fichecenter">' ;
print '<div class="underbanner clearboth"></div>' ;
print '<table class="border" width="100%">' ;
// Alias name (commercial, trademark or alias name)
print '<tr><td class="titlefield">' . $langs -> trans ( 'AliasNames' ) . '</td><td colspan="3">' ;
print $socstatic -> name_alias ;
print " </td></tr> " ;
print '</table>' ;
print '</div>' ;
dol_fiche_end ();
$object = $savobject ;
}
}
// Specific to fichinter module
2016-12-23 13:04:46 +01:00
if (( $element_id || $element_ref ) && $element == 'fichinter' )
2016-02-01 16:15:30 +01:00
{
require_once DOL_DOCUMENT_ROOT . '/core/lib/fichinter.lib.php' ;
2016-07-26 16:35:54 +02:00
$fichinter = new Fichinter ( $db );
2016-12-23 13:04:46 +01:00
$fichinter -> fetch ( $element_id , $element_ref );
2016-12-09 15:59:31 +01:00
$fichinter -> fetch_thirdparty ();
2017-09-15 23:49:04 +02:00
if ( is_object ( $fichinter ))
2016-02-01 16:15:30 +01:00
{
$head = fichinter_prepare_head ( $fichinter );
2017-03-28 12:47:48 +02:00
dol_fiche_head ( $head , 'resource' , $langs -> trans ( " InterventionCard " ), - 1 , 'intervention' );
2016-02-01 16:15:30 +01:00
2016-12-09 15:59:31 +01:00
// Intervention card
2016-02-01 16:15:30 +01:00
$linkback = '<a href="' . DOL_URL_ROOT . '/fichinter/list.php' . ( ! empty ( $socid ) ? '?socid=' . $socid : '' ) . '">' . $langs -> trans ( " BackToList " ) . '</a>' ;
2017-09-15 23:49:04 +02:00
2016-12-09 15:59:31 +01:00
$morehtmlref = '<div class="refidno">' ;
// Ref customer
//$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1);
//$morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1);
// Thirdparty
$morehtmlref .= $langs -> trans ( 'ThirdParty' ) . ' : ' . $fichinter -> thirdparty -> getNomUrl ( 1 );
// Project
if ( ! empty ( $conf -> projet -> enabled ))
{
$langs -> load ( " projects " );
$morehtmlref .= '<br>' . $langs -> trans ( 'Project' ) . ' ' ;
if ( $user -> rights -> commande -> creer )
{
if ( $action != 'classify' )
//$morehtmlref.='<a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $fichinter->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
$morehtmlref .= ' : ' ;
if ( $action == 'classify' ) {
//$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $fichinter->id, $fichinter->socid, $fichinter->fk_project, 'projectid', 0, 0, 1, 1);
$morehtmlref .= '<form method="post" action="' . $_SERVER [ 'PHP_SELF' ] . '?id=' . $fichinter -> id . '">' ;
$morehtmlref .= '<input type="hidden" name="action" value="classin">' ;
$morehtmlref .= '<input type="hidden" name="token" value="' . $_SESSION [ 'newtoken' ] . '">' ;
$morehtmlref .= $formproject -> select_projects ( $fichinter -> socid , $fichinter -> fk_project , 'projectid' , $maxlength , 0 , 1 , 0 , 1 , 0 , 0 , '' , 1 );
$morehtmlref .= '<input type="submit" class="button valignmiddle" value="' . $langs -> trans ( " Modify " ) . '">' ;
$morehtmlref .= '</form>' ;
} else {
$morehtmlref .= $form -> form_project ( $_SERVER [ 'PHP_SELF' ] . '?id=' . $fichinter -> id , $fichinter -> socid , $fichinter -> fk_project , 'none' , 0 , 0 , 0 , 1 );
}
} else {
if ( ! empty ( $fichinter -> fk_project )) {
$proj = new Project ( $db );
$proj -> fetch ( $fichinter -> fk_project );
$morehtmlref .= '<a href="' . DOL_URL_ROOT . '/projet/card.php?id=' . $fichinter -> fk_project . '" title="' . $langs -> trans ( 'ShowProject' ) . '">' ;
$morehtmlref .= $proj -> ref ;
$morehtmlref .= '</a>' ;
} else {
$morehtmlref .= '' ;
}
}
}
$morehtmlref .= '</div>' ;
2017-09-15 23:49:04 +02:00
2016-12-23 13:04:46 +01:00
dol_banner_tab ( $fichinter , 'ref' , $linkback , 1 , 'ref' , 'ref' , $morehtmlref , '&element=' . $element , 0 , '' , '' , 1 );
2017-09-15 23:49:04 +02:00
2016-02-01 16:15:30 +01:00
dol_fiche_end ();
}
}
2016-02-01 15:40:16 +01:00
// hook for other elements linked
2016-12-23 13:04:46 +01:00
$parameters = array ( 'element' => $element , 'element_id' => $element_id , 'element_ref' => $element_ref );
2016-02-01 15:40:16 +01:00
$reshook = $hookmanager -> executeHooks ( 'printElementTab' , $parameters , $object , $action ); // Note that $action and $object may have been modified by some hooks
if ( $reshook < 0 ) setEventMessages ( $hookmanager -> error , $hookmanager -> errors , 'errors' );
2014-01-02 07:07:43 +01:00
2016-12-09 15:59:31 +01:00
//print load_fiche_titre($langs->trans('ResourcesLinkedToElement'),'','');
print '<br>' ;
2016-06-07 13:15:38 +02:00
// Show list of resource links
2014-01-02 07:07:43 +01:00
2016-12-09 15:59:31 +01:00
foreach ( $object -> available_resources as $modresources => $resources )
{
$resources = ( array ) $resources ; // To be sure $resources is an array
foreach ( $resources as $resource_obj )
{
$element_prop = getElementProperties ( $resource_obj );
2017-09-15 23:49:04 +02:00
//print '/'.$modresources.'/class/'.$resource_obj.'.class.php<br>';
2016-12-09 15:59:31 +01:00
$path = '' ;
if ( strpos ( $resource_obj , '@' ))
$path .= '/' . $element_prop [ 'module' ];
$linked_resources = $object -> getElementResources ( $element , $element_id , $resource_obj );
// If we have a specific template we use it
if ( file_exists ( dol_buildpath ( $path . '/core/tpl/resource_' . $element_prop [ 'element' ] . '_add.tpl.php' )))
{
$res = include dol_buildpath ( $path . '/core/tpl/resource_' . $element_prop [ 'element' ] . '_add.tpl.php' );
}
else
{
$res = include DOL_DOCUMENT_ROOT . '/core/tpl/resource_add.tpl.php' ;
}
if ( $mode != 'add' || $resource_obj != $resource_type )
{
//print load_fiche_titre($langs->trans(ucfirst($element_prop['element']).'Singular'));
// If we have a specific template we use it
if ( file_exists ( dol_buildpath ( $path . '/core/tpl/resource_' . $element_prop [ 'element' ] . '_view.tpl.php' )))
{
$res =@ include dol_buildpath ( $path . '/core/tpl/resource_' . $element_prop [ 'element' ] . '_view.tpl.php' );
}
else
{
$res = include DOL_DOCUMENT_ROOT . '/core/tpl/resource_view.tpl.php' ;
}
}
}
}
2014-01-02 07:07:43 +01:00
}
llxFooter ();
$db -> close ();