Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/public/main/inc/lib/custom_pages.class.php

103 lines
2.7 KiB

<?php
/* For licensing terms, see /license.txt */
/**
* Used to implement the loading of custom pages.
*
* @license see /license.txt
* @author 2011, Jean-Karim Bockstael <jeankarim@cblue.be>
* @author Laurent Opprecht <laurent@opprecht.info> for the Univesity of Geneva
*/
class CustomPages
{
const INDEX_LOGGED = 'index-logged';
const INDEX_UNLOGGED = 'index-unlogged';
const LOGGED_OUT = 'loggedout';
const REGISTRATION_FEEDBACK = 'registration-feedback';
const REGISTRATION = 'registration';
const LOST_PASSWORD = 'lostpassword';
/**
* Returns true if custom pages are enabled. False otherwise.
*
* @return bool
*/
public static function enabled()
{
return 'true' == api_get_setting('use_custom_pages');
}
/**
* Returns the path to a custom page.
*
* @param string $name
*
* @return string
*/
public static function path($name = '')
{
return api_get_path(SYS_PATH).'custompages/'.$name;
}
/**
* If enabled display a custom page and exist. Otherwise log error and returns.
*
* @param string $pageName
* @param array $content used to pass data to the custom page
*
* @return bool False if custom pages is not enabled or file could not be found. Void otherwise.
*/
public static function display($pageName, $content = [])
{
if (!self::enabled()) {
return false;
}
$file = self::path($pageName.'.php');
// Only include file if it exists, otherwise do nothing
if (file_exists($file)) {
include $file;
exit; //finish the execution here - do not return
}
return false;
}
/**
* Does not look like this function is being used is being used.
*
* @param int $url_id
*
* @return array
*/
public static function getURLImages($url_id = null)
{
if (is_null($url_id)) {
$url = 'http://'.$_SERVER['HTTP_HOST'].'/';
$url_id = UrlManager::get_url_id($url);
}
$url_images_dir = api_get_path(SYS_PATH).'custompages/url-images/';
$images = [];
for ($img_id = 1; $img_id <= 3; $img_id++) {
if (file_exists($url_images_dir.$url_id.'_url_image_'.$img_id.'.png')) {
$images[] = api_get_path(WEB_PATH).'custompages/url-images/'.$url_id.'_url_image_'.$img_id.'.png';
}
}
return $images;
}
/**
* Check if exists the file for custom page.
*
* @param string $pageName The name of custom page
*
* @return bool
*/
public static function exists($pageName)
{
$fileName = self::path("$pageName.php");
return file_exists($fileName);
}
}