Example #1
0
$del = $request->get_getint('del', 0);
$valid = $request->get_postvalue('valid', false);
$poll_config = PollConfig::load();
//Liste des sondages affichés dans le mini module
$config_displayed_in_mini_module_list = $poll_config->get_displayed_in_mini_module_list();
if ($del && !empty($id)) {
    AppContext::get_session()->csrf_get_protect();
    //Protection csrf
    //On supprime des tables config et reponses des polls.
    PersistenceContext::get_querier()->delete(PREFIX . 'poll', 'WHERE id=:id', array('id' => $id));
    ###### Régénération du cache si le sondage fait parti de la liste des sondages affichés dans le mini-module #######
    if (in_array($id, $config_displayed_in_mini_module_list)) {
        $displayed_in_mini_module_list = $config_displayed_in_mini_module_list;
        unset($displayed_in_mini_module_list[array_search($id, $displayed_in_mini_module_list)]);
        $poll_config->set_displayed_in_mini_module_list($displayed_in_mini_module_list);
        PollConfig::save();
        PollMiniMenuCache::invalidate();
    }
    AppContext::get_response()->redirect('/poll/admin_poll.php');
} elseif ($valid && !empty($id_post)) {
    AppContext::get_session()->csrf_get_protect();
    //Protection csrf
    $question = retrieve(POST, 'question', '');
    $type = retrieve(POST, 'type', 0);
    $archive = retrieve(POST, 'archive', 0);
    $current_date = retrieve(POST, 'current_date', '', TSTRING_UNCHANGE);
    $start = retrieve(POST, 'start', '', TSTRING_UNCHANGE);
    $end = retrieve(POST, 'end', '', TSTRING_UNCHANGE);
    $hour = retrieve(POST, 'hour', '', TSTRING_UNCHANGE);
    $min = retrieve(POST, 'min', '', TSTRING_UNCHANGE);
    $get_visible = retrieve(POST, 'visible', 0);