Minor - updating comments

skala
Julio Montoya 12 years ago
parent 0a8436a2c0
commit c9a93d7dc8
  1. 89
      main/inc/global.inc.php

@ -19,13 +19,13 @@
*/
// Fix bug in IIS that doesn't fill the $_SERVER['REQUEST_URI'].
//@todo not sure if this is needed any more
//@todo not sure if we need this
//api_request_uri();
// This is for compatibility with MAC computers.
//ini_set('auto_detect_line_endings', '1');
//Autoloader
// Composer autoloader
require_once __DIR__.'../../../vendor/autoload.php';
use Silex\Application;
@ -46,11 +46,12 @@ $app = new Application();
$includePath = dirname(__FILE__);
// Include the main Chamilo platform configuration file.
//@todo use a service provider like:
// @todo use a service provider to load configuration files:
/*
$app->register(new Igorw\Silex\ConfigServiceProvider($settingsFile));
*/
/** Loading configuration files */
$configurationFilePath = $includePath.'/conf/configuration.php';
$configurationYMLFile = $includePath.'/../../config/configuration.yml';
$configurationFileAppPath = $includePath.'/../../config/configuration.php';
@ -85,6 +86,8 @@ if (file_exists($configurationYMLFile)) {
// End reading configuration file
/** Loading legacy libs */
// Include the main Chamilo platform library file.
require_once $includePath.'/lib/main_api.lib.php';
@ -97,7 +100,7 @@ require_once $includePath.'/lib/internationalization_internal.lib.php';
// Do not over-use this variable. It is only for this script's local use.
$libPath = $includePath.'/lib/';
// Loading config files
/** Loading config files */
if ($alreadyInstalled) {
$configPath = $includePath.'/../../config/';
@ -249,13 +252,13 @@ $app->register(new Silex\Provider\SecurityServiceProvider(), array(
)
));*/
// Setting controllers as services
// Setting Controllers as services provider
$app->register(new Silex\Provider\ServiceControllerServiceProvider());
// Validator provider
$app->register(new Silex\Provider\ValidatorServiceProvider());
// Implements Symfony2 translator
// Implements Symfony2 translator (needed when using forms in Twig)
$app->register(new Silex\Provider\TranslationServiceProvider(), array(
'locale' => 'en',
'locale_fallback' => 'en'
@ -346,7 +349,7 @@ $app['template_style'] = 'default';
// Default layout
$app['default_layout'] = $app['template_style'].'/layout/layout_1_col.tpl';
//Setting the Twig service provider
// Setting Twig as a service provider
$app->register(
new Silex\Provider\TwigServiceProvider(),
array(
@ -387,10 +390,10 @@ $app['twig'] = $app->share(
})
);
// Registering Menu extension
// Registering Menu service provider (too gently creating menus with the URLgenerator provider)
$app->register(new \Knp\Menu\Silex\KnpMenuServiceProvider());
//Pagerfanta settings (Pagination)
// Pagerfanta settings (Pagination using Doctrine2, arrays, etc)
use FranMoreno\Silex\Provider\PagerfantaServiceProvider;
$app->register(new PagerfantaServiceProvider());
@ -401,13 +404,13 @@ $app['pagerfanta.view.options'] = array(
'proximity' => 3,
'next_message' => '»',
'prev_message' => '«',
'default_view' => 'twitter_bootstrap'
'default_view' => 'twitter_bootstrap' // the pagination style
);
// Custom route params see https://github.com/franmomu/silex-pagerfanta-provider/pull/2
//$app['pagerfanta.view.router.name']
//$app['pagerfanta.view.router.params']
//Monolog only available if cache is writable
// Monolog only available if the log dir is writable
if (is_writable($app['temp.path'])) {
/*
@ -478,24 +481,23 @@ if (isset($app['configuration']['main_database'])) {
define('IMAGE_PROCESSOR', 'gd'); // imagick or gd strings
// Setting the Imagine service provider to deal with image transformations used in social group.
$app->register(new Grom\Silex\ImagineServiceProvider(), array(
'imagine.factory' => 'Gd',
//'imagine.base_path' => __DIR__.'/vendor/imagine',
));
//Manage error messages
// Manage Chamilo error messages
$app->error(
function (\Exception $e, $code) use ($app) {
if ( $e instanceof PDOException) {
}
if ($app['debug']) {
//return;
}
if (isset($code)) {
switch ($code) {
case 404:
@ -534,7 +536,7 @@ if ($app['debug'] && isset($app['configuration']['main_database'])) {
// Database constants
require_once $libPath.'database.constants.inc.php';
//@todo tranform the events.lib.inc.php in a class
// @todo Rewrite the events.lib.inc.php in a class
require_once $libPath.'events.lib.inc.php';
// Connect to the server database and select the main chamilo database.
@ -631,13 +633,13 @@ if ($alreadyInstalled && $checkConnection) {
// Load allowed tag definitions for kses and/or HTMLPurifier.
require_once $libPath.'formvalidator/Rule/allowed_tags.inc.php';
// which will then be usable from the banner and header scripts
// Section (tabs in the main chamilo menu)
$app['this_section'] = SECTION_GLOBAL;
// include the local (contextual) parameters of this course or section
require $includePath.'/local.inc.php';
//Adding web profiler
// Adding symfony2 web profiler (memory, time, logs, etc)
if (is_writable($app['temp.path'])) {
//if ($app['debug']) {
@ -647,6 +649,7 @@ if (is_writable($app['temp.path'])) {
));
$app->mount('/_profiler', $p);
}
//$app->register(new Whoops\Provider\Silex\WhoopsServiceProvider);
//}
}
@ -667,19 +670,24 @@ $app->register(new Silex\Provider\SwiftmailerServiceProvider(), array(
$app['mailer'] = $app->share(function ($app) {
return new \Swift_Mailer($app['swiftmailer.transport']);
});
use Bt51\Silex\Provider\GaufretteServiceProvider\GaufretteServiceProvider;
// Gaufrette service provider (to manage files/dirs) (not used yet)
/*
use Bt51\Silex\Provider\GaufretteServiceProvider\GaufretteServiceProvider;
$app->register(new GaufretteServiceProvider(), array(
'gaufrette.adapter.class' => 'Local',
'gaufrette.options' => array(api_get_path(SYS_DATA_PATH))
));
*/
// Use symfony2 filesystem instead of custom scripts
use Neutron\Silex\Provider\FilesystemServiceProvider;
$app->register(new FilesystemServiceProvider());
// Setting languages
$app['api_get_languages'] = api_get_languages();
/* Loading languages and sublanguages */
/** Loading languages and sublanguages **/
// if we use the javascript version (without go button) we receive a get
// if we use the non-javascript version (with the go button) we receive a post
@ -773,8 +781,6 @@ if (isset($this_script) && $this_script == 'sub_language') {
}
}
/**
* Include all necessary language files
* - trad4all
@ -839,13 +845,13 @@ if (is_array($language_files)) {
}
}
}
/* End loading languages */
// End loading languages
// Specification for usernames:
// 1. ASCII-letters, digits, "." (dot), "_" (underscore) are acceptable, 40 characters maximum length.
// 2. Empty username is formally valid, but it is reserved for the anonymous user.
// 3. Checking the login_is_email portal setting in order to accept 100 chars maximum
// @todo this should be configured somewhere else usermanager.class.php? a users.yml setting?
$default_username_length = 40;
if (api_get_setting('login_is_email') == 'true') {
@ -854,7 +860,9 @@ if (api_get_setting('login_is_email') == 'true') {
define('USERNAME_MAX_LENGTH', $default_username_length);
/** Silex Middlewares: A before application middleware allows you to tweak the Request before the controller is executed */
/** Silex Middlewares: */
/** A "before" middleware allows you to tweak the Request before the controller is executed */
$app->before(
function () use ($app, $checkConnection) {
@ -890,20 +898,21 @@ $app->before(
}
);
/** Silex Middlewares: An after application middleware allows you to tweak the Response before it is sent to the client */
/** An after application middleware allows you to tweak the Response before it is sent to the client */
$app->after(
function (Request $request, Response $response) {
}
);
/** Silex Middlewares: A finish application middleware allows you to execute tasks after the Response has been sent to
/** A "finish" application middleware allows you to execute tasks after the Response has been sent to
* the client (like sending emails or logging) */
$app->finish(
function (Request $request) use ($app) {
}
);
// End Silex Middlewares
// The global variable $charset has been defined in a language file too (trad4all.inc.php), this is legacy situation.
// So, we have to reassign this variable again in order to keep its value right.
@ -915,6 +924,7 @@ $text_dir = api_get_text_direction();
// Update of the logout_date field in the table track_e_login (needed for the calculation of the total connection time)
/** "Login as user" custom script */
if (!isset($_SESSION['login_as']) && isset($_user)) {
// if $_SESSION['login_as'] is set, then the user is an admin logged as the user
@ -949,23 +959,29 @@ if (!isset($_SESSION['login_as']) && isset($_user)) {
// The langstat object will then be used in the get_lang() function.
// This block can be removed to speed things up a bit as it should only ever
// be used in development versions.
// @todo create a service provider to load this
if (isset($app['configuration']['language_measure_frequency']) && $app['configuration']['language_measure_frequency'] == 1) {
require_once api_get_path(SYS_CODE_PATH).'/cron/lang/langstats.class.php';
$langstats = new langstats();
}
/** Setting the course quota */
// @todo move this somewhere else
// Default quota for the course documents folder
$default_quota = api_get_setting('default_document_quotum');
// Just in case the setting is not correctly set
if (empty($default_quota)) {
$default_quota = 100000000;
}
define('DEFAULT_DOCUMENT_QUOTA', $default_quota);
/** Setting the is_admin key */
$app['is_admin'] = false;
// Creating a Chamilo service provider
/** Chamilo service provider */
use Silex\ServiceProviderInterface;
class ChamiloServiceProvider implements ServiceProviderInterface
@ -1000,6 +1016,7 @@ class ChamiloServiceProvider implements ServiceProviderInterface
$app->register(new ChamiloServiceProvider(), array());
// Controller as services definitions
// @todo move definitions in another file
$app['pages.controller'] = $app->share(function () use ($app) {
return new PagesController($app['pages.repository']);
@ -1058,8 +1075,8 @@ $app['posts.controller'] = $app->share(function() use ($app) {
$app->mount('/', "posts.controller");*/
/**
* Nice middlewares that will fix the permission problems in Chamilo
* @todo move this in a permission class
* Custom chamilo middlewares that will fix the permission problems in Chamilo
* @todo move this
**/
$checkCourse = function (Request $request) use ($app) {
$courseCode = $request->get('courseCode');
@ -1096,7 +1113,7 @@ $userAccessPermissions = function (Request $request) use ($app) {
$courseCode = $request->get('cidReq');
};
// End middlewares
// End custom middlewares
// @todo put routes somewhere else, in a yml/php file .
@ -1104,6 +1121,7 @@ $userAccessPermissions = function (Request $request) use ($app) {
* All calls made in Chamilo (olds ones) are manage in the LegacyController::classicAction function located here:
* src/ChamiloLMS/Controller/LegacyController.php
*/
$app->get('/', 'legacy.controller:classicAction')
->before($courseAccessConditions)
->before($userAccessPermissions);
@ -1116,7 +1134,7 @@ $app->post('/', 'legacy.controller:classicAction')
$app->match('/index', 'index.controller:indexAction', 'GET|POST')
->bind('index');
// web/userportal
// Userportal
$app->get('/userportal', 'userPortal.controller:indexAction');
$app->get('/userportal/{type}/{filter}/{page}', 'userPortal.controller:indexAction')
->value('type', 'courses') //default values
@ -1170,4 +1188,5 @@ $app->get('/data/document_templates/{file}', 'index.controller:getDocumentTempla
// Data default_platform_document files
$app->get('/data/default_platform_document/', 'index.controller:getDefaultPlatformDocumentAction')
->assert('type', '.+');
return $app;
Loading…
Cancel
Save