1<?php 2// (c) Copyright by authors of the Tiki Wiki CMS Groupware Project 3// 4// All Rights Reserved. See copyright.txt for details and a complete list of authors. 5// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. 6// $Id$ 7 8class Search_Formatter_ValueFormatter_Sorthandle extends Search_Formatter_ValueFormatter_Abstract 9{ 10 function __construct() 11 { 12 TikiLib::lib('smarty')->loadPlugin('smarty_modifier_escape'); 13 } 14 15 function render($name, $value, array $entry) 16 { 17 if (substr($name, 0, 14) !== 'tracker_field_') { 18 return ""; 19 } 20 21 $tracker = Tracker_Definition::get($entry['tracker_id']); 22 if (! is_object($tracker)) { 23 return $value; 24 } 25 $field = $tracker->getField(substr($name, 14)); 26 $field['value'] = $value; 27 28 $item = []; 29 if ($entry['object_type'] == 'trackeritem') { 30 $item['itemId'] = $entry['object_id']; 31 } 32 33 $trklib = TikiLib::lib('trk'); 34 $rendered = $trklib->field_render_value( 35 [ 36 'item' => $item, 37 'field' => $field, 38 'process' => 'y', 39 'search_render' => 'y', 40 'list_mode' => 'n', 41 'editable' => 'direct', 42 ] 43 ); 44 return '~np~<span class="fas fa-sort inline-sort-handle" data-current-value="' . smarty_modifier_escape($value) . '"></span><span class="hidden">' . $rendered . '</span>~/np~'; 45 } 46 47 function canCache() 48 { 49 return false; 50 } 51} 52