Forum ZitePLUS

La communauté des utilisateurs du CMS ZitePLUS

Vous n'êtes pas identifié(e).

#1 22/05/2016 16:13:51

dedega
Membre
Lieu : Malemort / Correze
Inscription : 10/09/2008
Messages : 131
Site Web

Agenda dans Zite+

Bonjour,

Je voudrais intégrer un agenda dans mon site, j'ai trouvé un code PHP mais je n'arrive pas à le faire fonctionner ?

Si quelqu’un et preneur pour se pencher sur le problème,

merci d'avance

<?php

/**
 * Wikazzle 0.1 beta, Copyleft (C) 2007 BohwaZ, Under GNU/GPL License
 * http://bohwaz.net/ - http://dev.kd2.org/
 */

// Titre du calendrier
define('TITLE', 'Wikazzle');

// Mot de passe d'accès au calendrier
define('PASSWORD', 'waza');

// Limite d'accès
// none = Aucune limite
// write = Demande le mot de passe pour modifier le calendrier
// read = demande le mot de passe aussi pour pouvoir voir le calendrier
define('ACCESS_LIMIT', 'write');

// Le fichier où seront stockées les données
define('STORAGE_FILE', dirname(__FILE__) . '/wikazzle.datas.php');

function strip_slashes_from_user_data(&$array)
{
    foreach ($array as $k => $v)
    {
        if (is_array($v))
        {
            strip_slashes_from_user_data($array[$k]);
            continue;
        }
        $array[$k] = stripslashes($v);
    }
}

if (get_magic_quotes_gpc())
{
    strip_slashes_from_user_data($_GET);
    strip_slashes_from_user_data($_POST);
    strip_slashes_from_user_data($_COOKIE);
}

function redirect($path='')
{
    $url = 'http' . (!empty($_SERVER['HTTPS']) ? 's' : '') . '://' .
        $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . $path;
    header('Location: '.$url);
    exit;
}

class Wikazzle
{
    protected $datas = array();
    private $needSave = false;

    public function __construct()
    {
        if (file_exists(STORAGE_FILE))
        {
            $this->datas = unserialize(file_get_contents(STORAGE_FILE));
        }

        @session_start();
    }

    public function __destruct()
    {
        if ($this->needSave)
        {
            $datas = serialize($this->datas);
            file_put_contents(STORAGE_FILE, $datas);
        }
    }

    private function needSave()
    {
        $this->needSave = true;
    }

    public function getOccupationForDay($day)
    {
        if (isset($this->datas[$day]))
        {
            return $this->datas[$day];
        }
        return false;
    }

    public function freeOccupationForDay($day)
    {
        unset($this->datas[$day]);
        $this->needSave();
    }

    public function setOccupationForDay($day, $people, $notes='')
    {
        $this->datas[$day] = array('people' => $people, 'notes' => $notes);
        $this->needSave();
    }

    public function authLogin($login, $password)
    {
        if ($password != PASSWORD)
        {
            return false;
        }

        $_SESSION['auth'] = $login;
        return true;
    }

    public function authLogout()
    {
        $_SESSION = array();
    }

    public function authCheck()
    {
        if (!empty($_SESSION['auth']))
            return $_SESSION['auth'];

        return false;
    }
}

class Render
{
    private $wk = false;
    private $months = array(1 => "Janvier", "Février", "Mars", "Avril", "Mai",
        "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    private $days = array(1 => "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi",
        "Samedi", "Dimanche");
    private $colors = array("ffdbfc", "eedbff", "e2dbff", "dbffe4", "dbe9ff", "dbfcff",
        "e9ffb3", "eeffdb", "fdffdb", "ffd085", "b5ffa7",  "e3d4ae", "ffdbdb", "fff1db");

    public function __construct($wk)
    {
        $this->wk =& $wk;
    }

