[6768] | 1 | <?php |
---|
| 2 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
| 3 | |
---|
| 4 | // +-----------------------------------------------------------------------+ |
---|
[9200] | 5 | // Ajout ou modification d'un concours |
---|
[6768] | 6 | // +-----------------------------------------------------------------------+ |
---|
[9200] | 7 | if (isset($_POST['new_submit'])) { |
---|
[9419] | 8 | if ($_POST['name'] != null) { |
---|
[9572] | 9 | // Mise en forme des descriptions |
---|
[9745] | 10 | if (isset($_POST['description'])) { |
---|
| 11 | for ($i=0; $i<=count($_POST['description']); $i++) { |
---|
| 12 | unset($_POST['description'][$i]['rank']); |
---|
[9572] | 13 | } |
---|
[9975] | 14 | // encoder le tableau sérialisé est le seul moyen que j'ai trouvé pour pas perdre les caractères spéciaux et planter unserialize |
---|
[9745] | 15 | $_POST['description'] = base64_encode(serialize($_POST['description'])); |
---|
| 16 | } else { |
---|
| 17 | $_POST['description'] = null; |
---|
[9572] | 18 | } |
---|
| 19 | |
---|
[9419] | 20 | // Modification d'un concours |
---|
[9975] | 21 | if (isset($_GET['contest_id'])) { |
---|
[9419] | 22 | pwg_query("UPDATE " . CR_TABLE_1 . " SET |
---|
| 23 | `name` = '" . $_POST['name'] ."', |
---|
| 24 | `visible` = '" . $_POST['visible'] ."', |
---|
| 25 | `date_begin` = '" . $_POST['date_begin'] ."', |
---|
| 26 | `date_end` = '" . $_POST['date_end'] ."', |
---|
| 27 | `logo` = '" . $_POST['logo'] ."', |
---|
| 28 | `banner` = '" . $_POST['banner'] ."', |
---|
| 29 | `summary` = '" . $_POST['summary'] ."', |
---|
[9572] | 30 | `description` = '" . $_POST['description'] ."' |
---|
[9419] | 31 | WHERE `id` = " . $_GET['contest_id'] .";"); |
---|
| 32 | |
---|
| 33 | // redirige vers la page du concours si on en viens |
---|
| 34 | if (isset($_GET['redirect']) AND $_GET['redirect'] == 'page') { |
---|
| 35 | redirect(CR_PUBLIC . $_GET['contest_id'] . '-' . str2url(trigger_event('render_CR_content', $_POST['name']))); |
---|
| 36 | } else { |
---|
[9745] | 37 | redirect(CR_ADMIN .'-manage&msg=infos.contest_saved'); |
---|
[9419] | 38 | } |
---|
| 39 | |
---|
| 40 | // Ajout d'un concours |
---|
[9200] | 41 | } else { |
---|
[9419] | 42 | pwg_query("INSERT INTO " . CR_TABLE_1 . " |
---|
| 43 | ( |
---|
| 44 | name, |
---|
| 45 | date_begin, |
---|
| 46 | date_end, |
---|
| 47 | visible, |
---|
| 48 | logo, |
---|
| 49 | banner, |
---|
| 50 | summary, |
---|
[9572] | 51 | description |
---|
[9419] | 52 | ) |
---|
| 53 | VALUES( |
---|
| 54 | '" . $_POST['name'] ."', |
---|
| 55 | '" . $_POST['date_begin'] ."', |
---|
| 56 | '" . $_POST['date_end'] ."', |
---|
| 57 | '" . $_POST['visible'] ."', |
---|
| 58 | '" . $_POST['logo'] ."', |
---|
| 59 | '" . $_POST['banner'] ."', |
---|
| 60 | '" . $_POST['summary'] ."', |
---|
[9572] | 61 | '" . $_POST['description'] ."' |
---|
[9419] | 62 | );"); |
---|
[9745] | 63 | |
---|
| 64 | redirect(CR_ADMIN .'-manage&msg=infos.contest_added'); |
---|
[9200] | 65 | } |
---|
[6768] | 66 | |
---|
[9200] | 67 | } else { |
---|
[9745] | 68 | $page['errors'][] = l10n('CR_name_empty'); |
---|
[6768] | 69 | } |
---|
| 70 | } |
---|
| 71 | |
---|
| 72 | |
---|
| 73 | // +-----------------------------------------------------------------------+ |
---|
[9975] | 74 | // Définition des variables template |
---|
[9419] | 75 | // +-----------------------------------------------------------------------+ |
---|
[9975] | 76 | if (isset($_GET['contest_id']) AND !get_contest_name($_GET['contest_id'])) { |
---|
| 77 | redirect(CR_ADMIN .'-new'); |
---|
| 78 | } |
---|
| 79 | |
---|
[9745] | 80 | // Formulaire incomplet |
---|
[9419] | 81 | if ($page['errors']) { |
---|
| 82 | $template->assign(array( |
---|
| 83 | 'NAME' => $_POST['name'], |
---|
| 84 | 'VISIBLE' => $_POST['visible'], |
---|
| 85 | 'DATE_BEGIN' => $_POST['date_begin'], |
---|
| 86 | 'DATE_END' => $_POST['date_end'], |
---|
| 87 | 'LOGO' => $_POST['logo'], |
---|
| 88 | 'BANNER' => $_POST['banner'], |
---|
| 89 | 'SUMMARY' => $_POST['summary'], |
---|
| 90 | )); |
---|
| 91 | |
---|
[9572] | 92 | if (isset($_POST['description'])) { |
---|
| 93 | $i=0; |
---|
| 94 | foreach ($_POST['description'] as $data) { |
---|
| 95 | $template->append('description', array( |
---|
| 96 | 'NAME' => $data['name'], |
---|
| 97 | 'CONTENT' => $data['content'], |
---|
| 98 | 'RANK' => $i, |
---|
| 99 | )); |
---|
| 100 | $i++; |
---|
| 101 | } |
---|
[9419] | 102 | } |
---|
| 103 | |
---|
[6768] | 104 | // Edition d'un concours |
---|
[9975] | 105 | } else if (isset($_GET['contest_id'])) { |
---|
[6768] | 106 | $query = "SELECT * FROM " . CR_TABLE_1 . " WHERE id = " . $_GET['contest_id'] . ";"; |
---|
| 107 | $contest = pwg_db_fetch_assoc(pwg_query($query)); |
---|
| 108 | |
---|
| 109 | $template->assign(array( |
---|
| 110 | 'ID' => $contest['id'], |
---|
| 111 | 'NAME' => $contest['name'], |
---|
| 112 | 'VISIBLE' => $contest['visible'], |
---|
| 113 | 'DATE_BEGIN' => $contest['date_begin'], |
---|
| 114 | 'DATE_END' => $contest['date_end'], |
---|
| 115 | 'LOGO' => $contest['logo'], |
---|
| 116 | 'BANNER' => $contest['banner'], |
---|
| 117 | 'SUMMARY' => $contest['summary'], |
---|
| 118 | )); |
---|
| 119 | |
---|
[9745] | 120 | if (!empty($contest['description'])) { |
---|
[9572] | 121 | $contest['description'] = unserialize(base64_decode($contest['description'])); |
---|
| 122 | $i=0; |
---|
| 123 | foreach ($contest['description'] AS $desc) { |
---|
| 124 | $template->append('description', array( |
---|
| 125 | 'NAME' => stripslashes($desc['name']), |
---|
| 126 | 'CONTENT' => stripslashes($desc['content']), |
---|
| 127 | 'RANK' => $i, |
---|
| 128 | )); |
---|
| 129 | $i++; |
---|
| 130 | } |
---|
[6768] | 131 | } |
---|
| 132 | |
---|
| 133 | // Ajout d'un concours |
---|
[9200] | 134 | } else { |
---|
[6768] | 135 | $template->assign(array( |
---|
| 136 | 'NAME' => null, |
---|
| 137 | 'VISIBLE' => 1, |
---|
| 138 | 'DATE_BEGIN' => date('Y-m-d'), |
---|
| 139 | 'DATE_END' => date('Y-m-d', time()+2592000), |
---|
| 140 | 'LOGO' => null, |
---|
| 141 | 'BANNER' => null, |
---|
| 142 | 'SUMMARY' => null, |
---|
| 143 | )); |
---|
| 144 | } |
---|
| 145 | |
---|
| 146 | // +-----------------------------------------------------------------------+ |
---|
| 147 | // Template |
---|
| 148 | // +-----------------------------------------------------------------------+ |
---|
| 149 | $template->set_filenames(array('plugin_admin_content' => dirname(__FILE__).'/template/new.tpl')); |
---|
| 150 | $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); |
---|
[9745] | 151 | |
---|
[6768] | 152 | ?> |
---|