From: Marc L. <ma...@ma...> - 2011-02-14 17:22:50
|
Thanks! On 2011-02-14 11:43 AM, <lph...@us...> wrote: Revision: 32668 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=32668&view=rev Author: lphuberdeau Date: 2011-02-14 16:43:03 +0000 (Mon, 14 Feb 2011) Log Message: ----------- [NEW]?\194?\160Adding spreadsheets to index Modified Paths: -------------- trunk/lib/search/searchlib-unified.php trunk/lib/smarty_tiki/block.filter.php trunk/lib/smarty_tiki/modifier.sefurl.php trunk/lib/tikilib.php Added Paths: ----------- trunk/lib/core/Search/ContentSource/SheetSource.php Added: trunk/lib/core/Search/ContentSource/SheetSource.php =================================================================== --- trunk/lib/core/Search/ContentSource/SheetSource.php (rev 0) +++ trunk/lib/core/Search/ContentSource/SheetSource.php 2011-02-14 16:43:03 UTC (rev 32668) @@ -0,0 +1,80 @@ +<?php + +class Search_ContentSource_SheetSource implements Search_ContentSource_Interface +{ + private $db; + + function __construct() + { + $this->db = TikiDb::get(); + } + + function getDocuments() + { + return $this->db->table('tiki_sheets')->fetchColumn('sheetId', array()); + } + + function getDocument($objectId, Search_Type_Factory_Interface $typeFactory) + { + $sheetlib = TikiLib::lib('sheet'); + + $info = $sheetlib->get_sheet_info($objectId); + + $values = $this->db->table('tiki_sheet_values'); + $contributors = $values->fetchColumn($values->expr('DISTINCT `user`'), array( + 'sheetId' => $objectId, + )); + $lastModif = $values->fetchOne($values->max('begin'), array( + 'sheetId' => $objectId, + )); + + $loader = new TikiSheetDatabaseHandler($objectId); + $writer = new TikiSheetCSVHandler('php://output'); + + $grid = new TikiSheet; + $grid->import($loader); + + ob_start(); + $grid->export($writer); + $text = ob_get_contents(); + ob_end_clean(); + + $data = array( + 'title' => $typeFactory->sortable($info['title']), + 'description' => $typeFactory->sortable($info['description']), + 'modification_date' => $typeFactory->timestamp($lastModif), + 'contributors' => $typeFactory->multivalue($contributors), + + 'sheet_content' => $typeFactory->plaintext($text), + + 'view_permission' => $typeFactory->identifier('tiki_p_view_sheet'), + ); + + return $data; + } + + function getProvidedFields() + { + return array( + 'title', + 'description', + 'modification_date', + 'contributors', + + 'sheet_content', + + 'view_permission', + ); + } + + function getGlobalFields() + { + return array( + 'title' => true, + 'description' => true, + + 'sheet_content' => false, + ); + } +} + Modified: trunk/lib/search/searchlib-unified.php =================================================================== --- trunk/lib/search/searchlib-unified.php 2011-02-14 16:42:43 UTC (rev 32667) +++ trunk/lib/search/searchlib-unified.php 2011-02-14 16:43:03 UTC (rev 32668) @@ -89,6 +89,10 @@ $aggregator->addContentSource('trackeritem', new Search_ContentSource_TrackerItemSource); } + if ($prefs['feature_sheet'] == 'y') { + $aggregator->addContentSource('sheet', new Search_ContentSource_SheetSource); + } + // Global Sources if ($prefs['feature_categories'] == 'y') { $aggregator->addGlobalSource(new Search_GlobalSource_CategorySource); Modified: trunk/lib/smarty_tiki/block.filter.php =================================================================== --- trunk/lib/smarty_tiki/block.filter.php 2011-02-14 16:42:43 UTC (rev 32667) +++ trunk/lib/smarty_tiki/block.filter.php 2011-02-14 16:43:03 UTC (rev 32668) @@ -40,6 +40,10 @@ $types[] = 'trackeritem'; } + if ($prefs['feature_sheet'] == 'y') { + $types[] = 'sheet'; + } + $filter = isset($_REQUEST['filter']) ? $_REQUEST['filter'] : array(); // General Modified: trunk/lib/smarty_tiki/modifier.sefurl.php =================================================================== --- trunk/lib/smarty_tiki/modifier.sefurl.php 2011-02-14 16:42:43 UTC (rev 32667) +++ trunk/lib/smarty_tiki/modifier.sefurl.php 2011-02-14 16:43:03 UTC (rev 32668) @@ -83,6 +83,9 @@ case 'image': $href = 'tiki-browse_image.php?imageId='.$source; break; + case 'sheet': + $href = $sefurl ? "sheet$source" : "tiki-view_sheets.php?sheetId=$source"; + break; default: $href = $source; break; Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2011-02-14 16:42:43 UTC (rev 32667) +++ trunk/lib/tikilib.php 2011-02-14 16:43:03 UTC (rev 32668) @@ -167,6 +167,9 @@ case 'ratingconfig': global $ratingconfiglib; require_once 'lib/rating/configlib.php'; return $libraries[$name] = $ratingconfiglib; + case 'sheet': + global $sheetlib; require_once ('lib/sheet/grid.php'); + return $libraries[$name] = $sheetlib; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb _______________________________________________ Tikiwiki-cvs mailing list Tik...@li... https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs |