-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
193a410
commit 47b0938
Showing
3 changed files
with
147 additions
and
129 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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(); |