source: trunk/web/app/mods/e_artistes.php @ 7

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

mise a jour du trunk

File size: 6.2 KB
RevLine 
[6]1<?php
2
3  function e_artistes($env)
4  {
5    # par défaut, on n'affiche pas l'onglet d'édition d'un artiste
6    $env->out["edit_ok"] = false;
7
8    # si $_GET["id"] existe, c'est qu'on demande une fiche artiste
9    if(isset($_GET[$env->param("artiste")]))
10    {
11      # on récupÚre les infos de l'artiste et on vérifie que l'accÚs en base s'est bien passé
12      if(($env->out["artiste"] = $env->data->artiste($_GET[$env->param("artiste")])) !== false)
13      {
14        # si le visiteur est loggé et qu'il est admin de l'artiste demandé,
15        # on idique ici qu'il faut afficher l'onglet d'édition
16
17        if
18        (    $env->pun_user["id"] === $env->out["artiste"]["pun_user"]
19          || $env->pun_user["is_super_admin"]
20          || $env->data->is_artiste_admin($_GET[$env->param("artiste")], $env->pun_user["id"])
21        ) $env->out["edit_ok"] = true;
22
23        # le paramÚtre $_GET["page"] indique quel onglet afficher
24        $env->page = isset($_GET[$env->param("page")]) ? $_GET[$env->param("page")] : "presentation";
25
26        # on compte les mp3 disponibles pour le player
27        $env->out["mp3"] = $env->data->nb_mp3
28        ( $_GET[$env->param("artiste")],
29          true,
30          $_GET[$env->param("album")] ? $_GET[$env->param("album")] : null
31        );
32        # onglet presentation
33        if(true || $env->page === "presentation")
34        { if(($env->out["presentation"] = $env->data->artiste_presentation($_GET[$env->param("artiste")])) !== false)
35          { if
36            ( !$env->out["artiste"]["pun_forum"] ||
37              ( $env->out["artiste_messages_forum"] = $env->data->forum_last_messages(5, $env->out["artiste"]["pun_forum"])
38              ) !== false
39            )
40            { if(($env->out["artiste_news"] = $env->data->artiste_news($_GET[$env->param("artiste")], 0, true, 5)) !== false)
41              {
42              }
43              else $env->erreur = "Impossible de lire les derni&egrave;res news de cet artiste";
44            }
45            else $env->erreur = "Impossible de lire les derniers posts du forum de cet artiste";
46          }
47          # s'il y a eu un problÚme lors de la lecture de la présentation de l'artiste, on affiche une erreur
48          else $env->erreur = "Impossible de lire la presentation de l'artiste";
49        }
50
51        # onglet news
52        if(true || $env->page === "news")
53        { if(isset($_GET[$env->param("id")]))
54          { if(($env->out["news"] = $env->data->artiste_news($_GET[$env->param("artiste")], 0, true, 1, $_GET[$env->param("id")])) === false)
55            { # s'il y a eu un problÚme lors de la lecture des news de l'artiste, on affiche une erreur
56              $env->erreur = "Impossible de lire les informations de cette news";
57            }
58          }
59          else
60          { if(($env->out["news"] = $env->data->artiste_news($_GET[$env->param("artiste")], $env->start, true)) === false)
61            { # s'il y a eu un problÚme lors de la lecture des news de l'artiste, on affiche une erreur
62              $env->erreur = "Impossible de lire les news de l'artiste";
63            }
64          }
65        }
66
67        # onglet downloads
68        if(true || $env->page === "downloads")
69        { if(($env->out["licences"] = $env->data->licences()) !== false)
70          { if
71            ( ( $env->out["downloads"] = $env->data->artiste_downloads
72                ( $_GET[$env->param("artiste")],
73                  true,
74                  $_GET[$env->param("album")] ? $_GET[$env->param("album")] : null
75                )
76              ) !== false
77            )
78            { if(($env->out["albums"] = $env->data->artiste_albums($_GET[$env->param("artiste")], true)) !== false)
79              { if($_GET[$env->param("album")])
80                { if(($env->out["album"] = $env->data->artiste_album($_GET[$env->param("album")])) !== false)
81                  {
82                  }
83                  else $env->erreur = "Impossible de lire les informations de l'album.";
84                }
85              }
86              else $env->erreur = "Impossible de lire la liste des albums.";
87            }
88            else $env->erreur = "Impossible de lire les downloads de l'artiste";
89          }
90          else $env->erreur = "Impossible de lire la liste des licences";
91        }
92
93        # onglet contact
94        if($env->out["artiste"]["contact_form"] && $env->out["artiste"]["email_contact"] && (true || $env->page === "contact"))
95        { require $env->path("app")."plugins/ptitcaptcha.php";
96          if($_POST)
97          { if($_POST["from"] && $env->data->is_email($_POST["from"]))
98            { if(PtitCaptchaHelper::checkCaptcha())
99              { if
100                ( @mail
101                  ( $env->out["artiste"]["email_contact"],
102                    "Message depuis ".$env->config("site_name"),
103                     "Quelqu'un vous a ecrit depuis le formulaire de contact sur votre page artiste\n\n"
104                    ."email de l'expediteur : ".$_POST["from"]."\n"
105                    ."sujet : ".$_POST["sujet"]."\n"
106                    ."message : \n"
107                    ."------------------------------------\n"
108                    .$_POST["message"],
109                    "From: ".$_POST["from"]."\r\n"
110                  )
111                )
112                { _redirect
113                  ( $env,
114                    $env->url(array("e" => "artistes", "artiste" => $env->out["artiste"]["id"])),
115                    "Votre message a &eacute;t&eacute; envoy&eacute; &agrave; ".$env->out["artiste"]["nom"],
116                    2
117                  );
118                }
119                else $env->erreur = "Une erreur est survenue. Impossible d'envoyer le message.";
120              }
121              else $env->message = "L'anti-spam ne correspond pas";
122            }
123            else $env->message = "Merci de pr&eacute;ciser votre email";
124          }
125        }
126
127      }
128      # s'il y a eu un problÚme lors de la lecture des infos de l'artiste, on affiche une erreur
129      else $env->erreur = "Impossible de lire les infos de l'artiste";
130    }
131
132    # si $_GET["id"] n'existe pas, c'est qu'on demande la liste des artistes
133    else
134    { if(($env->out["artistes"] = $env->data->artistes()) === false)
135      { $env->message = "Impossible de r&eacute;cup&eacute;rer la liste des artistes";
136      }
137    }
138  }
139
140?>
Note: See TracBrowser for help on using the repository browser.