source: branches/rsr.v5.1/web/app/mods/e_set_news.php @ 7

Last change on this file since 7 was 1, checked in by dj3c1t, 13 years ago

import initial

File size: 4.2 KB
RevLine 
[1]1<?php
2
3  function e_set_news($env)
4  { if($env->data->is_admin($env->pun_user["id"]))
5    { if(($env->out["news_root_categorie"] = $env->data->id_categorie(array("root", "news"))) !== false)
6      { $env->a = $_GET[$env->param("action")] ? $_GET[$env->param("action")] : "news";
7        $function = "a_".$env->a;
8        if(function_exists($function))
9        { $catgories_function = "all_news_categories";
10          if($env->a === "del_news") $catgories_function = "news_categories";
11          $r = false;
12          eval("\$r = \$env->data->".$catgories_function."();");
13          if(($env->out["categories"] = $r) !== false)
14          { $function($env);
15          }
16          else $env->erreur = "Impossible de lire la liste des categories de news";
17        }
18      }
19      else $env->erreur = "Impossible de trouver la categorie racine des news.";
20    }
21    else $env->erreur = "Vous devez &ecirc;tre administrateur pour acc&eacute;der &agrave; cette page.";
22  }
23
24  # ------------------------------------------------------------------------------
25  #                                                                        actions
26  #
27
28  function a_news($env)
29  { $path = array("root", "news");
30    $depth = 1;
31    if(isset($_GET[$env->param("categorie")]))
32    { if(strlen($_GET[$env->param("categorie")]) > 0) $path[] = (int)$_GET[$env->param("categorie")];
33      $depth = 0;
34    }
35    if(($env->out["news"] = $env->data->news($path, $env->start, $depth)) !== false)
36    {
37    }
38    else $env->erreur = "Impossible de lire les news";
39  }
40
41  function a_add_news($env)
42  { if($_POST)
43    { if($_POST["preview"])
44      { $env->out["preview"] = array
45        ( "categorie" => $_POST["categorie"],
46          "categorie_titre" => $env->out["categories"]["list"][$_POST["categorie"]]["titre"],
47          "categorie_icone" => $env->out["categories"]["list"][$_POST["categorie"]]["icone"],
48          "titre" => $_POST["titre"],
49          "auteur" => $env->pun_user["username"],
50          "date_publication" => $_POST["date_publication"],
51          "contenu" => $_POST["news"],
52          "public" => $_POST["public"] ? 1 : 0
53        );
54      }
55      else
56      { if
57        ( $env->data->add_news
58          ( $_POST["categorie"],
59            $_POST["titre"],
60            $_POST["news"],
61            $env->pun_user["id"],
62            $_POST["date_publication"],
63            $_POST["public"] ? 1 : 0
64          )
65        )
66        { _redirect
67          ( $env,
68            $env->url(array("e" => "set_news")),
69            "La news a &eacute;t&eacute; ajout&eacute;e"
70          );
71        }
72        else $env->erreur = "Impossible d'ajouter la news.";
73      }
74    }
75  }
76
77  function a_set_one_news($env)
78  { if(($env->out["news"] = $env->data->contenu($_GET[$env->param("news")])) !== false)
79    { if($_POST)
80      { if($_POST["preview"])
81        { $env->out["preview"] = array
82          ( "categorie" => $_POST["categorie"],
83            "categorie_titre" => $env->out["categories"]["list"][$_POST["categorie"]]["titre"],
84            "categorie_icone" => $env->out["categories"]["list"][$_POST["categorie"]]["icone"],
85            "titre" => $_POST["titre"],
86            "auteur" => $env->out["news"]["auteur"],
87            "date_publication" => $_POST["date_publication"],
88            "contenu" => $_POST["news"],
89            "public" => $_POST["public"] ? 1 : 0
90          );
91        }
92        else
93        { if
94          ( $env->data->set_news
95            ( $_GET[$env->param("news")],
96              $_POST["categorie"],
97              $_POST["titre"],
98              $_POST["news"],
99              $env->pun_user["id"],
100              $_POST["date_publication"],
101              $_POST["public"] ? 1 : 0
102            )
103          )
104          { _redirect
105            ( $env,
106              $env->url(array("e" => "set_news")),
107              "La news a &eacute;t&eacute; modifi&eacute;e"
108            );
109          }
110          else $env->erreur = "Impossible de modifier la news.";
111        }
112      }
113    }
114    else $env->erreur = "Impossible de lire la news.";
115  }
116
117  function a_del_news($env)
118  { if($env->data->del_news($_GET[$env->param("news")]) !== false)
119    { _redirect
120      ( $env,
121        $env->url(array("e" => "set_news")),
122        "La news a &eacute;t&eacute; supprim&eacute;e"
123      );
124    }
125    else $env->erreur = "Impossible de supprimer la news.";
126  }
127
128?>
Note: See TracBrowser for help on using the repository browser.