Fixing phpqrcode autoload. The lib was always loaded no matter what. This need to be fixed in the phpqrcode lib repo. For now we use composer to generate the class map for this library.

skala
Julio Montoya 13 years ago
parent 1df55367aa
commit e3883f43b9
  1. 3
      composer.json
  2. 7
      main/auth/my_progress.php
  3. 31
      main/inc/lib/certificate.lib.php
  4. 6
      main/inc/lib/display.lib.php
  5. 1
      src/ChamiloLMS/Resources/config/prod.php
  6. 2
      vendor/autoload.php
  7. 19
      vendor/composer/autoload_classmap.php
  8. 7
      vendor/composer/autoload_real.php
  9. 4
      vendor/jmontoyaa/phpqrcode/composer.json
  10. 1033
      vendor/jmontoyaa/phpqrcode/phpqrcode.php

@ -23,7 +23,8 @@
"main/inc/lib",
"main/install",
"main/inc/lib/getid3",
"main/survey"
"main/survey",
"vendor/jmontoyaa/phpqrcode"
]
},
"repositories": [

@ -12,7 +12,6 @@ $language_file = array('registration', 'tracking', 'exercice', 'admin', 'learnpa
$cidReset = true;
require_once '../inc/global.inc.php';
require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpath.class.php';
require_once api_get_path(SYS_CODE_PATH).'exercice/exercise.lib.php';
$this_section = SECTION_TRACKING;
@ -80,7 +79,7 @@ if (!empty($course_user_list)) {
}
}
$content .= Tracking::show_user_progress(api_get_user_id());
$content = Tracking::show_user_progress(api_get_user_id());
$content .= Tracking::show_course_detail(api_get_user_id(), $_GET['course'], $_GET['session_id']);
if (!empty($dates)) {
@ -103,12 +102,12 @@ if (!empty($dates)) {
</ul>
</div></div>';
}
$message = null;
if (empty($content)) {
$message = Display::return_message(get_lang('NoDataAvailable'), 'warning');
}
$app['title'] = $tool_name;
//$app['title'] = $tool_name;
$tpl = $app['template'];
$tpl->assign('message', $message);

@ -5,27 +5,29 @@
* gradebook tool.
* @package chamilo.library.certificates
*/
class Certificate extends Model
{
var $table;
var $columns = array('id','cat_id','score_certificate','created_at','path_certificate');
public $table;
public $columns = array('id','cat_id','score_certificate','created_at','path_certificate');
/**
* Certification data
*/
var $certificate_data = array();
public $certificate_data = array();
/**
* Student's certification path
*/
var $certification_user_path = null;
var $certification_web_user_path = null;
var $html_file = null;
var $qr_file = null;
var $user_id;
public $certification_user_path = null;
public $certification_web_user_path = null;
public $html_file = null;
public $qr_file = null;
public $sys_qr_file = null;
public $user_id;
//If true every time we enter to the certificate URL we would generate a new certificate
// (good thing because we can edit the certificate and all users will have the latest certificate bad because we load the certificate everytime)
var $force_certificate_generation = true; //default true
public $force_certificate_generation = true; //default true
/**
* Constructor
@ -65,6 +67,7 @@ class Certificate extends Model
$pathinfo = pathinfo($this->certificate_data['path_certificate']);
$this->html_file = $this->certification_user_path.basename($this->certificate_data['path_certificate']);
$this->qr_file = $this->certification_user_path.$pathinfo['filename'].'_qr.png';
//$this->sys_qr_file = $this->certification_user_path.$pathinfo['filename'].'_qr.png';
}
}
@ -100,7 +103,8 @@ class Certificate extends Model
* the teacher from the gradebook tool to re-generate the certificate because
* the original version wa flawed.
*/
public function delete($force_delete = false) {
public function delete($force_delete = false)
{
if (!empty($this->certificate_data)) {
if (!is_null($this->html_file) || $this->html_file != '' || strlen($this->html_file)) {
@ -128,7 +132,7 @@ class Certificate extends Model
}
/**
* Generates an HTML Certificate and fills the path_certificate field in the DB
* Generates an HTML Certificate and fills the path_certificate field in the DB
* */
public function generate($params = array()) {
@ -187,7 +191,7 @@ class Certificate extends Model
$file_info = pathinfo($path_certificate);
$qr_code_filename = $this->certification_user_path.$file_info['filename'].'_qr.png';
$my_new_content_html = str_replace('((certificate_barcode))', Display::img($this->certification_web_user_path.$file_info['filename'].'_qr.png', 'QR'), $new_content_html['content']);
$my_new_content_html = str_replace('((certificate_barcode))', Display::img($this->certification_web_user_path.$file_info['filename'].'_qr.png', 'QR', null, false), $new_content_html['content']);
$my_new_content_html = mb_convert_encoding($my_new_content_html,'UTF-8', api_get_system_encoding());
$result = @file_put_contents($my_path_certificate, $my_new_content_html);
@ -249,7 +253,8 @@ class Certificate extends Model
* @param string Text to be added in the QR code
* @param string file path of the image
* */
public function generate_qr($text, $path) {
public function generate_qr($text, $path)
{
//Make sure HTML certificate is generated
if (!empty($text) && !empty($path)) {
//L low, M - Medium, L large error correction

@ -692,11 +692,13 @@ class Display
* @param array additional attributes (for instance height, width, onclick, ...)
* @author Julio Montoya 2010
*/
public static function img($image_path, $alt_text = '', $additional_attributes = array())
public static function img($image_path, $alt_text = '', $additional_attributes = array(), $applyFilter = true)
{
// Sanitizing the parameter $image_path
$image_path = Security::filter_img_path($image_path);
if ($applyFilter) {
$image_path = Security::filter_img_path($image_path);
}
// alt text = the image name if there is none provided (for XHTML compliance)
if ($alt_text == '') {

@ -44,6 +44,7 @@ $app['temp.paths']->folders[] = _MPDF_TEMP_PATH;
//QR code
define('QR_CACHE_DIR', $app['temp.path'].'qr');
define('QR_LOG_DIR', $app['temp.path'].'qr');
$app['temp.paths']->folders[] = QR_CACHE_DIR;
//Chamilo Temp class

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit2db8af3d1b760bc756d3b49e9c2a45bd::getLoader();
return ComposerAutoloaderInit9686e641bdeddab21fbf49db8b6b38e6::getLoader();

@ -190,6 +190,7 @@ return array(
'ForumThreadLink' => $baseDir . '/main/gradebook/lib/be/forumthreadlink.class.php',
'ForumTopic' => $baseDir . '/main/coursecopy/classes/ForumTopic.class.php',
'Frame' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/frame.cls.php',
'FrameFiller' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'FrameList' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/frame.cls.php',
'FrameListIterator' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/frame.cls.php',
'FrameTreeIterator' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/frame.cls.php',
@ -336,6 +337,7 @@ return array(
'Javascript_Embedder' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/javascript_embedder.cls.php',
'KeyAuth' => $baseDir . '/main/auth/key/key_auth.class.php',
'LearnpathLink' => $baseDir . '/main/gradebook/lib/be/learnpathlink.class.php',
'LearnpathList' => $baseDir . '/main/newscorm/learnpathList.class.php',
'LegalManager' => $baseDir . '/main/inc/lib/legal.lib.php',
'Link' => $baseDir . '/main/inc/lib/link.lib.php',
'LinkAddEditForm' => $baseDir . '/main/gradebook/lib/fe/linkaddeditform.class.php',
@ -475,6 +477,21 @@ return array(
'Portfolio\\User' => $baseDir . '/main/inc/lib/system/portfolio/user.class.php',
'Positioner' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/positioner.cls.php',
'Promotion' => $baseDir . '/main/inc/lib/promotion.lib.php',
'QRbitstream' => $vendorDir . '/jmontoyaa/phpqrcode/qrbitstream.php',
'QRcode' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRencode' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRimage' => $vendorDir . '/jmontoyaa/phpqrcode/qrimage.php',
'QRinput' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRinputItem' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRmask' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRrawcode' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRrs' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRrsItem' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRrsblock' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRspec' => $vendorDir . '/jmontoyaa/phpqrcode/qrspec.php',
'QRsplit' => $vendorDir . '/jmontoyaa/phpqrcode/qrsplit.php',
'QRtools' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRvect' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'Question' => $baseDir . '/main/exercice/question.class.php',
'QuickformElement' => $baseDir . '/main/inc/lib/pear/HTML/QuickForm/Renderer/Object.php',
'QuickformFlexyElement' => $baseDir . '/main/inc/lib/pear/HTML/QuickForm/Renderer/ObjectFlexy.php',
@ -700,7 +717,6 @@ return array(
'langstats' => $baseDir . '/main/cron/lang/langstats.class.php',
'learnpath' => $baseDir . '/main/newscorm/learnpath.class.php',
'learnpathItem' => $baseDir . '/main/newscorm/learnpathItem.class.php',
'LearnpathList' => $baseDir . '/main/newscorm/learnpathList.class.php',
'learnpath_processor' => $baseDir . '/main/inc/lib/search/tool_processors/learnpath_processor.class.php',
'lessc' => $vendorDir . '/leafo/lessphp/lessc.inc.php',
'lessc_formatter_classic' => $vendorDir . '/leafo/lessphp/lessc.inc.php',
@ -738,6 +754,7 @@ return array(
'phpCAS' => $baseDir . '/main/auth/cas/lib/CAS.php',
'phpmailerException' => $baseDir . '/main/inc/lib/phpmailer/class.phpmailer.php',
'phpmailerTest' => $baseDir . '/main/inc/lib/phpmailer/test/phpmailerTest.php',
'qrstr' => $vendorDir . '/jmontoyaa/phpqrcode/qrconst.php',
'quiz_processor' => $baseDir . '/main/inc/lib/search/tool_processors/quiz_processor.class.php',
'scorm' => $baseDir . '/main/newscorm/scorm.class.php',
'scormItem' => $baseDir . '/main/newscorm/scormItem.class.php',

@ -2,7 +2,7 @@
// autoload_real.php generated by Composer
class ComposerAutoloaderInit2db8af3d1b760bc756d3b49e9c2a45bd
class ComposerAutoloaderInit9686e641bdeddab21fbf49db8b6b38e6
{
private static $loader;
@ -19,9 +19,9 @@ class ComposerAutoloaderInit2db8af3d1b760bc756d3b49e9c2a45bd
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit2db8af3d1b760bc756d3b49e9c2a45bd', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit9686e641bdeddab21fbf49db8b6b38e6', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit2db8af3d1b760bc756d3b49e9c2a45bd', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit9686e641bdeddab21fbf49db8b6b38e6', 'loadClassLoader'));
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
@ -40,7 +40,6 @@ class ComposerAutoloaderInit2db8af3d1b760bc756d3b49e9c2a45bd
require $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php';
require $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php';
require $vendorDir . '/jmontoyaa/phpqrcode/qrlib.php';
return $loader;
}

@ -14,6 +14,8 @@
"php": ">=4.3.10"
},
"autoload": {
"files": ["qrlib.php"]
"classmap": [
"phpqrcode"
]
}
}

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save