25 require
'../../main.inc.php';
26 require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
27 require_once DOL_DOCUMENT_ROOT.
'/product/class/html.formproduct.class.php';
28 require_once DOL_DOCUMENT_ROOT.
'/core/lib/pdf.lib.php';
29 require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
30 require_once DOL_DOCUMENT_ROOT.
"/core/lib/takepos.lib.php";
32 $terminal =
GETPOST(
'terminal',
'int');
34 if (!empty($_REQUEST[
'CASHDESK_ID_THIRDPARTY'.$terminal.
'_id']))
36 $_GET[
'CASHDESK_ID_THIRDPARTY'.$terminal] =
GETPOST(
'CASHDESK_ID_THIRDPARTY'.$terminal.
'_id',
'alpha');
37 $_POST[
'CASHDESK_ID_THIRDPARTY'.$terminal] =
GETPOST(
'CASHDESK_ID_THIRDPARTY'.$terminal.
'_id',
'alpha');
38 $_REQUEST[
'CASHDESK_ID_THIRDPARTY'.$terminal] =
GETPOST(
'CASHDESK_ID_THIRDPARTY'.$terminal.
'_id',
'alpha');
44 $langs->loadLangs(array(
"admin",
"cashdesk",
"printing",
"receiptprinter"));
48 $sql =
"SELECT code, libelle as label FROM ".MAIN_DB_PREFIX.
"c_paiement";
49 $sql .=
" WHERE entity IN (".getEntity(
'c_paiement').
")";
50 $sql .=
" AND active = 1";
51 $sql .=
" ORDER BY libelle";
55 while ($obj = $db->fetch_object(
$resql)) {
56 array_push($paiements, $obj);
60 $terminaltouse = $terminal;
67 if (
GETPOST(
'action',
'alpha') ==
'set')
70 if (
GETPOST(
'socid',
'int') < 0) $_POST[
"socid"] =
'';
72 $res =
dolibarr_set_const($db,
"CASHDESK_ID_THIRDPARTY".$terminaltouse, (
GETPOST(
'socid',
'int') > 0 ?
GETPOST(
'socid',
'int') :
''),
'chaine', 0,
'', $conf->entity);
74 $res =
dolibarr_set_const($db,
"CASHDESK_ID_BANKACCOUNT_CASH".$terminaltouse, (
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse,
'alpha') > 0 ?
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse,
'alpha') :
''),
'chaine', 0,
'', $conf->entity);
75 $res =
dolibarr_set_const($db,
"CASHDESK_ID_BANKACCOUNT_CHEQUE".$terminaltouse, (
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse,
'alpha') > 0 ?
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse,
'alpha') :
''),
'chaine', 0,
'', $conf->entity);
76 $res =
dolibarr_set_const($db,
"CASHDESK_ID_BANKACCOUNT_CB".$terminaltouse, (
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse,
'alpha') > 0 ?
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse,
'alpha') :
''),
'chaine', 0,
'', $conf->entity);
77 if (!empty($conf->global->TAKEPOS_ENABLE_SUMUP)) {
78 $res =
dolibarr_set_const($db,
"CASHDESK_ID_BANKACCOUNT_SUMUP".$terminaltouse, (
GETPOST(
'CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse,
'alpha') > 0 ?
GETPOST(
'CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse,
'alpha') :
''),
'chaine', 0,
'', $conf->entity);
80 foreach ($paiements as $modep) {
81 if (in_array($modep->code, array(
'LIQ',
'CB',
'CHQ')))
continue;
82 $name =
"CASHDESK_ID_BANKACCOUNT_".$modep->code.$terminaltouse;
85 $res =
dolibarr_set_const($db,
"CASHDESK_ID_WAREHOUSE".$terminaltouse, (
GETPOST(
'CASHDESK_ID_WAREHOUSE'.$terminaltouse,
'alpha') > 0 ?
GETPOST(
'CASHDESK_ID_WAREHOUSE'.$terminaltouse,
'alpha') :
''),
'chaine', 0,
'', $conf->entity);
86 $res =
dolibarr_set_const($db,
"CASHDESK_NO_DECREASE_STOCK".$terminaltouse,
GETPOST(
'CASHDESK_NO_DECREASE_STOCK'.$terminaltouse,
'alpha'),
'chaine', 0,
'', $conf->entity);
87 $res =
dolibarr_set_const($db,
"TAKEPOS_PRINTER_TO_USE".$terminaltouse,
GETPOST(
'TAKEPOS_PRINTER_TO_USE'.$terminaltouse,
'alpha'),
'chaine', 0,
'', $conf->entity);
88 $res =
dolibarr_set_const($db,
"TAKEPOS_ORDER_PRINTER1_TO_USE".$terminaltouse,
GETPOST(
'TAKEPOS_ORDER_PRINTER1_TO_USE'.$terminaltouse,
'alpha'),
'chaine', 0,
'', $conf->entity);
89 $res =
dolibarr_set_const($db,
"TAKEPOS_ORDER_PRINTER2_TO_USE".$terminaltouse,
GETPOST(
'TAKEPOS_ORDER_PRINTER2_TO_USE'.$terminaltouse,
'alpha'),
'chaine', 0,
'', $conf->entity);
90 $res =
dolibarr_set_const($db,
"TAKEPOS_ORDER_PRINTER3_TO_USE".$terminaltouse,
GETPOST(
'TAKEPOS_ORDER_PRINTER3_TO_USE'.$terminaltouse,
'alpha'),
'chaine', 0,
'', $conf->entity);
91 $res =
dolibarr_set_const($db,
"TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES".$terminaltouse,
GETPOST(
'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminaltouse,
'alpha'),
'chaine', 0,
'', $conf->entity);
92 $res =
dolibarr_set_const($db,
"TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS".$terminaltouse,
GETPOST(
'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminaltouse,
'alpha'),
'chaine', 0,
'', $conf->entity);
94 $res =
dolibarr_set_const($db,
'CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse, (
GETPOST(
'CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse,
'int') > 0 ?
GETPOST(
'CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse,
'int') :
''),
'chaine', 0,
'', $conf->entity);
96 $res =
dolibarr_set_const($db,
"TAKEPOS_ADDON".$terminaltouse,
GETPOST(
'TAKEPOS_ADDON'.$terminaltouse,
'alpha'),
'chaine', 0,
'', $conf->entity);
99 $res =
dolibarr_set_const($db,
'TAKEPOS_HEADER'.$terminaltouse,
GETPOST(
'TAKEPOS_HEADER'.$terminaltouse,
'restricthtml'),
'chaine', 0,
'', $conf->entity);
100 $res =
dolibarr_set_const($db,
'TAKEPOS_FOOTER'.$terminaltouse,
GETPOST(
'TAKEPOS_FOOTER'.$terminaltouse,
'restricthtml'),
'chaine', 0,
'', $conf->entity);
104 if (!($res > 0)) $error++;
121 $form =
new Form($db);
124 llxHeader(
'', $langs->trans(
"CashDeskSetup"));
126 $linkback =
'<a href="'.DOL_URL_ROOT.
'/admin/modules.php">'.$langs->trans(
"BackToModuleList").
'</a>';
134 print '<form action="'.$_SERVER[
"PHP_SELF"].
'?terminal='.(empty($terminal) ? 1 : $terminal).
'" method="post">';
135 print '<input type="hidden" name="token" value="'.newToken().
'">';
136 print '<input type="hidden" name="action" value="set">';
138 print '<div class="div-table-responsive">';
139 print '<table class="noborder centpercent">';
140 print '<tr class="liste_titre">';
141 print '<td>'.$langs->trans(
"Parameters").
'</td><td>'.$langs->trans(
"Value").
'</td>';
144 print '<tr class="oddeven"><td class="fieldrequired">'.$langs->trans(
"CashDeskThirdPartyForSell").
'</td>';
146 print $form->select_company($conf->global->{
'CASHDESK_ID_THIRDPARTY'.$terminaltouse},
'socid',
'(s.client IN (1, 3) AND s.status = 1)', 1, 0, 0, array(), 0);
149 $atleastonefound = 0;
150 if (!empty($conf->banque->enabled))
152 print '<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountForSell").
'</td>';
154 $form->select_comptes($conf->global->{
'CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse},
'CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse, 0,
"courant=2", 1);
155 if (!empty($conf->global->{
'CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse})) $atleastonefound++;
157 print '<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountForCheque").
'</td>';
159 $form->select_comptes($conf->global->{
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse},
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse, 0,
"courant=1", 1);
160 if (!empty($conf->global->{
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse})) $atleastonefound++;
162 print '<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountForCB").
'</td>';
164 $form->select_comptes($conf->global->{
'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse},
'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse, 0,
"courant=1", 1);
165 if (!empty($conf->global->{
'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse})) $atleastonefound++;
167 if ($conf->global->TAKEPOS_ENABLE_SUMUP) {
168 print '<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountForSumup").
'</td>';
170 $form->select_comptes($conf->global->{
'CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse},
'CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse, 0,
"courant=1", 1);
171 if (!empty($conf->global->{
'CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse})) $atleastonefound++;
175 foreach ($paiements as $modep) {
176 if (in_array($modep->code, array(
'LIQ',
'CB',
'CHQ')))
continue;
177 $name =
"CASHDESK_ID_BANKACCOUNT_".$modep->code.$terminaltouse;
178 print '<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountFor").
' '.$langs->trans($modep->label).
'</td>';
180 if (!empty($conf->global->$name)) $atleastonefound++;
181 $cour = preg_match(
'/^LIQ.*/', $modep->code) ? 2 : 1;
182 $form->select_comptes($conf->global->$name, $name, 0,
"courant=".$cour, 1);
187 if (!empty($conf->stock->enabled))
189 print '<tr class="oddeven"><td>'.$langs->trans(
"CashDeskDoNotDecreaseStock").
'</td>';
191 if (empty($conf->productbatch->enabled) || !empty($conf->global->CASHDESK_FORCE_DECREASE_STOCK)) {
192 print $form->selectyesno(
'CASHDESK_NO_DECREASE_STOCK'.$terminal, $conf->global->{
'CASHDESK_NO_DECREASE_STOCK'.$terminal}, 1);
194 if (!$conf->global->{
'CASHDESK_NO_DECREASE_STOCK'.$terminal}) {
195 $res =
dolibarr_set_const($db,
"CASHDESK_NO_DECREASE_STOCK".$terminal, 1,
'chaine', 0,
'', $conf->entity);
197 print $langs->trans(
"Yes").
'<br>';
198 print '<span class="opacitymedium">'.$langs->trans(
'StockDecreaseForPointOfSaleDisabledbyBatch').
'</span>';
202 $disabled = $conf->global->{
'CASHDESK_NO_DECREASE_STOCK'.$terminal};
205 print '<tr class="oddeven"><td>'.$langs->trans(
"CashDeskIdWareHouse").
'</td>';
206 print '<td class="minwidth300">';
209 print $formproduct->selectWarehouses($conf->global->{
'CASHDESK_ID_WAREHOUSE'.$terminal},
'CASHDESK_ID_WAREHOUSE'.$terminal,
'', 1, $disabled, 0,
'', 0, 0, array(),
'maxwidth250');
210 print ' <a href="'.DOL_URL_ROOT.
'/product/stock/card.php?action=create&backtopage='.urlencode(
$_SERVER[
"PHP_SELF"].
'?&terminal='.$terminal).
'"><span class="fa fa-plus-circle valignmiddle"></span></a>';
212 print '<span class="opacitymedium">'.$langs->trans(
"StockDecreaseForPointOfSaleDisabled").
'</span>';
216 if (!empty($conf->productbatch->enabled) && !empty($conf->global->CASHDESK_FORCE_DECREASE_STOCK) && !$conf->global->{
'CASHDESK_NO_DECREASE_STOCK'.$terminal}) {
217 print '<tr class="oddeven"><td>'.$langs->trans(
'CashDeskForceDecreaseStockLabel').
'</td>';
219 print '<span class="opacitymedium">'.$langs->trans(
'CashDeskForceDecreaseStockDesc').
'</span>';
224 if ($conf->global->TAKEPOS_PRINT_METHOD ==
"receiptprinter" || $conf->global->TAKEPOS_PRINT_METHOD ==
"takeposconnector") {
226 require_once DOL_DOCUMENT_ROOT.
'/core/class/dolreceiptprinter.class.php';
228 if ($conf->global->TAKEPOS_PRINT_METHOD ==
"receiptprinter") {
229 $printer->listprinters();
231 foreach ($printer->listprinters as $key => $value) {
232 $printers[$value[
'rowid']] = $value[
'name'];
234 print '<tr class="oddeven"><td>'.$langs->trans(
"MainPrinterToUse").
'</td>';
236 print $form->selectarray(
'TAKEPOS_PRINTER_TO_USE'.$terminal, $printers, (empty($conf->global->{
'TAKEPOS_PRINTER_TO_USE'.$terminal}) ?
'0' : $conf->global->{
'TAKEPOS_PRINTER_TO_USE'.$terminal}), 1);
238 if ($conf->global->TAKEPOS_ORDER_PRINTERS) {
239 print '<tr class="oddeven"><td>'.$langs->trans(
"OrderPrinterToUse").
' - '.$langs->trans(
"Printer").
' 1</td>';
241 print $form->selectarray(
'TAKEPOS_ORDER_PRINTER1_TO_USE'.$terminal, $printers, (empty($conf->global->{
'TAKEPOS_ORDER_PRINTER1_TO_USE'.$terminal}) ?
'0' : $conf->global->{
'TAKEPOS_ORDER_PRINTER1_TO_USE'.$terminal}), 1);
243 print '<tr class="oddeven"><td>'.$langs->trans(
"OrderPrinterToUse").
' - '.$langs->trans(
"Printer").
' 2</td>';
245 print $form->selectarray(
'TAKEPOS_ORDER_PRINTER2_TO_USE'.$terminal, $printers, (empty($conf->global->{
'TAKEPOS_ORDER_PRINTER2_TO_USE'.$terminal}) ?
'0' : $conf->global->{
'TAKEPOS_ORDER_PRINTER2_TO_USE'.$terminal}), 1);
247 print '<tr class="oddeven"><td>'.$langs->trans(
"OrderPrinterToUse").
' - '.$langs->trans(
"Printer").
' 3</td>';
249 print $form->selectarray(
'TAKEPOS_ORDER_PRINTER3_TO_USE'.$terminal, $printers, (empty($conf->global->{
'TAKEPOS_ORDER_PRINTER3_TO_USE'.$terminal}) ?
'0' : $conf->global->{
'TAKEPOS_ORDER_PRINTER3_TO_USE'.$terminal}), 1);
253 $printer->listPrintersTemplates();
254 $templates = array();
255 foreach ($printer->listprinterstemplates as $key => $value) {
256 $templates[$value[
'rowid']] = $value[
'name'];
258 print '<tr class="oddeven"><td>'.$langs->trans(
"MainTemplateToUse").
' (<a href="'.DOL_URL_ROOT.
'/admin/receiptprinter.php?mode=template">'.$langs->trans(
"SetupReceiptTemplate").
'</a>)</td>';
260 print $form->selectarray(
'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal, $templates, (empty($conf->global->{
'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal}) ?
'0' : $conf->global->{
'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal}), 1);
262 if ($conf->global->TAKEPOS_ORDER_PRINTERS) {
263 print '<tr class="oddeven"><td>'.$langs->trans(
"OrderTemplateToUse").
'</td>';
265 print $form->selectarray(
'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminal, $templates, (empty($conf->global->{
'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminal}) ?
'0' : $conf->global->{
'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminal}), 1);
270 print '<tr class="oddeven"><td>'.$langs->trans(
'CashDeskReaderKeyCodeForEnter').
'</td>';
272 print '<input type="text" name="CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse.
'" value="'.$conf->global->{
'CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse}.
'" />';
276 if ($conf->global->TAKEPOS_ADDON ==
"terminal") {
277 print '<tr class="oddeven"><td>';
278 print $langs->trans(
"BillsNumberingModule");
279 print '<td colspan="2">';
280 $array = array(0=>$langs->trans(
"Default"));
281 $dirmodels = array_merge(array(
'/'), (array) $conf->modules_parts[
'models']);
282 foreach ($dirmodels as $reldir)
287 $handle = opendir($dir);
288 if (is_resource($handle))
290 while (($file = readdir($handle)) !==
false)
292 if (!is_dir($dir.$file) || (substr($file, 0, 1) <>
'.' && substr($file, 0, 3) <>
'CVS'))
295 $classname = preg_replace(
'/\.php$/',
'', $file);
297 if (!is_file($dir.$filebis))
299 $filebis = $file.
"/".$file.
".modules.php";
300 $classname =
"mod_facture_".$file;
303 preg_match(
'/\-(.*)_(.*)$/', $classname, $reg);
304 if (!empty($reg[2]) && $reg[2] != strtoupper($mysoc->country_code))
continue;
306 $classname = preg_replace(
'/\-.*$/',
'', $classname);
307 if (!class_exists($classname) && is_readable($dir.$filebis) && (preg_match(
'/mod_/', $filebis) || preg_match(
'/mod_/', $classname)) && substr($filebis,
dol_strlen($filebis) - 3, 3) ==
'php')
310 require_once $dir.$filebis;
312 $module =
new $classname($db);
315 if ($module->version ==
'development' && $conf->global->MAIN_FEATURES_LEVEL < 2)
continue;
316 if ($module->version ==
'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1)
continue;
318 if ($module->isEnabled())
320 $array[preg_replace(
'/\-.*$/',
'', preg_replace(
'/\.php$/',
'', $file))] = preg_replace(
'/\-.*$/',
'', preg_replace(
'/mod_facture_/',
'', preg_replace(
'/\.php$/',
'', $file)));
329 print $form->selectarray(
'TAKEPOS_ADDON'.$terminaltouse, $array, (empty($conf->global->{
'TAKEPOS_ADDON'.$terminaltouse}) ?
'0' : $conf->global->{
'TAKEPOS_ADDON'.$terminaltouse}), 0);
330 print "</td></tr>\n";
340 $substitutionarray[
'__(AnyTranslationKey)__'] = $langs->trans(
'Translation');
341 $htmltext =
'<i>'.$langs->trans(
'AvailableVariables').
':<br>';
342 foreach ($substitutionarray as $key => $val) $htmltext .= $key.
'<br>';
348 print '<div class="div-table-responsive">';
349 print
'<table class="noborder centpercent">';
350 print
'<tr class="liste_titre">';
351 print
'<td>'.$langs->trans(
"Parameters").
'</td><td>'.$langs->trans(
'Value').
'</td>';
355 print
'<tr class="oddeven">';
357 print $form->textwithpicto($langs->trans(
'Header'), $htmltext, 1,
'help',
'', 0, 2,
'freetexttooltip').
'<br>';
360 $variablename =
'TAKEPOS_HEADER'.$terminaltouse;
361 if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) {
362 print
'<textarea name="'.$variablename.
'" class="flat" cols="120">'.$conf->global->{$variablename}.
'</textarea>';
364 include_once DOL_DOCUMENT_ROOT.
'/core/class/doleditor.class.php';
365 $doleditor =
new DolEditor($variablename, $conf->global->{$variablename},
'', 80,
'dolibarr_notes');
366 print $doleditor->Create();
371 print
'<tr class="oddeven">';
373 print $form->textwithpicto($langs->trans(
'Footer'), $htmltext, 1,
'help',
'', 0, 2,
'freetexttooltip').
'<br>';
376 $variablename =
'TAKEPOS_FOOTER'.$terminaltouse;
377 if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) {
378 print
'<textarea name="'.$variablename.
'" class="flat" cols="120">'.$conf->global->{$variablename}.
'</textarea>';
380 include_once DOL_DOCUMENT_ROOT.
'/core/class/doleditor.class.php';
381 $doleditor =
new DolEditor($variablename, $conf->global->{$variablename},
'', 80,
'dolibarr_notes');
382 print $doleditor->Create();
389 if ($atleastonefound == 0 && !empty($conf->banque->enabled))
391 print
info_admin($langs->trans(
"AtLeastOneDefaultBankAccountMandatory"), 0, 0,
'error');
396 print
'<div class="center"><input type="submit" class="button button-save" value="'.$langs->trans(
"Save").
'"></div>';
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dolibarr_set_const($db, $name, $value, $type= 'chaine', $visible=0, $note= '', $entity=1)
Insert a parameter (key,value) into database (delete old key then insert it again).
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.
setEventMessages($mesg, $mesgs, $style= 'mesgs', $messagekey= '')
Set event messages in dol_events session object.
load_fiche_titre($titre, $morehtmlright= '', $picto= 'generic', $pictoisfullpath=0, $id= '', $morecssontable= '', $morehtmlcenter= '')
Load a title with picto.
dol_strlen($string, $stringencoding= 'UTF-8')
Make a strlen call.
takepos_admin_prepare_head()
Prepare array with list of tabs.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename= '', $restricttologhandler= '', $logcontext=null)
Write log message into outputs.
Class to manage Receipt Printers.
accessforbidden($message= '', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program Calling this function terminate execution ...
print $_SERVER["PHP_SELF"]
Edit parameters.
pdf_getSubstitutionArray($outputlangs, $exclude=null, $object=null, $onlykey=0)
Return array of possible substitutions for PDF content (without external module substitutions).
dol_get_fiche_head($links=array(), $active= '', $title= '', $notab=0, $picto= '', $pictoisfullpath=0, $morehtmlright= '', $morecss= '', $limittoshow=0, $moretabssuffix= '')
Show tabs of a record.
print
Draft customers invoices.
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->don->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.
Class to manage a WYSIWYG editor.
info_admin($text, $infoonimgalt=0, $nodiv=0, $admin= '1', $morecss= '', $textfordropdown= '')
Show information for admin users or standard users.