Minor - fix 1.11.x errors

pull/2715/head
Julio Montoya 7 years ago
parent 14dbb82afb
commit c1c3f81ee4
  1. 4
      main/document/create_document.php
  2. 9
      main/document/document.php
  3. 2
      main/dropbox/index.php
  4. 2
      main/gradebook/lib/GradebookUtils.php
  5. 2
      main/gradebook/lib/fe/gradebooktable.class.php
  6. 8
      main/inc/lib/api.lib.php
  7. 65
      main/inc/lib/document.lib.php
  8. 1
      main/inc/lib/template.lib.php
  9. 4
      main/lp/learnpath.class.php
  10. 6
      main/survey/create_new_survey.php
  11. 16
      src/CoreBundle/Controller/Admin/SettingsController.php
  12. 2
      src/CoreBundle/Controller/EditorController.php
  13. 6
      src/ThemeBundle/Resources/views/Layout/topbar.html.twig

@ -590,9 +590,9 @@ if ($form->validate()) {
}
$certificate_condition = '';
if ($is_certificate_mode) {
$df = DocumentManager::get_default_certificate_id($_course['code']);
$df = DocumentManager::get_default_certificate_id($_course['real_id']);
if (!isset($df)) {
DocumentManager::attach_gradebook_certificate($_course['code'], $document_id);
DocumentManager::attach_gradebook_certificate($_course['real_id'], $document_id);
}
$certificate_condition = '&certificate=true&curdirpath=/certificates';
}

