mambax7/myconference

View on GitHub
admin/tracks.php

Summary

Maintainability
A
3 hrs
Test Coverage
<?php
// ------------------------------------------------------------------------- //
// Copyright 2004, Daniel Coletti (dcoletti@xtech.com.ar)                    //
// This file is part of myconference XOOPS' module.                          //
//                                                                           //
// 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 2 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, write to the Free Software               //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA //
// ------------------------------------------------------------------------- //

use Xmf\Request;

include __DIR__ . '/admin_header.php';
include __DIR__ . '/conference.php';
require_once XOOPS_ROOT_PATH . '/class/module.errorhandler.php';

$myts = \MyTextSanitizer::getInstance();

$eh = new ErrorHandler;

//if (isset($_POST['fct'])) {
//    $fct = trim($_POST['fct']);
//}
//if (isset($_GET['fct'])) {
//    $fct = trim($_GET['fct']);
//}

$fct = Request::getString('fct', Request::getString('fct', '', 'GET'), 'POST');

//if (isset($_POST)) {
//    foreach ($_POST as $k => $v) {
//        echo "k ($k) = v ($v)<br>";
//    }
//}

//if (!isset($fct)) {
//    $fct = '';
//}
switch ($fct) {
    case 'updtrack':
        $eh      = new ErrorHandler;
        $tid     = Request::getInt('tid', 0, 'POST');//$_POST['tid'];
        $cid     = Request::getInt('cid', 0, 'POST');//$_POST['cid'];
        $title   = Request::getString('title', '', 'POST');//$_POST['title'];
        $summary = Request::getText('summary', '', 'POST');//$_POST['summary'];
        $result = $xoopsDB->query('UPDATE ' . $xoopsDB->prefix('myconference_tracks') . " SET title='$title', summary='$summary', cid='$cid' WHERE tid=$tid");// or $eh::show('0013');
        if ($result) {
            redirect_header('tracks.php', 2, _AM_MYCONFERENCE_DBUPDATED);
        }
        break;
    case 'edittrack':
        xoops_cp_header();

        $action = $action = Request::getString('action', 0, 'POST');//$_POST['action'];
        $tid    = $tid     = Request::getInt('tid', 0, 'POST');//$_POST['tid'];
        $cid    = $cid     = Request::getInt('cid', 0, 'POST');//$_POST['cid'];
        if ('upd' === $action) {
            $tid = Request::getInt('tid', 0, 'POST');//trim($_POST['tid']) or $eh::show('1001');
            $result = $xoopsDB->query('SELECT cid,title,summary FROM ' . $xoopsDB->prefix('myconference_tracks') . " WHERE tid=$tid");// or $eh::show('0013');
            list($cid_v, $title_v, $summary_v) = $xoopsDB->fetchRow($result);

            // Get the available congress
            $result = $xoopsDB->query('SELECT cid, title FROM ' . $xoopsDB->prefix('myconference_main') . ' ORDER BY Title ASC');// or $eh::show('0013');
            $cid_select = new \XoopsFormSelect(_AM_MYCONFERENCE_CONFERENCESTITLE, 'cid', $cid_v);
            $cid_select->addOption(0, _AM_MYCONFERENCE_NONE);
            while (false !== (list($cid, $title) = $xoopsDB->fetchRow($result))) {
                $cid_select->addOption($cid, $title);
            }

            $title   = new \XoopsFormText(_AM_MYCONFERENCE_TITLE, 'title', 50, 100, $title_v);
            $fct     = new \XoopsFormHidden('fct', 'updtrack');
            $tid     = new \XoopsFormHidden('tid', $tid);
            $summary = new \XoopsFormTextArea(_AM_MYCONFERENCE_SUMMARY, 'summary', '', 25, 100);
            $summary->setValue($summary_v);
            $submit_button = new \XoopsFormButton('', 'submit', _AM_MYCONFERENCE_UPDATE, 'submit');

            $form = new \XoopsThemeForm(_AM_MYCONFERENCE_UPDTRACK, 'edittrackform', 'tracks.php');
            $form->addElement($title, true);
            $form->addElement($cid_select);
            $form->addElement($summary);
            $form->addElement($fct);
            $form->addElement($tid);
            $form->addElement($submit_button);

            $form->display();

            xoops_cp_footer();
        } elseif ('del' === $action) {
            $tid = Request::getInt('tid', 0, 'POST');//trim($_POST['tid']) or $eh::show('1001');
            xoops_confirm(['fct' => 'deltrackok', 'tid' => $tid], 'tracks.php', _AM_MYCONFERENCE_DELTRACK);
            xoops_cp_footer();
        }
        break;

    case 'deltrackok':
        $tid = Request::getInt('tid', 0, 'POST');//trim($_POST['tid']) or $eh::show('1001');
        $result = $xoopsDB->query('DELETE FROM ' . $xoopsDB->prefix('myconference_tracks') . " WHERE tid=$tid");// or $eh::show('0013');
        redirect_header('tracks.php', 2, _AM_MYCONFERENCE_DBUPDATED);
        break;

    case 'addtrack':
        $cid     = Request::getInt('cid', 0, 'POST');//$_POST['cid'];
        $title   = $myts->stripslashesGPC(trim(Request::getString('title', '', 'POST')));//$_POST['title']));
        $summary = $myts->stripslashesGPC(trim(Request::getString('summary', '', 'POST')));//$_POST['summary']));

        $eh = new ErrorHandler;

        $result = $xoopsDB->query('INSERT INTO ' . $xoopsDB->prefix('myconference_tracks') . " (cid, title, summary) VALUES ('$cid', '$title', '$summary')");// or $eh::show('0013');

        if ($result) {
            redirect_header('tracks.php', 2, _AM_MYCONFERENCE_DBUPDATED);
        }
        break;

    default:
        xoops_cp_header();
        // Get available tracks for the Update/Delete form
        $result = $xoopsDB->query('SELECT tid, title FROM ' . $xoopsDB->prefix('myconference_tracks') . ' ORDER BY title ASC');// or $eh::show('0013');
        $track_select = new \XoopsFormSelect(_AM_MYCONFERENCE_TITLE, 'tid');
        while (false !== (list($tid, $title) = $xoopsDB->fetchRow($result))) {
            $track_select->addOption($tid, $title);
        }
        $action_select = new \XoopsFormSelect(_AM_MYCONFERENCE_ACTION, 'action');
        $action_select->addOption('upd', _AM_MYCONFERENCE_EDIT);
        $action_select->addOption('del', _AM_MYCONFERENCE_DELE);
        $fct           = new \XoopsFormHidden('fct', 'edittrack');
        $submit_button = new \XoopsFormButton('', 'submit', _AM_MYCONFERENCE_SUBMIT, 'submit');

        $editform = new \XoopsThemeForm(_AM_MYCONFERENCE_EDITTRACK, 'edittrackform', 'tracks.php');
        $editform->addElement($fct);
        $editform->addElement($track_select);
        $editform->addElement($action_select);
        $editform->addElement($submit_button);

        $editform->display();

        $title         = new \XoopsFormText(_AM_MYCONFERENCE_TITLE, 'title', 50, 100);
        $fct           = new \XoopsFormHidden('fct', 'addtrack');
        $summary       = new \XoopsFormTextArea(_AM_MYCONFERENCE_SUMMARY, 'summary', '', 25, 100);
        $submit_button = new \XoopsFormButton('', 'submit', _AM_MYCONFERENCE_ADD, 'submit');

        // Get the available congress
        $result = $xoopsDB->query('SELECT cid, title FROM ' . $xoopsDB->prefix('myconference_main') . ' ORDER BY Title ASC');// or $eh::show('0013');
        $cid_select = new \XoopsFormSelect(_AM_MYCONFERENCE_CONFERENCESTITLE, 'cid', $cid_v);
        $cid_select->addOption(0, _AM_MYCONFERENCE_NONE);
        while (false !== (list($cid, $cid_title) = $xoopsDB->fetchRow($result))) {
            $cid_select->addOption($cid, $cid_title);
        }

        $form = new \XoopsThemeForm(_AM_MYCONFERENCE_ADDTRACK, 'addtrackform', 'tracks.php');
        $form->addElement($title, true);
        $form->addElement($cid_select);
        $form->addElement($summary);
        $form->addElement($fct);
        $form->addElement($submit_button);

        $form->display();

        xoops_cp_footer();
}