2010-05-03 10:22:35 +02:00
< ? php
2012-01-27 15:17:36 +01:00
/* Copyright ( c ) 2008 - 2012 Laurent Destailleur < eldy @ users . sourceforge . net >
2018-10-27 14:43:12 +02:00
* Copyright ( C ) 2010 - 2012 Regis Houssin < regis . houssin @ inodbox . com >
2018-02-22 10:16:53 +01:00
* Copyright ( C ) 2010 - 2018 Juanjo Menent < jmenent @ 2 byte . es >
2010-05-03 10:22:35 +02: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
2013-01-16 15:36:08 +01:00
* the Free Software Foundation ; either version 3 of the License , or
2010-05-03 10:22:35 +02:00
* ( 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
2019-09-23 21:55:30 +02:00
* along with this program . If not , see < https :// www . gnu . org / licenses />.
2010-05-03 10:22:35 +02:00
*/
/**
2010-11-22 10:18:53 +01:00
* \file htdocs / core / class / html . formactions . class . php
* \ingroup core
2021-02-19 22:00:44 +01:00
* \brief File of class with predefined functions and HTML components
2010-11-22 10:18:53 +01:00
*/
2010-05-03 10:22:35 +02:00
/**
2012-01-27 15:17:36 +01:00
* Class to manage building of HTML components
2010-11-22 10:18:53 +01:00
*/
2010-05-03 10:22:35 +02:00
class FormActions
{
2020-09-07 10:18:17 +02:00
/**
* @ var DoliDB Database handler .
*/
public $db ;
2018-09-02 23:01:14 +02:00
2020-09-07 10:18:17 +02:00
/**
2018-08-22 10:37:16 +02:00
* @ var string Error code ( or message )
*/
2019-11-13 19:35:39 +01:00
public $error = '' ;
2010-11-22 10:18:53 +01:00
2020-09-07 10:18:17 +02:00
/**
2011-09-11 20:35:38 +02:00
* Constructor
*
2020-09-07 10:18:17 +02:00
* @ param DoliDB $db Database handler
*/
public function __construct ( $db )
{
$this -> db = $db ;
}
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
/**
* Show list of action status
*
* @ param string $formname Name of form where select is included
* @ param string $selected Preselected value ( - 1. . 100 )
* @ param int $canedit 1 = can edit , 0 = read only
* @ param string $htmlname Name of html prefix for html fields ( selectX and valX )
* @ param integer $showempty Show an empty line if select is used
* @ param integer $onlyselect 0 = Standard , 1 = Hide percent of completion and force usage of a select list , 2 = Same than 1 and add " Incomplete (Todo+Running)
* @ param string $morecss More css on select field
* @ return void
*/
public function form_select_status_action ( $formname , $selected , $canedit = 1 , $htmlname = 'complete' , $showempty = 0 , $onlyselect = 0 , $morecss = 'maxwidth100' )
{
// phpcs:enable
global $langs , $conf ;
$listofstatus = array (
2021-01-28 19:38:47 +01:00
'na' => $langs -> trans ( " ActionNotApplicable " ),
2020-09-07 10:18:17 +02:00
'0' => $langs -> trans ( " ActionsToDoShort " ),
'50' => $langs -> trans ( " ActionRunningShort " ),
'100' => $langs -> trans ( " ActionDoneShort " )
);
2014-06-26 20:24:00 +02:00
// +ActionUncomplete
2010-11-22 10:18:53 +01:00
2021-02-23 22:03:23 +01:00
if ( ! empty ( $conf -> use_javascript_ajax )) {
2020-09-07 10:18:17 +02:00
print " \n " ;
print " <script type= \" text/javascript \" >
2012-08-20 02:42:56 +02:00
var htmlname = '".$htmlname."' ;
2012-08-20 09:40:59 +02:00
$ ( document ) . ready ( function () {
select_status ();
$ ( '#select' + htmlname ) . change ( function () {
2012-08-20 02:42:56 +02:00
select_status ();
});
2012-08-20 09:40:59 +02:00
// FIXME use another method for update combobox
//$('#val' + htmlname).change(function() {
//select_status();
//});
2012-08-20 02:42:56 +02:00
});
function select_status () {
2012-08-20 10:38:48 +02:00
var defaultvalue = $ ( '#select' + htmlname ) . val ();
2012-08-20 09:40:59 +02:00
var percentage = $ ( 'input[name=percentage]' );
2021-07-26 00:37:47 +02:00
var selected = '".(isset($selected) ? dol_escape_js($selected) : ' ')."' ;
2012-08-20 10:38:48 +02:00
var value = ( selected > 0 ? selected : ( defaultvalue >= 0 ? defaultvalue : '' ));
percentage . val ( value );
if ( defaultvalue == - 1 ) {
2015-05-12 14:47:33 +02:00
percentage . prop ( 'disabled' , true );
2012-08-20 09:40:59 +02:00
$ ( '.hideifna' ) . hide ();
2012-08-20 02:42:56 +02:00
}
2012-08-20 10:38:48 +02:00
else if ( defaultvalue == 0 ) {
2012-09-02 14:11:07 +02:00
percentage . val ( 0 );
2016-10-30 12:39:51 +01:00
percentage . removeAttr ( 'disabled' ); /* Not disabled, we want to change it to higher value */
2012-08-20 09:40:59 +02:00
$ ( '.hideifna' ) . show ();
2012-08-20 02:42:56 +02:00
}
2012-08-20 10:38:48 +02:00
else if ( defaultvalue == 100 ) {
2012-09-02 14:11:07 +02:00
percentage . val ( 100 );
2015-05-12 14:47:33 +02:00
percentage . prop ( 'disabled' , true );
2012-08-20 09:40:59 +02:00
$ ( '.hideifna' ) . show ();
2012-08-20 02:42:56 +02:00
}
else {
2012-09-02 14:11:07 +02:00
if ( defaultvalue == 50 && ( percentage . val () == 0 || percentage . val () == 100 )) { percentage . val ( 50 ) };
percentage . removeAttr ( 'disabled' );
2012-08-20 09:40:59 +02:00
$ ( '.hideifna' ) . show ();
2012-08-20 02:42:56 +02:00
}
}
</ script > \n " ;
2020-09-07 10:18:17 +02:00
}
2021-02-23 22:03:23 +01:00
if ( ! empty ( $conf -> use_javascript_ajax ) || $onlyselect ) {
2020-09-07 10:18:17 +02:00
//var_dump($selected);
2021-02-23 22:03:23 +01:00
if ( $selected == 'done' ) {
$selected = '100' ;
}
2020-09-07 10:18:17 +02:00
print '<select ' . ( $canedit ? '' : 'disabled ' ) . 'name="' . $htmlname . '" id="select' . $htmlname . '" class="flat' . ( $morecss ? ' ' . $morecss : '' ) . '">' ;
2021-02-23 22:03:23 +01:00
if ( $showempty ) {
print '<option value=""' . ( $selected == '' ? ' selected' : '' ) . '> </option>' ;
}
foreach ( $listofstatus as $key => $val ) {
2020-09-07 10:18:17 +02:00
print '<option value="' . $key . '"' . (( $selected == $key && strlen ( $selected ) == strlen ( $key )) || (( $selected > 0 && $selected < 100 ) && $key == '50' ) ? ' selected' : '' ) . '>' . $val . '</option>' ;
2021-02-23 22:03:23 +01:00
if ( $key == '50' && $onlyselect == 2 ) {
2020-09-07 10:18:17 +02:00
print '<option value="todo"' . ( $selected == 'todo' ? ' selected' : '' ) . '>' . $langs -> trans ( " ActionUncomplete " ) . ' (' . $langs -> trans ( " ActionsToDoShort " ) . " + " . $langs -> trans ( " ActionRunningShort " ) . ')</option>' ;
}
}
print '</select>' ;
2021-02-23 22:03:23 +01:00
if ( $selected == 0 || $selected == 100 ) {
$canedit = 0 ;
}
2020-09-07 10:18:17 +02:00
2021-02-04 19:21:07 +01:00
print ajax_combobox ( 'select' . $htmlname );
2021-02-23 22:03:23 +01:00
if ( empty ( $onlyselect )) {
2020-09-07 10:18:17 +02:00
print ' <input type="text" id="val' . $htmlname . '" name="percentage" class="flat hideifna" value="' . ( $selected >= 0 ? $selected : '' ) . '" size="2"' . ( $canedit && ( $selected >= 0 ) ? '' : ' disabled' ) . '>' ;
print '<span class="hideonsmartphone hideifna">%</span>' ;
2018-02-22 10:16:53 +01:00
}
2020-09-07 10:18:17 +02:00
} else {
print ' <input type="text" id="val' . $htmlname . '" name="percentage" class="flat" value="' . ( $selected >= 0 ? $selected : '' ) . '" size="2"' . ( $canedit ? '' : ' disabled' ) . '>%' ;
}
}
2017-09-23 12:59:49 +02:00
2020-05-07 22:52:32 +02:00
2020-09-07 10:18:17 +02:00
/**
* Show list of actions for element
*
* @ param Object $object Object
* @ param string $typeelement 'invoice' , 'propal' , 'order' , 'invoice_supplier' , 'order_supplier' , 'fichinter'
* @ param int $socid Socid of user
* @ param int $forceshowtitle Show title even if there is no actions to show
* @ param string $morecss More css on table
* @ param int $max Max number of record
* @ param string $moreparambacktopage More param for the backtopage
* @ param string $morehtmlcenter More html text on center of title line
* @ return int < 0 if KO , >= 0 if OK
*/
public function showactions ( $object , $typeelement , $socid = 0 , $forceshowtitle = 0 , $morecss = 'listactions' , $max = 0 , $moreparambacktopage = '' , $morehtmlcenter = '' )
{
global $langs , $conf , $user ;
2011-07-07 23:56:20 +02:00
2020-09-07 10:18:17 +02:00
require_once DOL_DOCUMENT_ROOT . '/comm/action/class/actioncomm.class.php' ;
2017-06-10 13:54:43 +02:00
2020-09-07 10:18:17 +02:00
$sortfield = 'a.datep,a.id' ;
$sortorder = 'DESC,DESC' ;
2011-06-20 12:40:25 +02:00
2021-09-27 15:41:58 +02:00
$actioncomm = new ActionComm ( $this -> db );
$listofactions = $actioncomm -> getActions ( $socid , $object -> id , $typeelement , '' , $sortfield , $sortorder , ( $max ? ( $max + 1 ) : 0 ));
2021-02-23 22:03:23 +01:00
if ( ! is_array ( $listofactions )) {
dol_print_error ( $this -> db , 'FailedToGetActions' );
}
2019-06-13 22:48:31 +02:00
2021-03-17 11:34:19 +01:00
require_once DOL_DOCUMENT_ROOT . '/comm/action/class/cactioncomm.class.php' ;
$caction = new CActionComm ( $this -> db );
$arraylist = $caction -> liste_array ( 1 , 'code' , '' , ( empty ( $conf -> global -> AGENDA_USE_EVENT_TYPE ) ? 1 : 0 ), '' , 1 );
2020-09-07 10:18:17 +02:00
$num = count ( $listofactions );
2021-02-23 22:03:23 +01:00
if ( $num || $forceshowtitle ) {
if ( $typeelement == 'invoice' ) {
$title = $langs -> trans ( 'ActionsOnBill' );
} elseif ( $typeelement == 'invoice_supplier' || $typeelement == 'supplier_invoice' ) {
$title = $langs -> trans ( 'ActionsOnBill' );
} elseif ( $typeelement == 'propal' ) {
$title = $langs -> trans ( 'ActionsOnPropal' );
} elseif ( $typeelement == 'supplier_proposal' ) {
$title = $langs -> trans ( 'ActionsOnSupplierProposal' );
} elseif ( $typeelement == 'order' ) {
$title = $langs -> trans ( 'ActionsOnOrder' );
} elseif ( $typeelement == 'order_supplier' || $typeelement == 'supplier_order' ) {
$title = $langs -> trans ( 'ActionsOnOrder' );
} elseif ( $typeelement == 'shipping' ) {
$title = $langs -> trans ( 'ActionsOnShipping' );
} elseif ( $typeelement == 'fichinter' ) {
$title = $langs -> trans ( 'ActionsOnFicheInter' );
} elseif ( $typeelement == 'project' ) {
$title = $langs -> trans ( 'LatestLinkedEvents' , $max ? $max : '' );
} elseif ( $typeelement == 'task' ) {
$title = $langs -> trans ( 'LatestLinkedEvents' , $max ? $max : '' );
} elseif ( $typeelement == 'member' ) {
$title = $langs -> trans ( 'LatestLinkedEvents' , $max ? $max : '' );
} else {
$title = $langs -> trans ( " LatestLinkedEvents " , $max ? $max : '' );
}
2020-09-07 10:18:17 +02:00
$urlbacktopage = $_SERVER [ 'PHP_SELF' ] . '?id=' . $object -> id . ( $moreparambacktopage ? '&' . $moreparambacktopage : '' );
$projectid = $object -> fk_project ;
2021-02-23 22:03:23 +01:00
if ( $typeelement == 'project' ) {
$projectid = $object -> id ;
}
2021-09-23 12:05:55 +02:00
$taskid = 0 ;
2021-09-19 00:50:23 +02:00
if ( $typeelement == 'task' ) {
$taskid = $object -> id ;
}
2020-09-07 10:18:17 +02:00
$newcardbutton = '' ;
2021-02-23 22:03:23 +01:00
if ( ! empty ( $conf -> agenda -> enabled ) && ! empty ( $user -> rights -> agenda -> myactions -> create )) {
2021-09-23 12:05:55 +02:00
$url = DOL_URL_ROOT . '/comm/action/card.php?action=create&token=' . newToken () . '&datep=' . urlencode ( dol_print_date ( dol_now (), 'dayhourlog' , 'tzuser' )) . '&origin=' . urlencode ( $typeelement ) . '&originid=' . (( int ) $object -> id ) . (( ! empty ( $object -> socid ) && $object -> socid > 0 ) ? '&socid=' . (( int ) $object -> socid ) : (( ! empty ( $socid ) && $socid > 0 ) ? '&socid=' . (( int ) $socid ) : '' )) . ( $projectid > 0 ? '&projectid=' . (( int ) $projectid ) : '' ) . ( $taskid > 0 ? '&taskid=' . (( int ) $taskid ) : '' ) . '&backtopage=' . urlencode ( $urlbacktopage );
2021-02-23 22:03:23 +01:00
$newcardbutton .= dolGetButtonTitle ( $langs -> trans ( " AddEvent " ), '' , 'fa fa-plus-circle' , $url );
2020-09-07 10:18:17 +02:00
}
print '<!-- formactions->showactions -->' . " \n " ;
print load_fiche_titre ( $title , $newcardbutton , '' , 0 , 0 , '' , $morehtmlcenter );
2021-03-01 20:37:16 +01:00
$page = 0 ;
$param = '' ;
2020-09-07 10:18:17 +02:00
print '<div class="div-table-responsive-no-min">' ;
print '<table class="centpercent noborder' . ( $morecss ? ' ' . $morecss : '' ) . '">' ;
print '<tr class="liste_titre">' ;
print getTitleFieldOfList ( 'Ref' , 0 , $_SERVER [ " PHP_SELF " ], '' , $page , $param , '' , $sortfield , $sortorder , '' , 1 );
print getTitleFieldOfList ( 'By' , 0 , $_SERVER [ " PHP_SELF " ], '' , $page , $param , '' , $sortfield , $sortorder , '' , 1 );
print getTitleFieldOfList ( 'Type' , 0 , $_SERVER [ " PHP_SELF " ], '' , $page , $param , '' , $sortfield , $sortorder , '' , 1 );
print getTitleFieldOfList ( 'Title' , 0 , $_SERVER [ " PHP_SELF " ], '' , $page , $param , '' , $sortfield , $sortorder , '' , 1 );
print getTitleFieldOfList ( 'Date' , 0 , $_SERVER [ " PHP_SELF " ], 'a.datep' , $page , $param , '' , $sortfield , $sortorder , 'center ' , 1 );
print getTitleFieldOfList ( '' , 0 , $_SERVER [ " PHP_SELF " ], '' , $page , $param , '' , $sortfield , $sortorder , 'right ' , 1 );
print '</tr>' ;
print " \n " ;
2021-02-23 22:03:23 +01:00
if ( is_array ( $listofactions ) && count ( $listofactions )) {
2020-09-07 10:18:17 +02:00
$cacheusers = array ();
2017-09-23 12:59:49 +02:00
2020-09-07 10:18:17 +02:00
$cursorevent = 0 ;
2021-02-23 22:03:23 +01:00
foreach ( $listofactions as $actioncomm ) {
if ( $max && $cursorevent >= $max ) {
break ;
}
2017-09-23 12:59:49 +02:00
2020-09-07 10:18:17 +02:00
$ref = $actioncomm -> getNomUrl ( 1 , - 1 );
2020-11-22 13:23:56 +01:00
$label = $actioncomm -> getNomUrl ( 0 , 36 );
2020-09-07 10:18:17 +02:00
print '<tr class="oddeven">' ;
2020-11-22 13:23:56 +01:00
2020-09-07 10:18:17 +02:00
// Ref
2018-12-23 00:24:10 +01:00
print '<td class="nowraponall">' . $ref . '</td>' ;
2020-11-22 13:23:56 +01:00
2017-11-25 16:21:44 +01:00
// Onwer
2020-11-22 13:23:56 +01:00
print '<td class="nowraponall tdoverflowmax125">' ;
2021-02-23 22:03:23 +01:00
if ( ! empty ( $actioncomm -> userownerid )) {
if ( isset ( $cacheusers [ $actioncomm -> userownerid ]) && is_object ( $cacheusers [ $actioncomm -> userownerid ])) {
2020-09-07 10:18:17 +02:00
$tmpuser = $cacheusers [ $actioncomm -> userownerid ];
} else {
$tmpuser = new User ( $this -> db );
$tmpuser -> fetch ( $actioncomm -> userownerid );
$cacheusers [ $actioncomm -> userownerid ] = $tmpuser ;
}
2021-02-23 22:03:23 +01:00
if ( $tmpuser -> id > 0 ) {
2020-09-07 10:18:17 +02:00
print $tmpuser -> getNomUrl ( - 1 , '' , 0 , 0 , 16 , 0 , 'firstelselast' , '' );
}
}
print '</td>' ;
2020-05-07 22:52:32 +02:00
2021-03-17 11:34:19 +01:00
$actionstatic = $actioncomm ;
2017-11-25 16:21:44 +01:00
// Type
2021-03-17 11:34:19 +01:00
$labeltype = $actionstatic -> type_code ;
if ( empty ( $conf -> global -> AGENDA_USE_EVENT_TYPE ) && empty ( $arraylist [ $labeltype ])) {
$labeltype = 'AC_OTH' ;
}
if ( $actionstatic -> type_code == 'AC_OTH' && $actionstatic -> code == 'TICKET_MSG' ) {
$labeltype = $langs -> trans ( " Message " );
2020-05-07 22:52:32 +02:00
} else {
2021-03-17 11:34:19 +01:00
if ( ! empty ( $arraylist [ $labeltype ])) {
$labeltype = $arraylist [ $labeltype ];
}
if ( $actionstatic -> type_code == 'AC_OTH_AUTO' && ( $actionstatic -> type_code != $actionstatic -> code ) && $labeltype && ! empty ( $arraylist [ $actionstatic -> code ])) {
$labeltype .= ' - ' . $arraylist [ $actionstatic -> code ]; // Use code in priority on type_code
}
2020-05-07 22:52:32 +02:00
}
2021-03-17 11:34:19 +01:00
print '<td class="tdoverflowmax100" title="' . $labeltype . '">' ;
print $actioncomm -> getTypePicto ();
print $labeltype ;
2020-09-07 10:18:17 +02:00
print '</td>' ;
2020-11-22 13:23:56 +01:00
2020-09-07 10:18:17 +02:00
// Label
print '<td>' . $label . '</td>' ;
2020-11-22 13:23:56 +01:00
2020-09-07 10:18:17 +02:00
// Date
2021-05-18 17:24:17 +02:00
print '<td class="center nowraponall">' . dol_print_date ( $actioncomm -> datep , 'dayhour' , 'tzuserrel' );
2021-02-23 22:03:23 +01:00
if ( $actioncomm -> datef ) {
2020-09-07 10:18:17 +02:00
$tmpa = dol_getdate ( $actioncomm -> datep );
$tmpb = dol_getdate ( $actioncomm -> datef );
2021-02-23 22:03:23 +01:00
if ( $tmpa [ 'mday' ] == $tmpb [ 'mday' ] && $tmpa [ 'mon' ] == $tmpb [ 'mon' ] && $tmpa [ 'year' ] == $tmpb [ 'year' ]) {
2021-10-18 14:31:37 +02:00
if ( $tmpa [ 'hours' ] != $tmpb [ 'hours' ] || $tmpa [ 'minutes' ] != $tmpb [ 'minutes' ]) {
2021-02-23 22:03:23 +01:00
print '-' . dol_print_date ( $actioncomm -> datef , 'hour' , 'tzuserrel' );
}
} else {
print '-' . dol_print_date ( $actioncomm -> datef , 'dayhour' , 'tzuserrel' );
}
2020-09-07 10:18:17 +02:00
}
print '</td>' ;
print '<td class="right">' ;
print $actioncomm -> getLibStatut ( 3 );
print '</td>' ;
print '</tr>' ;
$cursorevent ++ ;
}
} else {
print '<tr class="oddeven"><td colspan="6" class="opacitymedium">' . $langs -> trans ( " None " ) . '</td></tr>' ;
}
2021-02-23 22:03:23 +01:00
if ( $max && $num > $max ) {
2020-09-07 10:18:17 +02:00
print '<tr class="oddeven"><td colspan="6" class="opacitymedium">' . $langs -> trans ( " More " ) . '...</td></tr>' ;
}
print '</table>' ;
print '</div>' ;
}
return $num ;
}
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
/**
* Output html select list of type of event
*
* @ param array | string $selected Type pre - selected ( can be 'manual' , 'auto' or 'AC_xxx' ) . Can be an array too .
* @ param string $htmlname Name of select field
* @ param string $excludetype A type to exclude ( 'systemauto' , 'system' , '' )
2022-01-17 22:52:56 +01:00
* @ param integer $onlyautoornot 1 = Group all type AC_XXX into 1 line AC_MANUAL . 0 = Keep details of type , - 1 = Keep details and add a combined line " All manual " , - 2 = Combined line is disabled ( not implemented yet )
2020-09-07 10:18:17 +02:00
* @ param int $hideinfohelp 1 = Do not show info help , 0 = Show , - 1 = Show + Add info to tell how to set default value
* @ param int $multiselect 1 = Allow multiselect of action type
* @ param int $nooutput 1 = No output
* @ param string $morecss More css to add to SELECT component .
* @ return string
*/
2022-02-02 17:57:20 +01:00
public function select_type_actions ( $selected = '' , $htmlname = 'actioncode' , $excludetype = '' , $onlyautoornot = 0 , $hideinfohelp = 0 , $multiselect = 0 , $nooutput = 0 , $morecss = 'minwidth300' )
2020-09-07 10:18:17 +02:00
{
// phpcs:enable
global $langs , $user , $form , $conf ;
2021-02-23 22:03:23 +01:00
if ( ! is_object ( $form )) {
$form = new Form ( $this -> db );
}
2020-09-07 10:18:17 +02:00
require_once DOL_DOCUMENT_ROOT . '/comm/action/class/cactioncomm.class.php' ;
require_once DOL_DOCUMENT_ROOT . '/core/class/html.form.class.php' ;
$caction = new CActionComm ( $this -> db );
// Suggest a list with manual events or all auto events
2022-01-17 22:52:56 +01:00
$arraylist = $caction -> liste_array ( 1 , 'code' , $excludetype , $onlyautoornot , '' , 0 ); // If we use param 'all' instead of 'code', there is no group by include in answer but the key 'type' of answer array contains the key for the group by.
2020-09-07 10:18:17 +02:00
if ( empty ( $multiselect )) {
// Add empty line at start only if no multiselect
array_unshift ( $arraylist , ' ' );
}
//asort($arraylist);
2021-02-23 22:03:23 +01:00
if ( $selected == 'manual' ) {
$selected = 'AC_OTH' ;
}
if ( $selected == 'auto' ) {
$selected = 'AC_OTH_AUTO' ;
}
2020-09-07 10:18:17 +02:00
2021-02-23 22:03:23 +01:00
if ( ! empty ( $conf -> global -> AGENDA_ALWAYS_HIDE_AUTO )) {
unset ( $arraylist [ 'AC_OTH_AUTO' ]);
}
2020-09-07 10:18:17 +02:00
2021-02-23 22:03:23 +01:00
$out = '' ;
2017-06-10 13:54:43 +02:00
2021-02-23 22:03:23 +01:00
if ( ! empty ( $multiselect )) {
if ( ! is_array ( $selected ) && ! empty ( $selected )) {
$selected = explode ( ',' , $selected );
}
2019-11-13 19:35:39 +01:00
$out .= $form -> multiselectarray ( $htmlname , $arraylist , $selected , 0 , 0 , 'centpercent' , 0 , 0 );
2020-05-21 15:05:19 +02:00
} else {
2022-02-02 17:57:20 +01:00
$out .= $form -> selectarray ( $htmlname , $arraylist , $selected , 0 , 0 , 0 , '' , 0 , 0 , 0 , '' , $morecss , 1 );
2015-11-09 17:18:23 +01:00
}
2017-06-10 13:54:43 +02:00
2021-02-23 22:03:23 +01:00
if ( $user -> admin && empty ( $onlyautoornot ) && $hideinfohelp <= 0 ) {
2020-09-07 10:18:17 +02:00
$out .= info_admin ( $langs -> trans ( " YouCanChangeValuesForThisListFromDictionarySetup " ) . ( $hideinfohelp == - 1 ? " . " . $langs -> trans ( " YouCanSetDefaultValueInModuleSetup " ) : '' ), 1 );
}
2017-06-10 13:54:43 +02:00
2021-02-23 22:03:23 +01:00
if ( $nooutput ) {
return $out ;
} else {
print $out ;
}
2020-09-07 10:18:17 +02:00
return '' ;
}
2010-05-03 10:22:35 +02:00
}