Skip to content

Commit

Permalink
DWF : Maj des services
Browse files Browse the repository at this point in the history
  • Loading branch information
legagneur-matthieu committed Nov 23, 2017
1 parent 193a410 commit 47b0938
Show file tree
Hide file tree
Showing 3 changed files with 147 additions and 129 deletions.
11 changes: 7 additions & 4 deletions html/commun/new_app.php
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ private function create_dir() {
$this->create_file($file_config, $config);
if (isset($_POST["srv"])) {
$dir_services = $dir . "/services";
$file_services = '<?php class index_service { /** * Cette classe est la première appelée, elle ouvre les variables de session et la connexion a la base de donnée, <br /> * redéfinie la time zone et fait appel à ces méthodes privées avant d\'appeler la class application (IDEM __construct()...) */ public function __construct() { try { $this->classloader(); include "../class/config.class.php"; if (isset($_REQUEST["service"])) { date_default_timezone_set("Europe/Paris"); $this->entityloader(); application::$_bdd = new bdd(); session::start(false); $this->serviceloader(); $this->security_purge(); $service = strtr($_REQUEST["service"], array("." => "", "/" => "", "\\\\" => "", "?" => "", "#" => "")); if (file_exists($service . ".service.php")) { $service = new $service(); } else { dwf_exception::throw_exception(622, array("_s_" => $service)); } } else { dwf_exception::throw_exception(621); } } catch (Exception $e) { dwf_exception::print_exception($e, "", true); } } /** * Inclut toutes les classes du framework */ private function classloader() { foreach (glob("../../../dwf/class/*.class.php") as $class) { include_once $class; } } /** * Inclut les entités du projet */ private function entityloader() { foreach (glob("../class/entity/*.class.php") as $class) { include_once $class; } } /** * Inclut toutes les classes du dossier "service" se finissant par ".service.php" */ private function serviceloader() { foreach (glob("*.service.php") as $class) { include_once $class; } } /** * Supprime tous les fichiers se terminant par .php~ (trill) dans le dossier "service" <br /> * Cette fonction est recommandée sur les serveurs de production Linux pour des raisons de sécurité <br /> * certains hébergeurs tolèrent mal cette fonction, elle peut être désactivée en commentant la ligne "$this->security_purge();" dans le constructeur. */ private function security_purge() { foreach (glob("*.php~") as $trill) { unlink($trill); } }}new index_service();';
$file_services = '<?php class index_service { /** * Cette classe est la première appelée, elle ouvre les variables de session et la connexion a la base de donnée, <br /> * redéfinie la time zone et fait appel à ces méthodes privées avant d\'appeler la class application (IDEM __construct()...) */ public function __construct() { try { $this->classloader(); include "../class/config.class.php"; if (isset($_REQUEST["service"])) { date_default_timezone_set("Europe/Paris"); $this->entityloader(); application::$_bdd = new bdd(); session::start(false); $this->serviceloader(); $this->security_purge(); $service = strtr($_REQUEST["service"], array("." => "", "/" => "", "\\\\" => "", "?" => "", "#" => "")); if (file_exists($service . ".service.php")) { $service = new $service(); } else { dwf_exception::throw_exception(622, array("_s_" => $service)); } } else { dwf_exception::throw_exception(621); } } catch (Exception $e) { dwf_exception::print_exception($e, "", true); } } /** * Inclut toutes les classes du framework */ private function classloader() { spl_autoload_register(function($class) { $file = __DIR__ . "/../../../dwf/class/" . $class . ".class.php"; if (file_exists($file)) { require_once $file; } }); } /** * Inclut les entités du projet */ private function entityloader() { spl_autoload_register(function($class) { $file = __DIR__ . "/../class/entity/" . $class . ".class.php"; if (file_exists($file)) { require_once $file; } }); } /** * Inclut toutes les classes du dossier "service" se finissant par ".service.php" */ private function serviceloader() {spl_autoload_register(function($class) {$file = __DIR__ . "/" . $class . ".service.php";if (file_exists($file)) {require_once $file;}});}/** * Supprime tous les fichiers se terminant par .php~ (trill) dans le dossier "service" <br /> * Cette fonction est recommandée sur les serveurs de production Linux pour des raisons de sécurité <br /> * certains hébergeurs tolèrent mal cette fonction, elle peut être désactivée en commentant la ligne "$this->security_purge();" dans le constructeur. */private function security_purge() {foreach (glob("*.php~") as $trill) {unlink($trill);}}}new index_service();';
mkdir($dir_services);
$this->check_create_dir($dir_services);
$this->create_file($dir_services . "/index.php", $file_services);
Expand Down Expand Up @@ -315,9 +315,12 @@ private function create_database() {
* Vous pouvez créer vos propres classes avec cette extension pour les charger automatiquement avant de les utiliser dans votre application
*/
private function classloader() {
foreach (glob("../../dwf/class/*.class.php") as $class) {
include_once $class;
}
spl_autoload_register(function($class) {
$file = __DIR__ . "/../../dwf/class/" . $class . ".class.php";
if (file_exists($file)) {
require_once $file;
}
});
}

}
Expand Down
136 changes: 71 additions & 65 deletions html/commun/service/index.php
Original file line number Diff line number Diff line change
@@ -1,65 +1,71 @@
<?php

/**
* Cette classe est la première appelée, elle ouvre les variables de session, <br />
* redéfinie la time zone et fait appel à ces méthodes privées avant d'appeler la class application (IDEM __construct()...)
*
* @author LEGAGNEUR Matthieu <[email protected]>
*/
class index_service {

/**
* Cette classe est la première appelée, elle ouvre les variables de session, <br />
* redéfinie la time zone et fait appel à ces méthodes privées avant d'appeler la class application (IDEM __construct()...)
*/
public function __construct() {
if (isset($_REQUEST["service"])) {
date_default_timezone_set('Europe/Paris');
$this->classloader();
$this->serviceloader();
$this->security_purge();
$service = strtr($_REQUEST["service"], array("." => "", "/" => "", "\\" => "", "?" => "", "#" => ""));
if (file_exists($service . ".service.php")) {
$service = new $service();
} else {
echo json_encode(array("error" => "service not found"));
}
} else {
echo json_encode(array("error" => "undefined service"));
}
}

/**
* Inclut toutes les classes du dossier "class" se finissant par ".class.php" <br />
* Vous pouvez créer vos propres classes avec cette extension pour les charger automatiquement avant de les utiliser dans votre application
*/
private function classloader() {
foreach (glob("../../../dwf/class/*.class.php") as $class) {
include_once $class;
}
}

/**
* Inclut toutes les classes du dossier "service" se finissant par ".service.php" <br />
* pour générer les entités voir "class/entity_generator.php"
*/
private function serviceloader() {
foreach (glob("*.service.php") as $class) {
include_once $class;
}
}

/**
* Supprime tous les fichiers se terminant par .php~ (trill) dans le dossier "service" <br />
* Cette fonction est recommandée sur les serveurs de production Linux pour des raisons de sécurité <br />
* certains hébergeurs tolèrent mal cette fonction, elle peut être désactivée en commentant la ligne "$this->security_purge();" dans le constructeur.
*/
private function security_purge() {
foreach (glob("*.php~") as $trill) {
unlink($trill);
}
}

}

new index_service();
<?php

/**
* Cette classe est la première appelée, elle ouvre les variables de session, <br />
* redéfinie la time zone et fait appel à ces méthodes privées avant d'appeler la class application (IDEM __construct()...)
*
* @author LEGAGNEUR Matthieu <[email protected]>
*/
class index_service {

/**
* Cette classe est la première appelée, elle ouvre les variables de session, <br />
* redéfinie la time zone et fait appel à ces méthodes privées avant d'appeler la class application (IDEM __construct()...)
*/
public function __construct() {
if (isset($_REQUEST["service"])) {
date_default_timezone_set('Europe/Paris');
$this->classloader();
$this->serviceloader();
$this->security_purge();
$service = strtr($_REQUEST["service"], array("." => "", "/" => "", "\\" => "", "?" => "", "#" => ""));
if (file_exists($service . ".service.php")) {
$service = new $service();
} else {
echo json_encode(array("error" => "service not found"));
}
} else {
echo json_encode(array("error" => "undefined service"));
}
}

/**
* Inclut toutes les classes du dossier "class" se finissant par ".class.php" <br />
* Vous pouvez créer vos propres classes avec cette extension pour les charger automatiquement avant de les utiliser dans votre application
*/
private function classloader() {
spl_autoload_register(function($class) {
$file = __DIR__ . "/../../../dwf/class/" . $class . ".class.php";
if (file_exists($file)) {
require_once $file;
}
});
}

/**
* Inclut toutes les classes du dossier "service" se finissant par ".service.php" <br />
* pour générer les entités voir "class/entity_generator.php"
*/
private function serviceloader() {
spl_autoload_register(function($class) {
$file = __DIR__ . "/" . $class . ".service.php";
if (file_exists($file)) {
require_once $file;
}
});
}

/**
* Supprime tous les fichiers se terminant par .php~ (trill) dans le dossier "service" <br />
* Cette fonction est recommandée sur les serveurs de production Linux pour des raisons de sécurité <br />
* certains hébergeurs tolèrent mal cette fonction, elle peut être désactivée en commentant la ligne "$this->security_purge();" dans le constructeur.
*/
private function security_purge() {
foreach (glob("*.php~") as $trill) {
unlink($trill);
}
}

}

new index_service();
129 changes: 69 additions & 60 deletions html/test/services/index.php
Original file line number Diff line number Diff line change
@@ -1,60 +1,69 @@
<?php

class index_service { /** * Cette classe est la première appelée, elle ouvre les variables de session et la connexion a la base de donnée, <br /> * redéfinie la time zone et fait appel à ces méthodes privées avant d'appeler la class application (IDEM __construct()...) */

public function __construct() {
try {
$this->classloader();
include "../class/config.class.php";
if (isset($_REQUEST["service"])) {
date_default_timezone_set("Europe/Paris");
$this->entityloader();
application::$_bdd = new bdd();
session::start(false);
$this->serviceloader();
$this->security_purge();
$service = strtr($_REQUEST["service"], array("." => "", "/" => "", "\\" => "", "?" => "", "#" => ""));
if (file_exists($service . ".service.php")) {
$service = new $service();
} else {
dwf_exception::throw_exception(622, array("_s_" => $service));
}
} else {
dwf_exception::throw_exception(621);
}
} catch (Exception $e) {
dwf_exception::print_exception($e, "", true);
}
}

/** * Inclut toutes les classes du framework */
private function classloader() {
foreach (glob("../../../dwf/class/*.class.php") as $class) {
include_once $class;
}
}

/** * Inclut les entités du projet */
private function entityloader() {
foreach (glob("../class/entity/*.class.php") as $class) {
include_once $class;
}
}

/** * Inclut toutes les classes du dossier "service" se finissant par ".service.php" */
private function serviceloader() {
foreach (glob("*.service.php") as $class) {
include_once $class;
}
}

/** * Supprime tous les fichiers se terminant par .php~ (trill) dans le dossier "service" <br /> * Cette fonction est recommandée sur les serveurs de production Linux pour des raisons de sécurité <br /> * certains hébergeurs tolèrent mal cette fonction, elle peut être désactivée en commentant la ligne "$this->security_purge();" dans le constructeur. */
private function security_purge() {
foreach (glob("*.php~") as $trill) {
unlink($trill);
}
}

}

new index_service();
<?php

class index_service { /** * Cette classe est la première appelée, elle ouvre les variables de session et la connexion a la base de donnée, <br /> * redéfinie la time zone et fait appel à ces méthodes privées avant d'appeler la class application (IDEM __construct()...) */

public function __construct() {
try {
$this->classloader();
include "../class/config.class.php";
if (isset($_REQUEST["service"])) {
date_default_timezone_set("Europe/Paris");
$this->entityloader();
application::$_bdd = new bdd();
session::start(false);
$this->serviceloader();
$this->security_purge();
$service = strtr($_REQUEST["service"], array("." => "", "/" => "", "\\" => "", "?" => "", "#" => ""));
if (file_exists($service . ".service.php")) {
$service = new $service();
} else {
dwf_exception::throw_exception(622, array("_s_" => $service));
}
} else {
dwf_exception::throw_exception(621);
}
} catch (Exception $e) {
dwf_exception::print_exception($e, "", true);
}
}

/** * Inclut toutes les classes du framework */
private function classloader() {
spl_autoload_register(function($class) {
$file = __DIR__ . "/../../../dwf/class/" . $class . ".class.php";
if (file_exists($file)) {
require_once $file;
}
});
}

/** * Inclut les entités du projet */
private function entityloader() {
spl_autoload_register(function($class) {
$file = __DIR__ . "/../class/entity/" . $class . ".class.php";
if (file_exists($file)) {
require_once $file;
}
});
}

/** * Inclut toutes les classes du dossier "service" se finissant par ".service.php" */
private function serviceloader() {
spl_autoload_register(function($class) {
$file = __DIR__ . "/" . $class . ".service.php";
if (file_exists($file)) {
require_once $file;
}
});
}

/** * Supprime tous les fichiers se terminant par .php~ (trill) dans le dossier "service" <br /> * Cette fonction est recommandée sur les serveurs de production Linux pour des raisons de sécurité <br /> * certains hébergeurs tolèrent mal cette fonction, elle peut être désactivée en commentant la ligne "$this->security_purge();" dans le constructeur. */
private function security_purge() {
foreach (glob("*.php~") as $trill) {
unlink($trill);
}
}

}

new index_service();

0 comments on commit 47b0938

Please sign in to comment.