2019-03-04 19:19:20 +01:00
< ? php
/* Copyright ( C ) 2013 - 2018 Jean - François FERRY < hello @ librethic . io >
* Copyright ( C ) 2016 Christophe Battarel < christophe @ altairis . fr >
*
* 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
2019-09-23 21:55:30 +02:00
* along with this program . If not , see < https :// www . gnu . org / licenses />.
2019-03-04 19:19:20 +01:00
*/
/**
* \file admin / ticket_public . php
* \ingroup ticket
* \brief Page to public interface of module Ticket
*/
2022-09-07 20:08:59 +02:00
// Load Dolibarr environment
2019-03-04 19:19:20 +01:00
require '../main.inc.php' ;
require_once DOL_DOCUMENT_ROOT . " /core/lib/admin.lib.php " ;
require_once DOL_DOCUMENT_ROOT . " /ticket/class/ticket.class.php " ;
require_once DOL_DOCUMENT_ROOT . " /core/lib/ticket.lib.php " ;
// Load translation files required by the page
$langs -> loadLangs ( array ( " admin " , " ticket " ));
// Access control
if ( ! $user -> admin ) {
2020-10-31 14:32:18 +01:00
accessforbidden ();
2019-03-04 19:19:20 +01:00
}
// Parameters
$value = GETPOST ( 'value' , 'alpha' );
2020-09-16 19:39:50 +02:00
$action = GETPOST ( 'action' , 'aZ09' );
2019-03-04 19:19:20 +01:00
$label = GETPOST ( 'label' , 'alpha' );
$scandir = GETPOST ( 'scandir' , 'alpha' );
$type = 'ticket' ;
2019-10-04 14:04:31 +02:00
/*
* Actions
*/
2022-05-12 16:52:02 +02:00
$error = 0 ;
$errors = array ();
2019-10-04 14:04:31 +02:00
2021-02-26 22:04:03 +01:00
if ( $action == 'setTICKET_ENABLE_PUBLIC_INTERFACE' ) {
if ( GETPOST ( 'value' )) {
2022-05-12 16:52:02 +02:00
$res = dolibarr_set_const ( $db , 'TICKET_ENABLE_PUBLIC_INTERFACE' , 1 , 'chaine' , 0 , '' , $conf -> entity );
2021-02-26 22:04:03 +01:00
} else {
2022-05-12 16:52:02 +02:00
$res = dolibarr_set_const ( $db , 'TICKET_ENABLE_PUBLIC_INTERFACE' , 0 , 'chaine' , 0 , '' , $conf -> entity );
2021-02-26 22:04:03 +01:00
}
2022-05-12 16:52:02 +02:00
if ( ! ( $res > 0 )) {
$error ++ ;
$errors [] = $db -> lasterror ();
}
} elseif ( $action == 'setvar' ) {
2020-10-31 14:32:18 +01:00
include_once DOL_DOCUMENT_ROOT . " /core/lib/files.lib.php " ;
2021-03-24 12:51:14 +01:00
if ( GETPOSTISSET ( 'TICKET_ENABLE_PUBLIC_INTERFACE' )) { // only for no js case
$param_enable_public_interface = GETPOST ( 'TICKET_ENABLE_PUBLIC_INTERFACE' , 'alpha' );
$res = dolibarr_set_const ( $db , 'TICKET_ENABLE_PUBLIC_INTERFACE' , $param_enable_public_interface , 'chaine' , 0 , '' , $conf -> entity );
if ( ! ( $res > 0 )) {
$error ++ ;
2022-05-12 16:52:02 +02:00
$errors [] = $db -> lasterror ();
2021-03-24 12:51:14 +01:00
}
}
if ( GETPOSTISSET ( 'TICKET_DISABLE_CUSTOMER_MAILS' )) { // only for no js case
$param_disable_email = GETPOST ( 'TICKET_DISABLE_CUSTOMER_MAILS' , 'alpha' );
$res = dolibarr_set_const ( $db , 'TICKET_DISABLE_CUSTOMER_MAILS' , $param_disable_email , 'chaine' , 0 , '' , $conf -> entity );
if ( ! ( $res > 0 )) {
$error ++ ;
2022-05-12 16:52:02 +02:00
$errors [] = $db -> lasterror ();
2021-03-24 12:51:14 +01:00
}
}
if ( GETPOSTISSET ( 'TICKET_SHOW_COMPANY_LOGO' )) { // only for no js case
$param_show_module_logo = GETPOST ( 'TICKET_SHOW_COMPANY_LOGO' , 'alpha' );
$res = dolibarr_set_const ( $db , 'TICKET_SHOW_COMPANY_LOGO' , $param_show_module_logo , 'chaine' , 0 , '' , $conf -> entity );
if ( ! ( $res > 0 )) {
$error ++ ;
2022-05-12 16:52:02 +02:00
$errors [] = $db -> lasterror ();
2021-03-24 12:51:14 +01:00
}
}
2022-06-13 10:44:20 +02:00
$topic_interface = GETPOST ( 'TICKET_PUBLIC_INTERFACE_TOPIC' , 'alphanohtml' );
2020-10-31 14:32:18 +01:00
if ( ! empty ( $topic_interface )) {
$res = dolibarr_set_const ( $db , 'TICKET_PUBLIC_INTERFACE_TOPIC' , $topic_interface , 'chaine' , 0 , '' , $conf -> entity );
} else {
$res = dolibarr_set_const ( $db , 'TICKET_PUBLIC_INTERFACE_TOPIC' , '' , 'chaine' , 0 , '' , $conf -> entity );
}
2021-01-23 17:49:08 +01:00
if ( ! ( $res > 0 )) {
2020-10-31 14:32:18 +01:00
$error ++ ;
2022-05-12 16:52:02 +02:00
$errors [] = $db -> lasterror ();
2020-10-31 14:32:18 +01:00
}
$text_home = GETPOST ( 'TICKET_PUBLIC_TEXT_HOME' , 'restricthtml' );
2022-09-01 10:54:20 +02:00
if ( GETPOSTISSET ( 'TICKET_PUBLIC_TEXT_HOME' )) {
2020-10-31 14:32:18 +01:00
$res = dolibarr_set_const ( $db , 'TICKET_PUBLIC_TEXT_HOME' , $text_home , 'chaine' , 0 , '' , $conf -> entity );
} else {
$res = dolibarr_set_const ( $db , 'TICKET_PUBLIC_TEXT_HOME' , $langs -> trans ( 'TicketPublicInterfaceTextHome' ), 'chaine' , 0 , '' , $conf -> entity );
}
2021-01-23 17:49:08 +01:00
if ( ! ( $res > 0 )) {
2020-10-31 14:32:18 +01:00
$error ++ ;
2022-05-12 16:52:02 +02:00
$errors [] = $db -> lasterror ();
2020-10-31 14:32:18 +01:00
}
$text_help = GETPOST ( 'TICKET_PUBLIC_TEXT_HELP_MESSAGE' , 'restricthtml' );
if ( ! empty ( $text_help )) {
$res = dolibarr_set_const ( $db , 'TICKET_PUBLIC_TEXT_HELP_MESSAGE' , $text_help , 'chaine' , 0 , '' , $conf -> entity );
} else {
$res = dolibarr_set_const ( $db , 'TICKET_PUBLIC_TEXT_HELP_MESSAGE' , $langs -> trans ( 'TicketPublicPleaseBeAccuratelyDescribe' ), 'chaine' , 0 , '' , $conf -> entity );
}
2021-01-23 17:49:08 +01:00
if ( ! ( $res > 0 )) {
2020-10-31 14:32:18 +01:00
$error ++ ;
2022-05-12 16:52:02 +02:00
$errors [] = $db -> lasterror ();
2020-10-31 14:32:18 +01:00
}
$mail_new_ticket = GETPOST ( 'TICKET_MESSAGE_MAIL_NEW' , 'restricthtml' );
if ( ! empty ( $mail_new_ticket )) {
$res = dolibarr_set_const ( $db , 'TICKET_MESSAGE_MAIL_NEW' , $mail_new_ticket , 'chaine' , 0 , '' , $conf -> entity );
} else {
$res = dolibarr_set_const ( $db , 'TICKET_MESSAGE_MAIL_NEW' , $langs -> trans ( 'TicketMessageMailNewText' ), 'chaine' , 0 , '' , $conf -> entity );
}
2021-01-23 17:49:08 +01:00
if ( ! ( $res > 0 )) {
2020-10-31 14:32:18 +01:00
$error ++ ;
2022-05-12 16:52:02 +02:00
$errors [] = $db -> lasterror ();
2020-10-31 14:32:18 +01:00
}
$url_interface = GETPOST ( 'TICKET_URL_PUBLIC_INTERFACE' , 'alpha' );
if ( ! empty ( $url_interface )) {
$res = dolibarr_set_const ( $db , 'TICKET_URL_PUBLIC_INTERFACE' , $url_interface , 'chaine' , 0 , '' , $conf -> entity );
} else {
$res = dolibarr_set_const ( $db , 'TICKET_URL_PUBLIC_INTERFACE' , '' , 'chaine' , 0 , '' , $conf -> entity );
}
2021-01-23 17:49:08 +01:00
if ( ! ( $res > 0 )) {
2020-10-31 14:32:18 +01:00
$error ++ ;
2022-05-12 16:52:02 +02:00
$errors [] = $db -> lasterror ();
2020-10-31 14:32:18 +01:00
}
2020-05-27 11:39:06 +02:00
$param_public_notification_new_message_default_email = GETPOST ( 'TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_DEFAULT_EMAIL' , 'alpha' );
$res = dolibarr_set_const ( $db , 'TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_DEFAULT_EMAIL' , $param_public_notification_new_message_default_email , 'chaine' , 0 , '' , $conf -> entity );
2021-01-23 17:49:08 +01:00
if ( ! ( $res > 0 )) {
2020-05-27 11:39:06 +02:00
$error ++ ;
2022-05-12 16:52:02 +02:00
$errors [] = $db -> lasterror ();
2020-05-27 11:39:06 +02:00
}
2019-03-04 19:19:20 +01:00
2022-09-27 17:40:56 +02:00
// For compatibility when javascript is not enabled
if ( $conf -> global -> MAIN_FEATURES_LEVEL >= 2 && empty ( $conf -> use_javascript_ajax )) {
2020-10-31 14:32:18 +01:00
$param_notification_also_main_addressemail = GETPOST ( 'TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS' , 'alpha' );
$res = dolibarr_set_const ( $db , 'TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS' , $param_notification_also_main_addressemail , 'chaine' , 0 , '' , $conf -> entity );
2021-01-23 17:49:08 +01:00
if ( ! ( $res > 0 )) {
2020-10-31 14:32:18 +01:00
$error ++ ;
2022-05-12 16:52:02 +02:00
$errors [] = $db -> lasterror ();
}
}
2022-05-13 08:57:08 +02:00
} elseif ( preg_match ( '/set_(.*)/' , $action , $reg )) {
2022-05-12 16:52:02 +02:00
$code = $reg [ 1 ];
$value = GETPOSTISSET ( $code ) ? GETPOST ( $code , 'int' ) : 1 ;
2022-09-27 16:21:55 +02:00
if ( $code == 'TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS' && $conf -> global -> MAIN_FEATURES_LEVEL >= 2 ) {
2020-10-31 14:32:18 +01:00
$param_notification_also_main_addressemail = GETPOST ( 'TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS' , 'alpha' );
$res = dolibarr_set_const ( $db , 'TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS' , $param_notification_also_main_addressemail , 'chaine' , 0 , '' , $conf -> entity );
2021-01-23 17:49:08 +01:00
if ( ! ( $res > 0 )) {
2020-10-31 14:32:18 +01:00
$error ++ ;
2022-05-12 16:52:02 +02:00
}
2022-09-27 16:21:55 +02:00
} else {
$res = dolibarr_set_const ( $db , $code , $value , 'chaine' , 0 , '' , $conf -> entity );
if ( ! ( $res > 0 )) {
$error ++ ;
}
if ( ! $error ) {
if ( $code == 'TICKET_EMAIL_MUST_EXISTS' ) {
$res = dolibarr_del_const ( $db , 'TICKET_CREATE_THIRD_PARTY_WITH_CONTACT_IF_NOT_EXIST' , $conf -> entity );
if ( ! ( $res > 0 )) {
$error ++ ;
$errors [] = $db -> lasterror ();
}
} elseif ( $code == 'TICKET_CREATE_THIRD_PARTY_WITH_CONTACT_IF_NOT_EXIST' ) {
$res = dolibarr_del_const ( $db , 'TICKET_EMAIL_MUST_EXISTS' , $conf -> entity );
if ( ! ( $res > 0 )) {
$error ++ ;
$errors [] = $db -> lasterror ();
}
2022-05-12 16:52:02 +02:00
}
2020-10-31 14:32:18 +01:00
}
}
2022-05-13 08:57:08 +02:00
} elseif ( preg_match ( '/del_(.*)/' , $action , $reg )) {
2022-05-12 16:52:02 +02:00
$code = $reg [ 1 ];
$res = dolibarr_del_const ( $db , $code , $conf -> entity );
if ( ! ( $res > 0 )) {
$error ++ ;
$errors [] = $db -> lasterror ();
}
2019-03-04 19:19:20 +01:00
}
2022-05-12 16:52:02 +02:00
if ( $action != '' ) {
if ( ! $error ) {
$db -> commit ();
setEventMessage ( $langs -> trans ( 'SetupSaved' ));
header ( " Location: " . $_SERVER [ 'PHP_SELF' ]);
exit ;
} else {
$db -> rollback ();
setEventMessages ( '' , $errors , 'errors' );
}
}
2019-03-04 19:19:20 +01:00
/*
* View
*/
$dirmodels = array_merge ( array ( '/' ), ( array ) $conf -> modules_parts [ 'models' ]);
$form = new Form ( $db );
$help_url = " FR:Module_Ticket " ;
$page_name = " TicketSetup " ;
llxHeader ( '' , $langs -> trans ( $page_name ), $help_url );
// Subheader
2019-11-13 19:35:02 +01:00
$linkback = '<a href="' . DOL_URL_ROOT . '/admin/modules.php?restore_lastsearch_values=1">' . $langs -> trans ( " BackToModuleList " ) . '</a>' ;
2019-03-04 19:19:20 +01:00
print load_fiche_titre ( $langs -> trans ( $page_name ), $linkback , 'title_setup' );
// Configuration header
$head = ticketAdminPrepareHead ();
2020-10-22 22:50:03 +02:00
print dol_get_fiche_head ( $head , 'public' , $langs -> trans ( " Module56000Name " ), - 1 , " ticket " );
2019-03-04 19:19:20 +01:00
2021-09-18 19:34:46 +02:00
$param = '' ;
2019-03-04 19:19:20 +01:00
2022-09-01 13:11:11 +02:00
print '<br>' ;
2019-03-04 19:19:20 +01:00
$enabledisablehtml = $langs -> trans ( " TicketsActivatePublicInterface " ) . ' ' ;
2021-02-26 22:04:03 +01:00
if ( empty ( $conf -> global -> TICKET_ENABLE_PUBLIC_INTERFACE )) {
2020-10-31 14:32:18 +01:00
// Button off, click to enable
$enabledisablehtml .= '<a class="reposition valignmiddle" href="' . $_SERVER [ " PHP_SELF " ] . '?action=setTICKET_ENABLE_PUBLIC_INTERFACE&token=' . newToken () . '&value=1' . $param . '">' ;
$enabledisablehtml .= img_picto ( $langs -> trans ( " Disabled " ), 'switch_off' );
$enabledisablehtml .= '</a>' ;
2020-05-21 09:35:30 +02:00
} else {
2020-10-31 14:32:18 +01:00
// Button on, click to disable
$enabledisablehtml .= '<a class="reposition valignmiddle" href="' . $_SERVER [ " PHP_SELF " ] . '?action=setTICKET_ENABLE_PUBLIC_INTERFACE&token=' . newToken () . '&value=0' . $param . '">' ;
$enabledisablehtml .= img_picto ( $langs -> trans ( " Activated " ), 'switch_on' );
$enabledisablehtml .= '</a>' ;
2019-03-04 19:19:20 +01:00
}
print $enabledisablehtml ;
2019-11-13 19:35:02 +01:00
print '<input type="hidden" id="TICKET_ENABLE_PUBLIC_INTERFACE" name="TICKET_ENABLE_PUBLIC_INTERFACE" value="' . ( empty ( $conf -> global -> TICKET_ENABLE_PUBLIC_INTERFACE ) ? 0 : 1 ) . '">' ;
2019-03-04 19:19:20 +01:00
2022-09-01 13:11:11 +02:00
print dol_get_fiche_end ();
2019-03-04 19:19:20 +01:00
2021-02-26 22:04:03 +01:00
if ( ! empty ( $conf -> global -> TICKET_ENABLE_PUBLIC_INTERFACE )) {
2022-09-01 13:11:11 +02:00
print '<br>' ;
// Define $urlwithroot
$urlwithouturlroot = preg_replace ( '/' . preg_quote ( DOL_URL_ROOT , '/' ) . '$/i' , '' , trim ( $dolibarr_main_url_root ));
$urlwithroot = $urlwithouturlroot . DOL_URL_ROOT ; // This is to use external domain name found into config file
//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
print '<span class="opacitymedium">' . $langs -> trans ( " TicketPublicAccess " ) . '</span> :<br>' ;
print '<div class="urllink">' ;
print '<input type="text" id="publicurlmember" class="quatrevingtpercentminusx" value="' . $urlwithroot . '/public/ticket/index.php?entity=' . $conf -> entity . '">' ;
print '<a target="_blank" rel="noopener noreferrer" href="' . $urlwithroot . '/public/ticket/index.php?entity=' . $conf -> entity . '">' . img_picto ( '' , 'globe' , 'class="paddingleft"' ) . '</a>' ;
print '</div>' ;
print ajax_autoselect ( 'publicurlmember' );
print '<br><br>' ;
2021-03-24 12:51:14 +01:00
print '<form method="post" action="' . $_SERVER [ 'PHP_SELF' ] . '" enctype="multipart/form-data" >' ;
print '<input type="hidden" name="token" value="' . newToken () . '">' ;
print '<input type="hidden" name="action" value="setvar">' ;
2020-10-31 14:32:18 +01:00
print '<div class="div-table-responsive-no-min">' ;
print '<table class="noborder centpercent">' ;
print '<tr class="liste_titre"><td>' . $langs -> trans ( " Parameters " ) . '</td>' ;
print '<td class="left">' ;
print '</td>' ;
2021-03-24 12:51:14 +01:00
print '<td class="center width75">' ;
2020-10-31 14:32:18 +01:00
print '</td>' ;
print '</tr>' ;
2022-09-27 17:08:08 +02:00
// Enable Captcha code
print '<tr class="oddeven">' ;
print '<td>' . $langs -> trans ( " TicketUseCaptchaCode " ) . '</td>' ;
print '<td class="left">' ;
if ( function_exists ( " imagecreatefrompng " )) {
if ( ! empty ( $conf -> use_javascript_ajax )) {
print ajax_constantonoff ( 'MAIN_SECURITY_ENABLECAPTCHA_TICKET' );
} else {
if ( empty ( $conf -> global -> MAIN_SECURITY_ENABLECAPTCHA_TICKET )) {
print '<a href="' . $_SERVER [ 'PHP_SELF' ] . '?action=set_MAIN_SECURITY_ENABLECAPTCHA_TICKET&token=' . newToken () . '">' . img_picto ( $langs -> trans ( " Disabled " ), 'off' ) . '</a>' ;
} else {
print '<a href="' . $_SERVER [ 'PHP_SELF' ] . '?action=del_MAIN_SECURITY_ENABLECAPTCHA_TICKET&token=' . newToken () . '">' . img_picto ( $langs -> trans ( " Enabled " ), 'on' ) . '</a>' ;
}
}
} else {
$desc = $form -> textwithpicto ( '' , $langs -> transnoentities ( " EnableGDLibraryDesc " ), 1 , 'warning' );
print $desc ;
}
print '</td>' ;
print '<td class="center width75">' ;
print $form -> textwithpicto ( '' , $langs -> trans ( " TicketUseCaptchaCodeHelp " ), 1 , 'help' );
print '</td>' ;
print '</tr>' ;
2020-10-31 14:32:18 +01:00
// Check if email exists
print '<tr class="oddeven"><td>' . $langs -> trans ( " TicketsEmailMustExist " ) . '</td>' ;
print '<td class="left">' ;
2022-05-12 16:52:02 +02:00
if ( empty ( getDolGlobalInt ( 'TICKET_EMAIL_MUST_EXISTS' ))) {
2022-09-27 16:21:55 +02:00
print '<a href="' . $_SERVER [ 'PHP_SELF' ] . '?action=set_TICKET_EMAIL_MUST_EXISTS&token=' . newToken () . '">' . img_picto ( $langs -> trans ( 'Disabled' ), 'switch_off' ) . '</a>' ;
2020-10-31 14:32:18 +01:00
} else {
2022-09-27 16:21:55 +02:00
print '<a href="' . $_SERVER [ 'PHP_SELF' ] . '?action=del_TICKET_EMAIL_MUST_EXISTS&token=' . newToken () . '">' . img_picto ( $langs -> trans ( 'Enabled' ), 'switch_on' ) . '</a>' ;
2020-10-31 14:32:18 +01:00
}
print '</td>' ;
2021-03-24 12:51:14 +01:00
print '<td class="center width75">' ;
2020-10-31 14:32:18 +01:00
print $form -> textwithpicto ( '' , $langs -> trans ( " TicketsEmailMustExistHelp " ), 1 , 'help' );
print '</td>' ;
print '</tr>' ;
2023-02-21 20:42:46 +01:00
// Auto fill the contact found from email
2023-03-17 01:26:31 +01:00
// This option is a serious security hole. it allows to any non logged perso, to get the database of contacts or to check if an email is a customer or not. We must keep it as hidden option only.
2023-02-21 20:42:46 +01:00
/*
2022-05-12 16:52:02 +02:00
print '<tr class="oddeven"><td>' . $langs -> trans ( " TicketCreateThirdPartyWithContactIfNotExist " ) . '</td>' ;
print '<td class="left">' ;
if ( empty ( getDolGlobalInt ( 'TICKET_CREATE_THIRD_PARTY_WITH_CONTACT_IF_NOT_EXIST' ))) {
2022-09-27 16:21:55 +02:00
print '<a href="' . $_SERVER [ 'PHP_SELF' ] . '?action=set_TICKET_CREATE_THIRD_PARTY_WITH_CONTACT_IF_NOT_EXIST&token=' . newToken () . '">' . img_picto ( $langs -> trans ( 'Disabled' ), 'switch_off' ) . '</a>' ;
2022-05-12 16:52:02 +02:00
} else {
2022-09-27 16:21:55 +02:00
print '<a href="' . $_SERVER [ 'PHP_SELF' ] . '?action=del_TICKET_CREATE_THIRD_PARTY_WITH_CONTACT_IF_NOT_EXIST&token=' . newToken () . '">' . img_picto ( $langs -> trans ( 'Enabled' ), 'switch_on' ) . '</a>' ;
2022-05-12 16:52:02 +02:00
}
print '</td>' ;
print '<td class="center width75">' ;
print $form -> textwithpicto ( '' , $langs -> trans ( " TicketCreateThirdPartyWithContactIfNotExistHelp " ), 1 , 'help' );
print '</td>' ;
print '</tr>' ;
2023-02-21 20:42:46 +01:00
*/
2022-05-12 16:52:02 +02:00
2020-10-31 14:32:18 +01:00
/* if ( $conf -> global -> MAIN_FEATURES_LEVEL >= 2 )
2021-02-26 22:04:03 +01:00
{
// Show logo for module
print '<tr class="oddeven"><td>' . $langs -> trans ( " TicketsShowModuleLogo " ) . '</td>' ;
print '<td class="left">' ;
if ( $conf -> use_javascript_ajax ) {
print ajax_constantonoff ( 'TICKET_SHOW_MODULE_LOGO' );
} else {
$arrval = array ( '0' => $langs -> trans ( " No " ), '1' => $langs -> trans ( " Yes " ));
print $form -> selectarray ( " TICKET_SHOW_MODULE_LOGO " , $arrval , $conf -> global -> TICKET_SHOW_MODULE_LOGO );
}
print '</td>' ;
print '<td class="center">' ;
print $form -> textwithpicto ( '' , $langs -> trans ( " TicketsShowModuleLogoHelp " ), 1 , 'help' );
print '</td>' ;
print '</tr>' ;
} */
2019-03-04 19:19:20 +01:00
2020-10-31 14:32:18 +01:00
// Show logo for company
print '<tr class="oddeven"><td>' . $langs -> trans ( " TicketsShowCompanyLogo " ) . '</td>' ;
print '<td class="left">' ;
if ( $conf -> use_javascript_ajax ) {
print ajax_constantonoff ( 'TICKET_SHOW_COMPANY_LOGO' );
} else {
$arrval = array ( '0' => $langs -> trans ( " No " ), '1' => $langs -> trans ( " Yes " ));
print $form -> selectarray ( " TICKET_SHOW_COMPANY_LOGO " , $arrval , $conf -> global -> TICKET_SHOW_COMPANY_LOGO );
}
print '</td>' ;
2021-03-24 12:51:14 +01:00
print '<td class="center width75">' ;
2020-10-31 14:32:18 +01:00
print $form -> textwithpicto ( '' , $langs -> trans ( " TicketsShowCompanyLogoHelp " ), 1 , 'help' );
print '</td>' ;
print '</tr>' ;
// Also send to main email address
2021-02-26 22:04:03 +01:00
if ( $conf -> global -> MAIN_FEATURES_LEVEL >= 2 ) {
2020-10-31 14:32:18 +01:00
print '<tr class="oddeven"><td>' . $langs -> trans ( " TicketsEmailAlsoSendToMainAddress " ) . '</td>' ;
print '<td class="left">' ;
if ( $conf -> use_javascript_ajax ) {
print ajax_constantonoff ( 'TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS' );
} else {
$arrval = array ( '0' => $langs -> trans ( " No " ), '1' => $langs -> trans ( " Yes " ));
print $form -> selectarray ( " TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS " , $arrval , $conf -> global -> TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS );
}
print '</td>' ;
2021-03-24 12:51:14 +01:00
print '<td class="center width75">' ;
print $form -> textwithpicto ( '' , $langs -> trans ( " TicketsEmailAlsoSendToMainAddressHelp " , $langs -> transnoentitiesnoconv ( " TicketEmailNotificationTo " ) . ' (' . $langs -> transnoentitiesnoconv ( " Creation " ) . ')' , $langs -> trans ( " Settings " )), 1 , 'help' );
2020-10-31 14:32:18 +01:00
print '</td>' ;
print '</tr>' ;
}
if ( ! $conf -> use_javascript_ajax ) {
2020-11-19 20:23:38 +01:00
print '<tr class="impair"><td colspan="3" align="center"><input type="submit" class="button button-save" value="' . $langs -> trans ( " Save " ) . '"></td>' ;
2020-10-31 14:32:18 +01:00
print '</tr>' ;
}
if ( empty ( $conf -> global -> FCKEDITOR_ENABLE_MAIL )) {
print '<tr>' ;
print '<td colspan="3"><div class="info">' . $langs -> trans ( " TicketCkEditorEmailNotActivated " ) . '</div></td>' ;
print " </tr> \n " ;
}
// Interface topic
2022-09-09 12:26:17 +02:00
$url_interface = getDolGlobalString ( " TICKET_PUBLIC_INTERFACE_TOPIC " );
2020-10-31 14:32:18 +01:00
print '<tr><td>' . $langs -> trans ( " TicketPublicInterfaceTopicLabelAdmin " ) . '</label>' ;
print '</td><td>' ;
2022-09-09 12:26:17 +02:00
print '<input type="text" name="TICKET_PUBLIC_INTERFACE_TOPIC" value="' . $url_interface . '" size="40" ></td>' ;
2020-10-31 14:32:18 +01:00
print '</td>' ;
2021-03-24 12:51:14 +01:00
print '<td class="center width75">' ;
2020-10-31 14:32:18 +01:00
print $form -> textwithpicto ( '' , $langs -> trans ( " TicketPublicInterfaceTopicHelp " ), 1 , 'help' );
print '</td></tr>' ;
2022-09-01 10:54:20 +02:00
// Text on home page
$public_text_home = getDolGlobalString ( 'TICKET_PUBLIC_TEXT_HOME' , '<span class="opacitymedium">' . $langs -> trans ( " TicketPublicDesc " ) . '</span>' );
2020-10-31 14:32:18 +01:00
print '<tr><td>' . $langs -> trans ( " TicketPublicInterfaceTextHomeLabelAdmin " ) . '</label>' ;
print '</td><td>' ;
require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php' ;
2022-10-25 11:13:34 +02:00
$doleditor = new DolEditor ( 'TICKET_PUBLIC_TEXT_HOME' , $public_text_home , '100%' , 180 , 'dolibarr_notes' , '' , false , true , getDolGlobalInt ( 'FCKEDITOR_ENABLE_TICKET' ), ROWS_2 , 70 );
2020-10-31 14:32:18 +01:00
$doleditor -> Create ();
print '</td>' ;
print '<td class="center">' ;
print $form -> textwithpicto ( '' , $langs -> trans ( " TicketPublicInterfaceTextHomeHelpAdmin " ), 1 , 'help' );
print '</td></tr>' ;
2022-09-01 10:54:20 +02:00
// Text to help to enter a ticket
2022-09-09 12:26:17 +02:00
$public_text_help_message = getDolGlobalString ( " TICKET_PUBLIC_TEXT_HELP_MESSAGE " , $langs -> trans ( 'TicketPublicPleaseBeAccuratelyDescribe' ));
2020-10-31 14:32:18 +01:00
print '<tr><td>' . $langs -> trans ( " TicketPublicInterfaceTextHelpMessageLabelAdmin " ) . '</label>' ;
print '</td><td>' ;
require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php' ;
2022-10-25 11:13:34 +02:00
$doleditor = new DolEditor ( 'TICKET_PUBLIC_TEXT_HELP_MESSAGE' , $public_text_help_message , '100%' , 180 , 'dolibarr_notes' , '' , false , true , getDolGlobalInt ( 'FCKEDITOR_ENABLE_TICKET' ), ROWS_2 , 70 );
2020-10-31 14:32:18 +01:00
$doleditor -> Create ();
print '</td>' ;
print '<td class="center">' ;
print $form -> textwithpicto ( '' , $langs -> trans ( " TicketPublicInterfaceTextHelpMessageHelpAdmin " ), 1 , 'help' );
print '</td></tr>' ;
2022-03-07 16:21:37 +01:00
// Url public interface
2022-09-09 12:26:17 +02:00
$url_interface = getDolGlobalString ( " TICKET_URL_PUBLIC_INTERFACE " );
2022-03-07 16:21:37 +01:00
print '<tr><td>' . $langs -> trans ( " TicketUrlPublicInterfaceLabelAdmin " ) . '</label>' ;
print '</td><td>' ;
2022-09-09 12:26:17 +02:00
print '<input type="text" class="minwidth500" name="TICKET_URL_PUBLIC_INTERFACE" value="' . $url_interface . '"></td>' ;
2022-03-07 16:21:37 +01:00
print '</td>' ;
print '<td class="center">' ;
print $form -> textwithpicto ( '' , $langs -> trans ( " TicketUrlPublicInterfaceHelpAdmin " ), 1 , 'help' );
print '</td></tr>' ;
print '</table>' ;
print '<br><br>' ;
2022-05-18 23:27:26 +02:00
print load_fiche_titre ( $langs -> trans ( " Emails " ));
2022-03-07 16:21:37 +01:00
print '<div class="div-table-responsive-no-min">' ;
print '<table class="noborder centpercent">' ;
2020-10-31 14:32:18 +01:00
// Activate email creation to user
2022-03-07 16:21:37 +01:00
print '<tr class="pair"><td>' ;
print $form -> textwithpicto ( $langs -> trans ( " TicketsDisableCustomerEmail " ), $langs -> trans ( " TicketsDisableEmailHelp " ), 1 , 'help' );
print '</td>' ;
2020-10-31 14:32:18 +01:00
print '<td class="left">' ;
if ( $conf -> use_javascript_ajax ) {
print ajax_constantonoff ( 'TICKET_DISABLE_CUSTOMER_MAILS' );
} else {
$arrval = array ( '0' => $langs -> trans ( " No " ), '1' => $langs -> trans ( " Yes " ));
print $form -> selectarray ( " TICKET_DISABLE_CUSTOMER_MAILS " , $arrval , $conf -> global -> TICKET_DISABLE_CUSTOMER_MAILS );
}
print '</td>' ;
print '</tr>' ;
2022-03-07 16:21:37 +01:00
// Text of email after creatio of a ticket
2022-09-09 12:26:17 +02:00
$mail_mesg_new = getDolGlobalString ( " TICKET_MESSAGE_MAIL_NEW " , $langs -> trans ( 'TicketNewEmailBody' ));
2022-03-07 16:21:37 +01:00
print '<tr><td>' ;
print $form -> textwithpicto ( $langs -> trans ( " TicketNewEmailBodyLabel " ), $langs -> trans ( " TicketNewEmailBodyHelp " ), 1 , 'help' );
print '</label>' ;
2020-10-31 14:32:18 +01:00
print '</td><td>' ;
require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php' ;
2022-06-22 08:36:24 +02:00
$doleditor = new DolEditor ( 'TICKET_MESSAGE_MAIL_NEW' , $mail_mesg_new , '100%' , 120 , 'dolibarr_mailings' , '' , false , true , getDolGlobalInt ( 'FCKEDITOR_ENABLE_MAIL' ), ROWS_2 , 70 );
2020-10-31 14:32:18 +01:00
$doleditor -> Create ();
print '</td>' ;
2022-03-07 16:21:37 +01:00
print '</tr>' ;
2019-10-04 14:04:31 +02:00
2020-05-27 11:39:06 +02:00
// Activate email notification when a new message is added
2022-03-07 16:21:37 +01:00
print '<tr class="pair"><td>' ;
print $form -> textwithpicto ( $langs -> trans ( " TicketsPublicNotificationNewMessage " ), $langs -> trans ( " TicketsPublicNotificationNewMessageHelp " ), 1 , 'help' );
print '</td>' ;
2020-05-27 11:39:06 +02:00
print '<td class="left">' ;
if ( $conf -> use_javascript_ajax ) {
print ajax_constantonoff ( 'TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_ENABLED' );
} else {
$arrval = array ( '0' => $langs -> trans ( " No " ), '1' => $langs -> trans ( " Yes " ));
2022-09-09 12:26:17 +02:00
print $form -> selectarray ( " TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_ENABLED " , $arrval , getDolGlobalString ( " TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_ENABLED " ));
2020-05-27 11:39:06 +02:00
}
print '</td>' ;
print '</tr>' ;
// Send notification when a new message is added to a email if a user is not assigned to the ticket
2022-03-07 16:21:37 +01:00
print '<tr><td>' ;
print $form -> textwithpicto ( $langs -> trans ( " TicketPublicNotificationNewMessageDefaultEmail " ), $langs -> trans ( " TicketPublicNotificationNewMessageDefaultEmailHelp " ), 1 , 'help' );
2020-05-27 11:39:06 +02:00
print '</td><td>' ;
2022-09-09 12:26:17 +02:00
print '<input type="text" name="TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_DEFAULT_EMAIL" value="' . getDolGlobalString ( " TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_DEFAULT_EMAIL " ) . '" size="40" ></td>' ;
2020-05-27 11:39:06 +02:00
print '</td>' ;
2022-03-07 16:21:37 +01:00
print '</tr>' ;
2020-05-27 11:39:06 +02:00
print '</table>' ;
2020-03-03 22:46:29 +01:00
print '</div>' ;
2019-03-04 19:19:20 +01:00
2021-08-20 14:41:30 +02:00
print $form -> buttonsSaveCancel ( " Save " , '' );
2019-03-04 19:19:20 +01:00
2020-10-31 14:32:18 +01:00
print '</form>' ;
2019-03-04 19:19:20 +01:00
}
// End of page
llxFooter ();
$db -> close ();