Merge branch '1.9.x' into 1.10.x

1.10.x
Julio Montoya 11 years ago
commit 19ee4c0d4d
  1. 22
      main/inc/lib/fckeditor/editor/plugins/Abbr/lang/nl.js
  2. 12
      main/inc/lib/fileUpload.lib.php
  3. 46
      main/tracking/question_course_report.php
  4. 13
      main/wiki/index.php
  5. 54
      main/wiki/wiki.inc.php

@ -0,0 +1,22 @@
/*
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
* http://www.fckeditor.net/
*
* File Name: en.js
* Abbr English language file.
* Changes for Chamilo corrections
*
*/
FCKLang.Abbr = 'Corrections' ;
FCKLang.AbbrBtn = 'Insert/Remove corrections' ;
FCKLang.AbbrDlgTitle = 'Insert/Remove corrections' ;
FCKLang.AbbrDlgName = 'Please insert a comment:' ;
FCKLang.AbbrDlgTxt = 'Correction gets visible while mouseover with cursor [<abbr title="This word is a mispelling">This is the correction appearance</abbr>]';
FCKLang.AbbrDlgRemove = 'Remove correction';
FCKLang.AbbrDlgSelectFirst = 'You have to select text first!';

@ -1518,12 +1518,14 @@ function create_unexisting_directory(
} }
if (!is_dir($base_work_dir.$systemFolderName)) { if (!is_dir($base_work_dir.$systemFolderName)) {
mkdir( $result = mkdir(
$base_work_dir.$systemFolderName, $base_work_dir.$systemFolderName,
api_get_permissions_for_new_directories(), api_get_permissions_for_new_directories(),
true true
); );
if ($result) {
// Check if pathname already exists inside document table // Check if pathname already exists inside document table
$tbl_document = Database::get_course_table(TABLE_DOCUMENT); $tbl_document = Database::get_course_table(TABLE_DOCUMENT);
$sql = "SELECT id, path FROM $tbl_document $sql = "SELECT id, path FROM $tbl_document
@ -1584,15 +1586,15 @@ function create_unexisting_directory(
$session_id $session_id
); );
} }
$documentData = DocumentManager::get_document_data_by_id( $documentData = DocumentManager::get_document_data_by_id(
$document_id, $document_id,
$_course['code'], $_course['code'],
false, false,
$session_id $session_id
); );
return $documentData; return $documentData;
} else {
return false;
} }
} else { } else {
$document = Database::fetch_array($rs); $document = Database::fetch_array($rs);
@ -1608,11 +1610,11 @@ function create_unexisting_directory(
return $documentData; return $documentData;
} }
} else { }
}
return false; return false;
} }
}
/** /**
* Handles uploaded missing images * Handles uploaded missing images

@ -1,18 +1,17 @@
<?php <?php
/* For licensing terms, see /license.txt */
/** /**
* Report * Report
* @package chamilo.tracking * @package chamilo.tracking
*/ */
/**
* Code
*/
$language_file = array('registration', 'index', 'tracking', 'exercice','survey'); $language_file = array('registration', 'index', 'tracking', 'exercice','survey');
$cidReset = true; $cidReset = true;
require_once '../inc/global.inc.php'; require_once '../inc/global.inc.php';
require_once api_get_path(SYS_CODE_PATH).'exercice/exercise.class.php'; require_once api_get_path(SYS_CODE_PATH).'exercice/exercise.class.php';
require_once api_get_path(SYS_CODE_PATH).'exercice/question.class.php'; require_once api_get_path(SYS_CODE_PATH).'exercice/question.class.php';
require_once api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php';
require_once api_get_path(LIBRARY_PATH).'pear/Spreadsheet_Excel_Writer/Writer.php'; require_once api_get_path(LIBRARY_PATH).'pear/Spreadsheet_Excel_Writer/Writer.php';
require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php'; require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
@ -61,7 +60,12 @@ if (empty($session_id)) {
foreach ($temp_course_list as $temp_course_item) { foreach ($temp_course_list as $temp_course_item) {
$course_item = CourseManager ::get_course_information($temp_course_item['code']); $course_item = CourseManager ::get_course_information($temp_course_item['code']);
$course_list[]= array('db_name' =>$course_item['db_name'],'code'=>$course_item['code'], 'title'=>$course_item['title'], 'visual_code'=>$course_item['visual_code']); $course_list[] = array(
'db_name' => $course_item['db_name'],
'code' => $course_item['code'],
'title' => $course_item['title'],
'visual_code' => $course_item['visual_code']
);
$course_select_list[$temp_course_item['code']] = $course_item['title']; $course_select_list[$temp_course_item['code']] = $course_item['title'];
} }
@ -94,41 +98,35 @@ if (!empty($course_info)) {
$main_question_list = array(); $main_question_list = array();
foreach ($lp_list as $lp_id =>$lp) { foreach ($lp_list as $lp_id =>$lp) {
$exercise_list = get_all_exercises_from_lp($lp_id, $course_info['real_id']); $exercise_list = get_all_exercises_from_lp($lp_id, $course_info['real_id']);
//var_dump($exercise_list);
foreach ($exercise_list as $exercise) { foreach ($exercise_list as $exercise) {
$my_exercise = new Exercise(); $my_exercise = new Exercise();
//$my_exercise->read($exercise['ref']);
$my_exercise->read($exercise['path']); $my_exercise->read($exercise['path']);
$question_list = $my_exercise->selectQuestionList(); $question_list = $my_exercise->selectQuestionList();
$exercise_stats = get_all_exercise_event_from_lp($exercise['path'],$course_info['id'], $session_id); $exercise_stats = get_all_exercise_event_from_lp(
//echo '<pre>'; print_r($exercise_stats); $exercise['path'],
$course_info['id'],
$session_id
);
foreach ($question_list as $question_id) { foreach ($question_list as $question_id) {
$question_data = Question::read($question_id); $question_data = Question::read($question_id);
///var_dump($question_data);
$main_question_list[$question_id] = $question_data; $main_question_list[$question_id] = $question_data;
$quantity_exercises = 0; $quantity_exercises = 0;
$question_result = 0; $question_result = 0;
//echo '<pre>';
//print_r($exercise_stats);
foreach($exercise_stats as $stats) { foreach($exercise_stats as $stats) {
if (!empty($stats['question_list'])) { if (!empty($stats['question_list'])) {
foreach($stats['question_list'] as $my_question_stat) { foreach($stats['question_list'] as $my_question_stat) {
// var_dump($my_question_stat);
if ($question_id == $my_question_stat['question_id']) { if ($question_id == $my_question_stat['question_id']) {
//var_dump($my_question_stat);
$question_result = $question_result + $my_question_stat['marks']; $question_result = $question_result + $my_question_stat['marks'];
// var_dump($my_question_stat['marks']);
$quantity_exercises++; $quantity_exercises++;
} }
} }
} }
} }
//echo $question_id;
//var_dump($question_result.' - '.$quantity_exercises.$main_question_list[$question_id]->weighting);
if (!empty($quantity_exercises)) { if (!empty($quantity_exercises)) {
$main_question_list[$question_id]->results =(($question_result / ($quantity_exercises)) ) ; // Score % average // Score % average
$main_question_list[$question_id]->results =(($question_result / ($quantity_exercises)) ) ;
} else { } else {
$main_question_list[$question_id]->results = 0; $main_question_list[$question_id]->results = 0;
} }
@ -139,11 +137,6 @@ if (!empty($course_info)) {
} }
} }
//var_dump($main_question_list);
//var_dump($main_question_list);
//$course_list = SessionManager::get_course_list_by_session_id($session_id);
if (!$export_to_xls) { if (!$export_to_xls) {
Display :: display_header(get_lang("MySpace")); Display :: display_header(get_lang("MySpace"));
@ -173,7 +166,6 @@ if (!$export_to_xls) {
} }
$course_average = array(); $course_average = array();
$counter = 0; $counter = 0;
if (!empty($main_question_list) && is_array($main_question_list)) { if (!empty($main_question_list) && is_array($main_question_list)) {
@ -228,7 +220,8 @@ if ($export_to_xls) {
exit; exit;
} }
function sort_user($a, $b) { function sort_user($a, $b)
{
if (is_numeric($a['score']) && is_numeric($b['score'])) { if (is_numeric($a['score']) && is_numeric($b['score'])) {
echo $a['score'].' : '.$b['score']; echo $a['score'].' : '.$b['score'];
echo '<br />'; echo '<br />';
@ -240,7 +233,8 @@ function sort_user($a, $b) {
return 1; return 1;
} }
function export_complete_report_xls($filename, $array) { function export_complete_report_xls($filename, $array)
{
global $charset; global $charset;
$workbook = new Spreadsheet_Excel_Writer(); $workbook = new Spreadsheet_Excel_Writer();
$workbook ->setTempDir(api_get_path(SYS_ARCHIVE_PATH)); $workbook ->setTempDir(api_get_path(SYS_ARCHIVE_PATH));

@ -74,10 +74,13 @@ event_access_tool(TOOL_WIKI);
if ($groupId) { if ($groupId) {
$group_properties = GroupManager::get_group_properties($groupId); $group_properties = GroupManager::get_group_properties($groupId);
$interbreadcrumb[] = array("url" => api_get_path(WEB_CODE_PATH)."group/group.php", "name" => get_lang('Groups'));
$interbreadcrumb[] = array( $interbreadcrumb[] = array(
"url" => api_get_path(WEB_CODE_PATH)."group/group_space.php?gidReq=".$groupId, "url" => api_get_path(WEB_CODE_PATH)."group/group.php?".api_get_cidreq(),
"name" => get_lang('GroupSpace').' '.$group_properties['name'] "name" => get_lang('Groups')
);
$interbreadcrumb[] = array(
"url" => api_get_path(WEB_CODE_PATH)."group/group_space.php?".api_get_cidreq(),
"name" => get_lang('GroupSpace').' '.Security::remove_XSS($group_properties['name'])
); );
//ensure this tool in groups whe it's private or deactivated //ensure this tool in groups whe it's private or deactivated
if ($group_properties['wiki_state'] == 0) { if ($group_properties['wiki_state'] == 0) {
@ -95,8 +98,8 @@ $is_allowed_to_edit = api_is_allowed_to_edit(false, true);
// The page we are dealing with // The page we are dealing with
$page = isset($_GET['title']) ? $_GET['title']: 'index'; $page = isset($_GET['title']) ? $_GET['title']: 'index';
$action = isset($_GET['action']) ? $_GET['action'] : 'showpage'; $action = isset($_GET['action']) ? Security::remove_XSS($_GET['action']) : 'showpage';
$view = isset($_GET['view']) ? $_GET['view'] : null; $view = isset($_GET['view']) ? Security::remove_XSS($_GET['view']) : null;
$wiki->page = $page; $wiki->page = $page;
$wiki->action = $action; $wiki->action = $action;

@ -46,7 +46,6 @@ class Wiki
$this->course_id = api_get_course_int_id(); $this->course_id = api_get_course_int_id();
$this->group_id = api_get_group_id(); $this->group_id = api_get_group_id();
if (!empty($this->group_id)) { if (!empty($this->group_id)) {
$this->groupfilter = ' group_id="'.$this->group_id.'"'; $this->groupfilter = ' group_id="'.$this->group_id.'"';
} }
@ -186,8 +185,10 @@ class Wiki
$irclink='href="irc'; $irclink='href="irc';
$irclinkStyle='class="wiki_irc_link" href="irc'; $irclinkStyle='class="wiki_irc_link" href="irc';
$output=str_replace($irclink, $irclinkStyle, $input); $output=str_replace($irclink, $irclinkStyle, $input);
return $output; return $output;
} }
/** /**
* This function allows users to have [link to a title]-style links like in most regular wikis. * This function allows users to have [link to a title]-style links like in most regular wikis.
* It is true that the adding of links is probably the most anoying part of Wiki for the people * It is true that the adding of links is probably the most anoying part of Wiki for the people
@ -277,8 +278,8 @@ class Wiki
$_clean['title'] = Database::escape_string(trim($values['title'])); $_clean['title'] = Database::escape_string(trim($values['title']));
$_clean['content'] = Database::escape_string($values['content']); $_clean['content'] = Database::escape_string($values['content']);
if (api_get_setting('htmlpurifier_wiki') == 'true'){ if (api_get_setting('htmlpurifier_wiki') == 'true'){
$purifier = new HTMLPurifier(); //$purifier = new HTMLPurifier();
$_clean['content'] = $purifier->purify($_clean['content']); $_clean['content'] = Security::remove_XSS($_clean['content']);
} }
$_clean['user_id'] = api_get_user_id(); $_clean['user_id'] = api_get_user_id();
$_clean['assignment']= Database::escape_string($values['assignment']); $_clean['assignment']= Database::escape_string($values['assignment']);
@ -704,7 +705,7 @@ class Wiki
} }
$wikiData = self::getWikiData(); $wikiData = self::getWikiData();
$redirectUrl = $this->url.'&action=showpage&title='.$wikiData['reflink']; $redirectUrl = $this->url.'&action=showpage&title='.$wikiData['reflink'].'&'.api_get_cidreq();
header('Location: '.$redirectUrl); header('Location: '.$redirectUrl);
exit; exit;
} }
@ -4320,17 +4321,18 @@ class Wiki
$page = $this->page; $page = $this->page;
echo '<div class="actions">'; echo '<div class="actions">';
/* echo '&nbsp;<a href="index.php?cidReq='.$_course['id'].'&action=show&amp;title=index&session_id='.$session_id.'&group_id='.$groupId.'"'.self::is_active_navigation_tab('show').'>'.
Display::return_icon('wiki.png',get_lang('HomeWiki'),'',ICON_SIZE_MEDIUM).'</a>&nbsp;';*/
echo '<ul class="nav" style="margin-bottom:0px"> echo '<ul class="nav" style="margin-bottom:0px">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" href="javascript:void(0)">'.Display::return_icon('menu.png', get_lang('Menu'), '', ICON_SIZE_MEDIUM).'</a>'; <a class="dropdown-toggle" href="javascript:void(0)">'.
Display::return_icon('menu.png', get_lang('Menu'), '', ICON_SIZE_MEDIUM).'</a>';
// menu home // menu home
echo '<ul class="dropdown-menu">'; echo '<ul class="dropdown-menu">';
echo '<li><a href="index.php?action=showpage&title=index&cidReq='.$_course['id'].'&session_id='.$session_id.'&group_id='.$groupId.'">'.get_lang('Home').'</a></li>'; echo '<li><a href="index.php?action=showpage&title=index&cidReq='.$_course['id'].'&session_id='.$session_id.'&group_id='.$groupId.'">'.
get_lang('Home').'</a></li>';
if (api_is_allowed_to_session_edit(false, true) && api_is_allowed_to_edit()) { if (api_is_allowed_to_session_edit(false, true) && api_is_allowed_to_edit()) {
// menu add page // menu add page
echo '<li><a href="index.php?cidReq=' . $_course['id'] . '&action=addnew&session_id=' . $session_id . '&group_id=' . $groupId . '"' . self::is_active_navigation_tab('addnew').'>' . get_lang('AddNew') . '</a>'; echo '<li><a href="index.php?cidReq=' . $_course['id'] . '&action=addnew&session_id=' . $session_id . '&group_id=' . $groupId . '"' . self::is_active_navigation_tab('addnew').'>'
. get_lang('AddNew') . '</a>';
} }
$lock_unlock_addnew = null; $lock_unlock_addnew = null;
@ -4347,16 +4349,21 @@ class Wiki
} }
} }
echo '<a href="index.php?action=show&amp;actionpage='.$lock_unlock_addnew.'&amp;title='.api_htmlentities(urlencode($page)).'">'.$protect_addnewpage.'</a></li>'; echo '<a href="index.php?action=show&amp;actionpage='.$lock_unlock_addnew.'&amp;title='.api_htmlentities(urlencode($page)).'">'.
$protect_addnewpage.'</a></li>';
// menu find // menu find
echo '<li><a href="index.php?cidReq='.$_course['id'].'&action=searchpages&session_id='.$session_id.'&group_id='.$groupId.'"'.self::is_active_navigation_tab('searchpages').'>'.get_lang('SearchPages').'</a></li>'; echo '<li><a href="index.php?cidReq='.$_course['id'].'&action=searchpages&session_id='.$session_id.'&group_id='.$groupId.'"'.self::is_active_navigation_tab('searchpages').'>'.
get_lang('SearchPages').'</a></li>';
// menu all pages // menu all pages
echo '<li><a href="index.php?cidReq='.$_course['id'].'&action=allpages&session_id='.$session_id.'&group_id='.$groupId.'"'.self::is_active_navigation_tab('allpages').'>'.get_lang('AllPages').'</a></li>'; echo '<li><a href="index.php?cidReq='.$_course['id'].'&action=allpages&session_id='.$session_id.'&group_id='.$groupId.'"'.self::is_active_navigation_tab('allpages').'>'.
get_lang('AllPages').'</a></li>';
// menu recent changes // menu recent changes
echo '<li><a href="index.php?cidReq='.$_course['id'].'&action=recentchanges&session_id='.$session_id.'&group_id='.$groupId.'"'.self::is_active_navigation_tab('recentchanges').'>'.get_lang('RecentChanges').'</a></li>'; echo '<li><a href="index.php?cidReq='.$_course['id'].'&action=recentchanges&session_id='.$session_id.'&group_id='.$groupId.'"'.self::is_active_navigation_tab('recentchanges').'>'.
get_lang('RecentChanges').'</a></li>';
// menu delete all wiki // menu delete all wiki
if (api_is_allowed_to_edit(false, true) || api_is_platform_admin()) { if (api_is_allowed_to_edit(false, true) || api_is_platform_admin()) {
echo '<li><a href="index.php?action=deletewiki&amp;title='.api_htmlentities(urlencode($page)).'"'.self::is_active_navigation_tab('deletewiki').'>'.get_lang('DeleteWiki').'</a></li>'; echo '<li><a href="index.php?action=deletewiki&amp;title='.api_htmlentities(urlencode($page)).'"'.self::is_active_navigation_tab('deletewiki').'>'.
get_lang('DeleteWiki').'</a></li>';
} }
///menu more ///menu more
echo '<li><a href="index.php?action=more&amp;title='.api_htmlentities(urlencode($page)).'"'.self::is_active_navigation_tab('more').'>'.get_lang('Statistics').'</a></li>'; echo '<li><a href="index.php?action=more&amp;title='.api_htmlentities(urlencode($page)).'"'.self::is_active_navigation_tab('more').'>'.get_lang('Statistics').'</a></li>';
@ -4395,7 +4402,7 @@ class Wiki
Display::return_icon('delete.png',get_lang('DeleteThisPage'),'',ICON_SIZE_MEDIUM).'</a>'; Display::return_icon('delete.png',get_lang('DeleteThisPage'),'',ICON_SIZE_MEDIUM).'</a>';
} }
echo '</ul>'; echo '</ul>';
echo '</div>'; // End actions echo '</div>';
} }
/** /**
@ -4542,7 +4549,7 @@ class Wiki
$message=get_lang('TheTaskDoesNotBeginUntil').': '.api_get_local_time($row['startdate_assig'], null, date_default_timezone_get()); $message=get_lang('TheTaskDoesNotBeginUntil').': '.api_get_local_time($row['startdate_assig'], null, date_default_timezone_get());
self::setMessage(Display::display_warning_message($message, false, true)); self::setMessage(Display::display_warning_message($message, false, true));
if (!api_is_allowed_to_edit(false,true)) { if (!api_is_allowed_to_edit(false,true)) {
return; $this->redirectHome();
} }
} }
@ -4555,7 +4562,7 @@ class Wiki
$message = get_lang('TheDeadlineHasBeenCompleted').': '.api_get_local_time($row['enddate_assig'], null, date_default_timezone_get()); $message = get_lang('TheDeadlineHasBeenCompleted').': '.api_get_local_time($row['enddate_assig'], null, date_default_timezone_get());
self::setMessage(Display::display_warning_message($message, false, true)); self::setMessage(Display::display_warning_message($message, false, true));
if (!api_is_allowed_to_edit(false,true)) { if (!api_is_allowed_to_edit(false,true)) {
return; $this->redirectHome();
} }
} }
@ -4563,7 +4570,7 @@ class Wiki
$message=get_lang('HasReachedMaxiNumVersions'); $message=get_lang('HasReachedMaxiNumVersions');
self::setMessage(Display::display_warning_message($message, false, true)); self::setMessage(Display::display_warning_message($message, false, true));
if (!api_is_allowed_to_edit(false,true)) { if (!api_is_allowed_to_edit(false,true)) {
return; $this->redirectHome();
} }
} }
@ -4571,7 +4578,7 @@ class Wiki
$message = get_lang('HasReachedMaxNumWords'); $message = get_lang('HasReachedMaxNumWords');
self::setMessage(Display::display_warning_message($message, false, true)); self::setMessage(Display::display_warning_message($message, false, true));
if (!api_is_allowed_to_edit(false,true)) { if (!api_is_allowed_to_edit(false,true)) {
return; $this->redirectHome();
} }
} }
@ -4648,11 +4655,11 @@ class Wiki
Display::tag('span', api_htmlentities(api_get_person_name($userinfo['firstname'], $userinfo['lastname'])), array('title'=>$username)). Display::tag('span', api_htmlentities(api_get_person_name($userinfo['firstname'], $userinfo['lastname'])), array('title'=>$username)).
'</a>. '.get_lang('ThisPageisBeginEditedTryLater').' '.date( "i",$rest_time).' '.get_lang('MinMinutes').''; '</a>. '.get_lang('ThisPageisBeginEditedTryLater').' '.date( "i",$rest_time).' '.get_lang('MinMinutes').'';
self::setMessage(Display::display_normal_message($is_being_edited, false, true)); self::setMessage(Display::display_normal_message($is_being_edited, false, true));
return; $this->redirectHome();
} }
// Form. // Form.
$url = api_get_self().'?action=edit&title='.urlencode($page).'&session_id='.api_get_session_id().'&group_id='.api_get_group_id(); $url = api_get_self().'?action=edit&title='.urlencode($page).'&session_id='.api_get_session_id().'&group_id='.api_get_group_id().'&'.api_get_cidreq();
$form = new FormValidator('wiki', 'post', $url); $form = new FormValidator('wiki', 'post', $url);
$form->addElement('header', $icon_assignment.str_repeat('&nbsp;',3).api_htmlentities($title)); $form->addElement('header', $icon_assignment.str_repeat('&nbsp;',3).api_htmlentities($title));
self::setForm($form, $row); self::setForm($form, $row);
@ -4682,7 +4689,7 @@ class Wiki
self::setMessage(Display::display_confirmation_message($return_message, false, true)); self::setMessage(Display::display_confirmation_message($return_message, false, true));
} }
$wikiData = self::getWikiData(); $wikiData = self::getWikiData();
$redirectUrl = $this->url.'&action=showpage&title='.$wikiData['reflink']; $redirectUrl = $this->url.'&action=showpage&title='.$wikiData['reflink'].'&'.api_get_cidreq();
header('Location: '.$redirectUrl); header('Location: '.$redirectUrl);
exit; exit;
} }
@ -5131,7 +5138,7 @@ class Wiki
public function redirectHome() public function redirectHome()
{ {
$redirectUrl = $this->url.'&action=showpage&title=index'; $redirectUrl = $this->url.'&action=showpage&title=index';
header('Location: '.$redirectUrl); header('Location: '.$redirectUrl.'&'.api_get_cidreq());
exit; exit;
} }
@ -5155,4 +5162,3 @@ class Wiki
return false; return false;
} }
} }

Loading…
Cancel
Save