From c673f5a9a0120487525de1aa13dfdfd523f0d1e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Carlos=20Ra=C3=B1a?= Date: Sun, 31 Aug 2008 22:20:23 +0200 Subject: [PATCH] [svn r16179] Adding Wiki tool --- main/group/group.php | 5 +++-- main/group/group_category.php | 21 +++++++++++++++++---- main/group/group_edit.php | 7 ++++++- main/group/group_space.php | 16 +++++++++++++++- 4 files changed, 41 insertions(+), 8 deletions(-) diff --git a/main/group/group.php b/main/group/group.php index 75f5166ccd..0ec26a6af8 100644 --- a/main/group/group.php +++ b/main/group/group.php @@ -70,7 +70,7 @@ if( api_get_setting('allow_group_categories') == 'false') $num = Database::num_rows($res); if($num == 0) { - api_sql_query("INSERT INTO ".$cat_table." ( id , title , description , forum_state , max_student , self_reg_allowed , self_unreg_allowed , groups_per_user , display_order ) VALUES ('2', '".lang2db($DefaultGroupCategory)."', '', '1', '8', '0', '0', '0', '0');"); + api_sql_query("INSERT INTO ".$cat_table." ( id , title , description , forum_state , wiki_state, max_student , self_reg_allowed , self_unreg_allowed , groups_per_user , display_order ) VALUES ('2', '".lang2db($DefaultGroupCategory)."', '', '1', '1', '8', '0', '0', '0', '0');"); } } @@ -278,7 +278,8 @@ foreach ($group_cats as $index => $category) GroupManager::user_has_access($_user['user_id'],$this_group['id'],GROUP_TOOL_DOCUMENTS) || GroupManager::user_has_access($_user['user_id'],$this_group['id'],GROUP_TOOL_CALENDAR) || GroupManager::user_has_access($_user['user_id'],$this_group['id'],GROUP_TOOL_ANNOUNCEMENT) || - GroupManager::user_has_access($_user['user_id'],$this_group['id'],GROUP_TOOL_WORK)) + GroupManager::user_has_access($_user['user_id'],$this_group['id'],GROUP_TOOL_WORK) || + GroupManager::user_has_access($_user['user_id'],$this_group['id'],GROUP_TOOL_WIKI)) { $group_name = ''.stripslashes($this_group['name']).''; if ($_SESSION['_user']['user_id'] && $_SESSION['_user']['user_id'] == $this_group['id_tutor']) diff --git a/main/group/group_category.php b/main/group/group_category.php index a5f801b519..278d2156d7 100644 --- a/main/group/group_category.php +++ b/main/group/group_category.php @@ -1,5 +1,5 @@ 1, 'doc_state' => TOOL_PRIVATE, 'work_state' => TOOL_PRIVATE, 'calendar_state' => TOOL_PRIVATE, 'announcements_state' => TOOL_PRIVATE, 'max_student' => 0); + $category = array ('groups_per_user' => 1, 'doc_state' => TOOL_PRIVATE, 'work_state' => TOOL_PRIVATE, 'wiki_state' => TOOL_PRIVATE, 'calendar_state' => TOOL_PRIVATE, 'announcements_state' => TOOL_PRIVATE, 'max_student' => 0); } } else @@ -100,6 +100,14 @@ if (isset ($_GET['id'])) } else { + //Checks if the field was created in the table Category. It creates it if is neccesary + $table_category = Database :: get_course_table(GROUP_CATEGORY_TABLE); + if (mysql_query("SELECT wiki_state FROM $table_category") == FALSE) + { + mysql_query("ALTER TABLE $table_category ADD `wiki_state` tinyint(3) UNSIGNED NOT NULL default '1';"); + } + + // Create a new category $action = 'add_category'; $form = new FormValidator('group_category'); @@ -169,6 +177,11 @@ $form->addElement('radio', 'forum_state', get_lang('GroupForum'), get_lang('NotA $form->addElement('radio', 'forum_state', null, get_lang('Public'), TOOL_PUBLIC); $form->addElement('radio', 'forum_state', null, get_lang('Private'), TOOL_PRIVATE); +// Wiki Settings +$form->addElement('radio', 'wiki_state', get_lang('GroupWiki'), get_lang('NotAvailable'), TOOL_NOT_AVAILABLE); +$form->addElement('radio', 'wiki_state', null, get_lang('Public'), TOOL_PUBLIC); +$form->addElement('radio', 'wiki_state', null, get_lang('Private'), TOOL_PRIVATE); + // Submit $form->addElement('submit', 'submit', get_lang('Ok')); // If form validates -> save data @@ -188,12 +201,12 @@ if ($form->validate()) switch ($values['action']) { case 'update_settings' : - GroupManager :: update_category($values['id'], $values['title'], $values['description'], $values['doc_state'], $values['work_state'], $values['calendar_state'], $values['announcements_state'], $values['forum_state'], $self_reg_allowed, $self_unreg_allowed, $max_member, $values['groups_per_user']); + GroupManager :: update_category($values['id'], $values['title'], $values['description'], $values['doc_state'], $values['work_state'], $values['calendar_state'], $values['announcements_state'], $values['forum_state'], $values['wiki_state'], $self_reg_allowed, $self_unreg_allowed, $max_member, $values['groups_per_user']); $msg = urlencode(get_lang("GroupPropertiesModified")); header('Location: group.php?action=show_msg&msg='.$msg.'&category='.$values['id']); break; case 'add_category' : - GroupManager :: create_category($values['title'], $values['description'], $values['doc_state'], $values['work_state'], $values['calendar_state'], $values['announcements_state'], $values['forum_state'], $self_reg_allowed, $self_unreg_allowed, $max_member, $values['groups_per_user']); + GroupManager :: create_category($values['title'], $values['description'], $values['doc_state'], $values['work_state'], $values['calendar_state'], $values['announcements_state'], $values['forum_state'], $values['wiki_state'], $self_reg_allowed, $self_unreg_allowed, $max_member, $values['groups_per_user']); $msg = urlencode(get_lang("CategoryCreated")); header('Location: group.php?action=show_msg&msg='.$msg); break; diff --git a/main/group/group_edit.php b/main/group/group_edit.php index 3c657f8696..38b63ff640 100644 --- a/main/group/group_edit.php +++ b/main/group/group_edit.php @@ -186,6 +186,11 @@ $form->addElement('radio', 'announcements_state', get_lang('GroupAnnouncements') $form->addElement('radio', 'announcements_state', null, get_lang('Public'), TOOL_PUBLIC); $form->addElement('radio', 'announcements_state', null, get_lang('Private'), TOOL_PRIVATE); +// Wiki settings +$form->addElement('radio', 'wiki_state', get_lang('GroupWiki'), get_lang('NotAvailable'), TOOL_NOT_AVAILABLE); +$form->addElement('radio', 'wiki_state', null, get_lang('Public'), TOOL_PUBLIC); +$form->addElement('radio', 'wiki_state', null, get_lang('Private'), TOOL_PRIVATE); + // getting all the users if(isset($_SESSION['id_session'])){ $complete_user_list = CourseManager :: get_user_list_from_course_code($_course['id'],true,$_SESSION['id_session']); @@ -272,7 +277,7 @@ if ($form->validate()) } $self_registration_allowed = isset ($values['self_registration_allowed']) ? 1 : 0; $self_unregistration_allowed = isset ($values['self_unregistration_allowed']) ? 1 : 0; - GroupManager :: set_group_properties($current_group['id'], strip_tags($values['name']), strip_tags($values['description']), $max_member, $values['doc_state'], $values['work_state'], $values['calendar_state'], $values['announcements_state'], $self_registration_allowed, $self_unregistration_allowed); + GroupManager :: set_group_properties($current_group['id'], strip_tags($values['name']), strip_tags($values['description']), $max_member, $values['doc_state'], $values['work_state'], $values['calendar_state'], $values['announcements_state'], $values['wiki_state'], $self_registration_allowed, $self_unregistration_allowed); // storing the tutors (we first remove all the tutors and then add only those who were selected) GroupManager :: unsubscribe_all_tutors($current_group['id']); diff --git a/main/group/group_space.php b/main/group/group_space.php index 8148762b9b..7c9750e8fb 100644 --- a/main/group/group_space.php +++ b/main/group/group_space.php @@ -1,4 +1,4 @@ -".Display::return_icon('valves.gif')." ".get_lang("GroupAnnouncements").""; } + if ( $current_group['wiki_state'] != TOOL_NOT_AVAILABLE) + { + //link to the wiki area of this group + $tools .= "
".Display::return_icon('wiki.gif')." ".get_lang("GroupWiki")."
"; + } + echo ''.get_lang("Tools").':'; if (!empty($tools)) { @@ -229,6 +235,14 @@ else //link to a group-specific part of announcements $tools .= "".Display::return_icon('valves.gif')." ".get_lang("GroupAnnouncements")."
"; } + + if ( $current_group['wiki_state'] == TOOL_PUBLIC ) + { + //link to the wiki area of this group + $tools .= "".Display::return_icon('wiki.gif')." ".get_lang('GroupWiki')."
"; + } + + echo ''.get_lang("Tools").':'; if (!empty($tools)) {