@ -268,7 +268,7 @@ switch ($action) {
if ($deleteDocument) {
$certificateId = isset($_GET['delete_certificate_id']) ? $_GET['delete_certificate_id'] : null;
DocumentManager::remove_attach_certificate(
api_get_course_id(),
api_get_course_int_id(),
$certificateId
);
Display::addFlash(
@ -706,7 +706,7 @@ if (isset($_GET['curdirpath']) && $_GET['curdirpath'] == '/certificates' &&
// Generate document HTML
$content_html = DocumentManager::replace_user_info_into_html(
api_get_user_id(),
api_get_course_id(),
api_get_course_info(),
api_get_session_id(),
true
);
@ -1561,9 +1561,10 @@ if (isset($_GET['curdirpath']) &&
$_GET['set_certificate'] == strval(intval($_GET['set_certificate']))
) {
if (isset($_GET['cidReq'])) {
$course_id = Security::remove_XSS($_GET['cidReq']); // course id
$course_id = Security::remove_XSS($_GET['cidReq']); // course code
$document_id = Security::remove_XSS($_GET['set_certificate']); // document id
DocumentManager::attach_gradebook_certificate($course_id, $document_id);
$courseInfoTemp = api_get_course_info($course_id);
DocumentManager::attach_gradebook_certificate($courseInfoTemp['real_id'], $document_id);
$message = Display::return_message(get_lang('IsDefaultCertificate'), 'normal');
Display::addFlash(
$message

@ -4,6 +4,8 @@
// The file that contains all the initialisation stuff (and includes all the configuration stuff)
require_once 'dropbox_init.inc.php';
$_course = api_get_course_info();
$last_access = '';
// get the last time the user accessed the tool
if (isset($_SESSION[$_course['id']]) &&

@ -866,7 +866,7 @@ class GradebookUtils
// Generate document HTML
$content_html = DocumentManager::replace_user_info_into_html(
$user_id,
$course_code,
api_get_course_info($course_code),
$sessionId,
$is_preview
);

@ -781,7 +781,7 @@ class GradebookTable extends SortableTable
$content_html = DocumentManager::replace_user_info_into_html(
api_get_user_id(),
$course_code,
api_get_course_info($course_code),
api_get_session_id()
);

@ -776,10 +776,18 @@ function api_get_path($path = '', $configuration = [])
[],
UrlGeneratorInterface::ABSOLUTE_URL
);
// Fix for php files inside main
if (strpos($root_web, 'main') !== false) {
$pos = (int) strpos($root_web, 'main');
$root_web = substr($root_web, 0, $pos);
}
// Fix for php files inside courses
if (strpos($root_web, '/courses/') !== false) {
$pos = (int) strpos($root_web, '/courses/');
$root_web = substr($root_web, 0, $pos);
}
$root_web = urldecode($root_web);
}

@ -1453,12 +1453,13 @@ class DocumentManager
$user_id
) {
$table_template = Database::get_main_table(TABLE_MAIN_TEMPLATES);
$course_code = (int) $courseId;
$courseId = (int) $courseId;
$user_id = (int) $user_id;
$document_id = (int) $document_id;
$sql = 'SELECT id FROM '.$table_template.'
WHERE
c_id = "'.$course_code.'" AND
c_id = "'.$courseId.'" AND
user_id = "'.$user_id.'" AND
ref_doc = "'.$document_id.'"';
$result = Database::query($sql);
@ -1702,14 +1703,15 @@ class DocumentManager
*
* @todo move to certificate.lib.php
*
* @param string $course_id
* @param int $document_id
* @param int $session_id
* @param int $courseId
* @param int $document_id
* @param int $session_id
*/
public static function attach_gradebook_certificate($course_id, $document_id, $session_id = 0)
public static function attach_gradebook_certificate($courseId, $document_id, $session_id = 0)
{
$tbl_category = Database::get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY);
$session_id = intval($session_id);
$courseId = (int) $courseId;
if (empty($session_id)) {
$session_id = api_get_session_id();
}
@ -1717,12 +1719,12 @@ class DocumentManager
if (empty($session_id)) {
$sql_session = 'AND (session_id = 0 OR isnull(session_id)) ';
} elseif ($session_id > 0) {
$sql_session = 'AND session_id='.intval($session_id);
$sql_session = 'AND session_id='.$session_id;
} else {
$sql_session = '';
}
$sql = 'UPDATE '.$tbl_category.' SET document_id="'.intval($document_id).'"
WHERE course_code="'.Database::escape_string($course_id).'" '.$sql_session;
WHERE c_id ="'.$courseId.'" '.$sql_session;
Database::query($sql);
}
@ -1731,15 +1733,16 @@ class DocumentManager
*
* @todo move to certificate.lib.php
*
* @param string $course_id
* @param int $session_id
* @param int $courseId
* @param int $session_id
*
* @return int The default certificate id
*/
public static function get_default_certificate_id($course_id, $session_id = 0)
public static function get_default_certificate_id($courseId, $session_id = 0)
{
$tbl_category = Database::get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY);
$session_id = intval($session_id);
$session_id = (int) $session_id;
$courseId = (int) $courseId;
if (empty($session_id)) {
$session_id = api_get_session_id();
}
@ -1747,12 +1750,13 @@ class DocumentManager
if (empty($session_id)) {
$sql_session = 'AND (session_id = 0 OR isnull(session_id)) ';
} elseif ($session_id > 0) {
$sql_session = 'AND session_id='.intval($session_id);
$sql_session = 'AND session_id='.$session_id;
} else {
$sql_session = '';
}
$sql = 'SELECT document_id FROM '.$tbl_category.'
WHERE course_code="'.Database::escape_string($course_id).'" '.$sql_session;
WHERE c_id ="'.$courseId.'" '.$sql_session;
$rs = Database::query($sql);
$num = Database::num_rows($rs);
@ -1767,26 +1771,25 @@ class DocumentManager
/**
* Allow replace user info in file html.
*
* @param int $user_id
* @param string $course_code
* @param int $sessionId
* @param bool $is_preview
* @param int $user_id
* @param array $courseInfo
* @param int $sessionId
* @param bool $is_preview
*
* @return array
*/
public static function replace_user_info_into_html(
$user_id,
$course_code,
$courseInfo,
$sessionId,
$is_preview = false
) {
$user_id = intval($user_id);
$course_info = api_get_course_info($course_code);
$tbl_document = Database::get_course_table(TABLE_DOCUMENT);
$course_id = $course_info['real_id'];
$course_id = $courseInfo['real_id'];
$document_id = self::get_default_certificate_id(
$course_code,
$course_id,
$sessionId
);
@ -1799,13 +1802,13 @@ class DocumentManager
$all_user_info = [];
if (Database::num_rows($rs)) {
$row = Database::fetch_array($rs);
$filepath = api_get_path(SYS_COURSE_PATH).$course_info['path'].'/document'.$row['path'];
$filepath = api_get_path(SYS_COURSE_PATH).$courseInfo['path'].'/document'.$row['path'];
if (is_file($filepath)) {
$my_content_html = file_get_contents($filepath);
}
$all_user_info = self::get_all_info_to_certificate(
$user_id,
$course_code,
$courseInfo,
$is_preview
);
@ -1953,7 +1956,7 @@ class DocumentManager
/**
* Remove default certificate.
*
* @param string $course_id The course code
* @param int $course_id The course code
* @param int $default_certificate_id The document id of the default certificate
*/
public static function remove_attach_certificate($course_id, $default_certificate_id)
@ -1976,7 +1979,7 @@ class DocumentManager
$sql = 'UPDATE '.$tbl_category.' SET document_id = null
WHERE
course_code = "'.Database::escape_string($course_id).'" AND
c_id = "'.Database::escape_string($course_id).'" AND
document_id="'.$default_certificate_id.'" '.$sql_session;
Database::query($sql);
}
@ -4481,7 +4484,7 @@ class DocumentManager
if ($fromBaseCourse) {
$defaultCertificateId = self::get_default_certificate_id(
$courseData['code'],
$courseData['real_id'],
0
);
if (!empty($defaultCertificateId)) {
@ -4531,13 +4534,13 @@ class DocumentManager
);
$defaultCertificateId = self::get_default_certificate_id(
$courseData['code'],
$courseData['real_id'],
$sessionId
);
if (!isset($defaultCertificateId)) {
self::attach_gradebook_certificate(
$courseData['code'],
$courseData['real_id'],
$documentId,
$sessionId
);
@ -5445,7 +5448,7 @@ class DocumentManager
}
if ((isset($_GET['curdirpath']) && $_GET['curdirpath'] == '/certificates') || $is_certificate_mode) {//allow attach certificate to course
$visibility_icon_certificate = 'nocertificate';
if (self::get_default_certificate_id(api_get_course_id()) == $id) {
if (self::get_default_certificate_id(api_get_course_int_id()) == $id) {
$visibility_icon_certificate = 'certificate';
$certificate = get_lang('DefaultCertificate');
$preview = get_lang('PreviewCertificate');
@ -6854,7 +6857,7 @@ class DocumentManager
if (
isset($_GET['curdirpath']) &&
$_GET['curdirpath'] == '/certificates' &&
self::get_default_certificate_id(api_get_course_id()) == $id
self::get_default_certificate_id(api_get_course_int_id()) == $id
) {
return $btn;
}

@ -1577,7 +1577,6 @@ class Template
{
// Default root chamilo favicon
$favico = '<link rel="shortcut icon" href="'.api_get_path(WEB_PATH).'favicon.ico" type="image/x-icon" />';
//Added to verify if in the current Chamilo Theme exist a favicon
$favicoThemeUrl = api_get_path(SYS_CSS_PATH).$this->themeDir.'images/';

@ -33,7 +33,7 @@ use Symfony\Component\Finder\Finder;
*/
class learnpath
{
const MAX_LP_ITEM_TITLE_LENGTH = 32;
public const MAX_LP_ITEM_TITLE_LENGTH = 32;
public $attempt = 0; // The number for the current ID view.
public $cc; // Course (code) this learnpath is located in. @todo change name for something more comprensible ...
@ -13397,7 +13397,7 @@ EOD;
case TOOL_DOCUMENT:
$document = $em
->getRepository('ChamiloCourseBundle:CDocument')
->findOneBy(['cId' => $course_id, 'iid' => $id]);
->findOneBy(['course' => $course_id, 'iid' => $id]);
if (empty($document)) {
// Try with normal id

@ -16,14 +16,12 @@
*/
require_once __DIR__.'/../inc/global.inc.php';
$_course = api_get_course_info();
$this_section = SECTION_COURSES;
$allowSurveyAvailabilityDatetime = api_get_configuration_value('allow_survey_availability_datetime');
// Database table definitions
$table_survey = Database::get_course_table(TABLE_SURVEY);
$table_user = Database::get_main_table(TABLE_MAIN_USER);
$table_course = Database::get_main_table(TABLE_MAIN_COURSE);
$table_gradebook_link = Database::get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
/** @todo this has to be moved to a more appropriate place (after the display_header of the code) */

@ -6,6 +6,8 @@ namespace Chamilo\CoreBundle\Controller\Admin;
use Chamilo\SettingsBundle\Manager\SettingsManager;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Sylius\Bundle\SettingsBundle\Controller\SettingsController as SyliusSettingsController;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
@ -56,7 +58,7 @@ class SettingsController extends SyliusSettingsController
$keyword = $request->get('keyword');
$searchForm = $this->getSearchForm();
if ($searchForm->handleRequest($request)->isValid()) {
if ($searchForm->isSubmitted() && $searchForm->handleRequest($request)->isValid()) {
$values = $searchForm->getData();
$keyword = $values['keyword'];
}
@ -65,9 +67,7 @@ class SettingsController extends SyliusSettingsController
throw $this->createNotFoundException();
}
$settingsFromKeyword = $manager->getParametersFromKeywordOrderedByCategory(
$keyword
);
$settingsFromKeyword = $manager->getParametersFromKeywordOrderedByCategory($keyword);
$settings = [];
if (!empty($settingsFromKeyword)) {
@ -129,7 +129,7 @@ class SettingsController extends SyliusSettingsController
$searchForm = $this->getSearchForm();
$keyword = '';
if ($searchForm->handleRequest($request)->isValid()) {
if ($searchForm->isSubmitted() && $searchForm->handleRequest($request)->isValid()) {
$values = $searchForm->getData();
$keyword = $values['keyword'];
$settingsFromKeyword = $manager->getParametersFromKeyword(
@ -162,7 +162,7 @@ class SettingsController extends SyliusSettingsController
$form->setData($settings);
if ($form->handleRequest($request)->isValid()) {
if ($form->isSubmitted() && $form->handleRequest($request)->isValid()) {
$messageType = 'success';
try {
$manager->save($form->getData());
@ -224,8 +224,8 @@ class SettingsController extends SyliusSettingsController
private function getSearchForm()
{
$builder = $this->container->get('form.factory')->createNamedBuilder('search');
$builder->add('keyword', 'text');
$builder->add('search', 'submit');
$builder->add('keyword', TextType::class);
$builder->add('search', SubmitType::class);
$searchForm = $builder->getForm();
return $searchForm;

@ -123,7 +123,7 @@ class EditorController extends Controller
}
return $this->render(
'ChamiloCoreBundle:Editor:config_js.html.twig',
'@ChamiloTheme/Editor/config_js.html.twig',
[
// @todo replace api_get_bootstrap_and_font_awesome
'bootstrap_css' => api_get_bootstrap_and_font_awesome(true),

@ -147,7 +147,11 @@
<li class="dropdown">
<a href="" class="dropdown-toggle no-after peers fxw-nw ai-c lh-1" data-toggle="dropdown">
<div class="peer mR-10">
<img class="rounded-circle" src="{{ asset(app.user.avatarOrAnonymous(32)) }}" alt="{{ app.user.completeName }}">
<img
class="rounded-circle"
src="{{ url('legacy_public') ~ app.user.avatarOrAnonymous(32) }}"
alt="{{ app.user.completeName }}"
>
</div>
<div class="peer">
<span class="fsz-sm">{{ app.user.completeName }}</span>

Loading…
Cancel
Save