From 588cff6edf7d1df1e9e9da037ae5d138bd523a16 Mon Sep 17 00:00:00 2001 From: Cristian Fasanando Date: Thu, 13 Aug 2009 10:28:15 -0500 Subject: [PATCH 1/2] fixed possible warnings when array is empty - see DT#5082 --- main/install/update-db-1.8.6-1.8.6.1.inc.php | 44 +++++++++++--------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/main/install/update-db-1.8.6-1.8.6.1.inc.php b/main/install/update-db-1.8.6-1.8.6.1.inc.php index 3ba5a8e743..57862f8740 100755 --- a/main/install/update-db-1.8.6-1.8.6.1.inc.php +++ b/main/install/update-db-1.8.6-1.8.6.1.inc.php @@ -310,34 +310,40 @@ if (defined('DOKEOS_INSTALL') || defined('DOKEOS_COURSE_UPDATE')) $t_wiki_conf = "$prefix{$row_course['db_name']}_wiki_conf"; } - //update page_id from wiki table + //update correct page_id to wiki table, actually only store 0 $query = "SELECT id, reflink FROM $t_wiki"; $res_page = mysql_query($query); $wiki_id = $reflink = array(); - - while ($row_page = mysql_fetch_row($res_page)) { - $wiki_id[] = $row_page[0]; - $reflink[] = $row_page[1]; - } + + if (mysql_num_rows($res_page) > 0 ) { + while ($row_page = mysql_fetch_row($res_page)) { + $wiki_id[] = $row_page[0]; + $reflink[] = $row_page[1]; + } + } $reflink_unique = array_unique($reflink); $reflink_flip = array_flip($reflink_unique); - - foreach ($wiki_id as $key=>$wiki_page) { - $pag_id = $reflink_flip[$reflink[$key]]; - $sql= "UPDATE $t_wiki SET page_id='".($pag_id + 1)."' WHERE id = '$wiki_page'"; - $res_update = mysql_query($sql); - } - //insert page_id into wiki config + if (is_array($wiki_id)) { + foreach ($wiki_id as $key=>$wiki_page) { + $pag_id = $reflink_flip[$reflink[$key]]; + $sql= "UPDATE $t_wiki SET page_id='".($pag_id + 1)."' WHERE id = '$wiki_page'"; + $res_update = mysql_query($sql); + } + } + + //insert page_id into wiki_conf table, actually this table is empty $query = "SELECT DISTINCT page_id FROM $t_wiki ORDER BY page_id"; + $myres_wiki = mysql_query($query); - $myres_wiki = mysql_query($query); - while ($row_wiki = mysql_fetch_row($myres_wiki)) { - $page_id = $row_wiki[0]; - $query="INSERT INTO ".$t_wiki_conf." (page_id, task, feedback1, feedback2, feedback3, fprogress1, fprogress2, fprogress3) VALUES ('".$page_id."','','','','','','','')"; - $myres_wiki_conf = mysql_query($query); - } + if (mysql_num_rows($myres_wiki) > 0 ) { + while ($row_wiki = mysql_fetch_row($myres_wiki)) { + $page_id = $row_wiki[0]; + $query="INSERT INTO ".$t_wiki_conf." (page_id, task, feedback1, feedback2, feedback3, fprogress1, fprogress2, fprogress3) VALUES ('".$page_id."','','','','','','','')"; + $myres_wiki_conf = mysql_query($query); + } + } } } From ed6eb50f9d3725452725e50107f791848cda85ce Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 13 Aug 2009 11:04:59 -0500 Subject: [PATCH 2/2] Changing admin.class to sub_language.class --- main/admin/add_by_ajax_sub_language.inc.php | 20 ++++++++-------- main/admin/languages.php | 18 +++++++------- main/admin/new_sub_language.php | 14 +++++------ main/admin/register_sub_language.php | 24 +++++++++---------- ...admin.class.php => sub_language.class.php} | 6 ++--- 5 files changed, 41 insertions(+), 41 deletions(-) rename main/admin/{admin.class.php => sub_language.class.php} (98%) diff --git a/main/admin/add_by_ajax_sub_language.inc.php b/main/admin/add_by_ajax_sub_language.inc.php index 21965d308d..09732a764a 100644 --- a/main/admin/add_by_ajax_sub_language.inc.php +++ b/main/admin/add_by_ajax_sub_language.inc.php @@ -3,25 +3,25 @@ // including the global dokeos file require_once '../inc/global.inc.php'; -require_once 'admin.class.php'; +require_once 'sub_language.class.php'; /* * search a term and return description from a glossary */ global $charset; -$new_language=Security::remove_XSS($_POST['new_language']); -$language_variable=Security::remove_XSS($_POST['variable_language']); -$file_language=Security::remove_XSS($_POST['file_language']); -$id_language=Security::remove_XSS($_POST['id']); -$sub_language_id=Security::remove_XSS($_POST['sublanguage_id']); +$new_language = Security::remove_XSS($_POST['new_language']); +$language_variable = Security::remove_XSS($_POST['variable_language']); +$file_language = Security::remove_XSS($_POST['file_language']); +$id_language = Security::remove_XSS($_POST['id']); +$sub_language_id = Security::remove_XSS($_POST['sublanguage_id']); -$all_data_of_language=AdminManager::get_all_information_of_sub_language($id_language,$sub_language_id); +$all_data_of_language=SubLanguageManager::get_all_information_of_sub_language($id_language,$sub_language_id); $dokeos_path_folder=api_get_path('SYS_LANG_PATH').$all_data_of_language['dokeos_folder'].'/'.$file_language; -$all_file_of_directory=AdminManager::get_all_language_variable_in_file($dokeos_path_folder); -AdminManager::add_file_in_language_directory ($dokeos_path_folder); +$all_file_of_directory=SubLanguageManager::get_all_language_variable_in_file($dokeos_path_folder); +SubLanguageManager::add_file_in_language_directory ($dokeos_path_folder); //update variable language $all_file_of_directory[$language_variable]="\"".mb_convert_encoding($new_language,$charset,'UTF-8')."\";"; foreach ($all_file_of_directory as $key_value=>$value_info) { - AdminManager::write_data_in_file ($dokeos_path_folder,$value_info,$key_value); + SubLanguageManager::write_data_in_file ($dokeos_path_folder,$value_info,$key_value); } \ No newline at end of file diff --git a/main/admin/languages.php b/main/admin/languages.php index 02aa284a64..3b6cbf4edf 100644 --- a/main/admin/languages.php +++ b/main/admin/languages.php @@ -27,7 +27,7 @@ $cidReset = true; // include global script require_once '../inc/global.inc.php'; -require_once 'admin.class.php'; +require_once 'sub_language.class.php'; $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(); @@ -36,13 +36,13 @@ api_protect_admin_script(); if (isset($_POST['sent_http_request'])) { if (isset($_POST['visibility']) && $_POST['visibility']==strval(intval($_POST['visibility'])) && $_POST['visibility']==0) { if (isset($_POST['id'])&& $_POST['id']==strval(intval($_POST['id']))) { - AdminManager::make_unavailable_language($_POST['id']); + SubLanguageManager::make_unavailable_language($_POST['id']); echo 'set_hidden'; } } if (isset($_POST['visibility']) && $_POST['visibility']==strval(intval($_POST['visibility'])) && $_POST['visibility']==1) { if (isset($_POST['id'])&& $_POST['id']==strval(intval($_POST['id']))) { - AdminManager::make_available_language($_POST['id']); + SubLanguageManager::make_available_language($_POST['id']); echo 'set_visible'; } } @@ -124,19 +124,19 @@ $tbl_settings_current = Database :: get_main_table(TABLE_MAIN_SETTINGS_CURRENT) if ($_GET['action'] == 'makeunavailable') { if (isset($_GET['id']) && $_GET['id']==strval(intval($_GET['id']))) { - AdminManager::make_unavailable_language($_GET['id']); + SubLanguageManager::make_unavailable_language($_GET['id']); } } if ($_GET['action'] == 'makeavailable') { if (isset($_GET['id']) && $_GET['id']==strval(intval($_GET['id']))) { - AdminManager::make_available_language($_GET['id']); + SubLanguageManager::make_available_language($_GET['id']); } } if ($_GET['action'] == 'setplatformlanguage') { if (isset($_GET['id']) && $_GET['id']==strval(intval($_GET['id']))) { - AdminManager::set_platform_language($_GET['id']); + SubLanguageManager::set_platform_language($_GET['id']); } } @@ -250,10 +250,10 @@ while ($row = Database::fetch_array($result_select)) { } if (api_get_setting('allow_use_sub_language')=='true') { - $verified_if_is_sub_language=AdminManager::check_if_language_is_sub_language($row['id']); + $verified_if_is_sub_language=SubLanguageManager::check_if_language_is_sub_language($row['id']); if ($verified_if_is_sub_language===false) { - $verified_if_is_father=AdminManager::check_if_language_is_father($row['id']); + $verified_if_is_father=SubLanguageManager::check_if_language_is_father($row['id']); $allow_use_sub_language = " ".Display::return_icon('mas.gif', get_lang('CreateSubLanguage'),array('width'=>'22','height'=>'22')).""; if ($verified_if_is_father===true) { //$allow_add_term_sub_language = " ".Display::return_icon('2rightarrow.gif', get_lang('AddWordForTheSubLanguage'),array('width'=>'22','height'=>'22')).""; @@ -263,7 +263,7 @@ while ($row = Database::fetch_array($result_select)) { } } else { $allow_use_sub_language=''; - $all_information_of_sub_language=AdminManager::get_all_information_of_language($row['id']); + $all_information_of_sub_language=SubLanguageManager::get_all_information_of_language($row['id']); $allow_add_term_sub_language = " ".Display::return_icon('2rightarrow.gif', get_lang('AddWordForTheSubLanguage'),array('width'=>'22','height'=>'22')).""; $allow_delete_sub_language = " ".Display::return_icon('delete_data.gif', get_lang('DeleteSubLanguage'),array('width'=>'22','height'=>'22')).""; } diff --git a/main/admin/new_sub_language.php b/main/admin/new_sub_language.php index ce8e7eddef..7ed557bfd9 100644 --- a/main/admin/new_sub_language.php +++ b/main/admin/new_sub_language.php @@ -14,7 +14,7 @@ $language_file = 'admin'; $cidReset = true; require_once '../inc/global.inc.php'; -require_once 'admin.class.php'; +require_once 'sub_language.class.php'; $this_section=SECTION_PLATFORM_ADMIN; api_protect_admin_script(); @@ -86,13 +86,13 @@ function check_if_language_exist ($original_name,$english_name,$isocode,$sublang * get name of language by id */ function get_name_of_language_by_id ($language_id) { - return AdminManager::get_name_of_language_by_id($language_id); + return SubLanguageManager::get_name_of_language_by_id($language_id); } /** * check if language exist by id */ function check_if_exist_language_by_id ($language_id) { - return AdminManager::check_if_exist_language_by_id($language_id); + return SubLanguageManager::check_if_exist_language_by_id($language_id); } /** * check if is parent of sub-language @@ -110,20 +110,20 @@ function ckeck_if_is_parent_of_sub_language ($parent_id) { * Get all information of sub-language */ function allow_get_all_information_of_sub_language ($parent_id,$sub_language_id) { - return AdminManager::get_all_information_of_sub_language($parent_id,$sub_language_id); + return SubLanguageManager::get_all_information_of_sub_language($parent_id,$sub_language_id); } /** * Add directory for sub-language */ function add_directory_of_sub_language ($path_sub_language) { - return AdminManager::add_directory_of_sub_language($path_sub_language); + return SubLanguageManager::add_directory_of_sub_language($path_sub_language); } /** * Remove directory of sub-language */ function remove_directory_of_sub_language ($path) { - $content=AdminManager::get_all_data_of_dokeos_folder($path); + $content=SubLanguageManager::get_all_data_of_dokeos_folder($path); if (count($content)>0) { foreach ($content as $value_content) { @@ -250,7 +250,7 @@ if (isset($_POST['SubmitAddDeleteLanguage'])) { if (is_dir($path)) { $rs=remove_directory_of_sub_language($path); if ($rs===true) { - AdminManager::removed_sub_language($parent_id,$sub_language_id); + SubLanguageManager::removed_sub_language($parent_id,$sub_language_id); Display::display_confirmation_message(get_lang('TheSubLanguageHasBeenRemoved')); } diff --git a/main/admin/register_sub_language.php b/main/admin/register_sub_language.php index 5a352f948e..798b000046 100644 --- a/main/admin/register_sub_language.php +++ b/main/admin/register_sub_language.php @@ -15,7 +15,7 @@ $language_file = 'admin'; $cidReset = true; require_once '../inc/global.inc.php'; -require_once 'admin.class.php'; +require_once 'sub_language.class.php'; $this_section=SECTION_PLATFORM_ADMIN; api_protect_admin_script(); @@ -97,11 +97,11 @@ require_once api_get_path(LIBRARY_PATH).'text.lib.php'; require_once api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php'; if (isset($_GET['id']) && $_GET['id']==strval(intval($_GET['id']))) { - $language_name=AdminManager::get_name_of_language_by_id ($_GET['id']); - $all_data_of_language=AdminManager::get_all_information_of_language($_GET['id']); + $language_name=SubLanguageManager::get_name_of_language_by_id ($_GET['id']); + $all_data_of_language=SubLanguageManager::get_all_information_of_language($_GET['id']); $my_language=$language_name; - if (AdminManager::check_if_exist_language_by_id($_GET['id'])===true) { - $parent_id=$_GET['id']; + if (SubLanguageManager::check_if_exist_language_by_id($_GET['id'])===true) { + $parent_id=intval($_GET['id']); $language_id_exist=true; } else { $language_id_exist=false; @@ -125,7 +125,7 @@ if (!is_dir($dokeos_path_folder) || strlen($all_data_of_language['dokeos_folder' Display :: display_header($language_name); -$all_file_of_directory=AdminManager::get_all_data_of_dokeos_folder ($dokeos_path_folder); +$all_file_of_directory=SubLanguageManager::get_all_data_of_dokeos_folder ($dokeos_path_folder); $load_array_in_select=array(); sort($all_file_of_directory); foreach ($all_file_of_directory as $value_all_file_of_directory) { @@ -202,9 +202,9 @@ if (isset($_REQUEST['txt_search_word']) && strlen(trim($_REQUEST['txt_search_wor $search_data=true; } if($search_data===true) { - $parent_id=Security::remove_XSS($_REQUEST['id']); - $sub_language_id=Security::remove_XSS($_REQUEST['sub_language_id']); - $get_all_info_of_sub_language=AdminManager::get_all_information_of_sub_language ($parent_id,$sub_language_id); + $parent_id=intval($_REQUEST['id']); + $sub_language_id=intval($_REQUEST['sub_language_id']); + $get_all_info_of_sub_language=SubLanguageManager::get_all_information_of_sub_language ($parent_id,$sub_language_id); $dokeos_path_file=api_get_path('SYS_LANG_PATH').$all_data_of_language['dokeos_folder'].'/'.$request_file; $dokeos_english_path_file=api_get_path('SYS_LANG_PATH').'english/'.$request_file; @@ -215,10 +215,10 @@ if($search_data===true) { $sub_language_exist=false; } - $all_language_variable=AdminManager::get_all_language_variable_in_file ($dokeos_path_file); - $all_english_language_variable=AdminManager::get_all_language_variable_in_file($dokeos_english_path_file); + $all_language_variable=SubLanguageManager::get_all_language_variable_in_file ($dokeos_path_file); + $all_english_language_variable=SubLanguageManager::get_all_language_variable_in_file($dokeos_english_path_file); if ($sub_language_exist===true) { - $get_all_sub_language_variable=AdminManager::get_all_language_variable_in_file($dokeos_sub_language_path_file); + $get_all_sub_language_variable=SubLanguageManager::get_all_language_variable_in_file($dokeos_sub_language_path_file); } $i=0; foreach ($all_language_variable as $index_language_variable =>$value_language_variable) { diff --git a/main/admin/admin.class.php b/main/admin/sub_language.class.php similarity index 98% rename from main/admin/admin.class.php rename to main/admin/sub_language.class.php index 0cbcc68b24..1aa3d5c125 100644 --- a/main/admin/admin.class.php +++ b/main/admin/sub_language.class.php @@ -7,10 +7,10 @@ */ /* ============================================================================== - Class AdminManager + Class SubLanguageManager ============================================================================== */ -class AdminManager { +class SubLanguageManager { private function __construct() { //void @@ -112,7 +112,7 @@ class AdminManager { * @return boolean */ public static function add_directory_of_sub_language($path_sub_language) { - $rs=@mkdir($path_sub_language,0777); + $rs=@mkdir($path_sub_language,octdec(0777)); if ($rs) { return true; } else {