Maintenant, tout dans le executor.php. Fin de tempPreMega.

Ajout d'un super simulateur de tours de Monoï dans la page 404.
This commit is contained in:
Mysaa
2021-06-06 12:48:11 +02:00
parent 228f54d140
commit 38ec48c9fc
55 changed files with 1853 additions and 1042 deletions
+16
View File
@@ -0,0 +1,16 @@
<?php
session_start();
include_once 'includes/inter.php';
?>
<!DOCTYPE html>
<html>
<head>
<?php include 'includes/meta.php'; ?>
</head>
<body>
<?php include 'includes/header.php'; ?>
<?php include 'includes/footer.php'; ?>
</body>
</html>
+47
View File
@@ -0,0 +1,47 @@
<?php
session_start();
echo 'extensions:"'.ini_get('extensions').'"';
include_once "../includes/bdd.php";
include_once "../includes/inter.php";
include_once "megaapi.php";
$permissions = array (
FALSE,
FALSE,
FALSE,
FALSE
);
$connected = isConnected ();
$owner = FALSE;
$adminLevel = - 1;
$data = NULL;
if (isset ( $_GET ['id'] ) && isset ( $_GET ['v'] )) {
$data = getProjectVersionData( $_GET ['id'], $_GET ['v'] );
if ($data != NULL) {
$permissions = getPermissions( $data );
} else {
header('Location:../40A.php');
goto end;
}
} else {
header('Location:../40A.php');
goto end;
}
if (! $connected) {
header( 'Location:../401.php' );
goto end;
}
$owner = preg_match ( '#[^0-9]?' . $_SESSION ['session_id'] . '[^0-9]?#', $data ['owners'] );
$adminLevel = getAdminLevel ();
if (! $owner && $adminLevel < 12) {
header( 'Location:../403.php' );
goto end;
}
$megaapi = new MegaApiPHP("mA9D1IQQ", "PHP bernard.com");
$megaapi->login("bernard.lafayette63@gmail.com", "*******************");
$node = $megaapi->getNodeByPath('imageFinal.jpg', $megaapi->getRootNode());
$megaapi->startDownload($node, './');
end:
+262
View File
@@ -0,0 +1,262 @@
<?php
include_once 'includes/bdd.php';
function isConnected($sid = NULL, $mdp = NULL) {
if (! isset ( $sid ) or ! isset ( $mdp )) {
$sid = $_SESSION ['session_id'];
$mdp = $_SESSION ['session_mdp'];
}
$req = $GLOBALS ['bdd']->prepare ( 'SELECT * FROM users WHERE ID=?' );
$req->execute ( array (
$sid
) );
if ($rep = $req->fetch ()) {
$connected = password_verify ( $mdp, $rep ['mdp'] );
} else {
$connected = FALSE;
}
$req->closeCursor ();
return $connected;
}
function getAdminLevel($sid = NULL, $mdp = NULL) {
if (! isset ( $sid ) or ! isset ( $mdp )) {
$sid = $_SESSION ['session_id'];
$mdp = $_SESSION ['session_mdp'];
}
if (! isConnected ( $sid, $mdp ))
return - 1;
$req = $GLOBALS ['bdd']->prepare ( 'SELECT * FROM users WHERE ID=?' );
$req->execute ( array (
$sid
) );
if ($result = $req->fetch ()) {
$adminLevel = $result ['administration'];
} else {
$adminLevel = - 1;
}
$req->closeCursor ();
return $adminLevel;
}
function getPseudo($sid = NULL, $mdp = NULL) {
if (! isset ( $sid ) or ! isset ( $mdp )) {
$sid = $_SESSION ['session_id'];
$mdp = $_SESSION ['session_mdp'];
}
if (! isConnected ( $sid, $mdp ))
return "neant";
$req = $GLOBALS ['bdd']->prepare ( 'SELECT * FROM users WHERE ID=?' );
$req->execute ( array (
$sid
) );
$pseudo = $req->fetch () ['pseudo'];
$req->closeCursor ();
return $pseudo;
}
function getPseudoOf($sid) {
$req = $GLOBALS ['bdd']->prepare ( 'SELECT * FROM users WHERE ID=?' );
$req->execute ( array (
$sid
) );
$pseudo = $req->fetch () ['pseudo'];
$req->closeCursor ();
return $pseudo;
}
function tryToConnect($pseudo = NULL, $mdp = NULL) {
if (! isset ( $pseudo ) or ! isset ( $mdp )) {
$pseudo = $_POST ['pseudo'];
$mdp = $_POST ['mdp'];
}
$req = $GLOBALS ['bdd']->prepare ( 'SELECT * FROM users WHERE pseudo=?' );
$req->execute ( array (
$pseudo
) );
$reponce = $req->fetch ();
if ($reponce != NULL) {
if (password_verify ( $mdp, $reponce ['mdp'] )) {
$req->closeCursor ();
return $reponce ['ID'];
} else {
$req->closeCursor ();
return 'errormdp';
}
} else {
$req->closeCursor ();
return 'errorpseudo';
}
}
function getProjectVersionData($project = NULL, $version = NULL) {
if (! isset ( $project ) or ! isset ( $version )) {
$project = $_GET ['id'];
$version = $_GET ['v'];
}
$req = $GLOBALS ['bdd']->prepare ( 'SELECT p.ID AS pID ,' . ' ' . 'v.versionAbs AS versionAbs , ' . ' ' . 'p.name AS name ,' . ' ' . 'v.version AS version ,' . ' ' . 'v.language AS language ,' . ' ' . 'p.permissions AS permissions ,' . ' ' . 'p.ownersID AS owners' . ' ' . 'FROM projets AS p' . ' ' . 'INNER JOIN versions AS v' . ' ' . 'ON v.project_id = p.ID' . ' ' . 'WHERE v.project_id = ? AND v.versionAbs = ?' );
$req->execute ( array (
$project,
$version
) );
if (($data = $req->fetch ())) {
$req->closeCursor ();
return $data;
} else {
$req->closeCursor ();
return NULL;
}
}
function getProjectData($project = NULL) {
if (! isset ( $project )) {
$project = $_GET ['id'];
}
$req = $GLOBALS ['bdd']->prepare ( 'SELECT p.ID AS ID ,' . ' ' . 'p.name AS name ,' . ' ' . 'p.permissions AS permissions ,' . ' ' . 'p.ownersID AS owners' . ' ' . 'FROM projets AS p' . ' ' . 'WHERE p.ID = ?' );
$req->execute ( array (
$project
) );
if (($data = $req->fetch ())) {
$req->closeCursor ();
return $data;
} else {
$req->closeCursor ();
return NULL;
}
}
function getPermissions($data) {
$permissions = array (
FALSE,
FALSE,
FALSE,
FALSE
);
$permissions [0] = preg_match ( '#^1#', $data ['permissions'] );
$permissions [1] = preg_match ( '#^(0|1)1#', $data ['permissions'] );
$permissions [2] = preg_match ( '#^(0|1){2}1#', $data ['permissions'] );
$permissions [3] = preg_match ( '#^(0|1){3}1#', $data ['permissions'] );
return $permissions;
}
function getProjectsWithFirstPermission() {
$requete = 'SELECT p.ID AS projectID , v.versionAbs AS versionAbs , p.name AS projectName , v.version AS versionName ' . 'FROM projets AS p ' . 'INNER JOIN versions AS v ' . 'ON v.project_id = p.ID ' . 'WHERE p.permissions LIKE "1%" ';
$req = $GLOBALS ['bdd']->query ( $requete );
$projects = array ();
while ( $rep = $req->fetch () ) {
if (! isset ( $projects [$rep ['projectID']] )) {
$projects [$rep ['projectID']] = $rep;
} else if ($projects [$rep ['projectID']] ['versionAbs'] < $rep ['versionAbs']) {
$projects [$rep ['projectID']] = $rep;
}
}
$req->closeCursor ();
return $projects;
}
function getVersions($pid = NULL) {
if (! isset ( $pid )) {
$pid = $_GET ['id'];
}
$requete = 'SELECT * FROM versions WHERE project_id = ?';
$req = $GLOBALS ['bdd']->prepare ( $requete );
$req->execute ( array (
$pid
) );
// ADDPOINT langage
$versions = array (
array (),
array ()
);
while ( $rep = $req->fetch () ) {
$versions [$rep ['language']] [] = array (
'versionAbs' => $rep ['versionAbs'],
'versionName' => $rep ['version']
);
}
$req->closeCursor ();
return $versions;
}
function getOwnersisProjects($sid = NULL) {
if (! isset ( $sid )) {
$sid = $_SESSION ['session_id'];
}
$requete = 'SELECT p.ownersID AS ownersID , p.ID AS projectID , v.versionAbs AS versionAbs , p.name AS projectName , v.version AS versionName ' . 'FROM projets AS p ' . 'INNER JOIN versions AS v ' . 'ON v.project_id = p.ID ' . 'WHERE p.ownersID REGEXP \'[^0-9]?' . $sid . '[^0-9]?\' ';
$req = $GLOBALS ['bdd']->query ( $requete );
$projects = array ();
while ( $rep = $req->fetch () ) {
if (! isset ( $projects [$rep ['projectID']] )) {
$projects [$rep ['projectID']] = $rep;
} else if ($projects [$rep ['projectID']] ['versionAbs'] < $rep ['versionAbs']) {
$projects [$rep ['projectID']] = $rep;
}
}
return $projects;
}
function registerPerson($pseudo, $mdp) {
$req = $GLOBALS ['bdd']->prepare ( "SELECT * FROM users WHERE pseudo=?" );
$req->execute ( array (
$_POST ['pseudo']
) );
if ($req->fetch ()) {
return 'usedPseudo';
} else {
$req = $GLOBALS ['bdd']->prepare ( 'INSERT INTO users(pseudo,mdp,date_creation) VALUES (?,?,NOW())' );
$req->execute ( array (
$_POST ['pseudo'],
password_hash ( $_POST ['mdp'], PASSWORD_DEFAULT )
) );
return 'ok';
}
}
function getMessages($discut = NULL) {
if (! isset ( $discut )) {
$discut = $_GET ['d'];
}
$req = $GLOBALS ['bdd']->prepare ( "SELECT * FROM messages WHERE discussion_id=? ORDER BY sendTime DESC" );
$req->execute ( array (
$discut
) );
$rep = array ();
while ( $rep [] = $req->fetch () )
;
if (count ( $rep ) <= 0)
$rep = NULL;
$req->closeCursor ();
return array_slice ( $rep, 0, - 1, TRUE );
}
function getDiscuts() {
$req = $GLOBALS ['bdd']->query ( "SELECT * FROM discussions ORDER BY date_creation DESC" );
$rep = array ();
while ( $rep [] = $req->fetch () )
;
if (count ( $rep ) <= 1)
$rep = NULL;
$req->closeCursor ();
return array_slice ( $rep, 0, - 1, TRUE );
}
function getDiscutInfos($did = NULL) {
if(!isset($did)){
$did = $_GET['d'];
}
$req = $GLOBALS ['bdd']->query ( "SELECT * FROM discussions WHERE ID=?" );
return $req->fetch();
}
function sendMessage($discut = NULL, $text = NULL, $sender = NULL) {
if (! isset ( $discut ) || ! isset ( $text ) || ! isset ( $sender )) {
$discut = $_GET ['d'];
$text = $_POST ['msg'];
$sender = $_SESSION ['session_id'];
}
$req = $GLOBALS ['bdd']->prepare ( 'INSERT INTO messages(discussion_id,texte,senderID,sendTime) VALUES (?,?,?,NOW())' );
$req->execute ( array (
$discut,
htmlspecialchars ( $text ),
$sender
) );
return 'ok';
}
function createDiscut($name = NULL, $owner = NULL) {
if (! isset ( $name ) || ! isset ( $owner )) {
$name = $_POST ['name'];
$owner = $_SESSION ['session_id'];
}
$req = $GLOBALS ['bdd']->prepare ( 'INSERT INTO discussions(name,creator_id,date_creation) VALUES (?,?,NOW())' );
$req->execute ( array (
$name,
$owner
) );
return 'ok';
}
+57
View File
@@ -0,0 +1,57 @@
<!DOCTYPE html>
<html>
<head>
<?php session_start();?>
<?php include 'includes/meta.php'; ?>
</head>
<body>
<?php include 'includes/header.php'; ?>
<canvas id="mandelbrot" width="500" height="500">walou</canvas>
BIS
<script type="text/javascript">
window.onload = function() {
var canvas = document.getElementById('mandelbrot');
if (!canvas) {
alert("Impossible de récupérer le canvas");
return;
}
var context = canvas.getContext('2d');
if (!context) {
alert("Impossible de récupérer le context du canvas");
return;
}
context.fillStyle = "#ff0000";
var x1 = -2.1, x2 = 0.6, y1 = -1.2, y2 = 1.2, zoom = 100, iterations_max = 50, image_x = (x2 - x1)
* zoom, image_y = (y2 - y1) * zoom;
canvas.width = image_x;
canvas.heigth = image_y;
for (x = 0; x < image_x; x++) {
for (y = 0; y < image_y; y++) {
c_r = x / zoom + x1;
c_i = y / zoom + y1;
z_r = 0;
z_i = 0;
i = 0;
do {
var tmp = z_r;
z_r = z_r * z_r - z_i * z_i + c_r;
z_i = 2 * tmp * z_i + c_i;
i++;
} while (z_r * z_r + z_i * z_i < 4 && i < iterations_max);
if (i == iterations_max) {
context.fillStyle = "#FFFFFF";
context.fillRect(x, y, 1, 1);
}else{
context.fillStyle = "rgb(0, 0, "+255-(i*255/iterations_max)+")";
context.fillRect(x,y,1,1);
}
alert('done');
}
}
}
</script>
+19
View File
@@ -0,0 +1,19 @@
!!com.bernard.qcminator.quiz.DEVerbenQuiz
author: Mysaa
entryCount: 2
name: Schwach verben
verben:
- aux: 0
infinitiv: [gehen, gaiheun, gaien, geheun]
partizipPerfekt: [gegangen, gegehen, gegeht, gegehet]
prasens2: [gehst, gaist]
prasens3: [geht, gaitte, gait, gétteu, gäht]
prateritum2: [ginget, gingueut]
prateritum3: [ging, gung, gang, gèng]
- aux: 1
infinitiv: [schwimmen, chvimeun, schwimen, schvimmen]
partizipPerfekt: [geschwommen, geschwomen, schwomen, schwommen]
prasens2: [schwimmst, schwimst]
prasens3: [schwimmt, schwimt]
prateritum2: [schwammst, schwamst]
prateritum3: [schwamm, schwamt, schwam, schwammte]
+108
View File
@@ -0,0 +1,108 @@
<?php
session_start ();
include_once 'includes/inter.php';
if (! isConnected ()) {
header ( 'Location:401.php' );
goto end;
} else if (getAdminLevel () < 16) {
header ( 'Location:403.php' );
goto end;
} else {
try {
echo '[' . date ( 'H:i:s' ) . ']' . 'Start sorting bdd<br/>';
/*-------------------- USERS --------------------*/
$idAssos = array();
echo '[' . date ( 'H:i:s' ) . ']' . 'Table users<br/>';
$rep = $GLOBALS ['bdd']->query ( 'SELECT * FROM users ORDER BY ID' );
$users = array ();
while ( $user = $rep->fetch () ) {
echo '----' . $user ['ID'] . ':"' . $user ['pseudo'] . '";"' . $user ['mdp'] . '";' . $user ['date_creation'] . ';' . $user ['administration'] . '<br/>';
$users [] = $user;
}
$rep->closeCursor ();
$GLOBALS ['bdd']->exec ( 'TRUNCATE TABLE users' );
echo '[' . date ( 'H:i:s' ) . ']' . 'Table users effacée<br/>';
$currentID = 1;
foreach ( $users as $u ) {
$req = $GLOBALS['bdd']->prepare('INSERT INTO users(pseudo,mdp,date_creation,administration) VALUES (?,?,?,?)');
$req->execute(array($u ['pseudo'],$u ['mdp'], $u ['date_creation'], $u ['administration']));
$idAssos[$u['ID']] = $currentID;
$currentID +=1;
echo '----' . $u ['ID'] . '->' . $idAssos[$u['ID']] . '<br/>';
}
echo '[' . date ( 'H:i:s' ) . ']' . 'Pseudos réinsérés triés par ID<br/>';
/*-------------------- PROJETS --------------------*/
$pidAssos = array();
echo '[' . date ( 'H:i:s' ) . ']' . 'Table projets<br/>';
$rep = $GLOBALS ['bdd']->query ( 'SELECT * FROM projets ORDER BY ID' );
$projects = array ();
while ( $project = $rep->fetch () ) {
echo '----' . $project ['ID'] . ':"' . $project['name'] . '";"' . $project ['ownersID'] . '";' . $project ['permissions'] . '<br/>';
$projects[] = $project;
}
$rep->closeCursor();
$GLOBALS ['bdd']->exec ( 'TRUNCATE TABLE projets' );
echo '[' . date ( 'H:i:s' ) . ']' . 'Table projets effacée<br/>';
$currentID = 1;
foreach ( $projects as $p ) {
$ownersID = explode(';',$p['ownersID']);
$ownersNewID = array();
foreach($ownersID AS $o){
if(isset($idAssos[$o])){
$ownersNewID[] = $idAssos[$o];
}
}
$newOwnersID = implode(';',$ownersNewID);
if(count($ownersNewID)<=0){
echo '####################' . 'Le projet '.print_r($p,TRUE).' n\'a aucun poss&eacute;sseur<br/>';
}else{
echo '--------' . 'Owners :'.$p['ownersID'].' &agrave; '.$newOwnersID.'<br/>';
}
$req = $GLOBALS['bdd']->prepare('INSERT INTO projets(name,ownersID,permissions) VALUES (?,?,?)');
$req->execute(array($p ['name'],$newOwnersID,$p['permissions']));
$pidAssos[$p['ID']] = $currentID;
$currentID +=1;
echo '----' . $p ['ID'] . '->' . $pidAssos[$p['ID']] . '<br/>';
}
echo '[' . date ( 'H:i:s' ) . ']' . 'Projets réinsérés triés par ID<br/>';
/*-------------------- VERSIONS --------------------*/
$vidAssos=array();
echo '[' . date ( 'H:i:s' ) . ']' . 'Table versions<br/>';
$rep = $GLOBALS ['bdd']->query ( 'SELECT * FROM versions ORDER BY id' );
$versions = array ();
while ( $version = $rep->fetch () ) {
echo '----' . $version ['id'] . ':' . $version['project_id'] . ';"' . $version ['version'] . '";"' . $version ['versionAbs'].'";'.$version['language'] . '<br/>';
$versions[] = $version;
}
$rep->closeCursor();
$GLOBALS ['bdd']->exec ( 'TRUNCATE TABLE versions' );
echo '[' . date ( 'H:i:s' ) . ']' . 'Table versions effacée<br/>';
$currentID = 1;
foreach ( $versions as $v ) {
$newProjectId=$pidAssos[$v['project_id']];
$req = $GLOBALS['bdd']->prepare('INSERT INTO versions(project_id,version,versionAbs,language) VALUES (?,?,?,?)');
$req->execute(array($pidAssos,$v ['version'],$v['versionAbs'],$v ['language']));
$vidAssos[$v['id']] = $currentID;
$currentID +=1;
echo '----' . $v ['id'] . '->' . $vidAssos[$v['id']] . '<br/>';
}
echo '[' . date ( 'H:i:s' ) . ']' . 'Versions réinsérés triés par ID<br/>';
} catch ( Exception $e ) {
echo $GLOBALS['bdd']->error;
}
}
end:
?>