STRIGANOV SERGEY: Software development.

Разработка программного обеспечения на: C++, T-SQL, VBS, JavaScript, PHP

PHP, MySQL. Improve HuruHelpdesk. Mini-tips.

Несколько небольших советов по улучшению HuruHelpdesk

Актуально для версии:
Joomla    2.5.4 
HuruHelpdesk   0.89.03 ( from Jesper )

-1-

Если нужно указать большое количество расширений файлов, которые могут быть присоединены к заявке, то
исправляем в файле:
administrator\components\com_huruhelpdesk\views\hhconfig\tmpl\default.php
maxlength="30" на maxlength="1000"

//

 

//

-2-

Чтобы показать реальные имена пользователей, ( а не логины ) - в списочной форме заявок
исправляем в файле:
components\com_huruhelpdesk\models\hhlist.php
в SQL запросе нужно внести такие изменения: (select u.name from #__users u where u.username=p.uid ) as uid, ju.name as repname,
Полностью запрос будет выглядеть так:

--
$query = "SELECT p.id as id, p.title as title, (select u.name from #__users u where u.username=p.uid ) as uid, p.start_date as start_date, pr.pstyle as priority, s.sstyle as status, ju.name as repname, maxresults.maxdate AS maxdate FROM #__huruhelpdesk_problems AS p LEFT OUTER JOIN #__huruhelpdesk_priority AS pr ON p.priority=pr.priority_id LEFT OUTER JOIN #__huruhelpdesk_status AS s ON p.status=s.id LEFT OUTER JOIN #__huruhelpdesk_users AS u ON u.id = p.rep LEFT OUTER JOIN #__users AS ju ON ju.id = u.joomla_id LEFT OUTER JOIN (SELECT max(addDate) as maxdate, id FROM #__huruhelpdesk_notes GROUP BY id) maxresults ON p.id = maxresults.id"
$query = $query.$where;
$query = $query.$orderby;
return $query;
 
--

Вы могли уже видеть эти изменения ранее, в другой статье - там, где мы добавляли подсветку статусов и приоритетов:
PHP, MySQL. Improve HuruHelpdesk. Status and priotity: highlighting
Eсли Вы не добавляли подсветку, то замените в запросе sstyle на sname и pstyle на pname

Но этого мало.
Нужно теперь изменить сортировку - чтобы она тоже работала не по логинам пользователей, а по реальным их именам.
Для этого внесем изменения в файл:
components\com_huruhelpdesk\models\hhlist.php

//
			switch ($order)
			{
				case 'id':
					$orderby = ' ORDER BY p.id';
					break;
				case 'title':
					$orderby = ' ORDER BY p.title';
					break;
				case 'uid':
					$orderby = ' ORDER BY (select u.name from #__users u where u.username=p.uid )'; //  ' ORDER BY p.uid';  
					break;
				case 'rep':
					$orderby = ' ORDER BY ju.name'; // ' ORDER BY ju.username';
					break;
				case 'moddate':
					$orderby = ' ORDER BY maxresults.maxdate';
					break;
				case 'date':
					$orderby = ' ORDER BY p.start_date';
					break;
				case 'priority':
					$orderby = ' ORDER BY p.priority';
					break;
				case 'status':
					$orderby = ' ORDER BY s.status_id';
					break;
				default:
					$orderby = ' ORDER BY p.priority';
					break;
			}
//

Add comment