bcom/extras/megaProcess.php

89 lines
2.3 KiB
PHP

<?php
session_start();
include_once 'clazz/Zincluder.php';
//GET : action="link|download(string)" v="versionabs(int)" t="jar|javadoc|vb(string)"
if(!isset($_GET['action'])){
header('Location:index.php');
echo "Vous devez definir l'attribut action via la methode GET";
echo 'NO';
exit;
}
switch($_GET['action']){
case 'link':
if(!isset($_GET['v'])){
header('Location:index.php');
echo "Vous devez definir l'attribut v (version) via la methode GET";
echo 'NO';
exit;
}
if(!isset($_GET['t'])){
header('Location:index.php');
echo "Vous devez definir l'attribut t (type) via la methode GET";
echo 'NO';
exit;
}
$version = new Version($_GET['v']);
if(!$version->exists()){
header('Location:404.php');
echo "v doit être l'ID d'une version existante !";
echo 'NO';
exit;
}
$go = FALSE;
$me = Membre::me();
if($me){
if($me->isAdminLevelHigherThan(12))
$go = TRUE;
$go = $go || $version->getProject()->haveRights($me);
}
switch($_GET['t']){
case 'jar':$go = $go || $version->isJarPublic();break;
case 'javadoc':$go = $go || $version->isJavadocPublic();break;
case 'java':$go = $go || $version->isJavaPublic();break;
case 'vb':$go = $go || $version->isVbPublic();break;
case 'xlsm':$go = $go || $version->isXlsmPublic();break;
default:exit;
}
if(!$go){
header('Location:403.php');
echo "VOUS N'AVEZ PAS LE DROIT !!!";
echo 'NO';
exit;
}
$path = '/Root/bernard.com/projets/'.$version->getProject()->getName().'/'.$version->getLanguage()->getName().'/'.$version->getName().'/';
$path .= $version->getProject()->getName().'-'.$version->getName();
switch($_GET['t']){
case 'jar':$path .= '.jar';break;
case 'javadoc':$path .= '-javadoc.tar.gz';break;
case 'java':$path .= '-src.tar.gz';break;
case 'vb':$path .= '.vb';break;
case 'xlsm':$path .= '.xlsm';break;
default:exit;
}
echo $path;
break;
}
//IF action=download
//Tester telechargement
//Génerer clé aleatoire de telechargement
//La stoquer
//Rediriger vers megabernard.alwaysdata.net
//IF action=link
//Tester si la personne peut acceder au fichier
//Generer chemin de fichier selon les arguments
//Renvoyer le tout