Fix glossary messages + format code

ofaj
jmontoyaa 9 years ago
parent b0ff969fc7
commit 372acb3054
  1. 397
      main/glossary/index.php
  2. 166
      main/inc/lib/glossary.lib.php

@ -1,6 +1,8 @@
<?php
/* For licensing terms, see /license.txt */
use ChamiloSession as Session;
/**
* @package chamilo.glossary
* @author Christian Fasanando, initial version
@ -9,7 +11,7 @@
require_once '../inc/global.inc.php';
$current_course_tool = TOOL_GLOSSARY;
$current_course_tool = TOOL_GLOSSARY;
// The section (tabs).
$this_section = SECTION_COURSES;
@ -27,243 +29,262 @@ $(document).ready(function () {
setFocus();
});
</script>';
// setting the tool constants
$tool = TOOL_GLOSSARY;
// Tracking
Event::event_access_tool(TOOL_GLOSSARY);
function sorter($item1, $item2) {
if ($item1[2] == $item2[2])
return 0;
return $item1[2] < $item2[2] ? -1 : 1;
if ($item1[2] == $item2[2]) {
return 0;
}
return $item1[2] < $item2[2] ? -1 : 1;
}
// Displaying the header
$action = isset($_GET['action']) ? $_GET['action'] : null;
$tool = 'GlossaryManagement';
$interbreadcrumb[] = array ("url"=>"index.php", "name"=> get_lang('Glossary'));
if (!empty($action)) {
$action = isset($_GET['action']) ? $_GET['action'] : '';
$currentUrl = api_get_self().'?'.api_get_cidreq();
$interbreadcrumb[] = array('url' => 'index.php?'.api_get_cidreq(), 'name' => get_lang('Glossary'));
}
$content = '';
$tool_name = '';
switch ($action) {
case 'addglossary':
if (!api_is_allowed_to_edit(null, true)) {
api_not_allowed(true);
}
$tool_name = get_lang('Add');
$form = new FormValidator(
'glossary',
'post',
api_get_self().'?action='.Security::remove_XSS($_GET['action']).'&'.api_get_cidreq()
);
// Setting the form elements
$form->addElement('header', '', get_lang('TermAddNew'));
$form->addElement(
'text',
'glossary_title',
get_lang('TermName'),
array('id' => 'glossary_title')
);
$form->addElement(
'html_editor',
'glossary_comment',
get_lang('TermDefinition'),
null,
array('ToolbarSet' => 'Glossary', 'Height' => '300')
);
$form->addButtonCreate(get_lang('TermAddButton'), 'SubmitGlossary');
// setting the rules
$form->addRule('glossary_title', get_lang('ThisFieldIsRequired'), 'required');
// The validation or display
if ($form->validate()) {
$check = Security::check_token('post');
if ($check) {
$values = $form->exportValues();
GlossaryManager::save_glossary($values);
}
Security::clear_token();
header('Location: '.$currentUrl);
exit;
} else {
$token = Security::get_token();
$form->addElement('hidden', 'sec_token');
$form->setConstants(array('sec_token' => $token));
$content = $form->returnForm();
}
break;
case 'edit_glossary':
if (!api_is_allowed_to_edit(null, true)) {
api_not_allowed(true);
}
$tool_name = get_lang('Edit');
break;
case 'import':
$tool_name = get_lang('ImportGlossary');
break;
case 'changeview':
default:
$tool_name = get_lang('List');
break;
}
if (isset($_GET['action']) && $_GET['action'] == 'export') {
$data = GlossaryManager::get_glossary_data(
0,
GlossaryManager::get_number_glossary_terms(api_get_session_id()),
0,
'ASC'
);
usort($data, "sorter");
$list = array();
$list[] = array('term','definition');
foreach($data as $line) {
$list[] = array ($line[0], $line[1]);
}
$filename = 'glossary_course_'.api_get_course_id();
Export::arrayToCsv($list, $filename);
}
if (isset($_GET['action']) && $_GET['action'] == 'export_to_pdf') {
GlossaryManager::export_to_pdf();
}
Display::display_header($tool_name);
// Tool introduction
Display::display_introduction_section(TOOL_GLOSSARY);
if (isset($_GET['action']) && $_GET['action'] == 'changeview' && in_array($_GET['view'], array('list','table'))) {
$_SESSION['glossary_view'] = $_GET['view'];
} else {
if (!isset($_SESSION['glossary_view'])) {
$_SESSION['glossary_view'] = 'table';//Default option
}
}
if (api_is_allowed_to_edit(null, true)) {
switch ($action) {
case 'addglossary':
if (is_numeric($_GET['glossary_id'])) {
// initiate the object
$form = new FormValidator(
'glossary',
'post',
api_get_self().'?action='.Security::remove_XSS($_GET['action']).'&'.api_get_cidreq()
api_get_self().'?action='.Security::remove_XSS($_GET['action']).'&glossary_id='.intval($_GET['glossary_id']).'&'.api_get_cidreq()
);
// Setting the form elements
$form->addElement('header', '', get_lang('TermAddNew'));
$form->addElement('text', 'glossary_title', get_lang('TermName'), array('size'=>'80', 'id'=>'glossary_title'));
//$form->applyFilter('glossary_title', 'html_filter');
$form->addElement('html_editor', 'glossary_comment', get_lang('TermDefinition'), null, array('ToolbarSet' => 'Glossary', 'Height' => '300'));
$form->addButtonCreate(get_lang('TermAddButton'), 'SubmitGlossary');
$form->addElement('header', '', get_lang('TermEdit'));
$form->addElement('hidden', 'glossary_id');
$form->addElement('text', 'glossary_title', get_lang('TermName'));
$form->addElement(
'html_editor',
'glossary_comment',
get_lang('TermDefinition'),
null,
array('ToolbarSet' => 'Glossary', 'Height' => '300')
);
$element = $form->addElement('text', 'insert_date', get_lang('CreationDate'));
$element->freeze();
$element = $form->addElement('text', 'update_date', get_lang('UpdateDate'));
$element->freeze();
$form->addButtonUpdate(get_lang('TermUpdateButton'), 'SubmitGlossary');
// setting the defaults
$glossary_data = GlossaryManager::get_glossary_information($_GET['glossary_id']);
// Date treatment for timezones
if (!empty($glossary_data['insert_date'])) {
$glossary_data['insert_date'] = api_get_local_time($glossary_data['insert_date']);
} else {
$glossary_data['insert_date'] = '';
}
if (!empty($glossary_data['update_date'])) {
$glossary_data['update_date'] = api_get_local_time($glossary_data['update_date']);
} else {
$glossary_data['update_date'] = '';
}
$form->setDefaults($glossary_data);
// setting the rules
$form->addRule('glossary_title', get_lang('ThisFieldIsRequired'), 'required');
// The validation or display
if ($form->validate()) {
$check = Security::check_token('post');
if ($check) {
$values = $form->exportValues();
GlossaryManager::save_glossary($values);
GlossaryManager::update_glossary($values);
}
Security::clear_token();
GlossaryManager::display_glossary();
header('Location: '.$currentUrl);
exit;
} else {
$token = Security::get_token();
$form->addElement('hidden', 'sec_token');
$form->setConstants(array('sec_token' => $token));
$form->display();
$content = $form->returnForm();
}
break;
case 'edit_glossary':
if (is_numeric($_GET['glossary_id'])) {
// initiate the object
$form = new FormValidator(
'glossary',
'post',
api_get_self().'?action='.Security::remove_XSS($_GET['action']).'&glossary_id='.intval($_GET['glossary_id']).'&'.api_get_cidreq()
);
// Setting the form elements
$form->addElement('header', '', get_lang('TermEdit'));
$form->addElement('hidden', 'glossary_id');
$form->addElement('text', 'glossary_title', get_lang('TermName'),array('size'=>'80'));
//$form->applyFilter('glossary_title', 'html_filter');
$form->addElement('html_editor', 'glossary_comment', get_lang('TermDefinition'), null, array('ToolbarSet' => 'Glossary', 'Height' => '300'));
$element = $form->addElement('text', 'insert_date', get_lang('CreationDate'),array('size'=>'100'));
$element->freeze();
$element = $form->addElement('text', 'update_date', get_lang('UpdateDate'),array('size'=>'100'));
$element->freeze();
$form->addButtonUpdate(get_lang('TermUpdateButton'), 'SubmitGlossary');
// setting the defaults
$glossary_data = GlossaryManager::get_glossary_information($_GET['glossary_id']);
// Date treatment for timezones
if (!empty($glossary_data['insert_date'])) {
$glossary_data['insert_date'] = api_get_local_time($glossary_data['insert_date']);
} else {
$glossary_data['insert_date'] = '';
}
if (!empty($glossary_data['update_date'])) {
$glossary_data['update_date'] = api_get_local_time($glossary_data['update_date']);
} else {
$glossary_data['update_date'] = '';
}
$form->setDefaults($glossary_data);
// setting the rules
$form->addRule('glossary_title', get_lang('ThisFieldIsRequired'), 'required');
// The validation or display
if ($form->validate()) {
$check = Security::check_token('post');
if ($check) {
$values = $form->exportValues();
GlossaryManager::update_glossary($values);
}
break;
case 'delete_glossary':
if (!api_is_allowed_to_edit(null, true)) {
api_not_allowed(true);
}
GlossaryManager::delete_glossary($_GET['glossary_id']);
Security::clear_token();
header('Location: '.$currentUrl);
exit;
break;
case 'moveup':
//GlossaryManager::move_glossary('up',$_GET['glossary_id']); //actions not available
GlossaryManager::display_glossary();
break;
case 'movedown':
//GlossaryManager::move_glossary('down',$_GET['glossary_id']); //actions not available
GlossaryManager::display_glossary();
break;
case 'import':
if (!api_is_allowed_to_edit(null, true)) {
api_not_allowed(true);
}
$tool_name = get_lang('ImportGlossary');
$form = new FormValidator(
'glossary',
'post',
api_get_self().'?action=import&'.api_get_cidreq()
);
$form->addElement('header', '', get_lang('ImportGlossary'));
$form->addElement('file', 'file', get_lang('ImportCSVFileLocation'));
$form->addElement('checkbox', 'replace', null, get_lang('DeleteAllGlossaryTerms'));
$form->addButtonImport(get_lang('Import'), 'SubmitImport');
$content = $form->returnForm();
$content .= get_lang('CSVMustLookLike').' ('.get_lang('MandatoryFields').')';
$content .= '<pre>
<strong>term</strong>;<strong>definition</strong>;
"Hello";"Hola";
"Good";"Bueno";</pre>';
if ($form->validate()) {
//this is a bad idea //jm
if (isset($_POST['replace']) && $_POST['replace']) {
foreach (GlossaryManager::get_glossary_terms() as $term) {
if (!GlossaryManager::delete_glossary($term['id'])) {
Display::addFlash(
Display::return_message(get_lang("CannotDeleteGlossary") . ':' . $term['id'], 'error')
);
}
Security::clear_token();
GlossaryManager::display_glossary();
} else {
$token = Security::get_token();
$form->addElement('hidden', 'sec_token');
$form->setConstants(array('sec_token' => $token));
$form->display();
}
}
break;
case 'delete_glossary':
GlossaryManager::delete_glossary($_GET['glossary_id']);
GlossaryManager::display_glossary();
break;
case 'moveup':
//GlossaryManager::move_glossary('up',$_GET['glossary_id']); //actions not available
GlossaryManager::display_glossary();
break;
case 'movedown':
//GlossaryManager::move_glossary('down',$_GET['glossary_id']); //actions not available
GlossaryManager::display_glossary();
break;
case 'import':
$form = new FormValidator(
'glossary',
'post',
api_get_self().'?action=import&'.api_get_cidreq()
);
$form->addElement('header', '', get_lang('ImportGlossary'));
$form->addElement('file', 'file', get_lang('ImportCSVFileLocation'));
$form->addElement('checkbox', 'replace', null, get_lang('DeleteAllGlossaryTerms'));
$form->addButtonImport(get_lang('Import'), 'SubmitImport');
$form->display();
echo get_lang('CSVMustLookLike').' ('.get_lang('MandatoryFields').')';
echo '<pre>
<strong>term</strong>;<strong>definition</strong>;
"Hello";"Hola";
"Good";"Bueno";</pre>';
if ($form->validate()) {
//this is a bad idea //jm
if (isset($_POST['replace']) && $_POST['replace']) {
foreach (GlossaryManager::get_glossary_terms() as $term) {
if (!GlossaryManager::delete_glossary($term['id'], false)) {
Display::display_error_message(get_lang ("CannotDeleteGlossary") . ':' . $term['id']);
}
}
}
//$data = Import::csvToArray($_FILES['file']['tmp_name']);
$data = Import::csv_reader($_FILES['file']['tmp_name']);
$good = 0;
$bad = 0;
$data = Import::csv_reader($_FILES['file']['tmp_name']);
$good = 0;
$bad = 0;
if ($data) {
foreach ($data as $item) {
$result = GlossaryManager::save_glossary(
array(
'glossary_title' => $item['term'],
'glossary_comment' => $item['definition'],
),
false
'glossary_comment' => $item['definition']
)
);
if ($result)
if ($result) {
$good++;
else
} else {
$bad++;
}
}
}
Display::return_message(get_lang("TermsImported") . ':' . $good);
if ($bad) {
Display::return_message(get_lang("TermsNotImported") . ':' . $bad, 'error');
}
header('Location: '.$currentUrl);
exit;
}
break;
case 'export':
if (!api_is_allowed_to_edit(null, true)) {
api_not_allowed(true);
}
$data = GlossaryManager::get_glossary_data(
0,
GlossaryManager::get_number_glossary_terms(api_get_session_id()),
0,
'ASC'
);
usort($data, "sorter");
$list = array();
$list[] = array('term','definition');
foreach ($data as $line) {
$list[] = array ($line[0], $line[1]);
}
$filename = 'glossary_course_'.api_get_course_id();
Export::arrayToCsv($list, $filename);
break;
case 'export_to_pdf':
GlossaryManager::export_to_pdf();
break;
case 'changeview':
default:
$tool_name = get_lang('List');
$content = GlossaryManager::display_glossary();
break;
}
Display::display_confirmation_message(get_lang ("TermsImported") . ':' . $good);
Display::display_header($tool_name);
if ($bad) {
Display::display_error_message (get_lang ("TermsNotImported") . ':' . $bad);
}
// Tool introduction
Display::display_introduction_section(TOOL_GLOSSARY);
GlossaryManager::display_glossary();
}
break;
default:
GlossaryManager::display_glossary();
break;
}
if ($action == 'changeview' && in_array($_GET['view'], array('list','table'))) {
Session::write('glossary_view', $_GET['view']);
} else {
GlossaryManager::display_glossary();
if (!isset($_SESSION['glossary_view'])) {
Session::write('glossary_view', 'table');
}
}
// Footer
echo $content;
Display::display_footer();

@ -1,6 +1,8 @@
<?php
/* For licensing terms, see /license.txt */
use ChamiloSession as Session;
/**
* Class GlossaryManager
* This library provides functions for the glossary tool.
@ -59,10 +61,11 @@ class GlossaryManager
/**
* Get glossary term by glossary id
* @author Isaac Flores <florespaz_isaac@hotmail.com>
* @param string The glossary term name
* @param string $glossary_name The glossary term name
*
* @return string The glossary description
*/
public static function get_glossary_term_by_glossary_name ($glossary_name)
public static function get_glossary_term_by_glossary_name($glossary_name)
{
$glossary_table = Database::get_course_table(TABLE_GLOSSARY);
$session_id = api_get_session_id();
@ -92,9 +95,9 @@ class GlossaryManager
* @author Patrick Cool <patrick.cool@ugent.be>, Ghent University, Belgium
* @version januari 2009, dokeos 1.8.6
*/
public static function save_glossary($values, $message = true)
public static function save_glossary($values)
{
if (!is_array($values) or !isset($values['glossary_title'])) {
if (!is_array($values) || !isset($values['glossary_title'])) {
return false;
}
// Database table definition
@ -109,8 +112,9 @@ class GlossaryManager
// check if the glossary term already exists
if (GlossaryManager::glossary_exists($values['glossary_title'])) {
// display the feedback message
if ($message)
Display::display_error_message(get_lang('GlossaryTermAlreadyExistsYouShouldEditIt'));
Display::addFlash(
Display::return_message(get_lang('GlossaryTermAlreadyExistsYouShouldEditIt'), 'error')
);
return false;
} else {
@ -123,8 +127,8 @@ class GlossaryManager
'session_id' => $session_id,
];
$id = Database::insert($t_glossary, $params);
if ($id) {
if ($id) {
$sql = "UPDATE $t_glossary SET glossary_id = $id WHERE iid = $id";
Database::query($sql);
@ -139,10 +143,11 @@ class GlossaryManager
}
$_SESSION['max_glossary_display'] = GlossaryManager::get_max_glossary_item();
// display the feedback message
if ($message) {
Display::display_confirmation_message(get_lang('TermAdded'));
}
Display::addFlash(
Display::return_message(get_lang('TermAdded'))
);
return $id;
}
@ -157,7 +162,7 @@ class GlossaryManager
* @author Patrick Cool <patrick.cool@ugent.be>, Ghent University, Belgium
* @version januari 2009, dokeos 1.8.6
*/
public static function update_glossary($values, $message = true)
public static function update_glossary($values)
{
// Database table definition
$t_glossary = Database :: get_course_table(TABLE_GLOSSARY);
@ -166,8 +171,11 @@ class GlossaryManager
// check if the glossary term already exists
if (GlossaryManager::glossary_exists($values['glossary_title'],$values['glossary_id'])) {
// display the feedback message
if ($message)
Display::display_error_message(get_lang('GlossaryTermAlreadyExistsYouShouldEditIt'));
Display::addFlash(
Display::return_message(get_lang('GlossaryTermAlreadyExistsYouShouldEditIt'), 'error')
);
return false;
} else {
$sql = "UPDATE $t_glossary SET
@ -188,9 +196,12 @@ class GlossaryManager
'GlossaryUpdated',
api_get_user_id()
);
// display the feedback message
if ($message)
Display::display_confirmation_message(get_lang('TermUpdated'));
Display::addFlash(
Display::return_message(get_lang('TermUpdated'))
);
}
return true;
@ -280,12 +291,12 @@ class GlossaryManager
g.session_id
FROM $t_glossary g, $t_item_propery ip
WHERE
g.glossary_id = ip.ref AND
tool = '".TOOL_GLOSSARY."' AND
g.glossary_id = '".intval($glossary_id)."' AND
g.c_id = ".api_get_course_int_id()." AND
ip.c_id = ".api_get_course_int_id()."
";
g.glossary_id = ip.ref AND
tool = '".TOOL_GLOSSARY."' AND
g.glossary_id = '".intval($glossary_id)."' AND
g.c_id = ".api_get_course_int_id()." AND
ip.c_id = ".api_get_course_int_id();
$result = Database::query($sql);
if ($result === false || Database::num_rows($result) != 1) {
return false;
@ -301,18 +312,26 @@ class GlossaryManager
* @author Patrick Cool <patrick.cool@ugent.be>, Ghent University, Belgium
* @version januari 2009, dokeos 1.8.6
*/
public static function delete_glossary($glossary_id, $message = true)
public static function delete_glossary($glossary_id)
{
// Database table definition
$t_glossary = Database :: get_course_table(TABLE_GLOSSARY);
$course_id = api_get_course_int_id();
if (empty($glossary_id)) { return false; }
if (empty($glossary_id)) {
return false;
}
$sql = "DELETE FROM $t_glossary WHERE c_id = $course_id AND glossary_id='".intval($glossary_id)."'";
$sql = "DELETE FROM $t_glossary
WHERE
c_id = $course_id AND
glossary_id='".intval($glossary_id)."'";
$result = Database::query($sql);
if ($result === false or Database::affected_rows($result) < 1) { return false; }
//update item_property (delete)
if ($result === false || Database::affected_rows($result) < 1) {
return false;
}
// update item_property (delete)
api_item_property_update(
api_get_course_info(),
TOOL_GLOSSARY,
@ -324,8 +343,11 @@ class GlossaryManager
// reorder the remaining terms
GlossaryManager::reorder_glossary();
$_SESSION['max_glossary_display'] = GlossaryManager::get_max_glossary_item();
if ($message)
Display::display_confirmation_message(get_lang('TermDeleted'));
Display::addFlash(
Display::return_message(get_lang('TermDeleted'))
);
return true;
}
@ -334,7 +356,7 @@ class GlossaryManager
* the glossary terms
* @param string View ('table' or 'list'). Optional parameter.
* Defaults to 'table' and prefers glossary_view from the session by default.
* @return void
* @return string
* @author Patrick Cool <patrick.cool@ugent.be>, Ghent University, Belgium
* @version januari 2009, dokeos 1.8.6
*/
@ -342,8 +364,9 @@ class GlossaryManager
{
// This function should always be called with the corresponding
// parameter for view type. Meanwhile, use this cheap trick.
if (empty($_SESSION['glossary_view'])) {
$_SESSION['glossary_view'] = $view;
$view = Session::read('glossary_view');
if (empty($view)) {
Session::write('glossary_view', $view);
}
// action links
//echo '<div class="actions">';
@ -363,7 +386,7 @@ class GlossaryManager
$actionsLeft .= '<a href="index.php?'.api_get_cidreq().'&action=export_to_pdf">'.
Display::return_icon('pdf.png',get_lang('ExportToPDF'),'', ICON_SIZE_MEDIUM).'</a>';
if ((isset($_SESSION['glossary_view']) && $_SESSION['glossary_view'] == 'table') or (!isset($_SESSION['glossary_view']))){
if (($view == 'table') || (!isset($view))) {
$actionsLeft .= '<a href="index.php?'.api_get_cidreq().'&action=changeview&view=list">'.
Display::return_icon('view_detailed.png',get_lang('ListView'),'',ICON_SIZE_MEDIUM).'</a>';
} else {
@ -391,9 +414,9 @@ class GlossaryManager
array(0 => $actionsLeft, 1 => $actionsRight)
);
echo $toolbar;
$content = $toolbar;
if (!$_SESSION['glossary_view'] || $_SESSION['glossary_view'] == 'table') {
if (!$view || $view == 'table') {
$table = new SortableTable(
'glossary',
array('GlossaryManager', 'get_number_glossary_terms'),
@ -403,15 +426,18 @@ class GlossaryManager
//$table->set_header(0, '', false);
$table->set_header(0, get_lang('TermName'), true);
$table->set_header(1, get_lang('TermDefinition'), true);
if (api_is_allowed_to_edit(null,true)) {
if (api_is_allowed_to_edit(null, true)) {
$table->set_header(2, get_lang('Actions'), false, 'width=90px', array('class' => 'td_actions'));
$table->set_column_filter(2, array('GlossaryManager','actions_filter'));
}
$table->display();
$content .= $table->return_table();
}
if ($_SESSION['glossary_view'] == 'list') {
GlossaryManager::display_glossary_list();
if ($view == 'list') {
$content .= GlossaryManager::display_glossary_list();
}
return $content;
}
/**
@ -423,14 +449,15 @@ class GlossaryManager
public static function display_glossary_list()
{
$glossary_data = self::get_glossary_data(0,1000,0,'ASC');
$content = '';
foreach ($glossary_data as $key => $glossary_item) {
$actions = '';
if (api_is_allowed_to_edit(null,true)) {
$actions = '<div class="pull-right">'.self::actions_filter($glossary_item[2], '',$glossary_item).'</div>';
}
echo Display::panel($glossary_item[1], $glossary_item[0].' '.$actions);
$content .= Display::panel($glossary_item[1], $glossary_item[0].' '.$actions);
}
return true;
return $content;
}
/**
@ -484,6 +511,8 @@ class GlossaryManager
public static function get_glossary_data($from, $number_of_items, $column, $direction)
{
$_user = api_get_user_info();
$view = Session::read('glossary_view');
// Database table definition
$t_glossary = Database :: get_course_table(TABLE_GLOSSARY);
$t_item_propery = Database :: get_course_table(TABLE_ITEM_PROPERTY);
@ -538,7 +567,7 @@ class GlossaryManager
$session_img = api_get_session_image($data['session_id'], $_user['status']);
$array[0] = $data[0] . $session_img;
if (!$_SESSION['glossary_view'] || $_SESSION['glossary_view'] == 'table') {
if (!$view || $view == 'table') {
$array[1] = str_replace(array('<p>', '</p>'), array('', '<br />'), $data[1]);
} else {
$array[1] = $data[1];
@ -567,16 +596,18 @@ class GlossaryManager
public static function actions_filter($glossary_id, $url_params, $row)
{
$glossary_id = $row[2];
$return = '<a href="'.api_get_self().'?action=edit_glossary&amp;glossary_id='.$glossary_id.'&'.api_get_cidreq().'&msg=edit">'.Display::return_icon('edit.png',get_lang('Edit'),'',22).'</a>';
$return = '<a href="'.api_get_self().'?action=edit_glossary&amp;glossary_id='.$glossary_id.'&'.api_get_cidreq().'&msg=edit">'.
Display::return_icon('edit.png',get_lang('Edit'),'',22).'</a>';
$glossary_data = GlossaryManager::get_glossary_information($glossary_id);
$glossary_term = $glossary_data['glossary_title'];
if (api_is_allowed_to_edit(null, true)) {
if ($glossary_data['session_id'] == api_get_session_id()) {
$return .= '<a href="'.api_get_self().'?action=delete_glossary&amp;glossary_id='.$glossary_id.'&'.api_get_cidreq().'" onclick="return confirmation(\''.$glossary_term.'\');">'.Display::return_icon('delete.png', get_lang('Delete'),'',22).'</a>';
$return .= '<a href="'.api_get_self().'?action=delete_glossary&amp;glossary_id='.$glossary_id.'&'.api_get_cidreq().'" onclick="return confirmation(\''.$glossary_term.'\');">'.
Display::return_icon('delete.png', get_lang('Delete'),'',22).'</a>';
} else {
$return = get_lang('EditionNotAvailableFromSession');
$return = get_lang('EditionNotAvailableFromSession');
}
}
@ -593,14 +624,14 @@ class GlossaryManager
*/
public static function javascript_glossary()
{
return "<script type=\"text/javascript\">
function confirmation (name) {
if (confirm(\" ". get_lang("TermConfirmDelete") ." \"+ name + \" ?\"))
{return true;}
else
{return false;}
}
</script>";
return "<script>
function confirmation (name) {
if (confirm(\" ".get_lang("TermConfirmDelete")." \"+ name + \" ?\"))
{return true;}
else
{return false;}
}
</script>";
}
/**
@ -609,7 +640,8 @@ class GlossaryManager
* @author Patrick Cool <patrick.cool@ugent.be>, Ghent University, Belgium
* @version januari 2009, dokeos 1.8.6
*/
public static function reorder_glossary() {
public static function reorder_glossary()
{
// Database table definition
$t_glossary = Database :: get_course_table(TABLE_GLOSSARY);
$course_id = api_get_course_int_id();
@ -630,13 +662,13 @@ class GlossaryManager
/**
* Move a glossary term
*
* @param unknown_type $direction
* @param unknown_type $glossary_id
* @param string $direction
* @param string $glossary_id
*
* @author Patrick Cool <patrick.cool@ugent.be>, Ghent University, Belgium
* @version januari 2009, dokeos 1.8.6
*/
public static function move_glossary($direction, $glossary_id, $message = true)
public static function move_glossary($direction, $glossary_id)
{
// Database table definition
$t_glossary = Database :: get_course_table(TABLE_GLOSSARY);
@ -655,7 +687,7 @@ class GlossaryManager
$res = Database::query($sql);
$found = false;
while ($row = Database::fetch_array($res)) {
if ($found && empty($next_id)) {
if ($found && empty($next_id)) {
$next_id = $row['glossary_id'];
$next_display_order = $row['display_order'];
}
@ -672,16 +704,21 @@ class GlossaryManager
WHERE c_id = $course_id AND glossary_id = '".Database::escape_string($next_id)."'";
Database::query($sql1);
Database::query($sql2);
if ($message)
Display::display_confirmation_message(get_lang('TermMoved'));
Display::addFlash(Display::return_message(get_lang('TermMoved')));
}
/**
*
* Export to pdf
*/
public static function export_to_pdf()
{
$data = GlossaryManager::get_glossary_data(0, GlossaryManager::get_number_glossary_terms(api_get_session_id()), 0, 'ASC');
$data = GlossaryManager::get_glossary_data(
0,
GlossaryManager::get_number_glossary_terms(api_get_session_id()),
0,
'ASC'
);
$html = '<html><body>';
$html .= '<h2>'.get_lang('Glossary').'</h2><hr><br><br>';
foreach ($data as $item) {
@ -692,13 +729,6 @@ class GlossaryManager
$html .= '</body></html>';
$course_code = api_get_course_id();
$pdf = new PDF();
//$pdf->set_custom_header($title);
/*$css_file = api_get_path(SYS_CODE_PATH).'css/print.css';
if (file_exists($css_file)) {
$css = @file_get_contents($css_file);
} else {
$css = '';
}*/
$pdf->content_to_pdf($html, '', get_lang('Glossary').'_'.$course_code, $course_code);
}
}

Loading…
Cancel
Save