data->is_admin($env->pun_user["id"])) { if(($env->out["news_root_categorie"] = $env->data->id_categorie(array("root", "news"))) !== false) { $env->a = $_GET[$env->param("action")] ? $_GET[$env->param("action")] : "news_categories"; $function = "a_".$env->a; if(function_exists($function)) $function($env); } else $env->erreur = "Impossible de trouver la categorie racine des news."; } else $env->erreur = "Vous devez être administrateur pour accéder à cette page."; } # ------------------------------------------------------------------------------ # actions # function a_news_categories($env) { if(($env->out["news_categories"] = $env->data->news_categories($env->start)) !== false) { } else $env->erreur = "Impossible de lire les catégories"; } function a_add_news_categorie($env) { if($_POST) { $icone = null; if($_FILES["icone"]) { switch($_FILES["icone"]["error"]) { case UPLOAD_ERR_NO_FILE : break; case UPLOAD_ERR_OK : $icone = $env->path("uploads")."categories/".$_FILES["icone"]["name"]; if ( @move_uploaded_file ( $_FILES["icone"]["tmp_name"], $icone ) !== false ) break; default : $env->erreur = "Impossible d'uploader l'icone."; } } if(!$env->erreur) { if ( $env->data->add_news_categorie ( $_POST["titre"], $icone, $_POST["description"] ) ) { _redirect ( $env, $env->url(array("e" => "set_news_categories")), "La catégorie a été ajoutée" ); } else $env->erreur = "Impossible d'ajouter la catégorie."; } } } function a_set_news_categorie($env) { if(($env->out["news_categorie"] = $env->data->news_categorie($_GET[$env->param("categorie")])) !== false) { if($_POST) { $icone = null; if(!$_POST["del_icone"] && $_FILES["icone"]) { switch($_FILES["icone"]["error"]) { case UPLOAD_ERR_NO_FILE : break; case UPLOAD_ERR_OK : $icone = $env->path("uploads")."categories/".$_FILES["icone"]["name"]; if ( move_uploaded_file ( $_FILES["icone"]["tmp_name"], $icone ) !== false && $env->data->del_news_categorie_icone($env->out["news_categorie"]["icone"]) ) break; default : $env->erreur = "Impossible d'uploader l'icone."; } } if(!$env->erreur) { if($_POST["del_icone"] && !$env->data->del_news_categorie_icone($env->out["news_categorie"]["icone"])) return false; if ( $env->data->set_news_categorie ( $_GET[$env->param("categorie")], $_POST["titre"], $_POST["del_icone"] ? null : (isset($icone) ? $icone : $env->out["news_categorie"]["icone"]), $_POST["description"] ) ) { _redirect ( $env, $env->url(array("e" => "set_news_categories")), "La catégorie a été modifiée" ); } else $env->erreur = "Impossible de modifier la catégorie."; } } } else $env->erreur = "Impossible de lire la catégorie."; } function a_del_news_categorie($env) { if($env->data->del_news_categorie($_GET[$env->param("categorie")], $env->out["news_root_categorie"]) !== false) { _redirect ( $env, $env->url(array("e" => "set_news_categories")), "La catégorie a été supprimée" ); } else $env->erreur = "Impossible de supprimer la catégorie."; } ?>