    private function getColor($string)
    {
        $string = strtolower($string);

        while ($string[$n])
        {
            $txt_sum += ord($string[$n++]);
        }

        $txt_sum %= count($this->colors);
        return $this->colors[$txt_sum];
    }

    private function head()
    {
        echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
        <head>
            <title>'.TITLE.'</title>
            <style type="text/css">
            * { margin: 0; padding: 0; }
            body { font-family: Arial, sans-serif; padding: 1em; max-width: 80em; background: #fff no-repeat 1em 1em
            url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPkAAABECAMAAAB0xWMJAAAAwFBMVEX8B4T9Eov%2BGZL8KZP%2BMJwvmcv%2BPJ85n9H%2BSahKpNL%2BU6xRqtf%2FXLBerdX%2BZLNisNj%2Fbbdmtd39c7pxuNr9fr9%2BwN79i8aExeKPxuX9ls2XyuP9ndH%2Fos%2Be0Or%2BrNWo1en%2Fsdmz1%2B262%2Bv9vN%2FA4PH%2BxOH%2ByuPI5O%2F%2B0ujT6PT92Ozd7vT93%2FH%2F4e7i8%2Fn%2F5%2FLr8%2Fr96%2FT%2F7vbx9vn88fj49vrz%2Bfv%2F9fv99%2Fb4%2B%2Ff7%2Bf32%2FP77%2Ffr4%2Fv%2F%2F%2FPr%2B%2F%2FxQBZi9AAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9cJDAsAEwzC9cEAAAqLSURBVHja7ZoLV%2BI4FICLU3molcGKKMqgUMVSl4fQ0keg%2F%2F9fbZ5tni1zZh1298zdc2ZpbpLmy725uUm18v%2BhvKdHVLL%2B8ddG4%2B7wlNjzO9ua%2Fn7yzcQ9Pz8%2FEXn6Mb27OrOgvH09eVb%2BXHjj%2FuU5ltOQ31mFzL%2BafNI577ywh%2FvzQkYnIb8tyZdfTD7BmBOVfHyqNb57JOS7LyYnvn3J%2Bf7CPS055MGSfzE5tTBf5OGSl9ORN34LObF5hy%2FyhQVwKvLGV5OPVdcOTk1%2B9lvI83HrvCXG8dW%2Fgvzsy8lh5iI%2FY3LvdOTfEPm330CupK7%2FCnL7BOTZH%2FJTiY3ImycgJ3v87A%2F5%2F5t8818lX028mR8EwSIIfH%2FmcVvxkE9SfFjLJ7X4OsGw08pqyDc%2BFqFa5vUdmAx0esOAL359fXt7f59%2FfCyXyzUU%2BL%2Flx%2Fz9bXqkvoJ8ftuGe%2F2Z%2Ff2ZXthY3rko5eBa592y4b1aZ%2BHd4%2Fw1qiYPOqTRgtv7hq2ys27JnlomOU5vJn%2B2y7pnD2k1%2BUQYrUw%2BcorBbyrJfVav6CsbtcRXTqSTFk5AG40zKA062CP1BvI3WHp28zSd3jVx9eaarPNoRq9S%2BgHvkV3pcgWshqhSy8uYlsqqitzDlJeTcnom8G2dwYs3mwwd2oNXkn97fJ0vi%2BN1SEzV%2BDhSryVPb2DRbVpOApyGNY1wm5bsj%2FTs0QFCH6iaT9W%2B77n1NseXF62xdMwZs249shJaUUH2LLzwmpj0LT9SryPfIjs%2Flo%2B4RjulsX2oJiB9tQilKa6SqlaR49NcV5jREfQt7oRzyZ%2F34Dpe83XpDcsPLg5U6nXkKQK%2F5kMdbvNAyX3l4pAcPQRQXEsIxcRiQoRrIfEZeKfTuZSuKbzLS36qVg4S%2BubUbvNVlzZaymcP5WVTQziFEQbrtnJXQ64uzlcb%2B3tqcQyOaBplEQ8Fc0FxLy%2FhsIUVgUGIkfdj%2BNNdSdHGc8Q%2B7lEDOsFr%2B4bTHC5sJBxYnR4KDmHc%2FH2g54tc9ZSpxYfu0hgATgU2H79EXccR7Jv3MedeTw6G8Nd9Ju8vq5EvPPu4BR2m%2FcDfpWKwiwOHUaOHcoXKvpfPd2dwF%2FghVMGTYd1YzJER5owfz9jlrIEXQOGVTAbcqGXyCE3LEVcUG9wCqIopBmt%2Bmhrq9RL5oYmepUtoNBmNplXa03FGvDUjj%2FNcJC%2F8Qx150HOcbnDM6Q63UFwj%2FwuD2cZvBga9RD7HlUS3yNuorM3Ix4KBA2hyOqZiNvauM8g15F0N%2BX4C%2F%2B1Hx1xlEG9XqoZ4ePYPUzuTXiJ%2FwrWkOjg%2BFDZf4AGsyrAToTyNNwecDf9Icm%2FAd2aQ%2FcYf33cdIvKt1uFaE72O0UvkOBY0l%2BvtLkzjA5J0tySTZuW8u0%2BKtTcqZoNt6UPH3UuvwXG5p5ITcTdGarCYDDC0O5ppyR%2Fw4K4Opg6MeomchH%2BtFOTY3emGM6Lu1%2BeWQFbOgWhzVyWfuJXowRBT90Y%2BfAtwNP7xSqLX1gRu1kvkbT11%2B%2FpuanFLm623iAXxGRfjPKcLjiVfRBXoEVkj4wXxICDFUZzC4Ihsv5vAK%2FQSOeH8iwk63H7u0oNwMwGwHWbU%2FBuubERXw1h5zb2JPM%2F6JvQF7nNcBHMNeUos9WQCr9JL5HiK2jV3Mjie3SO%2F7hb7Nl4C3YyseTVUG20OgQZ69AiDc6FSJT98x2A3xuhWpdd6%2B6GaPGApxaQcyKaIcSNH8%2BcAFeQMvbfRuAn%2FXYaQB0r0aqfV0c2gl8jxo%2F1ZTU5cO8hBj8usGRtUBj9HTrJX6DGCIy%2BUeKaQ0%2Bi1rIluBr1uV7OnNTeQQ2KOGe%2BMPh3pTALk8nZBsed8F9yT3Y3PAsZK1reXyGluJgz2sEuP1eNt7Jq7hTKmBZZ0dugCl9%2B3oQOgeAQZvaPIBQsydK%2B%2BRTE7O7Iy78QzRvlcp5fIl8RB0mpykq2OxX2bxLiFLrOm2U%2FXSF6gl0f0rtxiPxTID1e6FGVaxPE6PQlpV%2FJJ9qnmvp2OU9i3IxKiHe2fO7mK72aiBRn6CAgpXiS7f9HiVpui3BXOXacn5Bfyic5eVpOTw5m0bw%2FUxVpITzlhkokqT7sMfZDxc1W8AUbBe74FOWAoKcoVK6nTqxv4gayOC9nfDwJ55GjOTSTG9YCOXK1PtkHuWM7Q3aiMosU8Bq7zsudCATXQo5y5MJvV6SEQ8QkhBpBNUNjZDs%2Ftg6V4r%2BTXLMYZj9bCduc7chd0c3O6fpkPw4zJD4JJH5%2FgSy8gh2n7Wk48Hm17d4weyqetpC4kvNvNp8Ls6XMbhnuBfKLz67GaV2OiaDGi5gyIQywWC8%2Bl69pfLFYSuuNCwwLXkU9zZF5mC5aN22%2Fo2xH5avQ6fXq4Rf4al9m6UZ8u359JALQfPjn2J3ZOuXl%2B%2B5i%2FPX0nNxoC%2BUqOb8yB1c18yBM4vYF4QBUi%2BJ7OEHbpiEMfAv5ce2ibT5TIiHX6%2FId0HCtzn6Zc%2FXouf0t1dX7dd%2FSHlW7PxdLrkgBPeHFhV9y7kNsMyLeZPGPz0PVYsOiiThx8ZdZstpFcoH%2BaSHDZxTW7UqvQY3KqbzeFm5j0gWdv3s1%2F5StyJMTBCLntJsrkogKd%2B7qUr8YDiDpiC6jo6LPmbzbr9LstH8BTIaRtn67thmU1vrVvp%2BE%2F9f38vyp%2FyH9WEiEQggQVCWW4qIiSG%2B4p2WBhJYUmSWpeWas3vj9Pwu16if7gYL0NgY4cjUj9FmAq5EVfxFemA08KfSL2BPBeteZluaRlKFut0%2Bchr4c%2Fee4lJ%2BttrJDjUcm7WvKr5IAvSfgaCd9Tsl7qBYHAQSXrCkGDDsWiMrePleqI3VJwEh2j6mggKSAias2kLEK%2FBfAoilAnAP0oBHe7Ib%2BSPF1%2FIlnHSZymcZyEcRjHYbhFhXg11enhE374%2FAxTzn4hKfuEjg6rwzqon1Aix4OQCHWF1BsogFK0UdpTyrxkhjU38D9atOGGuJW9LiRkeVKjL6uAXAUPy4ASbyVySpJIGzceGdBv6nL9RJ4LETzfCJOVwEfAFcR0jPIMM7I6PXwdqcEpaZutQAXiLbAUEDFHYYWJmRxUkINIbC%2B9oVBHgn1i6T1bVlKnRz8RJse41YCj8lxHrkGJIjO5ugAShQyYvESaWIqWyO7MyMItFlm%2FLcmxcCbXNpBiexJp7EtL9EZXyYHQAVA6VFoAsQYzkbi44oIMEBCjHqawUMo0F%2BDnbVydyVDrCEZnq1Bv9BpyoPpL3VzlCRmquJTTXVjqsRj1kpZWT44hzwX7Mu9N9OQZFJEDlWQJZcIPogtVtuDGmoo76KFGnxrIY808qV8a6BDggCNlpIAfXAVHXnLowPNE4lTJ6WB3xlS1Wi%2BRhvg5riYngwL4R6IMNMminyOn4PKEKU0UcoYGjB8Uq%2FShjjypJi%2FGBMqhRWw2%2BOmQMDItuQFcNbpKDlLVn%2FNj9aGoqpgkSzOCgpKURRRJJc%2BM5KSlrg1FB2ZyhhbXoMdGh0hNj1rywtk5ct5ACVUeRW4GZ50W8BryPKmxepIS0ZGLCvKYCAIAEMh5CobOlwGZsYK8EMPAs2wPhcAD9HOf6Mafmpe6Ua8l10gc%2Fw1vsI6JnS%2BgIQAAAABJRU5ErkJggg%3D%3D);}
            a { color: #009; }
            a:hover { color: red; }
            h1,#logged,#anonymous { margin-left: 280px; }
            #logged { color: darkblue; } #anonymous { color: darkred; }
            #logged,#anonymous { margin-bottom: 1em; }
            table.calendar { border-collapse: collapse; width: 100%; }
            .calendar caption { font-size: 1.3em; font-weight: bold; border-bottom: 2px solid #000; text-align: center; }
            .calendar thead .links { height: 1em; line-height: 1em; font-family: Arial, sans-serif; }
            .calendar thead .links a { color: #900; font-weight: bold; font-size: 4em; text-decoration: none; }
            .calendar thead .links a:hover { color: blue; }
            .calendar thead .links .prev { text-align: left; }
            .calendar thead .links .next { text-align: right; }
            .calendar thead .days th { text-align: center; border: 1px solid #999; width: 14%; padding: 0.2em; }
            .calendar tbody td.free, .calendar tbody td.taken { border: 1px solid #ccc; padding: 0.3em; padding-top: 0;
            vertical-align: top; }
            .calendar tbody td h3 { font-family: Georgia, serif; font-size: 1.5em; color: #999;
            font-weight: normal; text-align: center; border-bottom: 2px dashed #eee; margin-bottom: 0.4em; }
            .calendar tbody td p { text-align: center; margin-bottom: 0.2em; }
            .calendar tbody td.lastday { border-color: #666; background: repeat-y -10px
            url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wkMDhYR%2BJ%2Fj0QAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAHElEQVQI12OcMWPGfwYGhs9I%2BAsUo4vhYqOoBQB2YRTYJKiD%2BwAAAABJRU5ErkJggg%3D%3D); }
            .calendar tbody td.today { border: 2px solid #000; }
            .calendar tbody td.free p.occupation { color: #060; }
            .calendar tbody td.taken p.occupation { color: #600; font-weight: bold; }
            .calendar tbody td.taken { background-color: #fee; border-color: #000; }
            .calendar tbody td .notes { font-size: 0.9em; }
            .calendar tbody td.taken h3 { border-color: #999; color: #000; }
            .calendar tbody td p.adm { font-size: 0.8em; margin: 0; }
            fieldset { border: 1px solid #ccc; padding: 0.5em; }
            fieldset legend { font-weight: bold; padding: 0.5em; }
            fieldset dl dt label { font-weight: bold; cursor: pointer; }
            fieldset dl dd { margin: 0.5em; }
            input[type=text], input[type=password], input[type=submit] { padding: 0.2em; font-size: 1.2em; }
            input[type=submit] { font-size: 1.3em; font-weight: bold; }
            form p.submit { padding: 0.5em; }
            p.error { margin: 1em; padding: 0.5em; border: 1px solid red; background: #fee; }
            </style>
        </head>

        <body>
        <h1>'.TITLE.'</h1>
        ';

        if ($this->wk->authCheck())
        {
            echo '
        <div id="logged">
            <p>Connecté en tant que <strong>'.$this->escape($this->wk->authCheck()).'</strong>.</p>
            <p><a href="?logout">Déconnexion</a></p>
        </div>';
        }
        else
        {
            echo '
        <div id="anonymous">
            <p>Vous n\'êtes pas connecté. ';

            if (ACCESS_LIMIT == 'write')
                echo 'Vous devez vous connecter pour modifier le calendrier.';
            else if (ACCESS_LIMIT == 'none')
                echo 'Vous pouvez vous connecter pour faciliter les modifications du calendrier.';

            echo '</p>
            <p><a href="?login">Connexion</a></p>
        </div>';
        }
    }

    private function foot()
    {
        echo '
        </body>
        </html>';
    }

    private function escape($str)
    {
        return htmlspecialchars($str);
    }

    public function login($msg='')
    {
        $this->head();

        if (!empty($msg))
        {
            echo '<p class="error">'.$this->escape($msg).'</p>';
        }

        echo '<form method="post" action="?" id="loginForm">
        <fieldset>
            <legend>Connexion</legend>
            <dl>
                <dt><label for="f_login">Pseudo/Nom</label></dt>
                <dd><input type="text" name="login" value="" id="f_login" /></dd>
                <dt><label for="f_password">Mot de passe</label></dt>
                <dd><input type="password" name="password" value="" id="f_password" /></dd>
            </dl>
            <p class="submit">
                <input type="submit" value="Connexion" />
            </p>
        </fieldset>
        </form>
        ';

        $this->foot();
    }

    public function calendar()
    {
        $this->head();

        if (!empty($_GET['y']))
            $year = (int) $_GET['y'];
        else
            $year = date('Y');

        if (!empty($_GET['m']))
            $month = (int) $_GET['m'];
        else
            $month = date('m');

        $month = sprintf("%02d", $month);
        $year = sprintf("%04d", $year);

        $ts_first = mktime(0, 0, 0, $month, 1, $year);
        $today = date('Ymd');
        list($month, $year, $weekday) = explode(',', strftime('%m,%Y,%w', $ts_first));
        $weekday = ($weekday + 7 - 1) % 7; #adjust for $first_day
        $days_in_month = date('t', $ts_first);

        if ($month == 12)
            $next = '?y=' . ($year+1) . '&amp;m=01';
        else
            $next = '?y=' . $year . '&amp;m=' . ($month+1);

        if ($month == 1)
            $prev = '?y=' . ($year-1) . '&amp;m=12';
        else
            $prev = '?y=' . $year . '&amp;m=' . ($month-1);

        echo '
        <script type="text/javascript">
        function freeOccupation(Id)
        {
            if (confirm("Libérer vraiment ?"))
            {
                var form = document.createElement("form");
                form.action = "?"
                form.method = "post";

                var input = document.createElement("input");
                input.type = "hidden";
                input.name = "free";
                input.value = Id;

                form.appendChild(input);
                document.getElementsByTagName("body")[0].appendChild(form);
                form.submit();
            }
        }
        </script>
        <table class="calendar">
            <caption>'.$this->months[(int)$month].' '.$year.'</caption>
            <thead>
                <tr class="links">
                    <th class="prev" colspan="3"><a href="'.$prev.'" title="Mois précédent">&larr;</a></th>
                    <th class="next" colspan="4"><a href="'.$next.'" title="Mois suivant">&rarr;</a></th>
                </tr>
                <tr class="days">
        ';

        for ($i=1; $i<=7; $i++)
        {
            echo '<th>'.$this->days[$i].'</th>';
        }

        echo '
                </tr>
            </thead>
            <tbody>
                <tr>
        ';

        for ($i=1; $i <= $weekday; $i++)
        {
            echo '
                    <td class="empty"></td>';
        }

        for ($day=1; $day <= $days_in_month; $day++, $weekday++)
        {
            $day = sprintf("%02d", $day);
            $id = $year.$month.$day;

            if ($weekday == 7)
            {
                $weekday = 0;
                echo '
                </tr>
                <tr>';
            }

            $class = '';
            if ($weekday == 6)
                $class .= 'lastday';

            if ($id == $today)
                $class .= ' today';

            if ($d = $this->wk->getOccupationForDay($id))
            {
                echo '
                    <td class="taken '.$class.'" style="background-color: #'.$this->getColor($d['people']).';"><h3>'.(int)$day.'</h3>
                        <p class="occupation">'.$this->escape($d['people']).'</p>';

                if (!empty($d['notes']))
                    echo '<p class="notes">'.nl2br($this->escape($d['notes'])).'</p>';

                if ($this->wk->authCheck())
                    echo '<p class="adm"><a href="?setOccupation='.$id.'">Modifier</a> |
                    <a href="#" onclick="freeOccupation('.$id.'); return false;">Libérer</a></p>';

                echo '
                    </td>';
            }
            else
            {
                echo '
                    <td class="free '.$class.'"><h3>'.(int)$day.'</h3>
                        <p class="occupation">Libre</p>';

                if ($this->wk->authCheck())
                    echo '<p class="adm"><a href="?setOccupation='.$id.'">Occuper</a></p>';

                echo '
                    </td>';
            }
        }

        for ($i=$weekday; $i <= 7; $i++)
        {
            echo '
                    <td class="empty"></td>';
        }

        echo '
                </tr>
            </tbody>
        </table>';

        $this->foot();
    }

    public function setOccupation($day)
    {
        $this->head();

        if ($occ = $this->wk->getOccupationForDay($day))
        {
            $people = $occ['people'];
            $notes = $occ['notes'];

            echo '<p class="error">Attention ce jour est déjà occupé.</p>';
        }
        else
        {
            $people = $this->wk->authCheck();
            $notes = '';
        }

        $jour = substr($day, -2) . '/' . substr($day, 4, 2) . '/' . substr($day, 0, 4);
        echo '<form method="post" action="?" id="occupationForm">
        <fieldset>
            <legend>Occuper le '.$jour.'</legend>
            <dl>
                <dt><label for="f_people">Personne(s)</label> (obligatoire)</dt>
                <dd><input type="text" name="people" size="50" id="f_people" value="'.$this->escape($people).'" /></dd>
                <dt><label for="f_notes">Notes</label></dt>
                <dd><textarea name="notes" id="f_notes" cols="50" rows="5">'.$this->escape($notes).'</textarea></dd>
            </dl>
            <p class="submit">
                <input type="hidden" name="day" value="'.$day.'" />
                <input type="submit" name="setOccupation" value="Enregistrer" />
            </p>
        </fieldset>
        </form>';

        $this->foot();
    }
}

$wk = new Wikazzle;
$render = new Render(&$wk);
$error = '';

if ($wk->authCheck() || ACCESS_LIMIT == 'none')
{
    if (!empty($_POST['setOccupation']))
    {
        if (empty($_POST['people']) || empty($_POST['day']))
            $error = 'EMPTY';
        else
        {
            if (empty($_POST['notes']))
                $_POST['notes'] = '';

            $wk->setOccupationForDay($_POST['day'], $_POST['people'], $_POST['notes']);
            $error = 'OK';
        }
        redirect();
    }
    else if (!empty($_POST['free']))
    {
        $wk->freeOccupationForDay($_POST['free']);
        redirect();
    }
}
else
{
    if (!empty($_POST['login']) && !empty($_POST['password']))
    {
        if (!$wk->authLogin($_POST['login'], $_POST['password']))
        {
            $error = 'MISMATCH';
        }
        else
        {
            redirect('?success');
        }
    }
}


if ((!$wk->authCheck() && ACCESS_LIMIT == 'read') || isset($_REQUEST['login']))
{
    if (empty($error) && ACCESS_LIMIT == 'read')
        $msg = 'Vous avez besoin de vous connecter pour accéder à cette page.';

    if ($error == 'MISMATCH')
        $msg = 'Mauvais mot de passe.';

    $render->login($msg);
}
elseif ($wk->authCheck() && isset($_GET['setOccupation']))
{
    $render->setOccupation($_GET['setOccupation']);
}
elseif (isset($_GET['logout']))
{
    $wk->authLogout();
    redirect();
}
else
{
    $render->calendar();
}

?>

dedega
big_smile

Hors ligne

#2 23/05/2016 16:04:55

Stefpei
Membre
Lieu : Nantes
Inscription : 12/06/2009
Messages : 332
Site Web

Re : Agenda dans Zite+

Salut dedega,

j'avais testé et installé ce script, sans trop de soucis...

En fonction ici sur ZitePlus : http://www.c-too.com/planning/index.php?perma=planning

Plus d'explications ici : https://ziteplus.giausserand.fr/forum/v … hp?id=1383


Stéphane
Webdesign AvantageWeb

Hors ligne

#3 23/05/2016 23:50:54

dedega
Membre
Lieu : Malemort / Correze
Inscription : 10/09/2008
Messages : 131
Site Web

Re : Agenda dans Zite+

Merci pour la réponse

c'est tout à fait ce que je cherche.

mais je ne sais pas comment le faire fonctionner ?

page blanche quand je clique sur le lien de la page ou est le code php. ??

j'ai validé la page (Agenda) temporairement sur mon site www.cabrive-volley.com

Je n'ai pas réussi de le faire fonctionner, j'ai intégré celui de Google.

Dernière modification par dedega (26/10/2016 09:39:35)

Hors ligne

Pied de page des forums