Fix E_NOTICEs when search_enabled is true - refs BT#10979

ofaj
Angel Fernando Quiroz Campos 9 years ago
parent 2eca06a3f7
commit fa5f19be0e
  1. 10
      main/admin/settings.lib.php
  2. 14
      main/admin/specific_fields.php
  3. 15
      main/admin/specific_fields_add.php
  4. 4
      main/document/upload.php
  5. 7
      main/exercice/exercise.class.php
  6. 2
      main/inc/lib/api.lib.php
  7. 10
      main/inc/lib/search/search_widget.php
  8. 25
      main/newscorm/lp_list_search.php

@ -758,7 +758,7 @@ function handle_search()
$group = array(); $group = array();
$url = Display::div(Display::url(get_lang('AddSpecificSearchField'), 'specific_fields.php'), array('class'=>'sectioncomment')); $url = Display::div(Display::url(get_lang('AddSpecificSearchField'), 'specific_fields.php'), array('class'=>'sectioncomment'));
if (empty($sf_values)) { if (empty($sf_values)) {
$form->addElement('html', get_lang('SearchPrefilterPrefix').$url); $form->addElement('label', [get_lang('SearchPrefilterPrefix'), $url]);
} else { } else {
$form->addElement('select', 'search_prefilter_prefix', array(get_lang('SearchPrefilterPrefix'), $url), $sf_values, ''); $form->addElement('select', 'search_prefilter_prefix', array(get_lang('SearchPrefilterPrefix'), $url), $sf_values, '');
$default_values['search_prefilter_prefix'] = api_get_setting('search_prefilter_prefix'); $default_values['search_prefilter_prefix'] = api_get_setting('search_prefilter_prefix');
@ -839,8 +839,14 @@ function handle_search()
$list_of_programs = array('pdftotext','ps2pdf', 'catdoc','html2text','unrtf', 'catppt', 'xls2csv'); $list_of_programs = array('pdftotext','ps2pdf', 'catdoc','html2text','unrtf', 'catppt', 'xls2csv');
foreach($list_of_programs as $program) { foreach($list_of_programs as $program) {
$output = $ret_val = null; $output = [];
$ret_val = null;
exec("which $program", $output, $ret_val); exec("which $program", $output, $ret_val);
if (!$output) {
$output[] = '';
}
$icon = Display::return_icon('bullet_red.png', get_lang('NotInstalled')); $icon = Display::return_icon('bullet_red.png', get_lang('NotInstalled'));
if (!empty($output[0])) { if (!empty($output[0])) {
$icon = Display::return_icon('bullet_green.png', get_lang('Installed')); $icon = Display::return_icon('bullet_green.png', get_lang('Installed'));

@ -17,7 +17,6 @@ api_protect_admin_script();
// Breadcrumb // Breadcrumb
$interbreadcrumb[] = array ('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); $interbreadcrumb[] = array ('url' => 'index.php', 'name' => get_lang('PlatformAdmin'));
$interbreadcrumb[] = array ('url' => 'settings.php?category=Search', 'name' => get_lang('PlatformConfigSettings')); $interbreadcrumb[] = array ('url' => 'settings.php?category=Search', 'name' => get_lang('PlatformConfigSettings'));
$interbreadcrumb[] = array ('url' => 'specific_fields.php', 'name' => get_lang('SpecificSearchFields'));
$libpath = api_get_path(LIBRARY_PATH); $libpath = api_get_path(LIBRARY_PATH);
@ -30,16 +29,16 @@ $renderer->setCustomElementTemplate('<span>{element}</span> ');
$form->addElement('static','search_advanced_link',null,'<a href="specific_fields_add.php">'.Display::return_icon('fieldadd.gif').get_lang('AddSpecificSearchField').'</a>'); $form->addElement('static','search_advanced_link',null,'<a href="specific_fields_add.php">'.Display::return_icon('fieldadd.gif').get_lang('AddSpecificSearchField').'</a>');
// Create a sortable table with specific fields data // Create a sortable table with specific fields data
$column_show = array(1,1,1,1); $column_show = array(1,1,1);
$column_order = array(3,2,1,4); $column_order = array(3,2,1);
$extra_fields = get_specific_field_list(); $extra_fields = get_specific_field_list();
$number_of_extra_fields = count($extra_fields); $number_of_extra_fields = count($extra_fields);
$table = new SortableTableFromArrayConfig($extra_fields,2,50,'',$column_show,$column_order); $table = new SortableTableFromArrayConfig($extra_fields,2,50,'',$column_show,$column_order);
$table->set_header(0, '', false,null,'width="2%"', 'style="display:none"'); $table->set_header(0, '&nbsp;', false,null,'width="2%"', 'style="display:none"');
$table->set_header(1, get_lang('Code'), TRUE, 'width="10%"'); $table->set_header(1, get_lang('Code'), TRUE, 'width="10%"');
$table->set_header(2, get_lang('Name')); $table->set_header(2, get_lang('Name'));
$table->set_header(3, get_lang('Modify'),true,'width="10%"'); $table->set_header(3, get_lang('Modify'),false,'width="10%"');
$table->set_column_filter(3, 'edit_filter'); $table->set_column_filter(3, 'edit_filter');
function edit_filter($id,$url_params,$row) { function edit_filter($id,$url_params,$row) {
@ -49,15 +48,16 @@ function edit_filter($id,$url_params,$row) {
return $return; return $return;
} }
if ($_REQUEST['action'] == 'delete') { if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete') {
delete_specific_field($_REQUEST['field_id']); delete_specific_field($_REQUEST['field_id']);
header('Location: specific_fields.php?message='.get_lang('FieldRemoved')); header('Location: specific_fields.php?message='.get_lang('FieldRemoved'));
exit;
} }
// Start output // Start output
// Displaying the header // Displaying the header
Display::display_header($nameTools); Display::display_header(get_lang('SpecificSearchFields'));
echo Display::display_normal_message(get_lang('SpecificSearchFieldsIntro')); echo Display::display_normal_message(get_lang('SpecificSearchFieldsIntro'));
if(!empty($_GET['message'])) { if(!empty($_GET['message'])) {

@ -18,18 +18,21 @@ $this_section = SECTION_PLATFORM_ADMIN;
// user permissions // user permissions
api_protect_admin_script(); api_protect_admin_script();
$fieldId = isset($_REQUEST['field_id']) ? intval($_REQUEST['field_id']) : 0;
$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); $interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin'));
$interbreadcrumb[] = array('url' => 'settings.php?category=Search', 'name' => get_lang('PlatformConfigSettings')); $interbreadcrumb[] = array('url' => 'settings.php?category=Search', 'name' => get_lang('PlatformConfigSettings'));
$interbreadcrumb[] = array('url' => 'specific_fields.php', 'name' => get_lang('SpecificSearchFields')); $interbreadcrumb[] = array('url' => 'specific_fields.php', 'name' => get_lang('SpecificSearchFields'));
if ($_GET['action']<>'edit') {
$tool_name = get_lang('AddSpecificSearchField'); $tool_name = get_lang('AddSpecificSearchField');
} else {
if (isset($_GET['action']) && $_GET['action'] === 'edit') {
$tool_name = get_lang('EditSpecificSearchField'); $tool_name = get_lang('EditSpecificSearchField');
} }
// Create the form // Create the form
$form = new FormValidator('specific_fields_add'); $form = new FormValidator('specific_fields_add');
// Field variable name // Field variable name
$form->addElement('hidden','field_id',(int)$_REQUEST['field_id']); $form->addElement('hidden','field_id', $fieldId);
$form->addElement('text','field_name',get_lang('FieldName')); $form->addElement('text','field_name',get_lang('FieldName'));
$form->applyFilter('field_name','html_filter'); $form->applyFilter('field_name','html_filter');
$form->applyFilter('field_name','trim'); $form->applyFilter('field_name','trim');
@ -39,8 +42,8 @@ $form->addRule('field_name', '', 'maxlength',20);
// Set default values (only not empty when editing) // Set default values (only not empty when editing)
$defaults = array(); $defaults = array();
if (is_numeric($_REQUEST['field_id'])) { if ($fieldId) {
$form_information = get_specific_field_list(array( 'id' => (int)$_GET['field_id'] )); $form_information = get_specific_field_list(array( 'id' => $fieldId ));
$defaults['field_name'] = $form_information[0]['name']; $defaults['field_name'] = $form_information[0]['name'];
} }
$form->setDefaults($defaults); $form->setDefaults($defaults);

@ -259,11 +259,11 @@ if (api_get_setting('search_enabled') == 'true') {
$form->addElement('checkbox', 'index_document', '', get_lang('SearchFeatureDoIndexDocument').'<div style="font-size: 80%" >'.$supported_formats.'</div>'); $form->addElement('checkbox', 'index_document', '', get_lang('SearchFeatureDoIndexDocument').'<div style="font-size: 80%" >'.$supported_formats.'</div>');
$form->addElement('html', '<br /><div class="sub-form">'); $form->addElement('html', '<br /><div class="sub-form">');
$form->addElement('html', '<div class="label">'.get_lang('SearchFeatureDocumentLanguage').'</div>'); $form->addElement('html', '<div class="label">'.get_lang('SearchFeatureDocumentLanguage').'</div>');
$form->addElement('html', '<div>' . api_get_languages_combo(null) . '</div>'); $form->addLabel(get_lang('Language'), api_get_languages_combo());
$form->addElement('html', '</div><div class="sub-form">'); $form->addElement('html', '</div><div class="sub-form">');
$specific_fields = get_specific_field_list(); $specific_fields = get_specific_field_list();
foreach ($specific_fields as $specific_field) { foreach ($specific_fields as $specific_field) {
$form->addElement('text', $specific_field['code'], $specific_field['name'].' : '); $form->addElement('text', $specific_field['code'], $specific_field['name']);
} }
$form->addElement('html', '</div>'); $form->addElement('html', '</div>');
} }

@ -1315,7 +1315,12 @@ class Exercise
foreach ($specific_fields as $specific_field) { foreach ($specific_fields as $specific_field) {
$form->addElement ('text', $specific_field['code'], $specific_field['name']); $form->addElement ('text', $specific_field['code'], $specific_field['name']);
$filter = array('c_id'=> "'". api_get_course_int_id() ."'", 'field_id' => $specific_field['id'], 'ref_id' => $this->id, 'tool_id' => '\''. TOOL_QUIZ .'\''); $filter = array(
'c_id' => api_get_course_int_id(),
'field_id' => $specific_field['id'],
'ref_id' => $this->id,
'tool_id' => "'" . TOOL_QUIZ . "'"
);
$values = get_specific_field_values_list($filter, array('value')); $values = get_specific_field_values_list($filter, array('value'));
if ( !empty($values) ) { if ( !empty($values) ) {
$arr_str_values = array(); $arr_str_values = array();

@ -4178,7 +4178,7 @@ function api_get_languages_combo($name = 'language')
$languages = $language_list['name']; $languages = $language_list['name'];
$folder = $language_list['folder']; $folder = $language_list['folder'];
$ret .= '<select name="' . $name . '" id="language_chosen">'; $ret .= '<select name="' . $name . '" id="language_chosen" class="selectpicker show-tick form-control">';
foreach ($languages as $key => $value) { foreach ($languages as $key => $value) {
if ($folder[$key] == $default) { if ($folder[$key] == $default) {
$selected = ' selected="selected"'; $selected = ' selected="selected"';

@ -67,7 +67,7 @@ function format_specific_fields_selects($sf_terms, $op, $prefilter_prefix='') {
// Process each prefix type term // Process each prefix type term
$i = 0; $i = 0;
$max = count($sf_terms); $max = count($sf_terms);
$multiple_selects .=''; $multiple_selects ='';
foreach ($sf_terms as $prefix => $sf_term_array) { foreach ($sf_terms as $prefix => $sf_term_array) {
if ($prefix == $prefilter_prefix) continue; if ($prefix == $prefilter_prefix) continue;
$multiple_select = ''; $multiple_select = '';
@ -91,7 +91,7 @@ function format_specific_fields_selects($sf_terms, $op, $prefilter_prefix='') {
// get specific field name // get specific field name
$sf_value = get_specific_field_list(array( 'code' => "'$prefix'" )); $sf_value = get_specific_field_list(array( 'code' => "'$prefix'" ));
$sf_value = array_shift($sf_value); $sf_value = array_shift($sf_value);
$multiple_select .= '<td><label class="sf-select-multiple-title" for="sf_'. $prefix .'[]">'.$icons_for_search_terms[$prefix].' '.$sf_value['name'].'</label><br />'; $multiple_select .= '<td><label class="sf-select-multiple-title" for="sf_'. $prefix .'[]">' . $sf_value['name'].'</label><br />';
$multiple_select .= format_one_specific_field_select($prefix, $sf_term_array, $op, 'multiple="multiple" size="7" class="sf-select-multiple"'); $multiple_select .= format_one_specific_field_select($prefix, $sf_term_array, $op, 'multiple="multiple" size="7" class="sf-select-multiple"');
$multiple_select .= '</td>'; $multiple_select .= '</td>';
$multiple_selects .= $multiple_select; $multiple_selects .= $multiple_select;
@ -134,8 +134,10 @@ function search_widget_normal_form($action, $show_thesaurus, $sf_terms, $op) {
$reset_button = '<button class="save" type="submit" id="tags-clean" value="'. get_lang('SearchResetKeywords') .'" />'. get_lang('SearchResetKeywords') .'</button> '; $reset_button = '<button class="save" type="submit" id="tags-clean" value="'. get_lang('SearchResetKeywords') .'" />'. get_lang('SearchResetKeywords') .'</button> ';
} }
$query = isset($_REQUEST['query']) ? Security::remove_XSS($_REQUEST['query']) : null;
$form = '<form id="chamilo_search" action="'. $action .'" method="GET"> $form = '<form id="chamilo_search" action="'. $action .'" method="GET">
<input type="text" id="query" name="query" size="40" value="'.stripslashes(Security::remove_XSS($_REQUEST['query'])).'" /> <input type="text" id="query" name="query" size="40" value="' . $query . '" />
<input type="hidden" name="mode" value="'. $mode .'"/> <input type="hidden" name="mode" value="'. $mode .'"/>
<input type="hidden" name="type" value="'. $type .'"/> <input type="hidden" name="type" value="'. $type .'"/>
<input type="hidden" name="tablename_page_nr" value="1" /> <input type="hidden" name="tablename_page_nr" value="1" />
@ -357,7 +359,7 @@ function search_widget_show($action='index.php')
//check if URL params are defined (to see if we show the thesaurus or not) //check if URL params are defined (to see if we show the thesaurus or not)
$show_thesaurus = false; $show_thesaurus = false;
foreach ($url_params as $param) { foreach ($url_params as $param) {
if (is_array($_REQUEST[$param])) { if (isset($_REQUEST[$param]) && is_array($_REQUEST[$param])) {
$thesaurus_decided = FALSE; $thesaurus_decided = FALSE;
foreach ($_REQUEST[$param] as $term) { foreach ($_REQUEST[$param] as $term) {
if (!empty($term)) { if (!empty($term)) {

@ -49,10 +49,14 @@ if (!empty($_REQUEST['operator']) && in_array($op, array('or', 'and'))) {
$op = $_REQUEST['operator']; $op = $_REQUEST['operator'];
} }
$query = stripslashes(htmlspecialchars_decode($_REQUEST['query'], ENT_QUOTES)); $query = null;
if (isset($_REQUEST['query'])) {
$query = stripslashes(htmlspecialchars_decode($_REQUEST['query'], ENT_QUOTES));
}
$mode = 'default'; $mode = 'default';
if (in_array($_GET['mode'], array('gallery', 'default'))) { if (isset($_GET['mode']) && in_array($_GET['mode'], array('gallery', 'default'))) {
$mode = $_GET['mode']; $mode = $_GET['mode'];
} }
@ -111,12 +115,17 @@ if (count($term_array)) {
} }
} }
list($count, $results) = chamilo_query_query( if ($query) {
api_convert_encoding($query, 'UTF-8', $charset), list($count, $results) = chamilo_query_query(
0, api_convert_encoding($query, 'UTF-8', $charset),
1000, 0,
$fixed_queries 1000,
); $fixed_queries
);
} else {
$count = 0;
$results = [];
}
// Prepare blocks to show. // Prepare blocks to show.
$blocks = array(); $blocks = array();

Loading…
Cancel
Save