Merge with af7253968a17293e455b1475e79f1f9328c1e606

skala
Ivan Tcholakov 16 years ago
commit 7c8bb2a8ac
  1. 78
      main/wiki/index.php
  2. 168
      main/wiki/wiki.inc.php

@ -427,23 +427,24 @@ echo '<td>';
echo '<li><a href="index.php?cidReq='.$_course[id].'&action=addnew&group_id='.$_clean['group_id'].'"'.is_active_navigation_tab('addnew').'>'.get_lang('AddNew').'</a> '; echo '<li><a href="index.php?cidReq='.$_course[id].'&action=addnew&group_id='.$_clean['group_id'].'"'.is_active_navigation_tab('addnew').'>'.get_lang('AddNew').'</a> ';
} }
// page action: enable or disable the adding of new pages
if (check_addnewpagelock())
{
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin()) if(api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
// page action: enable or disable the adding of new pages
if (check_addnewpagelock()==1)
{
$protect_addnewpage= '<img src="../img/wiki/lockadd.gif" title="'.get_lang('AddOptionProtected').'" alt="'.get_lang('AddOptionProtected').'" width="8" height="8" />'; $protect_addnewpage= '<img src="../img/wiki/lockadd.gif" title="'.get_lang('AddOptionProtected').'" alt="'.get_lang('AddOptionProtected').'" width="8" height="8" />';
} $lock_unlock_addnew='unlockaddnew';
} }
else else
{
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
$protect_addnewpage= '<img src="../img/wiki/unlockadd.gif" title="'.get_lang('AddOptionUnprotected').'" alt="'.get_lang('AddOptionUnprotected').'" width="8" height="8" />'; $protect_addnewpage= '<img src="../img/wiki/unlockadd.gif" title="'.get_lang('AddOptionUnprotected').'" alt="'.get_lang('AddOptionUnprotected').'" width="8" height="8" />';
$lock_unlock_addnew='lockaddnew';
} }
} }
echo '<a href="index.php?action=show&amp;actionpage=addlock&amp;title='.$page.'">'.$protect_addnewpage.'</a></li>'; echo '<a href="index.php?action=show&amp;actionpage='.$lock_unlock_addnew.'&amp;title='.$page.'">'.$protect_addnewpage.'</a></li>';
///menu find ///menu find
echo '<li><a href="index.php?cidReq='.$_course[id].'&action=searchpages&group_id='.$_clean['group_id'].'"'.is_active_navigation_tab('searchpages').'>'.get_lang('SearchPages').'</a></li>'; echo '<li><a href="index.php?cidReq='.$_course[id].'&action=searchpages&group_id='.$_clean['group_id'].'"'.is_active_navigation_tab('searchpages').'>'.get_lang('SearchPages').'</a></li>';
@ -1197,7 +1198,7 @@ if ($_GET['action']=='addnew')
} }
} }
elseif (check_addnewpagelock() && (api_is_allowed_to_edit(false,true)==false || api_is_platform_admin()==false)) elseif (check_addnewpagelock()==1 && (api_is_allowed_to_edit(false,true)==false || api_is_platform_admin()==false))
{ {
Display::display_error_message(get_lang('AddPagesLocked')); Display::display_error_message(get_lang('AddPagesLocked'));
} }
@ -2130,69 +2131,68 @@ if ($_GET['action']=='discuss')
echo '<div id="wikititle">'; echo '<div id="wikititle">';
// discussion action: protecting (locking) the discussion // discussion action: protecting (locking) the discussion
if (check_addlock_discuss())
{
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin()) if(api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
$addlock_disc= '<img src="../img/wiki/lock.gif" title="'.get_lang('LockDiscussExtra').'" alt="'.get_lang('LockDiscussExtra').'" />'; if (check_addlock_discuss()==1)
}
else
{ {
$addlock_disc= '<img src="../img/wiki/lock.gif" title="'.get_lang('LockDiscussExtra').'" alt="'.get_lang('LockDiscussExtra').'" />'; $addlock_disc= '<img src="../img/wiki/unlock.gif" title="'.get_lang('UnlockDiscussExtra').'" alt="'.get_lang('UnlockDiscussExtra').'" />';
$lock_unlock_disc='unlockdisc';
} }
}
else else
{ {
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin()) $addlock_disc= '<img src="../img/wiki/lock.gif" title="'.get_lang('LockDiscussExtra').'" alt="'.get_lang('LockDiscussExtra').'" />';
{ $lock_unlock_disc='lockdisc';
$addlock_disc= '<img src="../img/wiki/unlock.gif" title="'.get_lang('UnlockDiscussExtra').'" alt="'.get_lang('UnlockDiscussExtra').'" />';
} }
} }
echo '<span style="float:right">'; echo '<span style="float:right">';
echo '<a href="index.php?action=discuss&amp;actionpage=addlock_disc&amp;title='.$page.'">'.$addlock_disc.'</a>'; echo '<a href="index.php?action=discuss&amp;actionpage='.$lock_unlock_disc.'&amp;title='.$page.'">'.$addlock_disc.'</a>';
echo '</span>'; echo '</span>';
// discussion action: visibility. Show discussion to students if isn't hidden. Show page to all teachers if is hidden. // discussion action: visibility. Show discussion to students if isn't hidden. Show page to all teachers if is hidden.
if (check_visibility_discuss())
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
//Mode assignments: If is hidden, show pages to student only if student is the author if (check_visibility_discuss()==1)
if(($row['assignment']==2 && $row['visibility_disc']==0 && (api_get_user_id()==$row['user_id']))==false)
{ {
$visibility_disc= '<img src="../img/wiki/invisible.gif" title="'.get_lang('HideDiscussExtra').'" alt="'.get_lang('HideDiscussExtra').'" />'; /// TODO: Fix Mode assignments: If is hidden, show discussion to student only if student is the author
} //if(($row['assignment']==2 && $row['visibility_disc']==0 && (api_get_user_id()==$row['user_id']))==false)
//{
//$visibility_disc= '<img src="../img/wiki/invisible.gif" title="'.get_lang('HideDiscussExtra').'" alt="'.get_lang('HideDiscussExtra').'" />';
//}
$visibility_disc= '<img src="../img/wiki/visible.gif" title="'.get_lang('ShowDiscussExtra').'" alt="'.get_lang('ShowDiscussExtra').'" />';
$hide_show_disc='hidedisc';
} }
else else
{ {
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin()) $visibility_disc= '<img src="../img/wiki/invisible.gif" title="'.get_lang('HideDiscussExtra').'" alt="'.get_lang('HideDiscussExtra').'" />';
{ $hide_show_disc='showdisc';
$visibility_disc= '<img src="../img/wiki/visible.gif" title="'.get_lang('ShowDiscussExtra').'" alt="'.get_lang('ShowDiscussExtra').'" />';
} }
} }
echo '<span style="float:right">'; echo '<span style="float:right">';
echo '<a href="index.php?action=discuss&amp;actionpage=visibility_disc&amp;title='.$page.'">'.$visibility_disc.'</a>'; echo '<a href="index.php?action=discuss&amp;actionpage='.$hide_show_disc.'&amp;title='.$page.'">'.$visibility_disc.'</a>';
echo '</span>'; echo '</span>';
//discussion action: check add rating lock. Show/Hide list to rating for all student //discussion action: check add rating lock. Show/Hide list to rating for all student
if (check_ratinglock_discuss())
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
//Mode assignment: only the teacher can assign scoring if (check_ratinglock_discuss()==1)
if(($row['assignment']==2 && $row['ratinglock_disc']==0 && (api_get_user_id()==$row['user_id']))==false)
{ {
$ratinglock_disc= '<img src="../img/wiki/rating_na.gif" title="'.get_lang('LockRatingDiscussExtra').'" alt="'.get_lang('LockRatingDiscussExtra').'" />'; $ratinglock_disc= '<img src="../img/wiki/rating.gif" title="'.get_lang('UnlockRatingDiscussExtra').'" alt="'.get_lang('UnlockRatingDiscussExtra').'" />';
} $lock_unlock_rating_disc='unlockrating';
} }
else else
{ {
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin()) $ratinglock_disc= '<img src="../img/wiki/rating_na.gif" title="'.get_lang('LockRatingDiscussExtra').'" alt="'.get_lang('LockRatingDiscussExtra').'" />';
{ $lock_unlock_rating_disc='lockrating';
$ratinglock_disc= '<img src="../img/wiki/rating.gif" title="'.get_lang('UnlockRatingDiscussExtra').'" alt="'.get_lang('UnlockRatingDiscussExtra').'" />';
} }
} }
echo '<span style="float:right">'; echo '<span style="float:right">';
echo '<a href="index.php?action=discuss&amp;actionpage=ratinglock_disc&amp;title='.$page.'">'.$ratinglock_disc.'</a>'; echo '<a href="index.php?action=discuss&amp;actionpage='.$lock_unlock_rating_disc.'&amp;title='.$page.'">'.$ratinglock_disc.'</a>';
echo '</span>'; echo '</span>';
//discussion action: email notification //discussion action: email notification

