/**
  * Updates schemas with new references.
  */
 public function updateSchemas()
 {
     foreach ($this->app_entities as $bundle_name => $bundle_data) {
         $schema_content = \Sybil\Yaml::dump($bundle_data, 2, 4);
         $schema_directory = $_SERVER['PWD'] . '/bundle/' . $bundle_name . '/';
         $schema_file = $schema_directory . 'schema.yml';
         if (file_exists($schema_file)) {
             copy($schema_file, $schema_directory . '_schema.yml');
             chmod($schema_directory . '_schema.yml', 0777);
             file_put_contents($schema_file, $schema_content);
             chmod($schema_file, 0777);
         }
     }
 }
Exemplo n.º 2
0
 /**
  * Removes every references from Yaml schemas.
  */
 public function removeReferences()
 {
     $this->loadSchemas();
     if (!empty($this->app_schema)) {
         foreach ($this->app_schema as $bundle_name => $models) {
             if (!empty($models)) {
                 foreach ($models as $model_name => $model_data) {
                     if (!empty($model_data)) {
                         foreach ($model_data as $property_name => $property_data) {
                             unset($this->app_schema[$bundle_name][$model_name][$property_name]['_ref']);
                             if ($property_name == '_params' && empty($this->app_schema[$bundle_name][$model_name][$property_name])) {
                                 unset($this->app_schema[$bundle_name][$model_name][$property_name]);
                             }
                         }
                     }
                 }
             }
         }
         foreach ($this->app_schema as $bundle_name => $models) {
             $schema_content = \Sybil\Yaml::dump($models, 2, 4);
             $schema_directory = $_SERVER['PWD'] . '/bundle/' . $bundle_name . '/';
             $schema_file = $schema_directory . 'schema.yml';
             if (file_exists($schema_file)) {
                 file_put_contents($schema_file, $schema_content);
                 chmod($schema_file, 0777);
             }
             if (file_exists($schema_directory . '_schema.yml')) {
                 unlink($schema_directory . '_schema.yml');
             }
         }
     }
     echo "References have been removed from every schema.\n";
 }
Exemplo n.º 3
0
 *
 * Sybil Framework
 * (c) 2014 Grégory Bellencontre
 */
namespace Sybil;

use Twig_Autoloader;
require_once '../vendor/autoload.php';
require_once '../app/Config.php';
// À retirer une fois la classe Config développée
require_once '../app/constants.php';
// Là dedans aussi
// Session initialization
session_name(App::slugify(Config::$app_namespace));
session_start();
// Location and time settings
define('LOCALE', !empty($_SESSION['locale']) ? filter_var($_SESSION['locale'], FILTER_SANITIZE_STRING) : Config::$locale);
date_default_timezone_set(Config::$timezone);
putenv('LC_ALL=' . LOCALE);
setlocale(LC_ALL, LOCALE);
// Environment definition
define('ENVIRONMENT', Config::$environment);
Yaml::init();
Twig_Autoloader::register();
// Routes cache settings
if (ENVIRONMENT == 'development') {
    Routing::cache();
}
// Request process
$request = new Request($_SERVER['QUERY_STRING']);
$request->process();