Skip to content
Snippets Groups Projects
Select Git revision
  • 9736a6be78912dffb76ed26fb88514d7800142d2
  • main default protected
2 results

ControleurObjet.php

Blame
  • ControleurObjet.php 1.82 KiB
    <?php
    
    class ControleurObjet
    {
        /**
         * Affiche la page de cration d'un objet et se charge également de sa création.
         * @return string
         */
        public static function createObject() : string
        {
            $createdObject = [];
            // Si reçoie une requête POST pour créer un objet et qu'on a plus d'une entrée
            if(!empty($_POST["objectName"]) && count($_POST) > 1){
                $columns = [];
                foreach ($_POST as $index => $value){
                    if(!in_array($index, ["action", "objectName"])){
                        $columns[$index] = $value;
                    }
                }
    
                $createdObject = Objet::addObject($_POST["objectName"], $columns);
                if($createdObject["status"] === "fail"){
                    $createdObject["status"] = "danger"; // Pour le style Bootstrap
                }
            }
    
            return view('formulaire-creation-objet', [
                'pageTitle' => 'Créer un objet',
                'insertMessage' => $createdObject
            ]);
        }
    
        /**
         * Retourne une liste JSON de la description de la table
         * @return string
         */
        public static function describeTable() : string
        {
            if(!empty($_GET["tableName"])){
                return json_encode(Objet::describeObject($_GET["tableName"]));
            } else {
                return json_encode([
                    "status" => "fail",
                    "message" => "Veuillez spécifier un nom de table!",
                    "columns" => []
                ]);
            }
        }
    
        public static function modifyObject() : string
        {
            if(!empty($_GET["tableName"]) && !empty($_GET["id_name"]) && !empty($_GET["id_value"])){
    
                $object = Objet::getObject($_GET["tableName"], ['name' => $_GET["id_name"], 'value' => $_GET["id_value"]]);
                return json_encode($object);
            }
            return "";
        }
    }