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