@ -839,46 +839,45 @@ function display_wiki_entry()
echo '<div id="wikititle">'; echo '<div id="wikititle">';
// page action: protecting (locking) the page // page action: protecting (locking) the page
if (check_protect_page())
{
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin()) if(api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
$protect_page= '<img src="../img/wiki/lock.gif" title="'.get_lang('PageLockedExtra').'" alt="'.get_lang('PageLockedExtra').'" />'; if (check_protect_page()==1)
}
else
{ {
$protect_page= '<img src="../img/wiki/lock.gif" title="'.get_lang('PageLockedExtra').'" alt="'.get_lang('PageLockedExtra').'" />'; $protect_page= '<img src="../img/wiki/lock.gif" title="'.get_lang('PageLockedExtra').'" alt="'.get_lang('PageLockedExtra').'" />';
} $lock_unlock_protect='unlock';
} }
else else
{
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
$protect_page= '<img src="../img/wiki/unlock.gif" title="'.get_lang('PageUnlockedExtra').'" alt="'.get_lang('PageUnlockedExtra').'" />'; $protect_page= '<img src="../img/wiki/unlock.gif" title="'.get_lang('PageUnlockedExtra').'" alt="'.get_lang('PageUnlockedExtra').'" />';
$lock_unlock_protect='lock';
} }
} }
echo '<span style="float:right">'; echo '<span style="float:right">';
echo '<a href="index.php?action=showpage&amp;actionpage=lock&amp;title='.$page.'">'.$protect_page.'</a>'; echo '<a href="index.php?action=showpage&amp;actionpage='.$lock_unlock_protect.'&amp;title='.$page.'">'.$protect_page.'</a>';
echo '</span>'; echo '</span>';
//page action: visibility //page action: visibility
if (check_visibility_page()) if(api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
//This hides the icon eye closed to users of work they can see yours if (check_visibility_page()==1)
if(($row['assignment']==2 && $KeyVisibility=="0" && (api_get_user_id()==$row['user_id']))==false)
{ {
$visibility_page= '<img src="../img/wiki/invisible.gif" title="'.get_lang('HidePageExtra').'" alt="'.get_lang('HidePageExtra').'" />'; // TODO: FIX This hides the icon eye closed to users of work they can see yours
} //if(($row['assignment']==2 && $KeyVisibility=="0" && (api_get_user_id()==$row['user_id']))==false)
//{
//
// }
$visibility_page= '<img src="../img/wiki/visible.gif" title="'.get_lang('ShowPageExtra').'" alt="'.get_lang('ShowPageExtra').'" />';
$lock_unlock_visibility='invisible';
} }
else else
{ {
if(api_is_allowed_to_edit(false,true) || api_is_platform_admin()) $visibility_page= '<img src="../img/wiki/invisible.gif" title="'.get_lang('HidePageExtra').'" alt="'.get_lang('HidePageExtra').'" />';
{ $lock_unlock_visibility='visible';
$visibility_page= '<img src="../img/wiki/visible.gif" title="'.get_lang('ShowPageExtra').'" alt="'.get_lang('ShowPageExtra').'" />';
} }
} }
echo '<span style="float:right">'; echo '<span style="float:right">';
echo '<a href="index.php?action=showpage&amp;actionpage=visibility&amp;title='.$page.'">'.$visibility_page.'</a>'; echo '<a href="index.php?action=showpage&amp;actionpage='.$lock_unlock_visibility.'&amp;title='.$page.'">'.$visibility_page.'</a>';
echo '</span>'; echo '</span>';
//page action: notification //page action: notification
@ -1049,6 +1048,7 @@ function is_active_navigation_tab($paramwk)
/** /**
* Lock add pages * Lock add pages
* @author Juan Carlos Raña <herodoto@telefonica.net> * @author Juan Carlos Raña <herodoto@telefonica.net>
* return current database status of protect page and change it if get action
*/ */
function check_addnewpagelock() function check_addnewpagelock()
@ -1066,15 +1066,16 @@ function check_addnewpagelock()
$status_addlock=$row['addlock']; $status_addlock=$row['addlock'];
//change status //change status
if ($_GET['actionpage']=='addlock' && (api_is_allowed_to_edit(false,true) || api_is_platform_admin())) if (api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
if ($row['addlock']==1)
if ($_GET['actionpage']=='lockaddnew' && $status_addlock==0)
{ {
$status_addlock=0; $status_addlock=1;
} }
else if ($_GET['actionpage']=='unlockaddnew' && $status_addlock==1)
{ {
$status_addlock=1; $status_addlock=0;
} }
Database::query('UPDATE '.$tbl_wiki.' SET addlock="'.Database::escape_string($status_addlock).'" WHERE '.$groupfilter.'',__LINE__,__FILE__); Database::query('UPDATE '.$tbl_wiki.' SET addlock="'.Database::escape_string($status_addlock).'" WHERE '.$groupfilter.'',__LINE__,__FILE__);
@ -1086,20 +1087,14 @@ function check_addnewpagelock()
//show status //show status
if ($row['addlock']==1 || ($row['content']=='' AND $row['title']=='' AND $page=='index')) return $row['addlock'];
{
return false;
}
else
{
return true;
}
} }
/** /**
* Protect page * Protect page
* @author Juan Carlos Raña <herodoto@telefonica.net> * @author Juan Carlos Raña <herodoto@telefonica.net>
* return current database status of protect page and change it if get action
*/ */
function check_protect_page() function check_protect_page()
{ {
@ -1118,17 +1113,18 @@ function check_protect_page()
$id=$row['id']; $id=$row['id'];
///change status ///change status
if ($_GET['actionpage']=='lock' && (api_is_allowed_to_edit(false,true) || api_is_platform_admin())) if (api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
if ($row['editlock']==0) if($_GET['actionpage']=='lock' && $status_editlock==0)
{ {
$status_editlock=1; $status_editlock=1;
} }
else if($_GET['actionpage']=='unlock' && $status_editlock==1)
{ {
$status_editlock=0; $status_editlock=0;
} }
$sql='UPDATE '.$tbl_wiki.' SET editlock="'.Database::escape_string($status_editlock).'" WHERE id="'.$id.'"'; $sql='UPDATE '.$tbl_wiki.' SET editlock="'.Database::escape_string($status_editlock).'" WHERE id="'.$id.'"';
Database::query($sql,__FILE__,__LINE__); Database::query($sql,__FILE__,__LINE__);
@ -1140,21 +1136,15 @@ function check_protect_page()
} }
//show status //show status
if ($row['editlock']==0 || ($row['content']=='' AND $row['title']=='' AND $page=='index'))
{
return false;
}
else
{
return true;
}
return $row['editlock'];
} }
/** /**
* Visibility page * Visibility page
* @author Juan Carlos Raña <herodoto@telefonica.net> * @author Juan Carlos Raña <herodoto@telefonica.net>
* return current database status of visibility and change it if get action
*/ */
function check_visibility_page() function check_visibility_page()
{ {
@ -1170,18 +1160,20 @@ function check_visibility_page()
$row=Database::fetch_array($result); $row=Database::fetch_array($result);
$status_visibility=$row['visibility']; $status_visibility=$row['visibility'];
$id=$row['id']; //need ? check. TODO
//change status //change status
if ($_GET['actionpage']=='visibility' && (api_is_allowed_to_edit(false,true) || api_is_platform_admin()))
if (api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
if ($row['visibility']==1) if($_GET['actionpage']=='visible' && $status_visibility==0)
{ {
$status_visibility=0; $status_visibility=1;
} }
else if($_GET['actionpage']=='invisible' && $status_visibility==1)
{ {
$status_visibility=1; $status_visibility=0;
} }
$sql='UPDATE '.$tbl_wiki.' SET visibility="'.Database::escape_string($status_visibility).'" WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter; $sql='UPDATE '.$tbl_wiki.' SET visibility="'.Database::escape_string($status_visibility).'" WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter;
@ -1195,21 +1187,14 @@ function check_visibility_page()
} }
//show status //show status
if ($row['visibility']=="1" || ($row['content']=='' AND $row['title']=='' AND $page=='index')) return $row['visibility'];
{
return false;
}
else
{
return true;
}
} }
/** /**
* Visibility discussion * Visibility discussion
* @author Juan Carlos Raña <herodoto@telefonica.net> * @author Juan Carlos Raña <herodoto@telefonica.net>
* return current database status of discuss visibility and change it if get action page
*/ */
function check_visibility_discuss() function check_visibility_discuss()
{ {
@ -1225,18 +1210,17 @@ function check_visibility_discuss()
$row=Database::fetch_array($result); $row=Database::fetch_array($result);
$status_visibility_disc=$row['visibility_disc']; $status_visibility_disc=$row['visibility_disc'];
$id=$row['id']; //need ? check. TODO
//change status //change status
if ($_GET['actionpage']=='visibility_disc' && (api_is_allowed_to_edit(false,true) || api_is_platform_admin())) if (api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
if ($row['visibility_disc']==1) if ($_GET['actionpage']=='showdisc' && $status_visibility_disc==0)
{ {
$status_visibility_disc=0; $status_visibility_disc=1;
} }
else if ($_GET['actionpage']=='hidedisc' && $status_visibility_disc==1)
{ {
$status_visibility_disc=1; $status_visibility_disc=0;
} }
$sql='UPDATE '.$tbl_wiki.' SET visibility_disc="'.Database::escape_string($status_visibility_disc).'" WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter; $sql='UPDATE '.$tbl_wiki.' SET visibility_disc="'.Database::escape_string($status_visibility_disc).'" WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter;
@ -1250,22 +1234,14 @@ function check_visibility_discuss()
} }
//show status //show status
return $row['visibility_disc'];
if ($row['visibility_disc']==1 || ($row['content']=='' AND $row['title']=='' AND $page=='index'))
{
return false;
}
else
{
return true;
}
} }
/** /**
* Lock add discussion * Lock add discussion
* @author Juan Carlos Raña <herodoto@telefonica.net> * @author Juan Carlos Raña <herodoto@telefonica.net>
* return current database status of lock dicuss and change if get action
*/ */
function check_addlock_discuss() function check_addlock_discuss()
{ {
@ -1280,18 +1256,18 @@ function check_addlock_discuss()
$row=Database::fetch_array($result); $row=Database::fetch_array($result);
$status_addlock_disc=$row['addlock_disc']; $status_addlock_disc=$row['addlock_disc'];
$id=$row['id']; //need ? check. TODO
//change status //change status
if ($_GET['actionpage']=='addlock_disc' && (api_is_allowed_to_edit(null,true) || api_is_platform_admin())) if (api_is_allowed_to_edit() || api_is_platform_admin())
{ {
if ($row['addlock_disc']==1)
if ($_GET['actionpage']=='lockdisc' && $status_addlock_disc==0)
{ {
$status_addlock_disc=0; $status_addlock_disc=1;
} }
else if ($_GET['actionpage']=='unlockdisc' && $status_addlock_disc==1)
{ {
$status_addlock_disc=1; $status_addlock_disc=0;
} }
$sql='UPDATE '.$tbl_wiki.' SET addlock_disc="'.Database::escape_string($status_addlock_disc).'" WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter; $sql='UPDATE '.$tbl_wiki.' SET addlock_disc="'.Database::escape_string($status_addlock_disc).'" WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter;
@ -1305,22 +1281,14 @@ function check_addlock_discuss()
} }
//show status //show status
return $row['addlock_disc'];
if ($row['addlock_disc']==1 || ($row['content']=='' AND $row['title']=='' AND $page=='index'))
{
return false;
} }
else
{
return true;
}
}
/** /**
* Lock rating discussion * Lock rating discussion
* @author Juan Carlos Raña <herodoto@telefonica.net> * @author Juan Carlos Raña <herodoto@telefonica.net>
* Return current database status of rating discuss and change it if get action
*/ */
function check_ratinglock_discuss() function check_ratinglock_discuss()
{ {
@ -1336,18 +1304,18 @@ function check_ratinglock_discuss()
$row=Database::fetch_array($result); $row=Database::fetch_array($result);
$status_ratinglock_disc=$row['ratinglock_disc']; $status_ratinglock_disc=$row['ratinglock_disc'];
$id=$row['id']; //need ? check. TODO
//change status //change status
if ($_GET['actionpage']=='ratinglock_disc' && (api_is_allowed_to_edit(false,true) || api_is_platform_admin())) if (api_is_allowed_to_edit(false,true) || api_is_platform_admin())
{ {
if ($row['ratinglock_disc']==1) if ($_GET['actionpage']=='lockrating' && $status_ratinglock_disc==0)
{ {
$status_ratinglock_disc=0; $status_ratinglock_disc=1;
} }
else if ($_GET['actionpage']=='unlockrating' && $status_ratinglock_disc==1)
{ {
$status_ratinglock_disc=1; $status_ratinglock_disc=0;
} }
$sql='UPDATE '.$tbl_wiki.' SET ratinglock_disc="'.Database::escape_string($status_ratinglock_disc).'" WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter; //Visibility. Value to all,not only for the first $sql='UPDATE '.$tbl_wiki.' SET ratinglock_disc="'.Database::escape_string($status_ratinglock_disc).'" WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter; //Visibility. Value to all,not only for the first
@ -1361,21 +1329,15 @@ function check_ratinglock_discuss()
} }
//show status //show status
if ($row['ratinglock_disc']==1 || ($row['content']=='' AND $row['title']=='' AND $page=='index'))
{
return false;
}
else
{
return true;
}
return $row['ratinglock_disc'];
} }
/** /**
* Notify page changes * Notify page changes
* @author Juan Carlos Raña <herodoto@telefonica.net> * @author Juan Carlos Raña <herodoto@telefonica.net>
* return the current
*/ */
function check_notify_page($reflink) function check_notify_page($reflink)

Loading…
Cancel
Save