Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.35
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
html /
bdc.bdcloud.fr /
barcode /
Delete
Unzip
Name
Size
Permission
Date
Action
temp
[ DIR ]
drwxr-x---
2025-11-08 11:17
codeinit.php
13.42
KB
-rwxr-x---
2023-04-04 15:52
printsheet.php
17.56
KB
-rwxr-x---
2023-04-04 15:52
Save
Rename
<?php /* Copyright (C) 2014-2022 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es> * * 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 <https://www.gnu.org/licenses/>. */ /** * \file htdocs/barcode/codeinit.php * \ingroup member * \brief Page to make mass init of barcode */ // Load Dolibarr environment require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; // Load translation files required by the page $langs->loadLangs(array('admin', 'members', 'errors', 'other')); // Choice of print year or current year. $now = dol_now(); $year = dol_print_date($now, '%Y'); $month = dol_print_date($now, '%m'); $day = dol_print_date($now, '%d'); $forbarcode = GETPOST('forbarcode'); $fk_barcode_type = GETPOST('fk_barcode_type'); $eraseallproductbarcode = GETPOST('eraseallproductbarcode'); $eraseallthirdpartybarcode = GETPOST('eraseallthirdpartybarcode'); $action = GETPOST('action', 'aZ09'); $producttmp = new Product($db); $thirdpartytmp = new Societe($db); $modBarCodeProduct = ''; $modBarCodeThirdparty = ''; $maxperinit = empty($conf->global->BARCODE_INIT_MAX) ? 1000 : $conf->global->BARCODE_INIT_MAX; // Security check (enable the most restrictive one) //if ($user->socid > 0) accessforbidden(); //if ($user->socid > 0) $socid = $user->socid; if (!isModEnabled('barcode')) { accessforbidden('Module not enabled'); } //restrictedArea($user, 'barcode'); if (empty($user->admin)) { accessforbidden('Must be admin'); } /* * Actions */ // Define barcode template for third-party if (!empty($conf->global->BARCODE_THIRDPARTY_ADDON_NUM)) { $dirbarcodenum = array_merge(array('/core/modules/barcode/'), $conf->modules_parts['barcode']); foreach ($dirbarcodenum as $dirroot) { $dir = dol_buildpath($dirroot, 0); $handle = @opendir($dir); if (is_resource($handle)) { while (($file = readdir($handle)) !== false) { if (preg_match('/^mod_barcode_thirdparty_.*php$/', $file)) { $file = substr($file, 0, dol_strlen($file) - 4); try { dol_include_once($dirroot.$file.'.php'); } catch (Exception $e) { dol_syslog($e->getMessage(), LOG_ERR); } $modBarCodeThirdparty = new $file(); break; } } closedir($handle); } } } if ($action == 'initbarcodethirdparties') { if (!is_object($modBarCodeThirdparty)) { $error++; setEventMessages($langs->trans("NoBarcodeNumberingTemplateDefined"), null, 'errors'); } if (!$error) { $thirdpartystatic = new Societe($db); $db->begin(); $nbok = 0; if (!empty($eraseallthirdpartybarcode)) { $sql = "UPDATE ".MAIN_DB_PREFIX."societe"; $sql .= " SET barcode = NULL"; $resql = $db->query($sql); if ($resql) { setEventMessages($langs->trans("AllBarcodeReset"), null, 'mesgs'); } else { $error++; dol_print_error($db); } } else { $sql = "SELECT rowid"; $sql .= " FROM ".MAIN_DB_PREFIX."societe"; $sql .= " WHERE barcode IS NULL or barcode = ''"; $sql .= $db->order("datec", "ASC"); $sql .= $db->plimit($maxperinit); dol_syslog("codeinit", LOG_DEBUG); $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); $i = 0; $nbok = $nbtry = 0; while ($i < min($num, $maxperinit)) { $obj = $db->fetch_object($resql); if ($obj) { $thirdpartystatic->id = $obj->rowid; $nextvalue = $modBarCodeThirdparty->getNextValue($thirdpartystatic, ''); $result = $thirdpartystatic->setValueFrom('barcode', $nextvalue, '', '', 'text', '', $user, 'THIRDPARTY_MODIFY'); $nbtry++; if ($result > 0) { $nbok++; } } $i++; } } else { $error++; dol_print_error($db); } if (!$error) { setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); } } if (!$error) { //$db->rollback(); $db->commit(); } else { $db->rollback(); } } $action = ''; } // Define barcode template for products if (!empty($conf->global->BARCODE_PRODUCT_ADDON_NUM)) { $dirbarcodenum = array_merge(array('/core/modules/barcode/'), $conf->modules_parts['barcode']); foreach ($dirbarcodenum as $dirroot) { $dir = dol_buildpath($dirroot, 0); $handle = @opendir($dir); if (is_resource($handle)) { while (($file = readdir($handle)) !== false) { if (preg_match('/^mod_barcode_product_.*php$/', $file)) { $file = substr($file, 0, dol_strlen($file) - 4); if ($file == $conf->global->BARCODE_PRODUCT_ADDON_NUM) { try { dol_include_once($dirroot.$file.'.php'); } catch (Exception $e) { dol_syslog($e->getMessage(), LOG_ERR); } $modBarCodeProduct = new $file(); break; } } } closedir($handle); } } } if ($action == 'initbarcodeproducts') { if (!is_object($modBarCodeProduct)) { $error++; setEventMessages($langs->trans("NoBarcodeNumberingTemplateDefined"), null, 'errors'); } if (!$error) { $productstatic = new Product($db); $db->begin(); $nbok = 0; if (!empty($eraseallproductbarcode)) { $sql = "UPDATE ".MAIN_DB_PREFIX."product"; $sql .= " SET barcode = NULL"; $resql = $db->query($sql); if ($resql) { setEventMessages($langs->trans("AllBarcodeReset"), null, 'mesgs'); } else { $error++; dol_print_error($db); } } else { $sql = "SELECT rowid, ref, fk_product_type"; $sql .= " FROM ".MAIN_DB_PREFIX."product"; $sql .= " WHERE barcode IS NULL or barcode = ''"; $sql .= $db->order("datec", "ASC"); $sql .= $db->plimit($maxperinit); dol_syslog("codeinit", LOG_DEBUG); $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); $i = 0; $nbok = $nbtry = 0; while ($i < min($num, $maxperinit)) { $obj = $db->fetch_object($resql); if ($obj) { $productstatic->id = $obj->rowid; $productstatic->ref = $obj->ref; $productstatic->type = $obj->fk_product_type; $nextvalue = $modBarCodeProduct->getNextValue($productstatic, ''); //print 'Set value '.$nextvalue.' to product '.$productstatic->id." ".$productstatic->ref." ".$productstatic->type."<br>\n"; $result = $productstatic->setValueFrom('barcode', $nextvalue, '', '', 'text', '', $user, 'PRODUCT_MODIFY'); $nbtry++; if ($result > 0) { $nbok++; } } $i++; } } else { $error++; dol_print_error($db); } if (!$error) { setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); } } if (!$error) { //$db->rollback(); $db->commit(); } else { $db->rollback(); } } $action = ''; } /* * View */ $form = new Form($db); llxHeader('', $langs->trans("MassBarcodeInit")); print load_fiche_titre($langs->trans("MassBarcodeInit"), '', 'title_setup.png'); print '<br>'; print '<span class="opacitymedium">'.$langs->trans("MassBarcodeInitDesc").'</span><br>'; print '<br>'; //print img_picto('','puce').' '.$langs->trans("PrintsheetForOneBarCode").'<br>'; //print '<br>'; print '<br>'; // Example 1 : Adding jquery code print '<script type="text/javascript"> function confirm_erase() { return confirm("'.dol_escape_js($langs->trans("ConfirmEraseAllCurrentBarCode")).'"); } </script>'; // For thirdparty if (isModEnabled('societe')) { print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'; print '<input type="hidden" name="mode" value="label">'; print '<input type="hidden" name="action" value="initbarcodethirdparties">'; print '<input type="hidden" name="token" value="'.newToken().'">'; $nbthirdpartyno = $nbthirdpartytotal = 0; print load_fiche_titre($langs->trans("BarcodeInitForThirdparties"), '', 'company'); print '<br>'."\n"; $sql = "SELECT count(rowid) as nb FROM ".MAIN_DB_PREFIX."societe where barcode IS NULL or barcode = ''"; $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); $nbthirdpartyno = $obj->nb; } else { dol_print_error($db); } $sql = "SELECT count(rowid) as nb FROM ".MAIN_DB_PREFIX."societe"; $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); $nbthirdpartytotal = $obj->nb; } else { dol_print_error($db); } print $langs->trans("CurrentlyNWithoutBarCode", $nbthirdpartyno, $nbthirdpartytotal, $langs->transnoentitiesnoconv("ThirdParties"))."\n"; $disabledthirdparty = $disabledthirdparty1 = 0; if (is_object($modBarCodeThirdparty)) { print '<br>'.$langs->trans("BarCodeNumberManager").": "; $objthirdparty = new Societe($db); print '<b>'.(isset($modBarCodeThirdparty->name) ? $modBarCodeThirdparty->name : $modBarCodeThirdparty->nom).'</b> - '.$langs->trans("NextValue").': <b>'.$modBarCodeThirdparty->getNextValue($objthirdparty).'</b><br>'; $disabledthirdparty = 0; print '<br>'; } else { $disabledthirdparty = 1; $titleno = $langs->trans("NoBarcodeNumberingTemplateDefined"); print '<div class="warning">'.$langs->trans("NoBarcodeNumberingTemplateDefined"); print '<br><a href="'.DOL_URL_ROOT.'/admin/barcode.php">'.$langs->trans("ToGenerateCodeDefineAutomaticRuleFirst").'</a>'; print '</div>'; } if (empty($nbthirdpartyno)) { $disabledthirdparty1 = 1; } $moretagsthirdparty1 = (($disabledthirdparty || $disabledthirdparty1) ? ' disabled title="'.dol_escape_htmltag($titleno).'"' : ''); print '<br><input class="button button-add" type="submit" id="submitformbarcodethirdpartygen" value="'.$langs->trans("InitEmptyBarCode", $nbthirdpartyno).'"'.$moretagsthirdparty1.'>'; $moretagsthirdparty2 = (($nbthirdpartyno == $nbthirdpartytotal) ? ' disabled' : ''); print ' '; print '<input type="submit" class="button butActionDelete" name="eraseallthirdpartybarcode" id="eraseallthirdpartybarcode" value="'.$langs->trans("EraseAllCurrentBarCode").'"'.$moretagsthirdparty2.' onClick="return confirm_erase();">'; print '<br><br><br><br>'; print '</form>'; } // For products if (isModEnabled('product') || isModEnabled('service')) { print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'; print '<input type="hidden" name="mode" value="label">'; print '<input type="hidden" name="action" value="initbarcodeproducts">'; print '<input type="hidden" name="token" value="'.newToken().'">'; $nbproductno = $nbproducttotal = 0; print load_fiche_titre($langs->trans("BarcodeInitForProductsOrServices"), '', 'product'); print '<br>'."\n"; $sql = "SELECT count(rowid) as nb, fk_product_type, datec"; $sql .= " FROM ".MAIN_DB_PREFIX."product"; $sql .= " WHERE barcode IS NULL OR barcode = ''"; $sql .= " GROUP BY fk_product_type, datec"; $sql .= " ORDER BY datec"; $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); $i = 0; while ($i < $num) { $obj = $db->fetch_object($resql); $nbproductno += $obj->nb; $i++; } } else { dol_print_error($db); } $sql = "SELECT count(rowid) as nb FROM ".MAIN_DB_PREFIX."product"; $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); $nbproducttotal = $obj->nb; } else { dol_print_error($db); } print $langs->trans("CurrentlyNWithoutBarCode", $nbproductno, $nbproducttotal, $langs->transnoentitiesnoconv("ProductsOrServices"))."\n"; $disabledproduct = $disabledproduct1 = 0; if (is_object($modBarCodeProduct)) { print '<br>'.$langs->trans("BarCodeNumberManager").": "; $objproduct = new Product($db); print '<b>'.(isset($modBarCodeProduct->name) ? $modBarCodeProduct->name : $modBarCodeProduct->nom).'</b> - '.$langs->trans("NextValue").': <b>'.$modBarCodeProduct->getNextValue($objproduct).'</b><br>'; $disabledproduct = 0; print '<br>'; } else { $disabledproduct = 1; $titleno = $langs->trans("NoBarcodeNumberingTemplateDefined"); print '<br><div class="warning">'.$langs->trans("NoBarcodeNumberingTemplateDefined"); print '<br><a href="'.DOL_URL_ROOT.'/admin/barcode.php">'.$langs->trans("ToGenerateCodeDefineAutomaticRuleFirst").'</a>'; print '</div>'; } if (empty($nbproductno)) { $disabledproduct1 = 1; } //print '<input type="checkbox" id="erasealreadyset" name="erasealreadyset"> '.$langs->trans("ResetBarcodeForAllRecords").'<br>'; $moretagsproduct1 = (($disabledproduct || $disabledproduct1) ? ' disabled title="'.dol_escape_htmltag($titleno).'"' : ''); print '<input type="submit" class="button" name="submitformbarcodeproductgen" id="submitformbarcodeproductgen" value="'.$langs->trans("InitEmptyBarCode", min($maxperinit, $nbproductno)).'"'.$moretagsproduct1.'>'; $moretagsproduct2 = (($nbproductno == $nbproducttotal) ? ' disabled' : ''); print ' '; print '<input type="submit" class="button butActionDelete" name="eraseallproductbarcode" id="eraseallproductbarcode" value="'.$langs->trans("EraseAllCurrentBarCode").'"'.$moretagsproduct2.' onClick="return confirm_erase();">'; print '<br><br><br><br>'; print '</form>'; } print load_fiche_titre($langs->trans("BarCodePrintsheet"), '', 'generic'); print '<br>'."\n"; print $langs->trans("ClickHereToGoTo").' : <a href="'.DOL_URL_ROOT.'/barcode/printsheet.php">'.$langs->trans("BarCodePrintsheet").'</a>'; print '<br>'; // End of page llxFooter(); $db->close();