<?php
/* Copyright (C) 2004-2017 Laurent Destailleur  <eldy@users.sourceforge.net>
 * Copyright (C) 2021 Chl <chl-dev@bugness.org>
 *
 * 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 <http://www.gnu.org/licenses/>.
 */

/**
 * \file    sendrecurringinvoicebymail/admin/setup.php
 * \ingroup sendrecurringinvoicebymail
 * \brief   SRIBM setup page.
 */

// Load Dolibarr environment
$res=0;
// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)
if (! $res && ! empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) $res=@include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php";
// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME
$tmp=empty($_SERVER['SCRIPT_FILENAME'])?'':$_SERVER['SCRIPT_FILENAME'];$tmp2=realpath(__FILE__); $i=strlen($tmp)-1; $j=strlen($tmp2)-1;
while($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i]==$tmp2[$j]) { $i--; $j--; }
if (! $res && $i > 0 && file_exists(substr($tmp, 0, ($i+1))."/main.inc.php")) $res=@include substr($tmp, 0, ($i+1))."/main.inc.php";
if (! $res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i+1)))."/main.inc.php")) $res=@include dirname(substr($tmp, 0, ($i+1)))."/main.inc.php";
// Try main.inc.php using relative path
if (! $res && file_exists("../../main.inc.php")) $res=@include "../../main.inc.php";
if (! $res && file_exists("../../../main.inc.php")) $res=@include "../../../main.inc.php";
if (! $res) die("Include of main fails");

global $langs, $user;

// Libraries
require_once DOL_DOCUMENT_ROOT . "/core/lib/admin.lib.php";
//require_once '../lib/mymodule.lib.php';
//require_once "../class/myclass.class.php";

// Translations
$langs->loadLangs(array("admin", "sendrecurringinvoicebymail@sendrecurringinvoicebymail"));

// Access control
if (! $user->admin) accessforbidden();

// Parameters
$action = GETPOST('action', 'alpha');
$backtopage = GETPOST('backtopage', 'alpha');

$arrayofparameters=array(
    //'SENDRECURRINGINVOICEBYMAIL_MYPARAM2'=>array('css'=>'minwidth500','enabled'=>1)
    'SENDRECURRINGINVOICEBYMAIL_BODY_ISHTML_DEFAULT' => array(
        'css' => 'minwidth200',
        'selectvalues' => array(
            -1 => 'MailBodyFormatAutoDetect',
            0 => 'MailBodyFormatPlainText',
            1 => 'MailBodyFormatHtml',
        ),
    ),
);



/*
 * Actions
 */

if ((float) DOL_VERSION >= 6)
{
    include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php';
}



/*
 * View
 */

$page_name = "sendrecurringinvoicebymailSetup";
llxHeader('', $langs->trans($page_name));

// Subheader
$linkback = '<a href="'.($backtopage?$backtopage:DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1').'">'.$langs->trans("BackToModuleList").'</a>';

print load_fiche_titre($langs->trans($page_name), $linkback, 'object_mymodule@mymodule');

// Configuration header
//$head = mymoduleAdminPrepareHead();
$head = array();
dol_fiche_head($head, 'settings', '', -1, "sendrecurringinvoicebymail@sendrecurringinvoicebymail");

// Setup page goes here
echo '<span class="opacitymedium">'.$langs->trans("sendrecurringinvoicebymailSetupPage").'</span><br><br>';


if ($action == 'edit')
{
    print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
    print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
    print '<input type="hidden" name="action" value="update">';

    print '<table class="noborder" width="100%">';
    print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';

    foreach($arrayofparameters as $key => $val)
    {
        print '<tr class="oddeven"><td>';
        $tooltiphelp = (($langs->trans($key.'Tooltip') != $key.'Tooltip') ? $langs->trans($key.'Tooltip') : '');
        print $form->textwithpicto($langs->trans($key), $tooltiphelp);
        print "</td>\n";
        print '<td>';
        if (isset($val['selectvalues'])) {
            // Select input
            print '<select name="' . $key . '">';
            foreach ($val['selectvalues'] as $k => $item) {
                print '<option value="' . $k . '"';
                if ($k == $conf->global->$key) {
                    print ' selected="selected"';
                }
                print '>' . $langs->trans($item) . "</option>\n";
            }
            print "</select>\n";
        } else {
            // Simple input
            print '<input name="'.$key.'"  class="flat '.(empty($val['css'])?'minwidth200':$val['css']).'" value="' . $conf->global->$key . '">';
        }
        print "</td></tr>\n";
    }
    print '</table>';

    print '<br><div class="center">';
    print '<input class="button" type="submit" value="'.$langs->trans("Save").'">';
    print '</div>';

    print '</form>';
    print '<br>';
}
else
{
    if (! empty($arrayofparameters))
    {
        print '<table class="noborder centpercent">';
        print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';

        foreach($arrayofparameters as $key => $val)
        {
            print '<tr class="oddeven"><td>';
            $tooltiphelp = (($langs->trans($key.'Tooltip') != $key.'Tooltip') ? $langs->trans($key.'Tooltip') : '');
            print $form->textwithpicto($langs->trans($key), $tooltiphelp);
            print '</td><td>' . $conf->global->$key . '</td></tr>';
        }

        print '</table>';

        print '<div class="tabsAction">';
        print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a>';
        print '</div>';
    }
    else
    {
        print '<br>'.$langs->trans("NothingToSetup");
    }

    // Display a notice if the 'cron' module is not enabled
    if (! in_array('cron', $conf->modules, true)) {
        print '<div class="info"><p>' . $langs->trans('NoticeCronIsDisabled') . "</p></div>\n";
    }
}


// Page end
dol_fiche_end();

llxFooter();
$db->close();