From: Carsten K. <car...@us...> - 2002-01-21 21:00:28
|
Update of /cvsroot/phpwiki/phpwiki/lib In directory usw-pr-cvs1:/tmp/cvs-serv3395 Modified Files: PageList.php Log Message: Added new report columns, alternate column titles and added some comments. Index: PageList.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/PageList.php,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** PageList.php 2002/01/21 19:18:16 1.9 --- PageList.php 2002/01/21 21:00:21 1.10 *************** *** 5,12 **** // BackLinks, LikePages, Mostpopular, TitleSearch // ! // It also allows dynamic expansion of those plugins to ! // include more columns in their output. // // There are still a few rough edges. class PageList { --- 5,18 ---- // BackLinks, LikePages, Mostpopular, TitleSearch // ! // It also allows dynamic expansion of those plugins to include more ! // columns in their output. // // There are still a few rough edges. + // + // FIXME: Make caption work properly with new HtmlElement + // + // FIXME: Add error recovery! If the column title isn't found due to a + // typo, the wiki craps out, you will not even be able to edit the + // page again to fix the typo in the column name! class PageList { *************** *** 53,57 **** return $this->_total; } ! function getContent() { $caption = HTML::div(array('align' => 'left'), $this->getCaption()); --- 59,63 ---- return $this->_total; } ! function getContent() { $caption = HTML::div(array('align' => 'left'), $this->getCaption()); *************** *** 63,81 **** } } ! //////////////////// // private //////////////////// ! // lookup alignment from column name function _column_align($column_name) { $map = array( ! _("Page Name") => 'left', ! _("Last Modified") => 'left', ! _("Hits") => 'right', ! _("Date Created") => 'left', ! _("# Of Revisions") => 'right', ! _("Last Summary") => 'left', ! _("Last Edited By") => 'left' ); --- 69,101 ---- } } ! //////////////////// // private //////////////////// ! ! // Some of these column_name aliases could probably be eliminated ! // once standard titles have been agreed upon ! // lookup alignment from column name function _column_align($column_name) { $map = array( ! _("Page Name") => 'left', ! _("Page") => 'left', ! _("Name") => 'left', ! _("Last Modified") => 'left', ! _("Hits") => 'right', ! _("Visitors") => 'right', ! _("Date Created") => 'left', ! _("Creation Date") => 'left', ! _("# Of Revisions") => 'right', //FIXME: count revisions in db ! _("Last Summary") => 'left', ! _("Last Author") => 'left', ! _("Last Edited By") => 'left', ! _("Author") => 'left', ! _("Original Author") => 'left', ! _("Created By") => 'left', ! _("Locked") => 'left', ! _("Minor Edit") => 'left', ! _("Minor") => 'left', ); *************** *** 94,104 **** function _colname_to_dbfield($column_name) { $map = array( ! _("Page Name") => 'pagename', ! _("Last Modified") => 'mtime', ! _("Hits") => 'hits', ! _("Date Created") => '', ! _("# of revisions") => '', ! _("Last Summary") => 'summary', ! _("Last Edited By") => '' ); $key = $map[$column_name]; --- 114,135 ---- function _colname_to_dbfield($column_name) { $map = array( ! _("Page Name") => 'pagename', ! _("Page") => 'pagename', ! _("Name") => 'pagename', ! _("Last Modified") => 'mtime', ! _("Hits") => 'hits', ! _("Visitors") => 'hits', ! _("Date Created") => '_ctime', ! _("Creation Date") => '_ctime', ! _("# of revisions") => '', //FIXME: count revisions in db ! _("Last Summary") => 'summary', ! _("Last Author") => 'author', ! _("Last Edited By") => 'author', ! _("Author") => '_cauthor', ! _("Original Author") => '_cauthor', ! _("Created By") => '_cauthor', ! _("Locked") => 'locked', ! _("Minor Edit") => 'is_minor_edit', ! _("Minor") => 'is_minor_edit', ); $key = $map[$column_name]; *************** *** 110,125 **** return $key; } - // lookup whether fieldname requires page revision function _does_require_rev($column_name) { $map = array( ! _("Page Name") => false, ! _("Last Modified") => true, ! _("Hits") => false, ! _("Date Created") => '', ! _("# Of Revisions") => '', ! _("Last Summary") => true, ! _("Last Edited By") => true ); $key = $map[$column_name]; --- 141,167 ---- return $key; } + // lookup whether fieldname requires page revision function _does_require_rev($column_name) { $map = array( ! _("Page Name") => false, ! _("Page") => false, ! _("Name") => false, ! _("Last Modified") => true, ! _("Hits") => false, ! _("Visitors") => false, ! _("Date Created") => false, ! _("Creation Date") => false, ! _("# Of Revisions") => '', //FIXME: count revisions in db ! _("Last Summary") => true, ! _("Last Author") => true, ! _("Last Edited By") => true, ! _("Author") => true, ! _("Original Author") => false, ! _("Created By") => false, ! _("Locked") => false, ! _("Minor Edit") => true, ! _("Minor") => true, ); $key = $map[$column_name]; *************** *** 130,133 **** --- 172,176 ---- function _generateTable($caption) { $pad = new RawXml(' '); + $emdash = new RawXml('—'); $thead = HTML::thead(); *************** *** 143,162 **** foreach ($this->_pages as $page_handle) { $row = HTML::tr(); foreach ($this->_columns as $column_name) { $col = HTML::td(); $field = $this->_colname_to_dbfield($column_name); if ($this->_does_require_rev($column_name)) { $current = $page_handle->getCurrentRevision(); $value = $current->get($field); ! if ($field=='mtime') { ! global $Theme; ! $td = ($Theme->formatDateTime($value)); ! } else { $td = ($value); - } - } else { - //TODO: make method to determine formatting - if ($field=='pagename') { - $td = (new RawXml (LinkExistingWikiWord($page_handle->getName()))); } else { $td = ($page_handle->get($field)); --- 186,228 ---- foreach ($this->_pages as $page_handle) { $row = HTML::tr(); + global $Theme; + foreach ($this->_columns as $column_name) { $col = HTML::td(); $field = $this->_colname_to_dbfield($column_name); + if ($this->_does_require_rev($column_name)) { $current = $page_handle->getCurrentRevision(); $value = $current->get($field); ! } ! //TODO: make method to determine formatting ! switch ($field) { ! // needs current rev ! case 'mtime' : ! $td = ($Theme->formatDateTime($value)); ! break; ! case 'is_minor_edit' : ! $td = ($value) ? _("minor") : $emdash; ! break; ! ! // does not need current rev ! case 'pagename' : ! $td = new RawXml (LinkExistingWikiWord($page_handle->getName())); ! break; ! case 'locked' : ! $td = ($page_handle->get($field)) ? _("locked") : $emdash; ! break; ! case '_ctime' : ! $revision = $page_handle->getRevision(1); ! $td = $Theme->formatDateTime($revision->get('mtime')); ! break; ! case '_cauthor' : ! $revision = $page_handle->getRevision(1); ! $td = new RawXml (LinkExistingWikiWord($revision->get('author'))); ! break; ! ! default : ! if ($this->_does_require_rev($column_name)) { $td = ($value); } else { $td = ($page_handle->get($field)); *************** *** 178,185 **** $table = HTML::table(array('cellpadding' => 0, 'cellspacing' => 1, ! 'border' => 0, ! 'summary' => $summary, ! 'width' => '100%') ! ); $table->pushContent(HTML::caption(array('align'=>'top'), $caption)); --- 244,250 ---- $table = HTML::table(array('cellpadding' => 0, 'cellspacing' => 1, ! 'border' => 0, ! 'summary' => $summary, ! 'width' => '100%')); $table->pushContent(HTML::caption(array('align'=>'top'), $caption)); |