'; echo ''.get_lang('More').'
'; echo '
'; if(api_is_allowed_to_edit() || api_is_platform_admin()) { //TODO: config area and private stats } echo '
';
echo '
| ';
echo '';
echo '
| ';
echo '
'; echo ''.get_lang('MostActiveUsers').'
'; echo '
'; $sql='SELECT *, COUNT(*) AS NUM_EDIT FROM '.$tbl_wiki.' WHERE '.$groupfilter.' GROUP BY user_id'; $allpages=api_sql_query($sql,__FILE__,__LINE__); //show table if (mysql_num_rows($allpages) > 0) { $row = array (); while ($obj = mysql_fetch_object($allpages)) { $userinfo=Database::get_user_info_from_id($obj->user_id); $row = array (); $row[] = $obj->user_id <>0 ? ''.$userinfo['lastname'].', '.$userinfo['firstname'].'' : get_lang('Anonymous').' ('.$obj->user_ip.')'; $row[] =''.$obj->NUM_EDIT.''; $rows[] = $row; } $table = new SortableTableFromArrayConfig($rows,1,10,'MostActiveUsersA_table','','','DESC'); $table->set_additional_parameters(array('cidReq' =>Security::remove_XSS($_GET['cidReq']),'action'=>Security::remove_XSS($_GET['action']),'group_id'=>Security::remove_XSS($_GET['group_id']))); $table->set_header(0,get_lang('Author'), true, array ('style' => 'width:30px;')); $table->set_header(1,get_lang('Contributions'), true); $table->display(); } } /////////////////////// User contributions /////////////////////// Juan Carlos Raņa Trabado if ($_GET['action']=='usercontrib') { $userinfo=Database::get_user_info_from_id(Security::remove_XSS($_GET['user_id'])); echo '
'; echo ''.get_lang('UserContributions').': '.$userinfo['lastname'].', '.$userinfo['firstname'].'
'; echo '
'; if(api_is_allowed_to_edit() || api_is_platform_admin()) //only by professors if page is hidden { $sql='SELECT * FROM '.$tbl_wiki.' WHERE '.$groupfilter.' AND user_id="'.Security::remove_XSS($_GET['user_id']).'"'; } else { $sql='SELECT * FROM '.$tbl_wiki.' WHERE '.$groupfilter.' AND user_id="'.Security::remove_XSS($_GET['user_id']).'" AND visibility=1'; } $allpages=api_sql_query($sql,__FILE__,__LINE__); //show table if (mysql_num_rows($allpages) > 0) { $row = array (); while ($obj = mysql_fetch_object($allpages)) { //get author $userinfo=Database::get_user_info_from_id($obj->user_id); //get time $year = substr($obj->dtime, 0, 4); $month = substr($obj->dtime, 5, 2); $day = substr($obj->dtime, 8, 2); $hours = substr($obj->dtime, 11,2); $minutes = substr($obj->dtime, 14,2); $seconds = substr($obj->dtime, 17,2); //get type assignment icon if($obj->assignment==1) { $ShowAssignment='
';
}
elseif ($obj->assignment==2)
{
$ShowAssignment='
';
}
elseif ($obj->assignment==0)
{
$ShowAssignment='
';
}
$row = array ();
$row[] = $day.' '.$MonthsLong[$month-1].' '.$year.' '.$hours.":".$minutes.":".$seconds;
$row[] =$ShowAssignment;
$row[] = ''.$obj->title.'';
$row[] =$obj->version;
$row[] =$obj->comment;
//$row[] =strlen($obj->comment)>30 ? substr($obj->comment,0,30).'...' : $obj->comment;
$row[] =$obj->progress.' %';
$row[] =$obj->score;
//if(api_is_allowed_to_edit() || api_is_platform_admin())
//{
//$row[] =$obj->user_ip;
//}
$rows[] = $row;
}
$table = new SortableTableFromArrayConfig($rows,2,10,'UsersContributions_table','','','ASC');
$table->set_additional_parameters(array('cidReq' =>Security::remove_XSS($_GET['cidReq']),'action'=>Security::remove_XSS($_GET['action']),'user_id'=>Security::remove_XSS($_GET['user_id']),'group_id'=>Security::remove_XSS($_GET['group_id'])));
$table->set_header(0,get_lang('Date'), true, array ('style' => 'width:200px;'));
$table->set_header(1,get_lang('Type'), true, array ('style' => 'width:30px;'));
$table->set_header(2,get_lang('Title'), true, array ('style' => 'width:200px;'));
$table->set_header(3,get_lang('Version'), true, array ('style' => 'width:30px;'));
$table->set_header(4,get_lang('Comment'), true, array ('style' => 'width:200px;'));
$table->set_header(5,get_lang('Progress'), true, array ('style' => 'width:30px;'));
$table->set_header(6,get_lang('Rating'), true, array ('style' => 'width:30px;'));
//if(api_is_allowed_to_edit() || api_is_platform_admin())
//{
//$table->set_header(7,get_lang('IP'), true, array ('style' => 'width:30px;'));
//}
$table->display();
}
}
/////////////////////// Most changed pages /////////////////////// Juan Carlos Raņa Trabado
if ($_GET['action']=='mostchanged')
{
echo ''; echo ''.get_lang('MostChangedPages').'
'; echo '
'; if(api_is_allowed_to_edit() || api_is_platform_admin()) //only by professors if page is hidden { $sql='SELECT *, MAX(version) AS MAX FROM '.$tbl_wiki.' WHERE '.$groupfilter.' GROUP BY reflink'; } else { $sql='SELECT *, MAX(version) AS MAX FROM '.$tbl_wiki.' WHERE '.$groupfilter.' AND visibility=1 GROUP BY reflink'; } $allpages=api_sql_query($sql,__FILE__,__LINE__); //show table if (mysql_num_rows($allpages) > 0) { $row = array (); while ($obj = mysql_fetch_object($allpages)) { //get type assignment icon if($obj->assignment==1) { $ShowAssignment='
';
}
elseif ($obj->assignment==2)
{
$ShowAssignment='
';
}
elseif ($obj->assignment==0)
{
$ShowAssignment='
';
}
$row = array ();
$row[] =$ShowAssignment;
$row[] = ''.$obj->title.'';
$row[] = $obj->MAX;
$rows[] = $row;
}
$table = new SortableTableFromArrayConfig($rows,2,10,'MostChangedPages_table','','','DESC');
$table->set_additional_parameters(array('cidReq' =>Security::remove_XSS($_GET['cidReq']),'action'=>Security::remove_XSS($_GET['action']),'group_id'=>Security::remove_XSS($_GET['group_id'])));
$table->set_header(0,get_lang('Type'), true, array ('style' => 'width:30px;'));
$table->set_header(1,get_lang('Title'), true);
$table->set_header(2,get_lang('Changes'), true);
$table->display();
}
}
/////////////////////// Most visited pages /////////////////////// Juan Carlos Raņa Trabado
if ($_GET['action']=='mvisited')
{
echo ''; echo ''.get_lang('MostVisitedPages').'
'; echo '
'; if(api_is_allowed_to_edit() || api_is_platform_admin()) //only by professors if page is hidden { $sql='SELECT *, SUM(hits) AS tsum FROM '.$tbl_wiki.' WHERE '.$groupfilter.' GROUP BY reflink'; } else { $sql='SELECT *, SUM(hits) AS tsum FROM '.$tbl_wiki.' WHERE '.$groupfilter.' AND visibility=1 GROUP BY reflink'; } $allpages=api_sql_query($sql,__FILE__,__LINE__); //show table if (mysql_num_rows($allpages) > 0) { $row = array (); while ($obj = mysql_fetch_object($allpages)) { //get type assignment icon if($obj->assignment==1) { $ShowAssignment='
';
}
elseif ($obj->assignment==2)
{
$ShowAssignment='
';
}
elseif ($obj->assignment==0)
{
$ShowAssignment='
';
}
$row = array ();
$row[] =$ShowAssignment;
$row[] = ''.$obj->title.'';
$row[] = $obj->tsum;
$rows[] = $row;
}
$table = new SortableTableFromArrayConfig($rows,2,10,'MostVisitedPages_table','','','DESC');
$table->set_additional_parameters(array('cidReq' =>Security::remove_XSS($_GET['cidReq']),'action'=>Security::remove_XSS($_GET['action']),'group_id'=>Security::remove_XSS($_GET['group_id'])));
$table->set_header(0,get_lang('Type'), true, array ('style' => 'width:30px;'));
$table->set_header(1,get_lang('Title'), true);
$table->set_header(2,get_lang('Visits'), true);
$table->display();
}
}
/////////////////////// Wanted pages /////////////////////// Juan Carlos Raņa Trabado
if ($_GET['action']=='wanted')
{
echo ''; echo ''.get_lang('WantedPages').'
'; echo '
'; $pages = array(); $refs = array(); $sort_wanted=array(); //get name pages $sql='SELECT * FROM '.$tbl_wiki.' WHERE '.$groupfilter.' GROUP BY reflink ORDER BY reflink ASC'; $allpages=api_sql_query($sql,__FILE__,__LINE__); while ($row=Database::fetch_array($allpages)) { $pages[] = $row['reflink']; } //get name refs in last pages and make a unique list $sql='SELECT * FROM '.$tbl_wiki.' s1 WHERE '.$groupfilter.' AND id=(SELECT MAX(s2.id) FROM '.$tbl_wiki.' s2 WHERE s1.reflink = s2.reflink)'; $allpages=api_sql_query($sql,__FILE__,__LINE__); while ($row=Database::fetch_array($allpages)) { //$row['linksto']= str_replace("\n".$row["reflink"]."\n", "\n", $row["linksto"]); //remove self reference. TODO check $rf = explode(" ", trim($row["linksto"]));//wanted pages without /n only blank " " $refs = array_merge($refs, $rf); if ($n++ > 299) { $refs = array_unique($refs); $n=0; } // (clean-up only every 300th loop). Thanks to Erfurt Wiki } //sort linksto. Find linksto into reflink. If not found ->page is wanted natcasesort($refs); echo '
- ';
foreach($refs as $v)
{
if(!in_array($v, $pages))
{
if (trim($v)!="")
{
echo '
- '.str_replace('_',' ',$v).' '; } } } echo '
'; echo ''.get_lang('OrphanedPages').'
'; echo '
'; $pages = array(); $refs = array(); $orphaned = array(); //get name pages $sql='SELECT * FROM '.$tbl_wiki.' WHERE '.$groupfilter.' GROUP BY reflink ORDER BY reflink ASC'; $allpages=api_sql_query($sql,__FILE__,__LINE__); while ($row=Database::fetch_array($allpages)) { $pages[] = $row['reflink']; } //get name refs in last pages and make a unique list $sql='SELECT * FROM '.$tbl_wiki.' s1 WHERE '.$groupfilter.' AND id=(SELECT MAX(s2.id) FROM '.$tbl_wiki.' s2 WHERE s1.reflink = s2.reflink)'; $allpages=api_sql_query($sql,__FILE__,__LINE__); while ($row=Database::fetch_array($allpages)) { //$row['linksto']= str_replace("\n".$row["reflink"]."\n", "\n", $row["linksto"]); //remove self reference. TODO check $rf = explode(" ", trim($row["linksto"])); //fix replace explode("\n", trim($row["linksto"])) with explode(" ", trim($row["linksto"])) $refs = array_merge($refs, $rf); if ($n++ > 299) { $refs = array_unique($refs); $n=0; } // (clean-up only every 300th loop). Thanks to Erfurt Wiki } //search each name of list linksto into list reflink foreach($pages as $v) { if(!in_array($v, $refs)) { $orphaned[] = $v; } } //change reflink by title foreach($orphaned as $vshow) { if(api_is_allowed_to_edit() || api_is_platform_admin()) //only by professors if page is hidden { $sql='SELECT * FROM '.$tbl_wiki.' WHERE '.$groupfilter.' AND reflink="'.$vshow.'" GROUP BY reflink'; } else { $sql='SELECT * FROM '.$tbl_wiki.' WHERE '.$groupfilter.' AND reflink="'.$vshow.'" AND visibility=1 GROUP BY reflink'; } $allpages=api_sql_query($sql,__FILE__,__LINE__); echo '
- ';
while ($row=Database::fetch_array($allpages))
{
//fix assignment icon
if($row['assignment']==1)
{
$ShowAssignment='
- '.$ShowAssignment.''.$row['title'].' '; } echo '
';
}
elseif ($row['assignment']==2)
{
$ShowAssignment='
';
}
elseif ($row['assignment']==0)
{
$ShowAssignment='
';
}
echo ''; echo ''.get_lang('DeletePageHistory').''; echo '
'; if($page=="index") { Display::display_warning_message(get_lang('WarningDeleteMainPage'),false); } $message = get_lang('ConfirmDeletePage').""."
"."".get_lang("No").""." | "."".get_lang("Yes").""."
"; if (!isset ($_GET['delete'])) { Display::display_warning_message($message,false); } if ($_GET['delete'] == 'yes') { $sql='DELETE '.$tbl_wiki_discuss.' FROM '.$tbl_wiki.', '.$tbl_wiki_discuss.' WHERE '.$tbl_wiki.'.reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$tbl_wiki.'.'.$groupfilter.' AND '.$tbl_wiki_discuss.'.publication_id='.$tbl_wiki.'.id'; api_sql_query($sql,__FILE__,__LINE__); $sql='DELETE '.$tbl_wiki_mailcue.' FROM '.$tbl_wiki.', '.$tbl_wiki_mailcue.' WHERE '.$tbl_wiki.'.reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$tbl_wiki.'.'.$groupfilter.' AND '.$tbl_wiki_mailcue.'.id='.$tbl_wiki.'.id'; api_sql_query($sql,__FILE__,__LINE__); $sql='DELETE FROM '.$tbl_wiki.' WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter.''; api_sql_query($sql,__FILE__,__LINE__); check_emailcue(0, 'E'); Display::display_confirmation_message(get_lang('WikiPageDeleted')); } } else { Display::display_normal_message(get_lang("OnlyAdminDeletePageWiki")); } } /////////////////////// delete all wiki /////////////////////// Juan Carlos Raņa Trabado if ($_GET['action']=='deletewiki') { echo ''; echo ''.get_lang('DeleteWiki').''; echo '
'; } /////////////////////// search pages /////////////////////// Juan Carlos Raņa Trabado //// 1 Searchpages: input search if ($_GET['action']=='searchpages') { echo '
'; echo ''.$SearchPages.''; echo '
'; if (!$_POST['Skeyword']) { echo ''; } } //// 2 SearchPages: find and show pages if ($_GET['action']=='showsearchpages') { echo '
'; echo ''.$Search.': '.$_POST['Skeyword']; //TODO: post is lost when a table has some pages echo '
'; $_clean['group_id']=(int)$_SESSION['_gid']; if(api_is_allowed_to_edit() || api_is_platform_admin()) //only by professors if page is hidden { if($_POST['Scontent']=="1") { $sql="SELECT * FROM ".$tbl_wiki." s1 WHERE ".$groupfilter." AND title LIKE '%".$_POST['Skeyword']."%' OR content LIKE '%".$_POST['Skeyword']."%' AND id=(SELECT MAX(s2.id) FROM ".$tbl_wiki." s2 WHERE s1.reflink = s2.reflink)";// warning don't use group by reflink because don't return the last version } else { $sql="SELECT * FROM ".$tbl_wiki." s1 WHERE ".$groupfilter." AND title LIKE '%".$_POST['Skeyword']."%' AND id=(SELECT MAX(s2.id) FROM ".$tbl_wiki." s2 WHERE s1.reflink = s2.reflink)";// warning don't use group by reflink because don't return the last version } } else { if($_POST['Scontent']=="1") { $sql="SELECT * FROM ".$tbl_wiki." s1 WHERE ".$groupfilter." AND visibility=1 AND title LIKE '%".$_POST['Skeyword']."%' OR content LIKE '%".$_POST['Skeyword']."%' AND id=(SELECT MAX(s2.id) FROM ".$tbl_wiki." s2 WHERE s1.reflink = s2.reflink)";// warning don't use group by reflink because don't return the last version } else { $sql="SELECT * FROM ".$tbl_wiki." s1 WHERE ".$groupfilter." AND visibility=1 AND title LIKE '%".$_POST['Skeyword']."%' AND id=(SELECT MAX(s2.id) FROM ".$tbl_wiki." s2 WHERE s1.reflink = s2.reflink)";// warning don't use group by reflink because don't return the last version } } $result=api_sql_query($sql,__LINE__,__FILE__); //show table if (mysql_num_rows($result) > 0) { $row = array (); while ($obj = mysql_fetch_object($result)) { //get author $userinfo=Database::get_user_info_from_id($obj->user_id); //get time $year = substr($obj->dtime, 0, 4); $month = substr($obj->dtime, 5, 2); $day = substr($obj->dtime, 8, 2); $hours = substr($obj->dtime, 11,2); $minutes = substr($obj->dtime, 14,2); $seconds = substr($obj->dtime, 17,2); //get type assignment icon if($obj->assignment==1) { $ShowAssignment='
';
}
elseif ($obj->assignment==2)
{
$ShowAssignment='
';
}
elseif ($obj->assignment==0)
{
$ShowAssignment='
';
}
$row = array ();
$row[] =$ShowAssignment;
$row[] = ''.$obj->title.'';
$row[] = $obj->user_id <>0 ? ''.$userinfo['lastname'].', '.$userinfo['firstname'].'' : get_lang('Anonymous').' ('.$obj->user_ip.')';
$row[] = $day.' '.$MonthsLong[$month-1].' '.$year.' '.$hours.":".$minutes.":".$seconds;
$rows[] = $row;
}
$table = new SortableTableFromArrayConfig($rows,1,10,'SearchPages_table','','','ASC');
$table->set_additional_parameters(array('cidReq' =>$_GET['cidReq'],'action'=>$_GET['action'],'group_id'=>Security::remove_XSS($_GET['group_id'])));
$table->set_header(0,get_lang('Type'), true, array ('style' => 'width:30px;'));
$table->set_header(1,get_lang('Title'), true);
$table->set_header(2,get_lang('Author'), true);
$table->set_header(3,get_lang('Date'), true);
$table->display();
}
}
/////////////////////// What links here. Show pages that have linked this page /////////////////////// Juan Carlos Raņa Trabado
if ($_GET['action']=='links')
{
echo ''; echo ''.$LinksPages.''; echo '
'; if (!$_GET['title']) { Display::display_normal_message(get_lang("MustSelectPage")); } else { $sql='SELECT * FROM '.$tbl_wiki.' WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter.''; $result=api_sql_query($sql,__FILE__,__LINE__); $row=Database::fetch_array($result); //get type assignment icon if($row['assignment']==1) { $ShowAssignment='
';
}
elseif ($row['assignment']==2)
{
$ShowAssignment='
';
}
elseif ($row['assignment']==0)
{
$ShowAssignment='
';
}
//fix Title to reflink (link Main Page)
if ($page==get_lang('DefaultTitle'))
{
$page='index';
}
echo $LinksPagesFrom.': '.$ShowAssignment.''.$row['title'].'';
//fix index to title Main page into linksto
if ($page=='index')
{
$page=str_replace(' ','_',get_lang('DefaultTitle'));
}
//table
if(api_is_allowed_to_edit() || api_is_platform_admin()) //only by professors if page is hidden
{
$sql="SELECT * FROM ".$tbl_wiki." s1 WHERE ".$groupfilter." AND linksto LIKE '%".html_entity_decode(Database::escape_string(stripslashes(urldecode($page))))." %' AND id=(SELECT MAX(s2.id) FROM ".$tbl_wiki." s2 WHERE s1.reflink = s2.reflink)"; //add blank space after like '%" " %' to identify each word.
}
else
{
$sql="SELECT * FROM ".$tbl_wiki." s1 WHERE ".$groupfilter." AND visibility=1 AND linksto LIKE '%".html_entity_decode(Database::escape_string(stripslashes(urldecode($page))))." %' AND id=(SELECT MAX(s2.id) FROM ".$tbl_wiki." s2 WHERE s1.reflink = s2.reflink)"; //add blank space after like '%" " %' to identify each word
}
$allpages=api_sql_query($sql,__LINE__,__FILE__);
//show table
if (mysql_num_rows($allpages) > 0)
{
$row = array ();
while ($obj = mysql_fetch_object($allpages))
{
//get author
$userinfo=Database::get_user_info_from_id($obj->user_id);
//get time
$year = substr($obj->dtime, 0, 4);
$month = substr($obj->dtime, 5, 2);
$day = substr($obj->dtime, 8, 2);
$hours = substr($obj->dtime, 11,2);
$minutes = substr($obj->dtime, 14,2);
$seconds = substr($obj->dtime, 17,2);
//get type assignment icon
if($obj->assignment==1)
{
$ShowAssignment='
';
}
elseif ($obj->assignment==2)
{
$ShowAssignment='
';
}
elseif ($obj->assignment==0)
{
$ShowAssignment='
';
}
$row = array ();
$row[] =$ShowAssignment;
$row[] = ''.$obj->title.'';
$row[] = $obj->user_id <>0 ? ''.$userinfo['lastname'].', '.$userinfo['firstname'].'' : get_lang('Anonymous').' ('.$obj->user_ip.')';
$row[] = $day.' '.$MonthsLong[$month-1].' '.$year.' '.$hours.":".$minutes.":".$seconds;
$rows[] = $row;
}
$table = new SortableTableFromArrayConfig($rows,1,10,'AllPages_table','','','ASC');
$table->set_additional_parameters(array('cidReq' =>Security::remove_XSS($_GET['cidReq']),'action'=>Security::remove_XSS($_GET['action']),'group_id'=>Security::remove_XSS($_GET['group_id'])));
$table->set_header(0,get_lang('Type'), true, array ('style' => 'width:30px;'));
$table->set_header(1,get_lang('Title'), true);
$table->set_header(2,get_lang('Author'), true);
$table->set_header(3,get_lang('Date'), true);
$table->display();
}
}
}
/////////////////////// adding a new page ///////////////////////
// Display the form for adding a new wiki page
if ($_GET['action']=='addnew')
{
//first, check if page index was created. chektitle=false
if (checktitle('index'))
{
if(api_is_allowed_to_edit() || api_is_platform_admin())
{
Display::display_normal_message(get_lang('GoAndEditMainPage'));
}
else
{
return Display::display_normal_message(get_lang('WikiStandBy'));
}
}
elseif (check_addnewpagelock() && (api_is_allowed_to_edit()==false || api_is_platform_admin()==false))
{
Display::display_normal_message(get_lang('AddPagesLocked'));
}
else
{
if(api_is_allowed_to_edit() || api_is_platform_admin() || GroupManager :: is_user_in_group($_user['user_id'],$_SESSION['_gid']) || Security::remove_XSS($_GET['group_id'])==0)
{
echo ''; echo ''.get_lang('AddNew').''; echo '
'; display_new_wiki_form(); } else { Display::display_normal_message(get_lang('OnlyAddPagesGroupMembers')); } } } /////////////////////// show home page /////////////////////// if (!$_GET['action'] OR $_GET['action']=='show' AND !$_POST['SaveWikiNew']) { display_wiki_entry(); } /////////////////////// show current page /////////////////////// if ($_GET['action']=='showpage' AND !$_POST['SaveWikiNew']) { display_wiki_entry(); } /////////////////////// edit current page /////////////////////// if ($_GET['action']=='edit') { $_clean['group_id']=(int)$_SESSION['_gid']; $sql='SELECT * FROM '.$tbl_wiki.'WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter.' ORDER BY id DESC'; $result=api_sql_query($sql,__LINE__,__FILE__); $row=Database::fetch_array($result); // we do not need a while loop since we are always displaying the last version //Only teachers and platform admin can edit the index page. Only teachers and platform admin can edit an assignment teacher if(($row['reflink']=='index' || $row['reflink']=='' || $row['assignment']==1) && (!api_is_allowed_to_edit())) { Display::display_normal_message(get_lang('OnlyEditPagesCourseManager')); } else { $PassEdit=false; //check if is a wiki group if($_clean['group_id']!=0) { //Only teacher, platform admin and group members can edit a wiki group if(api_is_allowed_to_edit() || api_is_platform_admin() || GroupManager :: is_user_in_group($_user['user_id'],$_SESSION['_gid'])) { $PassEdit=true; } else { Display::display_normal_message(get_lang('OnlyEditPagesGroupMembers')); } } else { $PassEdit=true; } // check if is a assignment if(stripslashes($row['assignment'])==1) { Display::display_normal_message(get_lang('EditAssignmentWarning')); $icon_assignment='
';
}
elseif(stripslashes($row['assignment'])==2)
{
$icon_assignment='
';
if((api_get_user_id()==$row['user_id'])==false)
{
if(api_is_allowed_to_edit() || api_is_platform_admin())
{
$PassEdit=true;
}
else
{
Display::display_warning_message(get_lang('LockByTeacher'));
$PassEdit=false;
}
}
else
{
$PassEdit=true;
}
}
if($PassEdit) //show editor if edit is allowed
{
if (check_protect_page() && (api_is_allowed_to_edit()==false || api_is_platform_admin()==false))
{
Display::display_normal_message(get_lang('PageLockedExtra'));
}
else
{
if ($row['content']=='' AND $row['title']=='' AND $page='index')
{
$content=sprintf(get_lang('DefaultContent'),api_get_path(WEB_IMG_PATH));
$title=get_lang('DefaultTitle');
}
else
{
$content=$row['content'];
$title=$row['title'];
}
echo '
';
}
elseif($KeyAssignment==2)
{
$icon_assignment='
';
}
//Second, show
//if the page is hidden and is a job only sees its author and professor
if($KeyVisibility==1 || api_is_allowed_to_edit() || api_is_platform_admin() || ($KeyAssignment==2 && $KeyVisibility==0 && (api_get_user_id()==$KeyUserId)))
{
// We show the complete history
if (!$_POST['HistoryDifferences'] && !$_POST['HistoryDifferences2'] )
{
$sql='SELECT * FROM '.$tbl_wiki.'WHERE reflink="'.html_entity_decode(Database::escape_string(stripslashes(urldecode($page)))).'" AND '.$groupfilter.' ORDER BY id DESC';
$result=api_sql_query($sql,__LINE__,__FILE__);
$title=Security::remove_XSS($_GET['title']);
$group_id=Security::remove_XSS($_GET['group_id']);
echo ''; if($_POST['HistoryDifferences']) { echo '
'.get_lang('HomeWiki').'





'.get_lang('Page').'
'.get_lang('EditPage').'
'.get_lang('Discuss').'
'.get_lang('History').'
'.$LinksPages.'
'.get_lang('Delete').'
'.get_lang('NotNotifyChanges').'';
}
else
{
$notify_all= '
'.get_lang('NotifyChanges').'';
}
echo '
'.get_lang('ShowDiscuss').'';
}
}
else
{
if(api_is_allowed_to_edit() || api_is_platform_admin())
{
$visibility_disc= '
'.get_lang('HideDiscuss').'';
}
}
//check add messages lock.
if (check_addlock_discuss())
{
if(api_is_allowed_to_edit() || api_is_platform_admin())
{
$addlock_disc= '
'.get_lang('UnlockDiscuss').'';
}
else
{
$addlock_disc= '
'.get_lang('LockDiscuss').'';
}
}
//check add rating lock. Show/Hide list to rating for all student
if (check_ratinglock_discuss())
{
//Mode assignment: only the teacher can assign scoring
if(($row['assignment']==2 && $row['ratinglock_disc']==0 && (api_get_user_id()==$row['user_id']))==false)
{
$ratinglock_disc= '
'.get_lang('UnlockRatingDiscuss').'';
}
}
else
{
if(api_is_allowed_to_edit() || api_is_platform_admin())
{
$ratinglock_disc= '
'.get_lang('LockRatingDiscuss').'';
}
}
//check notify by email
if (check_notify_discuss($page))
{
$notify_disc= '
';
break;
case 1:
$imagerating='
';
break;
case 2:
$imagerating='
';
break;
case 3:
$imagerating='
';
break;
case 4:
$imagerating='
';
break;
case 5:
$imagerating='
';
break;
case 6:
$imagerating='
';
break;
case 7:
$imagerating='
';
break;
case 8:
$imagerating='
';
break;
case 9:
$imagerating='
';
break;
case 10:
$imagerating='
';
break;
}
echo '
'.get_lang('ShowAddOption').'';
}
}
else
{
if(api_is_allowed_to_edit() || api_is_platform_admin())
{
$protect_addnewpage= '
'.get_lang('HideAddOption').'';
}
}
//Button lock page
if (check_protect_page())
{
if(api_is_allowed_to_edit() || api_is_platform_admin())
{
$protect_page= '
';
echo '';
//export to zip
//echo '