'; + echo '
'; echo ''.get_lang('More').'
'; - echo '
'; + echo '
'; + echo '
- ';
if(api_is_allowed_to_edit() || api_is_platform_admin())
{
- //TODO
+ //TODO: config area and private stats
}
+
+ //Submenu Orphaned pages
+ echo '
- '.get_lang('OrphanedPages').' '; + + //Submenu Wanted pages + echo '
- '.get_lang('WantedPages').' '; + + //Submenu Most visited pages + echo '
- '.get_lang('MostVisitedPages').' '; + + //Submenu Most changed pages + echo '
- '.get_lang('MostChangedPages').' '; + + //Submenu active users + //echo '
- '.get_lang('MostActiveUsers').' ';//TODO + + echo '
'; + echo ''.get_lang('MostActiveUsers').'
'; + echo '
'; //TODO + +} + +/////////////////////// Most changed pages /////////////////////// Juan Carlos Raña Trabado + +if ($_GET['action']=='mostchanged') +{ + echo '
'; + echo ''.get_lang('MostChanges').'
'; + echo '
'; + + $sql='SELECT *, MAX(version) AS MAX FROM '.$tbl_wiki.' WHERE '.$groupfilter.' GROUP BY reflink ORDER BY MAX DESC, reflink LIMIT 10'; //first ten users + $allpages=api_sql_query($sql,__FILE__,__LINE__); + echo '
- ';
+ while ($row=Database::fetch_array($allpages))
+ {
+ echo '
- '.$row['title'].' '.get_lang('With').' '.$row['MAX'].' '.get_lang('Changes').' '; //TODO:check if hidden and assignment mode + } + echo '
'; + echo ''.get_lang('MostVisitedPages').'
'; + echo '
'; + + $sql='SELECT *, SUM(hits) AS tsum FROM '.$tbl_wiki.' WHERE '.$groupfilter.' GROUP BY reflink ORDER BY tsum DESC, reflink LIMIT 10'; //first ten pages + $allpages=api_sql_query($sql,__FILE__,__LINE__); + echo '
- ';
+ while ($row=Database::fetch_array($allpages))
+ {
+ echo '
- '.$row['title'].' '.get_lang('With').' '.$row['tsum'].' '.get_lang('Visits').' '; //TODO:check if hidden and assignment mode + } + echo '
'; + echo ''.get_lang('WantedPages').'
'; + echo '
'; + $pages = array(); + $refs = array(); + $orphaned = 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); + foreach($refs as $v) + { + if(!in_array($v, $pages)) + { + $wanted[] = $v; + echo $v.'
'; //TODO: link to page and convert reflink to title + } + } } +/////////////////////// Orphaned pages /////////////////////// Juan Carlos Raña Trabado + +if ($_GET['action']=='orphaned') +{ + echo '
'; + echo ''.get_lang('OrphanedPages').'
'; + echo '
'; + + $pages = array(); + $refs = array(); + $orphaned = array(); + $sort_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("\n", 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) + { + $sql='SELECT * FROM '.$tbl_wiki.' WHERE '.$groupfilter.' AND reflink="'.$vshow.'" GROUP BY reflink'; + $allpages=api_sql_query($sql,__FILE__,__LINE__); + + echo '
- ';
+ while ($row=Database::fetch_array($allpages))
+ {
+ //$sort_orphaned[]=$row['title']; //TODO: check to delete this line
+ echo '
- '.$row['title'].' '; //TODO:check if hidden and assignment mode + } + echo '
'; //TODO: link to page //TODO: check to delete this line + //}//TODO: check to delete this line + +} /////////////////////// delete current page /////////////////////// Juan Carlos Raña Trabado @@ -1883,6 +2062,14 @@ function display_wiki_entry() $row=Database::fetch_array($result); // we do not need a while loop since we are always displaying the last version + //update visits + if($row['id']) + { + $sql='UPDATE '.$tbl_wiki.' SET hits=(hits+1) WHERE id='.$row['id'].''; + api_sql_query($sql,__FILE__,__LINE__); + } + + // if both are empty and we are displaying the index page then we display the default text. if ($row['content']=='' AND $row['title']=='' AND $page='index') {


