Exemplo n.º 1
0
function survey_funct()
{
    // get global user object
    global $user;
    // set connection var
    global $db;
    // get current time
    $time_now = date("Y-m-d H:i:s");
    // protect from unauthorized access
    if (!isset($user) or !isset($_POST['formSurveyFunction'])) {
        logout();
        die;
    }
    // set empty survey
    $session_survey = new Survey();
    $session_survey = get_session_survey();
    $survey_id = $_POST['formSurveyFunction'];
    if ($survey_id != "") {
        $session_survey->get_from_db($survey_id);
    }
    // get the function
    $function = '';
    foreach ($_POST as $key => $post) {
        if ($post != $survey_id) {
            $function = substr($key, 10);
        }
    }
    if ($function == 'Print') {
        $_SESSION['survey_id'] = $survey_id;
        header('location: ' . ROOT_DIR . '?print=survey_print');
        die;
    } elseif ($function == 'Remove') {
        if ($session_survey->getId() != NULL) {
            //query to delete survey
            $session_survey->setIsActive(0);
            $session_survey->update_in_db();
        }
        $cookie_key = 'msg';
        $cookie_value = 'Вие успешно изтрихте Ваша анкета!';
        setcookie($cookie_key, $cookie_value, time() + 1);
        header('Location: ' . ROOT_DIR . '?page=admin_survey');
        die;
    } elseif ($function == 'Reset') {
        if (isset($_SESSION['session_survey'])) {
            unset($_SESSION['session_survey']);
        }
        if (isset($_SESSION['session_groups'])) {
            unset($_SESSION['session_groups']);
        }
        if (isset($_SESSION['session_answers'])) {
            unset($_SESSION['session_answers']);
        }
        if (isset($_SESSION['session_question'])) {
            unset($_SESSION['session_question']);
        }
        header('location: ' . ROOT_DIR . '?page=survey_edit');
        die;
    } elseif ($function == 'Edit') {
        // check if post a survey id and asign
        if (!isset($_POST['formSurveyFunction'])) {
            // or go back
            $cookie_key = 'msg';
            $cookie_value = 'Не е избрана анкета!';
            setcookie($cookie_key, $cookie_value, time() + 1);
            header('Location: ' . ROOT_DIR . '?page=admin_survey');
            die;
        }
        $session_survey->get_from_db(intval($_POST['formSurveyFunction']));
        // check for illegal access
        if ($session_survey->getCreatedBy() != $user->getId() && $user->getAdmin() != 1) {
            error('Опит за неоторизиран достъп!');
            $cookie_key = 'msg';
            $cookie_value = 'Опит за неоторизиран достъп!';
            setcookie($cookie_key, $cookie_value, time() + 1);
            header('Location: ' . ROOT_DIR . '?page=admin_survey');
            die;
        }
        $_SESSION['session_survey'] = serialize($session_survey);
        $session_groups = array();
        $session_groups['type'] = '';
        $session_groups['student'] = get_survey_student_groups($session_survey->getId());
        $session_groups['staff'] = get_survey_staff_groups($session_survey->getId());
        $session_groups['local'] = get_survey_local_groups($session_survey->getId());
        $_SESSION['session_groups'] = serialize($session_groups);
        $cookie_key = 'msg';
        $cookie_value = 'Вие избрахте анкета за редакция!';
        setcookie($cookie_key, $cookie_value, time() + 1);
        header('Location: ' . ROOT_DIR . '?page=survey_edit');
        die;
    } elseif ($function == 'Save') {
        // check for answers
        $session_answers = array();
        $session_answers = get_session_answers();
        $available_from = $_POST['formSurveyFromDate'] . " " . $_POST['formSurveyFromHour'] . ":00";
        $available_due = $_POST['formSurveyDueDate'] . " " . $_POST['formSurveyDueHour'] . ":00";
        $title = $_POST['formSurveyTitle'];
        $status = $_POST['formSurveyStatus'];
        $session_survey->setIsActive(1);
        $session_survey->setCreatedOn($time_now);
        $session_survey->setLastEditedOn($time_now);
        $session_survey->setAvailableFrom($available_from);
        $session_survey->setAvailableDue($available_due);
        $session_survey->setTitle(htmlspecialchars($title));
        $session_survey->setStatus($status);
        $_SESSION['session_survey'] = serialize($session_survey);
        // check for groups
        $session_groups = array();
        $session_groups = get_session_groups();
        if (empty($session_groups['student']) && empty($session_groups['staff']) && empty($session_groups['staff_departments']) && empty($session_groups['local'])) {
            $cookie_key = 'msg';
            $cookie_value = 'Моля, добавете поне една анкетна група!';
            setcookie($cookie_key, $cookie_value, time() + 1);
            header('Location: ' . ROOT_DIR . '?page=survey_edit');
            die;
        }
        if (isset($session_groups['staff_departments']) && is_array($session_groups['staff_departments'])) {
            if (is_array($session_groups['staff'])) {
                $session_groups['staff'] = array_merge($session_groups['staff'], $session_groups['staff_departments']);
            } else {
                $session_groups['staff'] = $session_groups['staff_departments'];
            }
        }
        $session_survey->setStudentGroups(serialize($session_groups['student']));
        $session_survey->setStaffGroups(serialize($session_groups['staff']));
        $session_survey->setLocalGroups(serialize($session_groups['local']));
        if ($session_survey->getId() != NULL) {
            $session_survey->update_in_db();
            $_SESSION['session_survey'] = serialize($session_survey);
            $cookie_key = 'msg';
            $cookie_value = 'Вие успешно добавихте/редактирахте анкета!';
            setcookie($cookie_key, $cookie_value, time() + 1);
            header('Location: ' . ROOT_DIR . '?page=survey_edit');
            die;
        } else {
            $cookie_key = 'msg';
            $cookie_value = 'Моля, добавете поне един елемент към анкетата!';
            setcookie($cookie_key, $cookie_value, time() + 1);
            header('Location: ' . ROOT_DIR . '?page=survey_edit');
            die;
        }
        unset($_SESSION['session_groups']);
    } elseif ($function == 'VoteDelete') {
        if (!isset($_SESSION['session_user']) || !isset($_SESSION['session_user'])) {
            logout();
            die;
        }
        $survey_id = $_POST['formSurveyFunction'];
        $session_user = new User();
        $session_user = unserialize($_SESSION['session_user']);
        $user_id = $session_user->getId();
        $time_now = date("Y-m-d H:i:s");
        $sql = "UPDATE votes\r\n                SET is_active = '0'\r\n                    last_edited_ob = '{$time_now}'\r\n                WHERE   is_active = '1'\r\n                        AND user_id = '{$user_id}'\r\n                        AND survey_id = '{$survey_id}'";
        try {
            $db->exec($sql);
            $info = "Delete vote in db for user:"******" for survey: {$survey_id}";
            info($info);
        } catch (PDOException $e) {
            $error = "Delete vote in db error:" . $e->getTraceAsString();
            error($error);
        }
        $cookie_key = 'msg';
        $cookie_value = 'Вие успешно изтрихте вот на потребителя!';
        setcookie($cookie_key, $cookie_value, time() + 1);
        header('Location: ' . ROOT_DIR . '?page=survey_user');
        die;
    } elseif ($function == 'UserView') {
        $survey_id = $_POST['formSurveyFunction'];
        $_SESSION['surveyUserViewSurveyId'] = $survey_id;
        var_dump($_SESSION);
        header('Location: ' . ROOT_DIR . '?page=survey');
        die;
    } elseif ($function == 'UserVote') {
        $survey_id = $_POST['formSurveyFunction'];
        $_SESSION['surveyUserViewSurveyId'] = $survey_id;
        var_dump($_SESSION);
        header('Location: ' . ROOT_DIR . '?page=survey');
        die;
    } elseif ($function == 'PrintExcel') {
        // get global user object
        global $user;
        // get survey id
        $survey_id = $_POST['formSurveyFunction'];
        // check if the user is the surveyCreator or systemAdmin
        $survey = new Survey();
        $survey->get_from_db($survey_id);
        if (intval($survey->getCreatedBy()) != $user->getId() && $user->getAdmin() != 1) {
            logout();
            die;
        }
        header('Location: ' . ROOT_DIR . 'functions/print/excel/surveyReport.php?survey_id=' . $survey_id);
        die;
    } elseif ($function == 'UserVoteDelele') {
        // get global user object
        global $user;
        // secure the function
        if ($user->getAdmin() != 1) {
            logout();
            die;
        }
        $user_id = $_GET['user_id'];
        $survey_id = $_POST['formSurveyFunction'];
        $surveyFunctions = new SurveyFunctions();
        $surveyFunctions->get_from_db($survey_id);
        $surveyVotes = array();
        $surveyVotes = $surveyFunctions->getVotesByUser($user_id);
        $user = new User();
        $user->get_from_db($user_id);
        if (!empty($surveyVotes)) {
            foreach ($surveyVotes as $surveyVoteId) {
                $surveyVote = new Vote();
                $surveyVote->get_from_db($surveyVoteId);
                $surveyVote->setIsActive(0);
                $surveyVote->update_in_db();
            }
            $cookieKey = 'msg';
            $cookieValue = 'Гласуването на съответния потребител беше успешно изтрито!';
            setcookie($cookieKey, $cookieValue, time() + 1);
            header('Location: ' . ROOT_DIR . '?page=admin_system_user_edit');
            die;
        }
        $cookieKey = 'msg';
        $cookieValue = 'Няма налично гласуването за съответния потребител!';
        setcookie($cookieKey, $cookieValue, time() + 1);
        header('Location: ' . ROOT_DIR . '?page=admin_system_user_edit');
        die;
    }
    die;
}
Exemplo n.º 2
0
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/class/Answer.php';
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/class/Group.php';
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/class/Survey.php';
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/class/SurveyFunctions.php';
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/class/User.php';
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/class/UserFunctions.php';
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/class/Vote.php';
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/class/Message.php';
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/class/Question.php';
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/class/QuestionFunctions.php';
// get question
$question = new QuestionFunctions();
$question->get_from_db($question_id);
// get question's survey groups
$survey_id = $question->getSurvey();
$survey = new SurveyFunctions();
$survey->get_from_db($survey_id);
$surveyGroups = $survey->getAllGroupsArray();
// get voted users
$voted_users = $question->getVotedUsers();
// get question answers
$question_answers = $question->get_answers();
$alphas = array('', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/Sofia');
if (PHP_SAPI == 'cli') {
    die('This example should only be run from a Web Browser');
}