From: Reini U. <ru...@us...> - 2004-06-29 08:47:53
|
Update of /cvsroot/phpwiki/phpwiki/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27043 Modified Files: PageList.php Log Message: Memory optimization (reference to parent, smart bool %content) Fixed class grouping in table Index: PageList.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/PageList.php,v retrieving revision 1.95 retrieving revision 1.96 diff -u -2 -b -p -d -r1.95 -r1.96 --- PageList.php 28 Jun 2004 19:00:01 -0000 1.95 +++ PageList.php 29 Jun 2004 08:47:42 -0000 1.96 @@ -216,5 +216,6 @@ class _PageList_Column extends _PageList if ($this->_need_rev) { if (!$revision_handle) - $revision_handle = $page_handle->getCurrentRevision(); + // columns which need the %content should override this. (size, hi_content) + $revision_handle = $page_handle->getCurrentRevision(false); return $revision_handle->get($this->_field); } @@ -243,6 +244,7 @@ class _PageList_Column_custom extends _P class _PageList_Column_size extends _PageList_Column { function _getValue ($page_handle, &$revision_handle) { - if (!$revision_handle) - $revision_handle = $page_handle->getCurrentRevision(); + if (!$revision_handle or (!$revision_handle->_data['%content'] + or $revision_handle->_data['%content'] === true)) + $revision_handle = $page_handle->getCurrentRevision(true); return $this->_getSize($revision_handle); } @@ -250,5 +252,5 @@ class _PageList_Column_size extends _Pag function _getSortableValue ($page_handle, &$revision_handle) { if (!$revision_handle) - $revision_handle = $page_handle->getCurrentRevision(); + $revision_handle = $page_handle->getCurrentRevision(true); return (empty($revision_handle->_data['%content'])) ? 0 : strlen($revision_handle->_data['%content']); @@ -257,4 +259,5 @@ class _PageList_Column_size extends _Pag function _getSize($revision_handle) { $bytes = @strlen($revision_handle->_data['%content']); + //unset($revision_handle->_data['%content']); return ByteFormatter($bytes); } @@ -354,6 +357,7 @@ class _PageList_Column_content extends _ } function _getValue ($page_handle, &$revision_handle) { - if (!$revision_handle) - $revision_handle = $page_handle->getCurrentRevision(); + if (!$revision_handle or (!$revision_handle->_data['%content'] + or $revision_handle->_data['%content'] === true)) + $revision_handle = $page_handle->getCurrentRevision(true); // Not sure why implode is needed here, I thought // getContent() already did this, but it seems necessary. @@ -469,14 +473,14 @@ class _PageList_Page { var $_page; - function _PageList_Page($pagelist, $page_handle) { + function _PageList_Page(&$pagelist, &$page_handle) { $this->_pagelist = $pagelist; $this->_page = $page_handle; } - function getPageList() { + function & getPageList() { return $this->_pagelist; } - function getPage() { + function & getPage() { return $this->_page; } @@ -566,5 +570,5 @@ class PageList { // for the sort buttons in <th> - 'sortby' => 'pagename', // same as for WikiDB::getAllPages + 'sortby' => '', // same as for WikiDB::getAllPages (unsorted is faster) //PageList pager options: @@ -624,5 +628,5 @@ class PageList { * it in a table or list row. */ - function _renderPageRow ($pagelist_page) { + function _renderPageRow ($pagelist_page, $i = 0) { $page_handle = $pagelist_page->getPage(); @@ -641,5 +645,5 @@ class PageList { return; - $group = (int)($this->getTotal() / $this->_group_rows); + $group = (int)($i / $this->_group_rows); $class = ($group % 2) ? 'oddrow' : 'evenrow'; $revision_handle = false; @@ -1004,5 +1008,5 @@ class PageList { **/ function _pageCompare($a, $b) { - $pagelist = $a->getPageList(); + $pagelist =& $a->_pagelist; $pagea = $a->getPage(); $pageb = $b->getPage(); @@ -1065,9 +1069,9 @@ class PageList { // make a table given the caption function _generateTable($caption) { - $this->_sortPages(); + if (count($this->_sortby) > 0) $this->_sortPages(); - $rows = array(); + $rows = array(); $i = 0; foreach ($this->_pages as $pagenum => $page) { - $rows[] = $this->_renderPageRow($page); + $rows[] = $this->_renderPageRow($page, $i++); } @@ -1232,5 +1236,5 @@ extends PageList { $columns = array('checkbox','pagename'); } - PageList::PageList($columns, $exclude, $options); + $this->PageList($columns, $exclude, $options); } @@ -1248,4 +1252,8 @@ extends PageList { // $Log$ +// Revision 1.96 2004/06/29 08:47:42 rurban +// Memory optimization (reference to parent, smart bool %content) +// Fixed class grouping in table +// // Revision 1.95 2004/06/28 19:00:01 rurban // removed non-portable LIMIT 1 (it's getOne anyway) |