loadLangs(array('admin', 'kundenkarte@kundenkarte')); // Security check if (!$user->admin && !$user->hasRight('kundenkarte', 'admin')) { accessforbidden(); } $action = GETPOST('action', 'aZ09'); $confirm = GETPOST('confirm', 'alpha'); $systemId = GETPOSTINT('systemid'); $form = new Form($db); /* * Actions */ if ($action == 'add') { $code = GETPOST('code', 'aZ09'); $label = GETPOST('label', 'alphanohtml'); $picto = GETPOST('picto', 'alphanohtml'); $color = GETPOST('color', 'alphanohtml'); $position = GETPOSTINT('position'); if (empty($code) || empty($label)) { setEventMessages($langs->trans('ErrorFieldRequired'), null, 'errors'); } else { $sql = "INSERT INTO ".MAIN_DB_PREFIX."c_kundenkarte_anlage_system"; $sql .= " (code, label, picto, color, position, active, entity)"; $sql .= " VALUES ('".$db->escape(strtoupper($code))."', '".$db->escape($label)."',"; $sql .= " ".($picto ? "'".$db->escape($picto)."'" : "NULL").","; $sql .= " ".($color ? "'".$db->escape($color)."'" : "NULL").","; $sql .= " ".((int) $position).", 1, 0)"; $result = $db->query($sql); if ($result) { setEventMessages($langs->trans('RecordSaved'), null, 'mesgs'); } else { setEventMessages($db->lasterror(), null, 'errors'); } } $action = ''; } if ($action == 'update') { $code = GETPOST('code', 'aZ09'); $label = GETPOST('label', 'alphanohtml'); $picto = GETPOST('picto', 'alphanohtml'); $color = GETPOST('color', 'alphanohtml'); $position = GETPOSTINT('position'); $sql = "UPDATE ".MAIN_DB_PREFIX."c_kundenkarte_anlage_system SET"; $sql .= " code = '".$db->escape(strtoupper($code))."'"; $sql .= ", label = '".$db->escape($label)."'"; $sql .= ", picto = ".($picto ? "'".$db->escape($picto)."'" : "NULL"); $sql .= ", color = ".($color ? "'".$db->escape($color)."'" : "NULL"); $sql .= ", position = ".((int) $position); $sql .= " WHERE rowid = ".((int) $systemId); $result = $db->query($sql); if ($result) { setEventMessages($langs->trans('RecordSaved'), null, 'mesgs'); } else { setEventMessages($db->lasterror(), null, 'errors'); } $action = ''; } if ($action == 'confirm_delete' && $confirm == 'yes') { // Check if in use $sql = "SELECT COUNT(*) as cnt FROM ".MAIN_DB_PREFIX."kundenkarte_anlage WHERE fk_system = ".((int) $systemId); $resql = $db->query($sql); $obj = $db->fetch_object($resql); if ($obj->cnt > 0) { setEventMessages($langs->trans('ErrorSystemInUse'), null, 'errors'); } else { // Also delete types for this system $sql = "DELETE FROM ".MAIN_DB_PREFIX."kundenkarte_anlage_type WHERE fk_system = ".((int) $systemId); $db->query($sql); $sql = "DELETE FROM ".MAIN_DB_PREFIX."c_kundenkarte_anlage_system WHERE rowid = ".((int) $systemId); $result = $db->query($sql); if ($result) { setEventMessages($langs->trans('RecordDeleted'), null, 'mesgs'); } } $action = ''; } if ($action == 'activate') { $sql = "UPDATE ".MAIN_DB_PREFIX."c_kundenkarte_anlage_system SET active = 1 WHERE rowid = ".((int) $systemId); $db->query($sql); $action = ''; } if ($action == 'deactivate') { $sql = "UPDATE ".MAIN_DB_PREFIX."c_kundenkarte_anlage_system SET active = 0 WHERE rowid = ".((int) $systemId); $db->query($sql); $action = ''; } /* * View */ $title = $langs->trans('AnlagenSystems'); // Include CSS and JS $morejs = array('/kundenkarte/js/kundenkarte.js?v=1769962608'); $morecss = array('/kundenkarte/css/kundenkarte.css?v=1769962608'); llxHeader('', $title, '', '', 0, 0, $morejs, $morecss); $head = kundenkarteAdminPrepareHead(); print dol_get_fiche_head($head, 'systems', $langs->trans('ModuleKundenKarteName'), -1, 'fa-file'); // Confirmation if ($action == 'delete') { print $form->formconfirm( $_SERVER['PHP_SELF'].'?systemid='.$systemId, $langs->trans('Delete'), $langs->trans('ConfirmDeleteSystem'), 'confirm_delete', '', 'yes', 1 ); } // Add form if ($action == 'create' || $action == 'edit') { $system = null; if ($action == 'edit' && $systemId > 0) { $sql = "SELECT * FROM ".MAIN_DB_PREFIX."c_kundenkarte_anlage_system WHERE rowid = ".((int) $systemId); $resql = $db->query($sql); $system = $db->fetch_object($resql); } print '
'; print ''; print ''; if ($action == 'edit') { print ''; } print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print '
'.$langs->trans('SystemCode').'
'.$langs->trans('SystemLabel').'
'.$langs->trans('SystemPicto').'
'; print ''; if ($system && $system->picto) { print kundenkarte_render_icon($system->picto); } print ''; print ''; print ''; print '
'.$langs->trans('SystemColor').'
'.$langs->trans('Position').'
'; print '
'; print ''; print ' '.$langs->trans('Cancel').''; print '
'; print '
'; } else { // List print '
'; print ''; print ' '.$langs->trans('AddSystem'); print ''; print '
'; $sql = "SELECT * FROM ".MAIN_DB_PREFIX."c_kundenkarte_anlage_system ORDER BY position ASC, label ASC"; $resql = $db->query($sql); print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; if ($resql) { while ($obj = $db->fetch_object($resql)) { print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; } } print '
'.$langs->trans('SystemCode').''.$langs->trans('SystemLabel').''.$langs->trans('SystemPicto').''.$langs->trans('Position').''.$langs->trans('Status').''.$langs->trans('Actions').'
'.dol_escape_htmltag($obj->code).''.dol_escape_htmltag($obj->label).''; if ($obj->picto) { print kundenkarte_render_icon($obj->picto, '', 'color:'.$obj->color.';').' '; print dol_escape_htmltag($obj->picto); } print ''.$obj->position.''; if ($obj->active) { print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; } else { print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; } print ''; print ''.img_edit().''; print ' '.img_delete().''; print '
'; } print dol_get_fiche_end(); llxFooter(); $db->close();