Passed
Pull Request — master (#5)
by Michael
02:50
created

admin/category.php (1 issue)

Labels
Severity
1
<?php
2
/**
3
 * TDMDownload
4
 *
5
 * You may not change or alter any portion of this comment or credits
6
 * of supporting developers from this source code or any supporting source code
7
 * which is considered copyrighted (c) material of the original comment or credit authors.
8
 * This program is distributed in the hope that it will be useful,
9
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
 *
12
 * @copyright   Gregory Mage (Aka Mage)
13
 * @license     GNU GPL 2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
14
 * @author      Gregory Mage (Aka Mage)
15
 */
16
17
use XoopsModules\Tdmdownloads;
18
19
require __DIR__ . '/admin_header.php';
20
/** @var \XoopsModules\Tdmdownloads\Helper $helper */
21
$helper = \XoopsModules\Tdmdownloads\Helper::getInstance();
22
//On recupere la valeur de l'argument op dans l'URL$
23
$op = $utility->cleanVars($_REQUEST, 'op', 'list', 'string');
24
25
//Les valeurs de op qui vont permettre d'aller dans les differentes parties de la page
26
switch ($op) {
27
    // Vue liste
28
    case 'list':
29
        //Affichage de la partie haute de l'administration de Xoops
30
        xoops_cp_header();
31
32
        $moduleDirName = basename(dirname(__DIR__));
33
        $adminObject   = \Xmf\Module\Admin::getInstance();
34
        $adminObject->displayNavigation(basename(__FILE__));
35
        $adminObject->addItemButton(_AM_TDMDOWNLOADS_CAT_NEW, 'category.php?op=new_cat', 'add');
36
        $adminObject->displayButton('left');
37
        $criteria = new \CriteriaCompo();
38
        $criteria->setSort('cat_weight ASC, cat_title');
39
        $criteria->setOrder('ASC');
40
        $downloads_cat = $categoryHandler->getAll($criteria);
41
        //Affichage du tableau
42
        if (count($downloads_cat) > 0) {
43
            echo '<table width="100%" cellspacing="1" class="outer">';
44
            echo '<tr>';
45
            echo '<th align="left" width="25%">' . _AM_TDMDOWNLOADS_FORMTITLE . '</th>';
46
            echo '<th align="center" width="10%">' . _AM_TDMDOWNLOADS_FORMIMG . '</th>';
47
            echo '<th align="center">' . _AM_TDMDOWNLOADS_FORMTEXT . '</th>';
48
            echo '<th align="center" width="3%">' . _AM_TDMDOWNLOADS_FORMWEIGHT . '</th>';
49
            echo '<th align="center" width="8%">' . _AM_TDMDOWNLOADS_FORMACTION . '</th>';
50
            echo '</tr>';
51
            $class = 'odd';
52
            //            require_once XOOPS_ROOT_PATH . "/modules/$moduleDirName/class/tree.php";
53
            $mytree             = new Tdmdownloads\Tree($downloads_cat, 'cat_cid', 'cat_pid');
54
            $category_ArrayTree = $mytree->makeArrayTree('cat_title', '<img src="../assets/images/deco/arrow.gif">');
55
            foreach (array_keys($category_ArrayTree) as $i) {
56
                echo '<tr class="' . $class . '">';
57
                echo '<td align="left" ><a href="' . XOOPS_URL . '/modules/' . $moduleDirName . '/viewcat.php?cid=' . $i . '">' . $category_ArrayTree[$i] . '</a></td>';
58
                echo '<td align="center">';
59
                echo '<img src="' . $uploadurl . $downloads_cat[$i]->getVar('cat_imgurl') . '" alt="" title="" style="max-height: 60px">';
60
                echo '</td>';
61
                echo '<td align="left">' . $downloads_cat[$i]->getVar('cat_description_main') . '</td>';
62
                echo '<td align="center">' . $downloads_cat[$i]->getVar('cat_weight') . '</td>';
63
                echo '<td align="center">';
64
                echo '<a href="category.php?op=edit_cat&downloadscat_cid=' . $i . '"><img src="../assets/images/icon/edit.png" alt="' . _AM_TDMDOWNLOADS_FORMEDIT . '" title="' . _AM_TDMDOWNLOADS_FORMEDIT . '"></a> ';
65
                echo '<a href="category.php?op=del_cat&downloadscat_cid=' . $i . '"><img src="../assets/images/icon/delete.png" alt="' . _AM_TDMDOWNLOADS_FORMDEL . '" title="' . _AM_TDMDOWNLOADS_FORMDEL . '"></a>';
66
                echo '</td>';
67
                echo '</tr>';
68
                $class = ('even' === $class) ? 'odd' : 'even';
69
            }
70
            echo '</table>';
71
        }
72
        break;
73
    // vue création
74
    case 'new_cat':
75
        //Affichage de la partie haute de l'administration de Xoops
76
        xoops_cp_header();
77
        $adminObject = \Xmf\Module\Admin::getInstance();
78
        $adminObject->displayNavigation(basename(__FILE__));
79
        $adminObject->addItemButton(_AM_TDMDOWNLOADS_CAT_LIST, 'category.php?op=list', 'list');
80
        $adminObject->displayButton('left');
81
        //Affichage du formulaire de création des catégories
82
        $obj  = $categoryHandler->create();
83
        $form = $obj->getForm();
84
        $form->display();
85
        break;
86
    // Pour éditer une catégorie
87
    case 'edit_cat':
88
        //Affichage de la partie haute de l'administration de Xoops
89
        xoops_cp_header();
90
        $adminObject = \Xmf\Module\Admin::getInstance();
91
        $adminObject->displayNavigation(basename(__FILE__));
92
        $adminObject->addItemButton(_AM_TDMDOWNLOADS_CAT_NEW, 'category.php?op=new_cat', 'add');
93
        $adminObject->addItemButton(_AM_TDMDOWNLOADS_CAT_LIST, 'category.php?op=list', 'list');
94
        $adminObject->displayButton('left');
95
        //Affichage du formulaire de création des catégories
96
        $downloadscat_cid = $utility->cleanVars($_REQUEST, 'downloadscat_cid', 0, 'int');
97
        $obj              = $categoryHandler->get($downloadscat_cid);
98
        $form             = $obj->getForm();
99
        $form->display();
100
        break;
101
    // Pour supprimer une catégorie
102
    case 'del_cat':
103
        global $xoopsModule;
104
        $downloadscat_cid = $utility->cleanVars($_REQUEST, 'downloadscat_cid', 0, 'int');
105
        $obj              = $categoryHandler->get($downloadscat_cid);
106
        if (\Xmf\Request::hasVar('ok', 'REQUEST') && 1 == $_REQUEST['ok']) {
107
            if (!$GLOBALS['xoopsSecurity']->check()) {
108
                redirect_header('category.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
109
            }
110
            // supression des téléchargements de la catégorie
111
            $criteria = new \CriteriaCompo();
112
            $criteria->add(new \Criteria('cid', $downloadscat_cid));
113
            $downloads_arr = $downloadsHandler->getAll($criteria);
114
            foreach (array_keys($downloads_arr) as $i) {
115
                // supression des votes
116
                $criteria_1 = new \CriteriaCompo();
117
                $criteria_1->add(new \Criteria('lid', $downloads_arr[$i]->getVar('lid')));
118
                $downloads_votedata = $ratingHandler->getAll($criteria_1);
119
                foreach (array_keys($downloads_votedata) as $j) {
120
                    $objvotedata = $ratingHandler->get($downloads_votedata[$j]->getVar('ratingid'));
121
                    $ratingHandler->delete($objvotedata) || $objvotedata->getHtmlErrors();
122
                }
123
                // supression des rapports de fichier brisé
124
                $criteria_2 = new \CriteriaCompo();
125
                $criteria_2->add(new \Criteria('lid', $downloads_arr[$i]->getVar('lid')));
126
                $downloads_broken = $brokenHandler->getAll($criteria_2);
127
                foreach (array_keys($downloads_broken) as $j) {
128
                    $objbroken = $brokenHandler->get($downloads_broken[$j]->getVar('reportid'));
129
                    $brokenHandler->delete($objbroken) || $objbroken->getHtmlErrors();
130
                }
131
                // supression des data des champs sup.
132
                $criteria_3 = new \CriteriaCompo();
133
                $criteria_3->add(new \Criteria('lid', $downloads_arr[$i]->getVar('lid')));
134
                $downloads_fielddata = $fielddataHandler->getAll($criteria_3);
135
                if ($fielddataHandler->getCount($criteria_3) > 0) {
136
                    foreach (array_keys($downloads_fielddata) as $j) {
137
                        $objfielddata = $fielddataHandler->get($downloads_fielddata[$j]->getVar('iddata'));
138
                        $fielddataHandler->delete($objfielddata) || $objvfielddata->getHtmlErrors();
139
                    }
140
                }
141
                // supression des commentaires
142
                if ($downloads_arr[$i]->getVar('comments') > 0) {
143
                    xoops_comment_delete($xoopsModule->getVar('mid'), $downloads_arr[$i]->getVar('lid'));
144
                }
145
                //supression des tags
146
                if ((1 == $helper->getConfig('usetag')) && is_dir(dirname(dirname(__DIR__)) . '/tag')) {
147
                    /** @var \XoopsModules\Tag\LinkHandler $linkHandler */
148
                    $linkHandler = \XoopsModules\Tag\Helper::getInstance()->getHandler('Link');
149
                    $criteria   = new \CriteriaCompo();
150
                    $criteria->add(new \Criteria('tag_itemid', $downloads_arr[$i]->getVar('lid')));
151
                    $downloads_tags = $linkHandler->getAll($criteria);
152
                    if (count($downloads_tags) > 0) {
153
                        foreach (array_keys($downloads_tags) as $j) {
154
                            $objtags = $linkHandler->get($downloads_tags[$j]->getVar('tl_id'));
155
                            $linkHandler->delete($objtags) || $objtags->getHtmlErrors();
156
                        }
157
                    }
158
                }
159
                // supression du fichier
160
                // pour extraire le nom du fichier
161
                $urlfile = substr_replace($downloads_arr[$i]->getVar('url'), '', 0, mb_strlen($uploadurl_downloads));
162
                // chemin du fichier
163
                $urlfile = $uploaddir_downloads . $urlfile;
164
                if (is_file($urlfile)) {
165
                    chmod($urlfile, 0777);
166
                    unlink($urlfile);
167
                }
168
                // supression du téléchargment
169
                $objdownloads = $downloadsHandler->get($downloads_arr[$i]->getVar('lid'));
170
                $downloadsHandler->delete($objdownloads) || $objdownloads->getHtmlErrors();
171
            }
172
            // supression des sous catégories avec leurs téléchargements
173
            $downloadscatArray  = $categoryHandler->getAll();
174
            $mytree             = new \XoopsModules\Tdmdownloads\Tree($downloadscatArray, 'cat_cid', 'cat_pid');
175
            $downloads_childcat = $mytree->getAllChild($downloadscat_cid);
176
            foreach (array_keys($downloads_childcat) as $i) {
177
                // supression de la catégorie
178
                $objchild = $categoryHandler->get($downloads_childcat[$i]->getVar('cat_cid'));
179
                $categoryHandler->delete($objchild) || $objchild->getHtmlErrors();
180
                // supression des téléchargements associés
181
                $criteria = new \CriteriaCompo();
182
                $criteria->add(new \Criteria('cid', $downloads_childcat[$i]->getVar('cat_cid')));
183
                $downloads_arr = $downloadsHandler->getAll($criteria);
184
                foreach (array_keys($downloads_arr) as $j) {
185
                    // supression des votes
186
                    $criteria = new \CriteriaCompo();
187
                    $criteria->add(new \Criteria('lid', $downloads_arr[$j]->getVar('lid')));
188
                    $downloads_votedata = $ratingHandler->getAll($criteria);
189
                    foreach (array_keys($downloads_votedata) as $k) {
190
                        $objvotedata = $ratingHandler->get($downloads_votedata[$k]->getVar('ratingid'));
191
                        $ratingHandler->delete($objvotedata) || $objvotedata->getHtmlErrors();
192
                    }
193
                    // supression des rapports de fichier brisé
194
                    $criteria = new \CriteriaCompo();
195
                    $criteria->add(new \Criteria('lid', $downloads_arr[$j]->getVar('lid')));
196
                    $downloads_broken = $brokenHandler->getAll($criteria);
197
                    foreach (array_keys($downloads_broken) as $k) {
198
                        $objbroken = $brokenHandler->get($downloads_broken[$k]->getVar('reportid'));
199
                        $brokenHandler->delete($objbroken) || $objbroken->getHtmlErrors();
200
                    }
201
                    // supression des data des champs sup.
202
                    $criteria = new \CriteriaCompo();
203
                    $criteria->add(new \Criteria('lid', $downloads_arr[$j]->getVar('lid')));
204
                    $downloads_fielddata = $fielddataHandler->getAll($criteria);
205
                    foreach (array_keys($downloads_fielddata) as $k) {
206
                        $objfielddata = $fielddataHandler->get($downloads_fielddata[$k]->getVar('iddata'));
207
                        $fielddataHandler->delete($objfielddata) || $objvfielddata->getHtmlErrors();
208
                    }
209
                    // supression des commentaires
210
                    if ($downloads_arr[$j]->getVar('comments') > 0) {
211
                        xoops_comment_delete($xoopsModule->getVar('mid'), $downloads_arr[$j]->getVar('lid'));
212
                    }
213
                    //supression des tags
214
                    if ((1 == $helper->getConfig('usetag')) && is_dir('../../tag')) {
215
                        /** @var \XoopsModules\Tag\LinkHandler $linkHandler */
216
                        $linkHandler = \XoopsModules\Tag\Helper::getInstance()->getHandler('Link');
217
                        $criteria   = new \CriteriaCompo();
218
                        $criteria->add(new \Criteria('tag_itemid', $downloads_arr[$j]->getVar('lid')));
219
                        $downloads_tags = $linkHandler->getAll($criteria);
220
                        if (count($downloads_tags) > 0) {
221
                            foreach (array_keys($downloads_tags) as $k) {
222
                                $objtags = $linkHandler->get($downloads_tags[$k]->getVar('tl_id'));
223
                                $linkHandler->delete($objtags) || $objtags->getHtmlErrors();
224
                            }
225
                        }
226
                    }
227
                    // supression du fichier
228
                    $urlfile = substr_replace($downloads_arr[$j]->getVar('url'), '', 0, mb_strlen($uploadurl_downloads)); // pour extraire le nom du fichier
229
                    $urlfile = $uploaddir_downloads . $urlfile; // chemin du fichier
230
                    if (is_file($urlfile)) {
231
                        chmod($urlfile, 0777);
232
                        unlink($urlfile);
233
                    }
234
                    // supression du téléchargment
235
                    $objdownloads = $downloadsHandler->get($downloads_arr[$j]->getVar('lid'));
236
                    $downloadsHandler->delete($objdownloads) || $objdownloads->getHtmlErrors();
237
                }
238
            }
239
            if ($categoryHandler->delete($obj)) {
240
                redirect_header('category.php', 1, _AM_TDMDOWNLOADS_REDIRECT_DELOK);
241
            } else {
242
                echo $obj->getHtmlErrors();
243
            }
244
        } else {
245
            $message  = '';
246
            $criteria = new \CriteriaCompo();
247
            $criteria->add(new \Criteria('cid', $downloadscat_cid));
248
            $downloads_arr = $downloadsHandler->getAll($criteria);
249
            if (count($downloads_arr) > 0) {
250
                $message .= _AM_TDMDOWNLOADS_DELDOWNLOADS . '<br>';
251
                foreach (array_keys($downloads_arr) as $i) {
252
                    $message .= '<span style="color : #ff0000">' . $downloads_arr[$i]->getVar('title') . '</span><br>';
253
                }
254
            }
255
            $downloadscatArray  = $categoryHandler->getAll();
256
            $mytree             = new \XoopsModules\Tdmdownloads\Tree($downloadscatArray, 'cat_cid', 'cat_pid');
257
            $downloads_childcat = $mytree->getAllChild($downloadscat_cid);
258
            if (count($downloads_childcat) > 0) {
259
                $message .= _AM_TDMDOWNLOADS_DELSOUSCAT . ' <br><br>';
260
                foreach (array_keys($downloads_childcat) as $i) {
261
                    $message  .= '<b><span style="color : #ff0000">' . $downloads_childcat[$i]->getVar('cat_title') . '</span></b><br>';
262
                    $criteria = new \CriteriaCompo();
263
                    $criteria->add(new \Criteria('cid', $downloads_childcat[$i]->getVar('cat_cid')));
264
                    $downloads_arr = $downloadsHandler->getAll($criteria);
265
                    if (count($downloads_arr) > 0) {
266
                        $message .= _AM_TDMDOWNLOADS_DELDOWNLOADS . '<br>';
267
                        foreach (array_keys($downloads_arr) as $k) {
268
                            $message .= '<span style="color: #ff0000;">' . $downloads_arr[$k]->getVar('title') . '</span><br>';
269
                        }
270
                    }
271
                }
272
            } else {
273
                $message .= '';
274
            }
275
            //Affichage de la partie haute de l'administration de Xoops
276
            xoops_cp_header();
277
            $adminObject = \Xmf\Module\Admin::getInstance();
278
            $adminObject->addItemButton(_AM_TDMDOWNLOADS_CAT_NEW, 'category.php?op=new_cat', 'add');
279
            $adminObject->addItemButton(_AM_TDMDOWNLOADS_CAT_LIST, 'category.php?op=list', 'list');
280
            $adminObject->displayButton('left');
281
            xoops_confirm([
282
                              'ok'               => 1,
283
                              'downloadscat_cid' => $downloadscat_cid,
284
                              'op'               => 'del_cat',
285
                          ], $_SERVER['REQUEST_URI'], sprintf(_AM_TDMDOWNLOADS_FORMSUREDEL, $obj->getVar('cat_title')) . '<br><br>' . $message);
286
        }
287
288
        break;
289
    // Pour sauver une catégorie
290
    case 'save_cat':
291
        if (!$GLOBALS['xoopsSecurity']->check()) {
292
            redirect_header('category.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
293
        }
294
        xoops_cp_header();
295
        $cat_cid = \Xmf\Request::getInt('cat_cid', '', 'POST'); //$utility->cleanVars($_REQUEST, 'cat_cid', 0, 'int');
0 ignored issues
show
'' of type string is incompatible with the type integer expected by parameter $default of Xmf\Request::getInt(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

295
        $cat_cid = \Xmf\Request::getInt('cat_cid', /** @scrutinizer ignore-type */ '', 'POST'); //$utility->cleanVars($_REQUEST, 'cat_cid', 0, 'int');
Loading history...
296
        if (isset($cat_cid)) {
297
            $obj = $categoryHandler->get($cat_cid);
298
        } else {
299
            $obj = $categoryHandler->create();
300
        }
301
        $erreur         = false;
302
        $message_erreur = '';
303
        // Récupération des variables:
304
        // Pour l'image
305
        require_once XOOPS_ROOT_PATH . '/class/uploader.php';
306
        $uploader = new \XoopsMediaUploader($uploaddir, [
307
            'image/gif',
308
            'image/jpeg',
309
            'image/pjpeg',
310
            'image/x-png',
311
            'image/png',
312
        ], $helper->getConfig('maxuploadsize'), null, null);
313
        if ($uploader->fetchMedia($_POST['xoops_upload_file'][0])) {
314
            $uploader->setPrefix('downloads_');
315
            $uploader->fetchMedia($_POST['xoops_upload_file'][0]);
316
            if (!$uploader->upload()) {
317
                $errors = $uploader->getErrors();
318
                redirect_header('javascript:history.go(-1)', 3, $errors);
319
            } else {
320
                $obj->setVar('cat_imgurl', $uploader->getSavedFileName());
321
            }
322
        } else {
323
            $obj->setVar('cat_imgurl', $_REQUEST['downloadscat_img']);
324
        }
325
        // Pour les autres variables
326
        $obj->setVar('cat_pid', \Xmf\Request::getInt('cat_pid', 0, 'POST')); //$_POST['cat_pid']);
327
        $obj->setVar('cat_title', \Xmf\Request::getString('cat_title', '', 'POST')); //$_POST['cat_title']);
328
        $obj->setVar('cat_description_main', \Xmf\Request::getString('cat_description_main', '', 'POST')); //$_POST['cat_description_main']);
329
        $obj->setVar('cat_weight', \Xmf\Request::getInt('cat_weight', 0, 'POST')); //$_POST["cat_weight"]);
330
        if (0 === \Xmf\Request::getInt('cat_weight', 0, 'REQUEST') && '0' !== $_REQUEST['cat_weight']) {
331
            $erreur         = true;
332
            $message_erreur = _AM_TDMDOWNLOADS_ERREUR_WEIGHT . '<br>';
333
        }
334
        if (\Xmf\Request::hasVar('cat_cid', 'REQUEST')) {
335
            if ($cat_cid === \Xmf\Request::getInt('cat_pid', 0, 'POST')) {
336
                $erreur         = true;
337
                $message_erreur .= _AM_TDMDOWNLOADS_ERREUR_CAT;
338
            }
339
        }
340
        if (true === $erreur) {
341
            echo '<div class="errorMsg" style="text-align: left;">' . $message_erreur . '</div>';
342
        } else {
343
            if ($categoryHandler->insert($obj)) {
344
                $newcat_cid = $obj->getNewEnreg($db);
345
                //permission pour voir
346
                $perm_id          = isset($_REQUEST['cat_cid']) ? $cat_cid : $newcat_cid;
347
                $grouppermHandler = xoops_getHandler('groupperm');
348
                $criteria         = new \CriteriaCompo();
349
                $criteria->add(new \Criteria('gperm_itemid', $perm_id, '='));
350
                $criteria->add(new \Criteria('gperm_modid', $xoopsModule->getVar('mid'), '='));
351
                $criteria->add(new \Criteria('gperm_name', 'tdmdownloads_view', '='));
352
                $grouppermHandler->deleteAll($criteria);
353
                if (\Xmf\Request::hasVar('groups_view', 'POST')) {
354
                    foreach ($_POST['groups_view'] as $onegroup_id) {
355
                        $grouppermHandler->addRight('tdmdownloads_view', $perm_id, $onegroup_id, $xoopsModule->getVar('mid'));
356
                    }
357
                }
358
                //permission pour editer
359
                $perm_id          = isset($_REQUEST['cat_cid']) ? $cat_cid : $newcat_cid;
360
                $grouppermHandler = xoops_getHandler('groupperm');
361
                $criteria         = new \CriteriaCompo();
362
                $criteria->add(new \Criteria('gperm_itemid', $perm_id, '='));
363
                $criteria->add(new \Criteria('gperm_modid', $xoopsModule->getVar('mid'), '='));
364
                $criteria->add(new \Criteria('gperm_name', 'tdmdownloads_submit', '='));
365
                $grouppermHandler->deleteAll($criteria);
366
                if (\Xmf\Request::hasVar('groups_submit', 'POST')) {
367
                    foreach ($_POST['groups_submit'] as $onegroup_id) {
368
                        $grouppermHandler->addRight('tdmdownloads_submit', $perm_id, $onegroup_id, $xoopsModule->getVar('mid'));
369
                    }
370
                }
371
                //permission pour télécharger
372
                if (1 == $helper->getConfig('permission_download')) {
373
                    $perm_id          = isset($_REQUEST['cat_cid']) ? $cat_cid : $newcat_cid;
374
                    $grouppermHandler = xoops_getHandler('groupperm');
375
                    $criteria         = new \CriteriaCompo();
376
                    $criteria->add(new \Criteria('gperm_itemid', $perm_id, '='));
377
                    $criteria->add(new \Criteria('gperm_modid', $xoopsModule->getVar('mid'), '='));
378
                    $criteria->add(new \Criteria('gperm_name', 'tdmdownloads_download', '='));
379
                    $grouppermHandler->deleteAll($criteria);
380
                    if (\Xmf\Request::hasVar('groups_download', 'POST')) {
381
                        foreach ($_POST['groups_download'] as $onegroup_id) {
382
                            $grouppermHandler->addRight('tdmdownloads_download', $perm_id, $onegroup_id, $xoopsModule->getVar('mid'));
383
                        }
384
                    }
385
                }
386
                //notification
387
                if (!isset($_REQUEST['categorie_modified'])) {
388
                    $tags                  = [];
389
                    $tags['CATEGORY_NAME'] = \Xmf\Request::getString('cat_title', '', 'POST');
390
                    $tags['CATEGORY_URL']  = XOOPS_URL . '/modules/' . $moduleDirName . '/viewcat.php?cid=' . $newcat_cid;
391
                    $notificationHandler   = xoops_getHandler('notification');
392
                    $notificationHandler->triggerEvent('global', 0, 'new_category', $tags);
393
                }
394
                redirect_header('category.php?op=list', 1, _AM_TDMDOWNLOADS_REDIRECT_SAVE);
395
            }
396
            echo $obj->getHtmlErrors();
397
        }
398
        $form = $obj->getForm();
399
        $form->display();
400
        break;
401
}
402
//Affichage de la partie basse de l'administration de Xoops
403
require_once __DIR__ . '/admin_footer.php';
404